@daaler/jutils 0.3.7 → 0.4.0

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.
Files changed (148) hide show
  1. package/dist/async-tricks/interrupt.d.ts +8 -0
  2. package/dist/async-tricks/interrupt.js +14 -0
  3. package/dist/async-tricks/interrupt.js.map +1 -0
  4. package/dist/async-tricks/wait.js.map +1 -0
  5. package/dist/browser.d.ts +2 -23
  6. package/dist/browser.js +2 -23
  7. package/dist/browser.js.map +1 -1
  8. package/dist/{id-based-cache.d.ts → cache/id-based-cache.d.ts} +5 -4
  9. package/dist/{id-based-cache.js → cache/id-based-cache.js} +11 -8
  10. package/dist/cache/id-based-cache.js.map +1 -0
  11. package/dist/{id-based-lru-cache.d.ts → cache/id-based-lru-cache.d.ts} +6 -5
  12. package/dist/{id-based-lru-cache.js → cache/id-based-lru-cache.js} +17 -10
  13. package/dist/cache/id-based-lru-cache.js.map +1 -0
  14. package/dist/{weak-value-cache.d.ts → cache/weak-value-cache.d.ts} +5 -4
  15. package/dist/{weak-value-cache.js → cache/weak-value-cache.js} +12 -9
  16. package/dist/cache/weak-value-cache.js.map +1 -0
  17. package/dist/data/recursive-merge.js.map +1 -0
  18. package/dist/debug/jdebug.js.map +1 -0
  19. package/dist/{not-implemented.d.ts → error/not-implemented.d.ts} +1 -1
  20. package/dist/error/not-implemented.js +8 -0
  21. package/dist/error/not-implemented.js.map +1 -0
  22. package/dist/exception/exception.js.map +1 -0
  23. package/dist/exception/exceptions.js.map +1 -0
  24. package/dist/exception/match-exceptions.js.map +1 -0
  25. package/dist/index.d.ts +22 -23
  26. package/dist/index.js +22 -23
  27. package/dist/index.js.map +1 -1
  28. package/dist/jdom/jdom-browser.d.ts +5 -0
  29. package/dist/jdom/jdom-browser.js +6 -0
  30. package/dist/jdom/jdom-browser.js.map +1 -0
  31. package/dist/jdom/jdom-node.d.ts +5 -0
  32. package/dist/jdom/jdom-node.js +7 -0
  33. package/dist/jdom/jdom-node.js.map +1 -0
  34. package/dist/jschema/any.d.ts +2 -0
  35. package/dist/jschema/any.js +3 -0
  36. package/dist/jschema/any.js.map +1 -0
  37. package/dist/jschema/integer.d.ts +7 -0
  38. package/dist/jschema/integer.js +8 -0
  39. package/dist/jschema/integer.js.map +1 -0
  40. package/dist/jschema/jschema-types.d.ts +52 -0
  41. package/dist/jschema/jschema-types.js +2 -0
  42. package/dist/jschema/jschema-types.js.map +1 -0
  43. package/dist/jschema/jschema.d.ts +7 -0
  44. package/dist/jschema/jschema.js +103 -0
  45. package/dist/jschema/jschema.js.map +1 -0
  46. package/dist/jschema/jtype.d.ts +2 -0
  47. package/dist/jschema/jtype.js +3 -0
  48. package/dist/jschema/jtype.js.map +1 -0
  49. package/dist/jschema/old-jschema.d.ts +10 -0
  50. package/dist/{jschema.js → jschema/old-jschema.js} +6 -8
  51. package/dist/jschema/old-jschema.js.map +1 -0
  52. package/dist/jschema/tmpx.d.ts +1 -0
  53. package/dist/jschema/tmpx.js +76 -0
  54. package/dist/jschema/tmpx.js.map +1 -0
  55. package/dist/jschema/tuple.d.ts +5 -0
  56. package/dist/jschema/tuple.js +6 -0
  57. package/dist/jschema/tuple.js.map +1 -0
  58. package/dist/jschema/uuid.d.ts +5 -0
  59. package/dist/{uuid.js → jschema/uuid.js} +3 -2
  60. package/dist/jschema/uuid.js.map +1 -0
  61. package/dist/node.d.ts +3 -0
  62. package/dist/node.js +4 -0
  63. package/dist/node.js.map +1 -0
  64. package/dist/notifications/notifications.d.ts +16 -0
  65. package/dist/{notifications.js → notifications/notifications.js} +18 -8
  66. package/dist/notifications/notifications.js.map +1 -0
  67. package/dist/op/noop.js.map +1 -0
  68. package/dist/{randomInteger.js → random/random-integer-node.js} +1 -1
  69. package/dist/random/random-integer-node.js.map +1 -0
  70. package/dist/react/calculate-layout-style.d.ts +2 -0
  71. package/dist/react/calculate-layout-style.js +10 -0
  72. package/dist/react/calculate-layout-style.js.map +1 -0
  73. package/dist/react/types.d.ts +6 -0
  74. package/dist/react/types.js +2 -0
  75. package/dist/react/types.js.map +1 -0
  76. package/dist/react/useLayoutStyle.d.ts +8 -0
  77. package/dist/react/useLayoutStyle.js +25 -0
  78. package/dist/react/useLayoutStyle.js.map +1 -0
  79. package/dist/react/useToggle.d.ts +1 -0
  80. package/dist/react/useToggle.js +16 -0
  81. package/dist/react/useToggle.js.map +1 -0
  82. package/dist/react/useWindowLayoutStyle.d.ts +6 -0
  83. package/dist/react/useWindowLayoutStyle.js +22 -0
  84. package/dist/react/useWindowLayoutStyle.js.map +1 -0
  85. package/dist/react.d.ts +4 -0
  86. package/dist/react.js +5 -0
  87. package/dist/react.js.map +1 -0
  88. package/dist/time/max-date.js.map +1 -0
  89. package/dist/time/timedifference.js.map +1 -0
  90. package/dist/time/timefromnow.js.map +1 -0
  91. package/dist/time/timefromx.js.map +1 -0
  92. package/dist/time/zero-date.js.map +1 -0
  93. package/package.json +16 -7
  94. package/dist/exception.js.map +0 -1
  95. package/dist/exceptions.js.map +0 -1
  96. package/dist/id-based-cache.js.map +0 -1
  97. package/dist/id-based-lru-cache.js.map +0 -1
  98. package/dist/integer.d.ts +0 -5
  99. package/dist/integer.js +0 -8
  100. package/dist/integer.js.map +0 -1
  101. package/dist/interrupt.d.ts +0 -2
  102. package/dist/interrupt.js +0 -8
  103. package/dist/interrupt.js.map +0 -1
  104. package/dist/jdebug.js.map +0 -1
  105. package/dist/jschema.d.ts +0 -6
  106. package/dist/jschema.js.map +0 -1
  107. package/dist/match-exceptions.js.map +0 -1
  108. package/dist/max-date.js.map +0 -1
  109. package/dist/noop.js.map +0 -1
  110. package/dist/not-implemented.js +0 -8
  111. package/dist/not-implemented.js.map +0 -1
  112. package/dist/notifications.d.ts +0 -16
  113. package/dist/notifications.js.map +0 -1
  114. package/dist/randomInteger.js.map +0 -1
  115. package/dist/recursive-merge.js.map +0 -1
  116. package/dist/timedifference.js.map +0 -1
  117. package/dist/timefromnow.js.map +0 -1
  118. package/dist/timefromx.js.map +0 -1
  119. package/dist/uuid.d.ts +0 -5
  120. package/dist/uuid.js.map +0 -1
  121. package/dist/wait.js.map +0 -1
  122. package/dist/weak-value-cache.js.map +0 -1
  123. package/dist/zero-date.js.map +0 -1
  124. /package/dist/{wait.d.ts → async-tricks/wait.d.ts} +0 -0
  125. /package/dist/{wait.js → async-tricks/wait.js} +0 -0
  126. /package/dist/{recursive-merge.d.ts → data/recursive-merge.d.ts} +0 -0
  127. /package/dist/{recursive-merge.js → data/recursive-merge.js} +0 -0
  128. /package/dist/{jdebug.d.ts → debug/jdebug.d.ts} +0 -0
  129. /package/dist/{jdebug.js → debug/jdebug.js} +0 -0
  130. /package/dist/{exception.d.ts → exception/exception.d.ts} +0 -0
  131. /package/dist/{exception.js → exception/exception.js} +0 -0
  132. /package/dist/{exceptions.d.ts → exception/exceptions.d.ts} +0 -0
  133. /package/dist/{exceptions.js → exception/exceptions.js} +0 -0
  134. /package/dist/{match-exceptions.d.ts → exception/match-exceptions.d.ts} +0 -0
  135. /package/dist/{match-exceptions.js → exception/match-exceptions.js} +0 -0
  136. /package/dist/{noop.d.ts → op/noop.d.ts} +0 -0
  137. /package/dist/{noop.js → op/noop.js} +0 -0
  138. /package/dist/{randomInteger.d.ts → random/random-integer-node.d.ts} +0 -0
  139. /package/dist/{max-date.d.ts → time/max-date.d.ts} +0 -0
  140. /package/dist/{max-date.js → time/max-date.js} +0 -0
  141. /package/dist/{timedifference.d.ts → time/timedifference.d.ts} +0 -0
  142. /package/dist/{timedifference.js → time/timedifference.js} +0 -0
  143. /package/dist/{timefromnow.d.ts → time/timefromnow.d.ts} +0 -0
  144. /package/dist/{timefromnow.js → time/timefromnow.js} +0 -0
  145. /package/dist/{timefromx.d.ts → time/timefromx.d.ts} +0 -0
  146. /package/dist/{timefromx.js → time/timefromx.js} +0 -0
  147. /package/dist/{zero-date.d.ts → time/zero-date.d.ts} +0 -0
  148. /package/dist/{zero-date.js → time/zero-date.js} +0 -0
