Skip to content
This repository was archived by the owner on Jan 22, 2023. It is now read-only.

Commit 27ed981

Browse files
author
Jonas Schubert
committed
adds method formatDays, supports decimals, refactors to minimize
1 parent 3b368dd commit 27ed981

10 files changed

+173
-169
lines changed

README.md

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
# TimeXt-JavaScript
22

33
[![Npm](https://img.shields.io/badge/npm-getit-red.svg)](https://www.npmjs.com/package/timext-js)
4-
[![Build](https://img.shields.io/badge/build-success-green.svg)](releases/timext-2019-05-26-1.min.js)
5-
[![Version](https://img.shields.io/badge/version-0.6.0-blue.svg)](releases)
6-
[![CodeCoverage](https://img.shields.io/badge/codeCoverage-99-green.svg)](coverage)
4+
[![Build](https://img.shields.io/badge/build-success-green.svg)](releases/timext-2019-07-14-4.min.js)
5+
[![Version](https://img.shields.io/badge/version-0.7.0-blue.svg)](releases)
6+
7+
[![CodeCoverageStatements](https://img.shields.io/badge/Statements-100-green.svg)](coverage)
8+
[![CodeCoverageBranch](https://img.shields.io/badge/Branch-77-yellow.svg)](coverage)
9+
[![CodeCoverageFunctions](https://img.shields.io/badge/Functions-100-green.svg)](coverage)
10+
[![CodeCoverageLines](https://img.shields.io/badge/Lines-100-green.svg)](coverage)
711

812
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
913
[![Paypal](https://img.shields.io/badge/paypal-donate-blue.svg)](https://www.paypal.me/GuepardoApps)
1014
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
1115

1216
First of all many thanks to [Kizitonwose](https://github.com/kizitonwose/Time) for the original idea and already awesome library!
1317

14-
This minimized ( < 6kB) library shall help to reduce code like
18+
This minimized ( [![Size](https://img.shields.io/badge/size-4KB-green.svg)](releases/timext-2019-07-14-4.min.js) ) library shall help to reduce code like
1519

1620
```javascript
1721
const dayInMillis = 24 * 60 * 60 * 1000; // Represent a day in milliSeconds
@@ -32,10 +36,10 @@ const threeDays = timext(3, u.D);
3236
const elevenHours = timext(11, u.H);
3337
const sixMinutes = timext(6, u.M);
3438
const fiftySeconds = timext(50, u.S);
35-
const hundredMilliseconds = timext(100, u.MS);
39+
const hundredMillis = timext(100, u.MS);
3640

3741
// Convert to other time units
38-
const oneDayInMillis = timext(1, u.D).inMilliseconds(); // Converts one day into milliseconds
42+
const oneDayInMillis = timext(1, u.D).inMillis(); // Converts one day into milliseconds
3943
const twoWeeksInHours = timext(2, u.W).inHours(); // Converts two weeks into hours
4044

4145
// "operator" + - * /
@@ -58,10 +62,10 @@ const threeDays = Number(3).toDays(); // returns timext(3,
5862
const elevenHours = Number(11).toHours(); // returns timext(11, u.H)
5963
const sixMinutes = Number(6).toMinutes(); // returns timext(6, u.M)
6064
const fiftySeconds = Number(50).toSeconds(); // returns timext(50, u.S)
61-
const hundredMilliseconds = Number(100).toMilliseconds(); // returns timext(100, u.MS)
65+
const hundredMillis = Number(100).toMillis(); // returns timext(100, u.MS)
6266

6367
// Return in other time units
64-
const oneDayInMillis = Number(1).toDays().inMilliseconds();// Returns one day in milliseconds === 24 * 60 * 60 * 1e3
68+
const oneDayInMillis = Number(1).toDays().inMillis(); // Returns one day in milliseconds === 24 * 60 * 60 * 1e3
6569
const twoWeeksInHours = Number(2).toWeeks().inHours(); // Returns two weeks in hours === 2 * 7 * 24
6670

6771
// Convert to other time units
@@ -75,12 +79,14 @@ const threeWeeksAgo = Date.now.minus(Number(3).toWeeks());
7579
```
7680

7781
Since version 0.6.0 TimeXt has new extensions for the long type to display this number value in a human readable string format.
82+
Since version 0.7.0 TimeXt supports decimal numbers.
7883

7984
```javascript
80-
const readableStringFromMilliseconds = Number(34325055574).formatMilliseconds() // 56 weeks, 5 days, 6 hours, 44 minutes, 15 seconds, 574 milliseconds
85+
const readableStringFromMillis = Number(34325055574).formatMillis() // 56 weeks, 5 days, 6 hours, 44 minutes, 15 seconds, 574 milliseconds
8186
const readableStringFromSeconds = Number(4350554).formatSeconds() // 7 weeks, 1 day, 8 hours, 29 minutes, 14 seconds
8287
const readableStringFromMinutes = Number(432555).formatMinutes() // 42 weeks, 6 days, 9 hours, 15 minutes
8388
const readableStringFromHours = Number(4574).formatHours() // 27 weeks, 1 day, 14 hours
89+
const readableStringFromDays = Number(24.5).formatDays() // 3 weeks, 3 days, 12 hours
8490
```
8591

8692
## License

package.json

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "timext-js",
3-
"version": "0.6.0",
4-
"description": "3kB time library to handle date and time more easily",
3+
"version": "0.7.0",
4+
"description": "4kB time library to handle date and time more easily",
55
"main": "timext.min.js",
66
"types": "",
77
"scripts": {
@@ -28,7 +28,7 @@
2828
],
2929
"size-limit": [
3030
{
31-
"limit": "6.00 KB",
31+
"limit": "4.00 KB",
3232
"path": "timext.min.js"
3333
}
3434
],
@@ -53,30 +53,28 @@
5353
]
5454
},
5555
"devDependencies": {
56-
"@babel/cli": "7.4.4",
57-
"@babel/core": "7.4.5",
58-
"@babel/node": "7.4.5",
59-
"@babel/preset-env": "7.4.5",
56+
"@babel/cli": "7.5.0",
57+
"@babel/core": "7.5.4",
58+
"@babel/node": "7.5.0",
59+
"@babel/preset-env": "7.5.4",
6060
"babel-core": "6.26.3",
6161
"babel-jest": "24.8.0",
6262
"babel-plugin-external-helpers": "6.22.0",
6363
"cross-env": "5.2.0",
64-
"eslint": "5.16.0",
65-
"eslint-config-airbnb-base": "13.1.0",
66-
"eslint-plugin-import": "2.17.3",
67-
"eslint-plugin-jest": "22.6.4",
64+
"eslint": "6.0.1",
65+
"eslint-config-airbnb-base": "13.2.0",
66+
"eslint-plugin-import": "2.18.0",
67+
"eslint-plugin-jest": "22.7.2",
6868
"gzip-size-cli": "3.0.0",
6969
"jasmine-core": "2.99.1",
7070
"jest": "24.8.0",
71-
"karma": "4.1.0",
71+
"karma": "4.2.0",
7272
"karma-jasmine": "1.1.2",
7373
"karma-sauce-launcher": "2.0.2",
7474
"pre-commit": "1.2.2",
75-
"rollup": "1.12.3",
76-
"rollup-plugin-babel": "4.3.2",
75+
"rollup": "1.16.7",
76+
"rollup-plugin-babel": "4.3.3",
7777
"rollup-plugin-uglify": "6.0.2",
78-
"size-limit": "1.3.3",
79-
"typescript": "3.4.5"
80-
},
81-
"dependencies": {}
78+
"size-limit": "1.3.7"
79+
}
8280
}

releases/timext-2019-07-14-1.min.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

releases/timext-2019-07-14-2.min.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

releases/timext-2019-07-14-3.min.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)