@ehmpathy/uni-time 1.3.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,16 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toMilliseconds = void 0;
4
4
  const error_fns_1 = require("@ehmpathy/error-fns");
5
+ const type_fns_1 = require("type-fns");
5
6
  const toMilliseconds = (duration) => {
6
- if (duration.days)
7
+ if ((0, type_fns_1.isPresent)(duration.days))
7
8
  return duration.days * 24 * 60 * 60 * 1000;
8
- if (duration.hours)
9
+ if ((0, type_fns_1.isPresent)(duration.hours))
9
10
  return duration.hours * 60 * 60 * 1000;
10
- if (duration.minutes)
11
+ if ((0, type_fns_1.isPresent)(duration.minutes))
11
12
  return duration.minutes * 60 * 1000;
12
- if (duration.seconds)
13
+ if ((0, type_fns_1.isPresent)(duration.seconds))
13
14
  return duration.seconds * 1000;
14
- if (duration.milliseconds)
15
+ if ((0, type_fns_1.isPresent)(duration.milliseconds))
15
16
  return duration.milliseconds;
16
17
  throw new error_fns_1.UnexpectedCodePathError('unsupported duration unit to convert to milliseconds', { duration });
17
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UniDuration.js","sourceRoot":"","sources":["../../src/domain/UniDuration.ts"],"names":[],"mappings":";;;AAAA,mDAA8D;AAgBvD,MAAM,cAAc,GAAG,CAAC,QAAqB,EAAU,EAAE;IAC9D,IAAI,QAAQ,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC9D,IAAI,QAAQ,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3D,IAAI,QAAQ,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC;IAC1D,IAAI,QAAQ,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;IACrD,IAAI,QAAQ,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAC,YAAY,CAAC;IACxD,MAAM,IAAI,mCAAuB,CAC/B,sDAAsD,EACtD,EAAE,QAAQ,EAAE,CACb,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,cAAc,kBAUzB"}
1
+ {"version":3,"file":"UniDuration.js","sourceRoot":"","sources":["../../src/domain/UniDuration.ts"],"names":[],"mappings":";;;AAAA,mDAA8D;AAE9D,uCAA8C;AAcvC,MAAM,cAAc,GAAG,CAAC,QAAqB,EAAU,EAAE;IAC9D,IAAI,IAAA,oBAAS,EAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzE,IAAI,IAAA,oBAAS,EAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtE,IAAI,IAAA,oBAAS,EAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC;IACrE,IAAI,IAAA,oBAAS,EAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;IAChE,IAAI,IAAA,oBAAS,EAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,QAAQ,CAAC,YAAY,CAAC;IACnE,MAAM,IAAI,mCAAuB,CAC/B,sDAAsD,EACtD,EAAE,QAAQ,EAAE,CACb,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,cAAc,kBAUzB"}
package/dist/index.d.ts CHANGED
@@ -4,3 +4,5 @@ export * from './utils/sleep';
4
4
  export * from './checks/isUniDate';
5
5
  export * from './checks/isUniDateTime';
6
6
  export * from './casts/toMillisecondsSinceEpoch';
7
+ export * from './manipulate/addDuration';
8
+ export * from './manipulate/subDuration';
package/dist/index.js CHANGED
@@ -20,4 +20,6 @@ __exportStar(require("./utils/sleep"), exports);
20
20
  __exportStar(require("./checks/isUniDate"), exports);
21
21
  __exportStar(require("./checks/isUniDateTime"), exports);
22
22
  __exportStar(require("./casts/toMillisecondsSinceEpoch"), exports);
23
+ __exportStar(require("./manipulate/addDuration"), exports);
24
+ __exportStar(require("./manipulate/subDuration"), exports);
23
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,uDAAqC;AACrC,gDAA8B;AAC9B,qDAAmC;AACnC,yDAAuC;AACvC,mEAAiD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,uDAAqC;AACrC,gDAA8B;AAC9B,qDAAmC;AACnC,yDAAuC;AACvC,mEAAiD;AACjD,2DAAyC;AACzC,2DAAyC"}
@@ -0,0 +1,7 @@
1
+ import { PickOne } from 'type-fns';
2
+ import { UniDate, UniDateTime } from '../domain/UniDateTime';
3
+ import { UniDuration } from '../domain/UniDuration';
4
+ /**
5
+ * subtract a duration from a datetime
6
+ */
7
+ export declare const subDuration: (...args: [UniDateTime, UniDuration] | [UniDate, PickOne<Pick<Required<UniDuration>, 'days'>>]) => string & import("domain-glossaries").OfGlossary<"uni-time">;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.subDuration = void 0;
4
+ const date_fns_1 = require("date-fns");
5
+ const isUniDate_1 = require("../checks/isUniDate");
6
+ const isUniDateTime_1 = require("../checks/isUniDateTime");
7
+ const UniDuration_1 = require("../domain/UniDuration");
8
+ /**
9
+ * subtract a duration from a datetime
10
+ */
11
+ const subDuration = (...args) => (0, isUniDate_1.isUniDate)(args[0])
12
+ ? (0, isUniDate_1.asUniDate)((0, date_fns_1.subMilliseconds)((0, date_fns_1.parseISO)(args[0]), (0, UniDuration_1.toMilliseconds)(args[1])))
13
+ : (0, isUniDateTime_1.asUniDateTime)((0, date_fns_1.subMilliseconds)((0, date_fns_1.parseISO)(args[0]), (0, UniDuration_1.toMilliseconds)(args[1])));
14
+ exports.subDuration = subDuration;
15
+ //# sourceMappingURL=addDuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addDuration.js","sourceRoot":"","sources":["../../src/manipulate/addDuration.ts"],"names":[],"mappings":";;;AAAA,uCAAqD;AAGrD,mDAA2D;AAC3D,2DAAwD;AAExD,uDAAoE;AAEpE;;GAEG;AACI,MAAM,WAAW,GAAG,CACzB,GAAG,IAEwD,EAC3D,EAAE,CACF,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC,CAAC,IAAA,qBAAS,EAAC,IAAA,0BAAe,EAAC,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAA,4BAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,IAAA,6BAAa,EACX,IAAA,0BAAe,EAAC,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAA,4BAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;AATK,QAAA,WAAW,eAShB"}
@@ -0,0 +1,7 @@
1
+ import { PickOne } from 'type-fns';
2
+ import { UniDate, UniDateTime } from '../domain/UniDateTime';
3
+ import { UniDuration } from '../domain/UniDuration';
4
+ /**
5
+ * add a duration to a datetime
6
+ */
7
+ export declare const addDuration: (...args: [UniDateTime, UniDuration] | [UniDate, PickOne<Pick<Required<UniDuration>, 'days'>>]) => string & import("domain-glossaries").OfGlossary<"uni-time">;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addDuration = void 0;
4
+ const date_fns_1 = require("date-fns");
5
+ const isUniDate_1 = require("../checks/isUniDate");
6
+ const isUniDateTime_1 = require("../checks/isUniDateTime");
7
+ const UniDuration_1 = require("../domain/UniDuration");
8
+ /**
9
+ * add a duration to a datetime
10
+ */
11
+ const addDuration = (...args) => (0, isUniDate_1.isUniDate)(args[0])
12
+ ? (0, isUniDate_1.asUniDate)((0, date_fns_1.addMilliseconds)((0, date_fns_1.parseISO)(args[0]), (0, UniDuration_1.toMilliseconds)(args[1])))
13
+ : (0, isUniDateTime_1.asUniDateTime)((0, date_fns_1.addMilliseconds)((0, date_fns_1.parseISO)(args[0]), (0, UniDuration_1.toMilliseconds)(args[1])));
14
+ exports.addDuration = addDuration;
15
+ //# sourceMappingURL=subDuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subDuration.js","sourceRoot":"","sources":["../../src/manipulate/subDuration.ts"],"names":[],"mappings":";;;AAAA,uCAAqD;AAGrD,mDAA2D;AAC3D,2DAAwD;AAExD,uDAAoE;AAEpE;;GAEG;AACI,MAAM,WAAW,GAAG,CACzB,GAAG,IAEwD,EAC3D,EAAE,CACF,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC,CAAC,IAAA,qBAAS,EAAC,IAAA,0BAAe,EAAC,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAA,4BAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,IAAA,6BAAa,EACX,IAAA,0BAAe,EAAC,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAA,4BAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;AATK,QAAA,WAAW,eAShB"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@ehmpathy/uni-time",
3
3
  "author": "ehmpathy",
4
4
  "description": "a glossary of universally intuitive time, date, and duration domain literals",
5
- "version": "1.3.0",
5
+ "version": "1.4.1",
6
6
  "repository": "ehmpathy/uni-time",
7
7
  "homepage": "https://github.com/ehmpathy/uni-time",
8
8
  "keywords": [