@@ -0,0 +1,8 @@
1
+ type Release = (value: unknown) => void;
2
+ type Throw = (reason?: any) => void;
3
+ interface Interrupt extends Promise<void> {
4
+ release: Release;
5
+ throw: Throw;
6
+ }
7
+ declare const interrupt: () => Interrupt;
8
+ export default interrupt;
@@ -0,0 +1,14 @@
1
+ import { noopn } from "../op/noop.js";
2
+ const interrupt = () => {
3
+ let _ = noopn;
4
+ let __ = noopn;
5
+ const interrupt = new Promise((resolve, reject) => {
6
+ _ = resolve;
7
+ __ = reject;
8
+ });
9
+ interrupt.release = _;
10
+ interrupt.throw = __;
11
+ return interrupt;
12
+ };
13
+ export default interrupt;
14
+ //# sourceMappingURL=interrupt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interrupt.js","sourceRoot":"","sources":["../../src/async-tricks/interrupt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAatC,MAAM,SAAS,GAAG,GAAG,EAAE;IACtB,IAAI,CAAC,GAAyB,KAAK,CAAC;IACpC,IAAI,EAAE,GAAsB,KAAK,CAAC;IAClC,MAAM,SAAS,GAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAC,MAAM,EAAE,EAAE;QACpD,CAAC,GAAG,OAAO,CAAC;QACZ,EAAE,GAAG,MAAM,CAAC;IACb,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;IACtB,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;IACrB,OAAO,SAAsB,CAAC;AAC/B,CAAC,CAAC;AAIF,eAAe,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/async-tricks/wait.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,KAAK,EAAC,OAAc,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAC,OAAO,CAAC,CAAC,CAAC;AAEnG,eAAe,IAAI,CAAC"}
package/dist/browser.d.ts CHANGED
@@ -1,23 +1,2 @@
1
- import interrupt from "./interrupt.js";
2
- import wait from "./wait.js";
3
- import timedifference from "./timedifference.js";
4
- import timefromnow from "./timefromnow.js";
5
- import timefromx from "./timefromx.js";
6
- import zeroDate from "./zero-date.js";
7
- import maxDate from "./max-date.js";
8
- import UUID from "./uuid.js";
9
- import Integer from "./integer.js";
10
- import JSchema from "./jschema.js";
11
- import jdebug from "./jdebug.js";
12
- import WeakValueCache from "./weak-value-cache.js";
13
- import IdBasedLRUCache from "./id-based-lru-cache.js";
14
- import IdBasedCache from "./id-based-cache.js";
15
- import Notifications from "./notifications.js";
16
- import { noop, noopn, pass } from "./noop.js";
17
- import Exception from "./exception.js";
18
- import matchExceptions from "./match-exceptions.js";
19
- import { registerException, getException, getExceptionNoError } from "./exceptions.js";
20
- import NotImplementedError, { notImplemented } from "./not-implemented.js";
21
- import recursiveMerge from "./recursive-merge.js";
22
- export { interrupt, wait, timedifference, timefromnow, timefromx, zeroDate as zeroTime, // legacy naming
23
- zeroDate, maxDate, JSchema, UUID, Integer, jdebug, WeakValueCache, IdBasedLRUCache, IdBasedCache, Notifications, noop, noopn, pass, Exception, matchExceptions, registerException, getException, getExceptionNoError, NotImplementedError, notImplemented, recursiveMerge, };
1
+ export * from "./index.js";
2
+ export { jwindow, jdocument, domParser, xmlSerializer } from "./jdom/jdom-browser.js";
package/dist/browser.js CHANGED
@@ -1,24 +1,3 @@
1
- import interrupt from "./interrupt.js";
2
- import wait from "./wait.js";
3
- import timedifference from "./timedifference.js";
4
- import timefromnow from "./timefromnow.js";
5
- import timefromx from "./timefromx.js";
6
- import zeroDate from "./zero-date.js";
7
- import maxDate from "./max-date.js";
8
- import UUID from "./uuid.js";
9
- import Integer from "./integer.js";
10
- import JSchema from "./jschema.js";
11
- import jdebug from "./jdebug.js";
12
- import WeakValueCache from "./weak-value-cache.js";
13
- import IdBasedLRUCache from "./id-based-lru-cache.js";
14
- import IdBasedCache from "./id-based-cache.js";
15
- import Notifications from "./notifications.js";
16
- import { noop, noopn, pass } from "./noop.js";
17
- import Exception from "./exception.js";
18
- import matchExceptions from "./match-exceptions.js";
19
- import { registerException, getException, getExceptionNoError } from "./exceptions.js";
20
- import NotImplementedError, { notImplemented } from "./not-implemented.js";
21
- import recursiveMerge from "./recursive-merge.js";
22
- export { interrupt, wait, timedifference, timefromnow, timefromx, zeroDate as zeroTime, // legacy naming
23
- zeroDate, maxDate, JSchema, UUID, Integer, jdebug, WeakValueCache, IdBasedLRUCache, IdBasedCache, Notifications, noop, noopn, pass, Exception, matchExceptions, registerException, getException, getExceptionNoError, NotImplementedError, notImplemented, recursiveMerge, };
1
+ export * from "./index.js";
2
+ export { jwindow, jdocument, domParser, xmlSerializer } from "./jdom/jdom-browser.js";
24
3
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAC,KAAK,EAAC,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAC,YAAY,EAAC,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,mBAAmB,EAAC,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAElD,OAAO,EACN,SAAS,EACT,IAAI,EACJ,cAAc,EACd,WAAW,EACX,SAAS,EACT,QAAQ,IAAI,QAAQ,EAAE,gBAAgB;AACtC,QAAQ,EACR,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACP,MAAM,EACN,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACd,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAC,SAAS,EAAC,SAAS,EAAC,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
@@ -6,9 +6,10 @@ declare class IdBasedCache<T extends item> {
6
6
  _cache: Map<string, WeakRef<T>>;
7
7
  _finalizationRegistry: FinalizationRegistry<string>;
8
8
  constructor();
9
- retrieve: (_id: string) => T;
10
- cache: (item: T) => void;
11
- clear: () => void;
12
- _reclaim: (_id: string) => void;
9
+ retrieve(_id: string): T | undefined;
10
+ cache(item: T): void;
11
+ delete(_id: string): void;
12
+ clear(): void;
13
+ _reclaim(_id: string): void;
13
14
  }
14
15
  export default IdBasedCache;
@@ -5,20 +5,23 @@ class IdBasedCache {
5
5
  this._cache = new Map();
6
6
  this._finalizationRegistry = new FinalizationRegistry(this._reclaim);
7
7
  }
8
- retrieve = (_id) => {
8
+ retrieve(_id) {
9
9
  const value = this._cache.get(_id)?.deref();
10
10
  return value;
11
- };
12
- cache = (item) => {
11
+ }
12
+ cache(item) {
13
13
  this._cache.set(item._id, new WeakRef(item));
14
14
  this._finalizationRegistry.register(item, item._id);
15
- };
16
- clear = () => {
15
+ }
16
+ delete(_id) {
17
+ this._cache.delete(_id);
18
+ }
19
+ clear() {
17
20
  this._cache.clear();
18
- };
19
- _reclaim = (_id) => {
21
+ }
22
+ _reclaim(_id) {
20
23
  this._cache.delete(_id);
21
- };
24
+ }
22
25
  }
23
26
  export default IdBasedCache;
24
27
  //# sourceMappingURL=id-based-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-based-cache.js","sourceRoot":"","sources":["../../src/cache/id-based-cache.ts"],"names":[],"mappings":"AAMA,MAAM,YAAY;IACjB,MAAM,CAAwB,CAAC,kBAAkB;IACjD,qBAAqB,CAA8B,CAAC,0CAA0C;IAE9F;QACC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,qBAAqB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED,QAAQ,CAAC,GAAU;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAM;QACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,GAAU;QAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,GAAU;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACD;AAID,eAAe,YAAY,CAAC"}
@@ -10,10 +10,11 @@ declare class IdBasedLRUCache<T extends item> {
10
10
  _cleanCount: number;
11
11
  _cleaningScheduled: boolean;
12
12
  constructor(maxSize?: number, cleanCount?: number);
13
- retrieve: (_id: string) => T;
14
- cache: (item: T) => void;
15
- clear: () => void;
16
- _clean: () => Promise<void>;
17
- _reclaim: (_id: string) => void;
13
+ retrieve(_id: string): T | undefined;
14
+ cache(item: T): void;
15
+ delete(_id: string): void;
16
+ clear(): void;
17
+ _clean(): Promise<void>;
18
+ _reclaim(_id: string): void;
18
19
  }
19
20
  export default IdBasedLRUCache;
@@ -12,15 +12,16 @@ class IdBasedLRUCache {
12
12
  this._max = maxSize;
13
13
  this._cleanCount = cleanCount;
14
14
  }
15
- retrieve = (_id) => {
15
+ retrieve(_id) {
16
16
  const value = this._cache.get(_id)?.deref();
17
17
  if (value === undefined)
18
18
  return;
19
19
  this._items.delete(_id);
20
20
  this._items.set(_id, value);
21
21
  return value;
22
- };
23
- cache = (item) => {
22
+ }
23
+ ;
24
+ cache(item) {
24
25
  if (this._items.size >= this._max && !this._cleaningScheduled) {
25
26
  this._cleaningScheduled = true;
26
27
  this._clean(); // async
@@ -28,22 +29,28 @@ class IdBasedLRUCache {
28
29
  this._items.set(item._id, item);
29
30
  this._cache.set(item._id, new WeakRef(item));
30
31
  this._finalizationRegistry.register(item, item._id);
31
- };
32
- clear = () => {
32
+ }
33
+ delete(_id) {
34
+ this._items.delete(_id);
35
+ this._cache.delete(_id);
36
+ }
37
+ clear() {
33
38
  this._items.clear();
34
39
  this._cache.clear();
35
- };
36
- _clean = async () => {
40
+ }
41
+ ;
42
+ async _clean() {
37
43
  const iterator = this._items.keys();
38
44
  for (let i = this._cleanCount; i > 0; i--) {
39
45
  const key = iterator.next().value;
40
46
  this._items.delete(key);
41
47
  }
42
48
  this._cleaningScheduled = false;
43
- };
44
- _reclaim = (_id) => {
49
+ }
50
+ _reclaim(_id) {
45
51
  this._cache.delete(_id);
46
- };
52
+ }
53
+ ;
47
54
  }
48
55
  export default IdBasedLRUCache;
49
56
  //# sourceMappingURL=id-based-lru-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-based-lru-cache.js","sourceRoot":"","sources":["../../src/cache/id-based-lru-cache.ts"],"names":[],"mappings":"AAMA,MAAM,eAAe;IACpB,MAAM,CAAe,CAAC,+BAA+B;IACrD,MAAM,CAAwB,CAAC,kBAAkB;IACjD,qBAAqB,CAA8B,CAAC,0CAA0C;IAC9F,IAAI,CAAQ;IACZ,WAAW,CAAQ;IACnB,kBAAkB,CAAS;IAE3B,YAAY,UAAe,IAAI,EAAC,aAAkB,EAAE;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,qBAAqB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,GAAU;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5C,IAAG,KAAK,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC;IACd,CAAC;IAAA,CAAC;IAEF,KAAK,CAAC,IAAM;QACX,IAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC7D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ;SACvB;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,GAAU;QAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAAA,CAAC;IAEF,KAAK,CAAC,MAAM;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACnC,KAAI,IAAI,CAAC,GAAC,IAAI,CAAC,WAAW,EAAG,CAAC,GAAC,CAAC,EAAG,CAAC,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACxB;QACD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,GAAU;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAA,CAAC;CACF;AAID,eAAe,eAAe,CAAC"}
@@ -2,9 +2,10 @@ declare class WeakValueCache<Key, Value extends object> {
2
2
  _cache: Map<Key, WeakRef<Value>>;
3
3
  _finalizationRegistry: FinalizationRegistry<Key>;
4
4
  constructor();
5
- retrieve: (_id: Key) => Value;
6
- cache: (key: Key, item: Value) => void;
7
- clear: () => void;
8
- _reclaim: (key: Key) => void;
5
+ retrieve(key: Key): Value | undefined;
6
+ cache(key: Key, item: Value): void;
7
+ delete(key: Key): void;
8
+ clear(): void;
9
+ _reclaim(key: Key): void;
9
10
  }
10
11
  export default WeakValueCache;
@@ -5,20 +5,23 @@ class WeakValueCache {
5
5
  this._cache = new Map();
6
6
  this._finalizationRegistry = new FinalizationRegistry(this._reclaim);
7
7
  }
8
- retrieve = (_id) => {
9
- const value = this._cache.get(_id)?.deref();
8
+ retrieve(key) {
9
+ const value = this._cache.get(key)?.deref();
10
10
  return value;
11
- };
12
- cache = (key, item) => {
11
+ }
12
+ cache(key, item) {
13
13
  this._cache.set(key, new WeakRef(item));
14
14
  this._finalizationRegistry.register(item, key);
15
- };
16
- clear = () => {
15
+ }
16
+ delete(key) {
17
+ this._cache.delete(key);
18
+ }
19
+ clear() {
17
20
  this._cache.clear();
18
- };
19
- _reclaim = (key) => {
21
+ }
22
+ _reclaim(key) {
20
23
  this._cache.delete(key);
21
- };
24
+ }
22
25
  }
23
26
  export default WeakValueCache;
24
27
  //# sourceMappingURL=weak-value-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weak-value-cache.js","sourceRoot":"","sources":["../../src/cache/weak-value-cache.ts"],"names":[],"mappings":"AACA,MAAM,cAAc;IACnB,MAAM,CAAyB,CAAC,kBAAkB;IAClD,qBAAqB,CAA2B,CAAC,0CAA0C;IAE3F;QACC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,qBAAqB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED,QAAQ,CAAC,GAAO;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAO,EAAC,IAAU;QACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,EAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,GAAO;QACb,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,GAAO;QACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACD;AAID,eAAe,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recursive-merge.js","sourceRoot":"","sources":["../../src/data/recursive-merge.ts"],"names":[],"mappings":"AACA,MAAM,cAAc,GAAG,CAAC,YAAmB,EAAC,GAAG,aAAsB,EAAE,EAAE;IACxE,KAAI,MAAM,YAAY,IAAI,aAAa,EAAE;QACxC,KAAI,MAAM,CAAE,GAAG,EAAC,IAAI,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACvD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC7B,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;oBACpC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;iBACvB;gBACD,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,EAAC,IAAI,CAAC,CAAC;aACvC;iBAAM;gBACN,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACzB;SACD;KACD;IACD,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAIF,eAAe,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jdebug.js","sourceRoot":"","sources":["../../src/debug/jdebug.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,GAAG;IACd,qDAAqD;IACrD,OAAO,EAAG,OAAO,CAAC,GAAG;CACrB,CAAC;AAIF,eAAe,MAAM,CAAC"}
@@ -1,5 +1,5 @@
1
1
  declare class NotImplementedError extends Error {
2
2
  }
3
- declare const notImplemented: () => never;
3
+ declare const notImplemented: (message?: string, options?: ErrorOptions) => never;
4
4
  export default NotImplementedError;
5
5
  export { notImplemented };
@@ -0,0 +1,8 @@
1
+ class NotImplementedError extends Error {
2
+ }
3
+ const notImplemented = (message, options) => {
4
+ throw new NotImplementedError(message, options);
5
+ };
6
+ export default NotImplementedError;
7
+ export { notImplemented };
8
+ //# sourceMappingURL=not-implemented.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-implemented.js","sourceRoot":"","sources":["../../src/error/not-implemented.ts"],"names":[],"mappings":"AACA,MAAM,mBAAoB,SAAQ,KAAK;CAAG;AAE1C,MAAM,cAAc,GAAG,CAAC,OAAe,EAAC,OAAqB,EAAE,EAAE;IAChE,MAAM,IAAI,mBAAmB,CAAC,OAAO,EAAC,OAAO,CAAC,CAAC;AAChD,CAAC,CAAC;AAIF,eAAe,mBAAmB,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception.js","sourceRoot":"","sources":["../../src/exception/exception.ts"],"names":[],"mappings":"AAGA,MAAM,SAAS;IACd,MAAM,CAAC,MAAM,GAAG,sCAAsC,CAAC;IACvD,KAAK,GAAG,WAAW,CAAC;IACpB,IAAI,CAAQ;IACZ,OAAO,CAAQ;IACf,OAAO,CAAkB;IACzB,UAAU,CAAS;IAEnB,YAAY,OAAY,EAAE,EAAC,UAAyB,EAAE;QACrD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAAA,CAAC;IAEF,aAAa;IACb,IAAI,MAAM,KAAI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAA,CAAA,CAAC;IAE7C,IAAI,OAAO;QACV,MAAM,OAAO,GAAG;YACf,aAAa;YACb,MAAM,EAAG,IAAI,CAAC,WAAW,CAAC,MAAM;YAChC,KAAK,EAAG,IAAI,CAAC,KAAK;YAClB,IAAI,EAAG,IAAI,CAAC,IAAI;YAChB,OAAO,EAAG,IAAI,CAAC,OAAO;YACtB,OAAO,EAAG,IAAI,CAAC,OAAO;SACtB,CAAC;QACF,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;;AACD,CAAC;AAIF,eAAe,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/exception/exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AASvC,MAAM,UAAU,GAAsC;IACrD,CAAC,SAAS,CAAC,MAAM,CAAC,EAAG,SAAS;CAC9B,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,UAAyB,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,IAAG,UAAU,CAAC,MAAM,CAAC,EAAE;QACtB,IAAG,UAAU,CAAC,MAAM,CAAC,KAAK,UAAU;YAAE,OAAO;QAC7C,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;KACrF;IACD,UAAU,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,MAAa,EAAE,EAAE;IACtC,IAAG,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACpF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,MAAa,EAAE,EAAE;IAC7C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC,CAAC;AAIF,OAAO,EAAE,iBAAiB,EAAC,YAAY,EAAC,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match-exceptions.js","sourceRoot":"","sources":["../../src/exception/match-exceptions.ts"],"names":[],"mappings":"AACA,MAAM,2BAA4B,SAAQ,KAAK;IAC9C,KAAK,CAAK;IACV,SAAS,CAAK;IAEd,YAAY,KAAS,EAAC,SAAa;QAClC,KAAK,CAAC,WAAW,KAAK,gCAAgC,SAAS,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAAA,CAAC;CACF;AAED,gDAAgD;AAChD,MAAM,WAAW,GAAG,CAAC,SAAa,EAAC,KAAW,EAAC,QAAiB,EAAE,EAAE;IACnE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAK,CAAE,CAAC;IACxD,KAAI,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAG,SAAS,YAAY,KAAK,EAAE;YAC9B,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAA;YACpB,OAAO,CAAE,IAAI,EAAC,CAAC,CAAE,CAAC;SAClB;KACD;IACD,OAAO,CAAE,KAAK,EAAC,IAAI,CAAE,CAAC;AACvB,CAAC,CAAC;AAEF,gDAAgD;AAChD,MAAM,eAAe,GAAG,CAAC,SAAa,EAAC,GAAG,QAAc,EAAE,EAAE;IAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC5B,IAAI;QACH,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,GAAG,EAAC,CAAC,IAAE,CAAC,EAAE;YACvB,MAAM,CAAE,KAAK,EAAC,CAAC,CAAE,GAAG,WAAW,CAAC,SAAS,EAAC,QAAQ,CAAC,CAAC,GAAC,CAAC,CAAC,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAG,KAAK;gBAAE,OAAO,CAAC,CAAC;SACnB;QACD,IAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;YACjB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,CAAC;SACT;QAAA,CAAC;KACF;IAAC,OAAM,KAAS,EAAE;QAClB,MAAM,IAAI,2BAA2B,CAAC,KAAK,EAAC,SAAS,CAAC,CAAC;KACvD;IACD,MAAM,SAAS,CAAC;AACjB,CAAC,CAAC;AAIF,eAAe,eAAe,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,24 +1,23 @@
1
- import interrupt from "./interrupt.js";
2
- import wait from "./wait.js";
3
- import timedifference from "./timedifference.js";
4
- import timefromnow from "./timefromnow.js";
5
- import timefromx from "./timefromx.js";
6
- import zeroDate from "./zero-date.js";
7
- import maxDate from "./max-date.js";
8
- import UUID from "./uuid.js";
9
- import Integer from "./integer.js";
10
- import JSchema from "./jschema.js";
11
- import jdebug from "./jdebug.js";
12
- import WeakValueCache from "./weak-value-cache.js";
13
- import IdBasedLRUCache from "./id-based-lru-cache.js";
14
- import IdBasedCache from "./id-based-cache.js";
15
- import Notifications from "./notifications.js";
16
- import { noop, noopn, pass } from "./noop.js";
17
- import Exception from "./exception.js";
18
- import matchExceptions from "./match-exceptions.js";
19
- import { registerException, getException, getExceptionNoError } from "./exceptions.js";
20
- import NotImplementedError, { notImplemented } from "./not-implemented.js";
21
- import randomInteger from "./randomInteger.js";
22
- import recursiveMerge from "./recursive-merge.js";
1
+ import interrupt from "./async-tricks/interrupt.js";
2
+ import wait from "./async-tricks/wait.js";
3
+ import timedifference from "./time/timedifference.js";
4
+ import timefromnow from "./time/timefromnow.js";
5
+ import timefromx from "./time/timefromx.js";
6
+ import zeroDate from "./time/zero-date.js";
7
+ import maxDate from "./time/max-date.js";
8
+ import JSchema from "./jschema/jschema.js";
9
+ import UUID from "./jschema/uuid.js";
10
+ import Integer from "./jschema/integer.js";
11
+ import jdebug from "./debug/jdebug.js";
12
+ import WeakValueCache from "./cache/weak-value-cache.js";
13
+ import IdBasedLRUCache from "./cache/id-based-lru-cache.js";
14
+ import IdBasedCache from "./cache/id-based-cache.js";
15
+ import Notifications from "./notifications/notifications.js";
16
+ import { noop, noopn, pass } from "./op/noop.js";
17
+ import Exception from "./exception/exception.js";
18
+ import matchExceptions from "./exception/match-exceptions.js";
19
+ import { registerException, getException, getExceptionNoError } from "./exception/exceptions.js";
20
+ import NotImplementedError, { notImplemented } from "./error/not-implemented.js";
21
+ import recursiveMerge from "./data/recursive-merge.js";
23
22
  export { interrupt, wait, timedifference, timefromnow, timefromx, zeroDate as zeroTime, // legacy naming
24
- zeroDate, maxDate, JSchema, UUID, Integer, jdebug, WeakValueCache, IdBasedLRUCache, IdBasedCache, Notifications, noop, noopn, pass, Exception, matchExceptions, registerException, getException, getExceptionNoError, NotImplementedError, notImplemented, randomInteger, recursiveMerge, };
23
+ zeroDate, maxDate, JSchema, UUID, Integer, jdebug, WeakValueCache, IdBasedLRUCache, IdBasedCache, Notifications, noop, noopn, pass, Exception, matchExceptions, registerException, getException, getExceptionNoError, NotImplementedError, notImplemented, recursiveMerge, };
package/dist/index.js CHANGED
@@ -1,25 +1,24 @@
1
- import interrupt from "./interrupt.js";
2
- import wait from "./wait.js";
3
- import timedifference from "./timedifference.js";
4
- import timefromnow from "./timefromnow.js";
5
- import timefromx from "./timefromx.js";
6
- import zeroDate from "./zero-date.js";
7
- import maxDate from "./max-date.js";
8
- import UUID from "./uuid.js";
9
- import Integer from "./integer.js";
10
- import JSchema from "./jschema.js";
11
- import jdebug from "./jdebug.js";
12
- import WeakValueCache from "./weak-value-cache.js";
13
- import IdBasedLRUCache from "./id-based-lru-cache.js";
14
- import IdBasedCache from "./id-based-cache.js";
15
- import Notifications from "./notifications.js";
16
- import { noop, noopn, pass } from "./noop.js";
17
- import Exception from "./exception.js";
18
- import matchExceptions from "./match-exceptions.js";
19
- import { registerException, getException, getExceptionNoError } from "./exceptions.js";
20
- import NotImplementedError, { notImplemented } from "./not-implemented.js";
21
- import randomInteger from "./randomInteger.js";
22
- import recursiveMerge from "./recursive-merge.js";
1
+ import interrupt from "./async-tricks/interrupt.js";
2
+ import wait from "./async-tricks/wait.js";
3
+ import timedifference from "./time/timedifference.js";
4
+ import timefromnow from "./time/timefromnow.js";
5
+ import timefromx from "./time/timefromx.js";
6
+ import zeroDate from "./time/zero-date.js";
7
+ import maxDate from "./time/max-date.js";
8
+ import JSchema from "./jschema/jschema.js";
9
+ import UUID from "./jschema/uuid.js";
10
+ import Integer from "./jschema/integer.js";
11
+ import jdebug from "./debug/jdebug.js";
12
+ import WeakValueCache from "./cache/weak-value-cache.js";
13
+ import IdBasedLRUCache from "./cache/id-based-lru-cache.js";
14
+ import IdBasedCache from "./cache/id-based-cache.js";
15
+ import Notifications from "./notifications/notifications.js";
16
+ import { noop, noopn, pass } from "./op/noop.js";
17
+ import Exception from "./exception/exception.js";
18
+ import matchExceptions from "./exception/match-exceptions.js";
19
+ import { registerException, getException, getExceptionNoError } from "./exception/exceptions.js";
20
+ import NotImplementedError, { notImplemented } from "./error/not-implemented.js";
21
+ import recursiveMerge from "./data/recursive-merge.js";
23
22
  export { interrupt, wait, timedifference, timefromnow, timefromx, zeroDate as zeroTime, // legacy naming
24
- zeroDate, maxDate, JSchema, UUID, Integer, jdebug, WeakValueCache, IdBasedLRUCache, IdBasedCache, Notifications, noop, noopn, pass, Exception, matchExceptions, registerException, getException, getExceptionNoError, NotImplementedError, notImplemented, randomInteger, recursiveMerge, };
23
+ zeroDate, maxDate, JSchema, UUID, Integer, jdebug, WeakValueCache, IdBasedLRUCache, IdBasedCache, Notifications, noop, noopn, pass, Exception, matchExceptions, registerException, getException, getExceptionNoError, NotImplementedError, notImplemented, recursiveMerge, };
25
24
  //# 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,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAC,KAAK,EAAC,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAC,YAAY,EAAC,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,mBAAmB,EAAC,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAElD,OAAO,EACN,SAAS,EACT,IAAI,EACJ,cAAc,EACd,WAAW,EACX,SAAS,EACT,QAAQ,IAAI,QAAQ,EAAE,gBAAgB;AACtC,QAAQ,EACR,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACP,MAAM,EACN,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,cAAc,GACd,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAC,KAAK,EAAC,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAC,YAAY,EAAC,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,mBAAmB,EAAC,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EACN,SAAS,EACT,IAAI,EACJ,cAAc,EACd,WAAW,EACX,SAAS,EACT,QAAQ,IAAI,QAAQ,EAAE,gBAAgB;AACtC,QAAQ,EACR,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACP,MAAM,EACN,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACd,CAAC"}
@@ -0,0 +1,5 @@
1
+ declare const jwindow: Window & typeof globalThis;
2
+ declare const jdocument: Document;
3
+ declare const xmlSerializer: XMLSerializer;
4
+ declare const domParser: DOMParser;
5
+ export { jwindow, jdocument, xmlSerializer, domParser };
@@ -0,0 +1,6 @@
1
+ const jwindow = window;
2
+ const { document: jdocument, XMLSerializer, DOMParser } = window;
3
+ const xmlSerializer = new XMLSerializer();
4
+ const domParser = new DOMParser();
5
+ export { jwindow, jdocument, xmlSerializer, domParser };
6
+ //# sourceMappingURL=jdom-browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jdom-browser.js","sourceRoot":"","sources":["../../src/jdom/jdom-browser.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,GAAG,MAAM,CAAC;AACvB,MAAM,EAAE,QAAQ,EAAC,SAAS,EAAC,aAAa,EAAC,SAAS,EAAE,GAAG,MAAM,CAAC;AAC9D,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AAC1C,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAIlC,OAAO,EAAE,OAAO,EAAC,SAAS,EAAC,aAAa,EAAC,SAAS,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ declare const jwindow: any;
2
+ declare const jdocument: any;
3
+ declare const xmlSerializer: any;
4
+ declare const domParser: any;
5
+ export { jwindow, jdocument, xmlSerializer, domParser };
@@ -0,0 +1,7 @@
1
+ import { JSDOM } from "jsdom";
2
+ const jwindow = new JSDOM(`<!DOCTYPE html><body></body>`).window;
3
+ const { document: jdocument, XMLSerializer, DOMParser } = jwindow;
4
+ const xmlSerializer = new XMLSerializer();
5
+ const domParser = new DOMParser();
6
+ export { jwindow, jdocument, xmlSerializer, domParser };
7
+ //# sourceMappingURL=jdom-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jdom-node.js","sourceRoot":"","sources":["../../src/jdom/jdom-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAI9B,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC;AACjE,MAAM,EAAE,QAAQ,EAAC,SAAS,EAAC,aAAa,EAAC,SAAS,EAAE,GAAG,OAAO,CAAC;AAC/D,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AAC1C,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAIlC,OAAO,EAAE,OAAO,EAAC,SAAS,EAAC,aAAa,EAAC,SAAS,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const any: unique symbol;
2
+ export default any;
@@ -0,0 +1,3 @@
1
+ const any = Symbol();
2
+ export default any;
3
+ //# sourceMappingURL=any.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"any.js","sourceRoot":"","sources":["../../src/jschema/any.ts"],"names":[],"mappings":"AAAA,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;AAIpB,eAAe,GAAG,CAAC"}
@@ -0,0 +1,7 @@
1
+ import JType from "./jtype.js";
2
+ export default abstract class Integer extends JType {
3
+ static readonly _kind = "Integer";
4
+ static isInteger: (number: unknown) => boolean;
5
+ static validate: (number: unknown) => boolean;
6
+ }
7
+ export type IntegerConstructor = typeof Integer;
@@ -0,0 +1,8 @@
1
+ import JType from "./jtype.js";
2
+ export default class Integer extends JType {
3
+ static _kind = "Integer";
4
+ static isInteger = Number.isSafeInteger;
5
+ static validate = Integer.isInteger;
6
+ }
7
+ ;
8
+ //# sourceMappingURL=integer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integer.js","sourceRoot":"","sources":["../../src/jschema/integer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAI/B,MAAM,CAAC,OAAO,OAAgB,OAAQ,SAAQ,KAAK;IAClD,MAAM,CAAU,KAAK,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC;IACxC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;;AACpC,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type JSchema from "./jschema.js";
2
+ import type any from "./any.js";
3
+ import type { IntegerConstructor } from "./integer.js";
4
+ import type { TupleConstructor } from "./tuple.js";
5
+ export type SchemaDefinition = null | JSchema<any> | StringConstructor | {
6
+ type: StringConstructor;
7
+ } | NumberConstructor | {
8
+ type: NumberConstructor;
9
+ } | IntegerConstructor | {
10
+ type: IntegerConstructor;
11
+ } | BooleanConstructor | {
12
+ type: BooleanConstructor;
13
+ } | {
14
+ type: ObjectConstructor;
15
+ keys?: Record<string, SchemaDefinition>;
16
+ optionalKeys?: Record<string, SchemaDefinition>;
17
+ } | {
18
+ type: ArrayConstructor;
19
+ items: SchemaDefinition;
20
+ } | {
21
+ type: TupleConstructor;
22
+ values: SchemaDefinition[];
23
+ } | typeof any;
24
+ export type InferSchemaType<T> = T extends JSchema<infer Inner> ? InferSchemaType<Inner> : T extends null ? null : T extends StringConstructor ? string : T extends {
25
+ type: StringConstructor;
26
+ } ? string : T extends NumberConstructor ? number : T extends {
27
+ type: NumberConstructor;
28
+ } ? number : T extends IntegerConstructor ? number : T extends {
29
+ type: IntegerConstructor;
30
+ } ? number : T extends BooleanConstructor ? boolean : T extends {
31
+ type: BooleanConstructor;
32
+ } ? boolean : T extends typeof any ? any : T extends {
33
+ type: ArrayConstructor;
34
+ items: infer Item;
35
+ } ? (Item extends SchemaDefinition ? InferSchemaType<Item>[] : never) : T extends {
36
+ type: TupleConstructor;
37
+ values: [...infer Values];
38
+ } ? ({
39
+ [I in keyof Values]: Values[I] extends SchemaDefinition ? InferSchemaType<Values[I]> : never;
40
+ }) : T extends {
41
+ type: ObjectConstructor;
42
+ keys?: infer K;
43
+ optionalKeys?: infer OK;
44
+ } ? ({
45
+ [X in keyof (K & {
46
+ [P in keyof OK]?: any;
47
+ })]: ({
48
+ [P in keyof K]: InferSchemaType<K[P]>;
49
+ } & {
50
+ [P in keyof OK]: InferSchemaType<OK[P]>;
51
+ })[X];
52
+ }) : never;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jschema-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jschema-types.js","sourceRoot":"","sources":["../../src/jschema/jschema-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { SchemaDefinition, InferSchemaType } from "./jschema-types.js";
2
+ export default class JSchema<T extends SchemaDefinition> {
3
+ _schema: InferSchemaType<T>;
4
+ get schema(): InferSchemaType<T>;
5
+ constructor(schema: T);
6
+ normalizeSchema(schema: T): any;
7
+ }