@blackglory/structures 0.4.0 → 0.6.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 (78) hide show
  1. package/README.md +12 -5
  2. package/dist/es2015/index.min.mjs +2 -2
  3. package/dist/es2015/index.min.mjs.map +1 -1
  4. package/dist/es2015/index.mjs +116 -157
  5. package/dist/es2015/index.mjs.map +1 -1
  6. package/dist/es2015/index.umd.js +116 -157
  7. package/dist/es2015/index.umd.js.map +1 -1
  8. package/dist/es2015/index.umd.min.js +2 -2
  9. package/dist/es2015/index.umd.min.js.map +1 -1
  10. package/dist/es2018/index.min.mjs +2 -2
  11. package/dist/es2018/index.min.mjs.map +1 -1
  12. package/dist/es2018/index.mjs +116 -157
  13. package/dist/es2018/index.mjs.map +1 -1
  14. package/dist/es2018/index.umd.js +116 -157
  15. package/dist/es2018/index.umd.js.map +1 -1
  16. package/dist/es2018/index.umd.min.js +2 -2
  17. package/dist/es2018/index.umd.min.js.map +1 -1
  18. package/lib/es2015/box.d.ts +1 -1
  19. package/lib/es2015/box.js +3 -17
  20. package/lib/es2015/box.js.map +1 -1
  21. package/lib/es2015/emitter.d.ts +6 -6
  22. package/lib/es2015/emitter.js +27 -24
  23. package/lib/es2015/emitter.js.map +1 -1
  24. package/lib/es2015/expirable-map.d.ts +2 -1
  25. package/lib/es2015/expirable-map.js +14 -27
  26. package/lib/es2015/expirable-map.js.map +1 -1
  27. package/lib/es2015/finite-state-machine.d.ts +1 -1
  28. package/lib/es2015/finite-state-machine.js +4 -18
  29. package/lib/es2015/finite-state-machine.js.map +1 -1
  30. package/lib/es2015/hash-map.d.ts +1 -1
  31. package/lib/es2015/hash-map.js +8 -14
  32. package/lib/es2015/hash-map.js.map +1 -1
  33. package/lib/es2015/hash-set.d.ts +1 -1
  34. package/lib/es2015/hash-set.js +9 -15
  35. package/lib/es2015/hash-set.js.map +1 -1
  36. package/lib/es2015/lru-map.d.ts +2 -1
  37. package/lib/es2015/lru-map.js +15 -28
  38. package/lib/es2015/lru-map.js.map +1 -1
  39. package/lib/es2015/queue.d.ts +1 -1
  40. package/lib/es2015/queue.js +8 -14
  41. package/lib/es2015/queue.js.map +1 -1
  42. package/lib/es2015/tlru-map.d.ts +4 -2
  43. package/lib/es2015/tlru-map.js +21 -35
  44. package/lib/es2015/tlru-map.js.map +1 -1
  45. package/lib/es2015/trie-map.d.ts +1 -1
  46. package/lib/es2015/trie-map.js +6 -12
  47. package/lib/es2015/trie-map.js.map +1 -1
  48. package/lib/es2018/box.d.ts +1 -1
  49. package/lib/es2018/box.js +3 -17
  50. package/lib/es2018/box.js.map +1 -1
  51. package/lib/es2018/emitter.d.ts +6 -6
  52. package/lib/es2018/emitter.js +27 -24
  53. package/lib/es2018/emitter.js.map +1 -1
  54. package/lib/es2018/expirable-map.d.ts +2 -1
  55. package/lib/es2018/expirable-map.js +14 -27
  56. package/lib/es2018/expirable-map.js.map +1 -1
  57. package/lib/es2018/finite-state-machine.d.ts +1 -1
  58. package/lib/es2018/finite-state-machine.js +4 -18
  59. package/lib/es2018/finite-state-machine.js.map +1 -1
  60. package/lib/es2018/hash-map.d.ts +1 -1
  61. package/lib/es2018/hash-map.js +8 -14
  62. package/lib/es2018/hash-map.js.map +1 -1
  63. package/lib/es2018/hash-set.d.ts +1 -1
  64. package/lib/es2018/hash-set.js +9 -15
  65. package/lib/es2018/hash-set.js.map +1 -1
  66. package/lib/es2018/lru-map.d.ts +2 -1
  67. package/lib/es2018/lru-map.js +15 -28
  68. package/lib/es2018/lru-map.js.map +1 -1
  69. package/lib/es2018/queue.d.ts +1 -1
  70. package/lib/es2018/queue.js +8 -14
  71. package/lib/es2018/queue.js.map +1 -1
  72. package/lib/es2018/tlru-map.d.ts +4 -2
  73. package/lib/es2018/tlru-map.js +21 -35
  74. package/lib/es2018/tlru-map.js.map +1 -1
  75. package/lib/es2018/trie-map.d.ts +1 -1
  76. package/lib/es2018/trie-map.js +6 -12
  77. package/lib/es2018/trie-map.js.map +1 -1
  78. package/package.json +13 -13
@@ -1,35 +1,29 @@
1
1
  "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var _Queue_items;
8
2
  Object.defineProperty(exports, "__esModule", { value: true });
9
3
  exports.Queue = void 0;
10
4
  class Queue {
11
5
  constructor() {
12
- _Queue_items.set(this, []);
6
+ this.items = [];
13
7
  }
14
- get [(_Queue_items = new WeakMap(), Symbol.toStringTag)]() {
8
+ get [Symbol.toStringTag]() {
15
9
  return this.constructor.name;
16
10
  }
17
11
  get size() {
18
- return __classPrivateFieldGet(this, _Queue_items, "f").length;
12
+ return this.items.length;
19
13
  }
20
14
  empty() {
21
- __classPrivateFieldGet(this, _Queue_items, "f").length = 0;
15
+ this.items.length = 0;
22
16
  }
23
17
  enqueue(...items) {
24
- __classPrivateFieldGet(this, _Queue_items, "f").push(...items);
18
+ this.items.push(...items);
25
19
  }
26
20
  dequeue() {
27
- return __classPrivateFieldGet(this, _Queue_items, "f").shift();
21
+ return this.items.shift();
28
22
  }
29
23
  remove(item) {
30
24
  let index;
31
- while ((index = __classPrivateFieldGet(this, _Queue_items, "f").indexOf(item)) >= 0) {
32
- __classPrivateFieldGet(this, _Queue_items, "f").splice(index, 1);
25
+ while ((index = this.items.indexOf(item)) >= 0) {
26
+ this.items.splice(index, 1);
33
27
  }
34
28
  }
35
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/queue.ts"],"names":[],"mappings":";;;;;;;;;AAAA,MAAa,KAAK;IAAlB;QACE,uBAAc,EAAE,EAAA;IA4BlB,CAAC;IA1BC,IAAI,gCAAC,MAAM,CAAC,WAAW,EAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,uBAAA,IAAI,oBAAO,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,KAAK;QACH,uBAAA,IAAI,oBAAO,CAAC,MAAM,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,CAAC,GAAG,KAAU;QACnB,uBAAA,IAAI,oBAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,uBAAA,IAAI,oBAAO,CAAC,KAAK,EAAE,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,IAAO;QACZ,IAAI,KAAa,CAAA;QACjB,OAAO,CAAC,KAAK,GAAG,uBAAA,IAAI,oBAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE;YAC/C,uBAAA,IAAI,oBAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;SAC7B;IACH,CAAC;CACF;AA7BD,sBA6BC"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/queue.ts"],"names":[],"mappings":";;;AAAA,MAAa,KAAK;IAAlB;QACU,UAAK,GAAQ,EAAE,CAAA;IA4BzB,CAAC;IA1BC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,CAAC,GAAG,KAAU;QACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,IAAO;QACZ,IAAI,KAAa,CAAA;QACjB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE;YAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;SAC5B;IACH,CAAC;CACF;AA7BD,sBA6BC"}
@@ -1,6 +1,8 @@
1
1
  export declare class TLRUMap<K, V> {
2
- #private;
3
- itemMetadataSortedByExpirationTime: Array<{
2
+ private limit;
3
+ private map;
4
+ private cancelClearTimeout?;
5
+ protected itemMetadataSortedByExpirationTime: Array<{
4
6
  key: K;
5
7
  expirationTime: number;
6
8
  }>;
@@ -1,16 +1,4 @@
1
1
  "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var _TLRUMap_limit, _TLRUMap_map, _TLRUMap_cancelClearTimeout;
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.TLRUMap = void 0;
16
4
  const errors_1 = require("@blackglory/errors");
@@ -18,41 +6,39 @@ const iterable_operator_1 = require("iterable-operator");
18
6
  const extra_timers_1 = require("extra-timers");
19
7
  class TLRUMap {
20
8
  constructor(limit) {
21
- _TLRUMap_limit.set(this, void 0);
22
- _TLRUMap_map.set(this, new Map());
23
- _TLRUMap_cancelClearTimeout.set(this, void 0);
9
+ this.map = new Map();
24
10
  this.itemMetadataSortedByExpirationTime = [];
25
11
  (0, errors_1.assert)(Number.isInteger(limit), 'The parameter limit must be an integer');
26
12
  (0, errors_1.assert)(limit > 0, 'The parameter limit must be a positive value');
27
- __classPrivateFieldSet(this, _TLRUMap_limit, limit, "f");
13
+ this.limit = limit;
28
14
  }
29
- get [(_TLRUMap_limit = new WeakMap(), _TLRUMap_map = new WeakMap(), _TLRUMap_cancelClearTimeout = new WeakMap(), Symbol.toStringTag)]() {
15
+ get [Symbol.toStringTag]() {
30
16
  return this.constructor.name;
31
17
  }
32
18
  get size() {
33
- return __classPrivateFieldGet(this, _TLRUMap_map, "f").size;
19
+ return this.map.size;
34
20
  }
35
21
  set(key, value, maxAge) {
36
- if (__classPrivateFieldGet(this, _TLRUMap_map, "f").has(key)) {
22
+ if (this.map.has(key)) {
37
23
  this.updateItem(key, value);
38
24
  this.removeItemMetadata(key);
39
25
  this.addItemMetadata(key, Date.now() + maxAge);
40
26
  }
41
27
  else {
42
- if (__classPrivateFieldGet(this, _TLRUMap_map, "f").size === __classPrivateFieldGet(this, _TLRUMap_limit, "f")) {
43
- __classPrivateFieldGet(this, _TLRUMap_map, "f").delete(this.getColdestKey());
28
+ if (this.map.size === this.limit) {
29
+ this.map.delete(this.getColdestKey());
44
30
  }
45
- __classPrivateFieldGet(this, _TLRUMap_map, "f").set(key, value);
31
+ this.map.set(key, value);
46
32
  this.addItemMetadata(key, Date.now() + maxAge);
47
33
  }
48
34
  return this;
49
35
  }
50
36
  has(key) {
51
- return __classPrivateFieldGet(this, _TLRUMap_map, "f").has(key);
37
+ return this.map.has(key);
52
38
  }
53
39
  get(key) {
54
40
  if (this.has(key)) {
55
- const value = __classPrivateFieldGet(this, _TLRUMap_map, "f").get(key);
41
+ const value = this.map.get(key);
56
42
  this.updateItem(key, value);
57
43
  return value;
58
44
  }
@@ -61,7 +47,7 @@ class TLRUMap {
61
47
  }
62
48
  }
63
49
  delete(key) {
64
- const result = __classPrivateFieldGet(this, _TLRUMap_map, "f").delete(key);
50
+ const result = this.map.delete(key);
65
51
  if (result) {
66
52
  const index = this.itemMetadataSortedByExpirationTime.findIndex(x => x.key === key);
67
53
  this.itemMetadataSortedByExpirationTime.splice(index, 1);
@@ -73,13 +59,13 @@ class TLRUMap {
73
59
  }
74
60
  clear() {
75
61
  var _a;
76
- __classPrivateFieldGet(this, _TLRUMap_map, "f").clear();
77
- (_a = __classPrivateFieldGet(this, _TLRUMap_cancelClearTimeout, "f")) === null || _a === void 0 ? void 0 : _a.call(this);
62
+ this.map.clear();
63
+ (_a = this.cancelClearTimeout) === null || _a === void 0 ? void 0 : _a.call(this);
78
64
  this.itemMetadataSortedByExpirationTime = [];
79
65
  }
80
66
  updateItem(key, value) {
81
- __classPrivateFieldGet(this, _TLRUMap_map, "f").delete(key);
82
- __classPrivateFieldGet(this, _TLRUMap_map, "f").set(key, value);
67
+ this.map.delete(key);
68
+ this.map.set(key, value);
83
69
  }
84
70
  addItemMetadata(key, expirationTime) {
85
71
  for (let i = 0; i < this.itemMetadataSortedByExpirationTime.length; i++) {
@@ -111,11 +97,11 @@ class TLRUMap {
111
97
  const expiredItemKeys = indexOfFirstUnexpiredItem >= 0
112
98
  ? this.itemMetadataSortedByExpirationTime.splice(0, indexOfFirstUnexpiredItem)
113
99
  : this.itemMetadataSortedByExpirationTime.splice(0, this.itemMetadataSortedByExpirationTime.length);
114
- expiredItemKeys.forEach(x => __classPrivateFieldGet(this, _TLRUMap_map, "f").delete(x.key));
100
+ expiredItemKeys.forEach(x => this.map.delete(x.key));
115
101
  }
116
102
  rescheduleClearTimeout() {
117
103
  var _a;
118
- (_a = __classPrivateFieldGet(this, _TLRUMap_cancelClearTimeout, "f")) === null || _a === void 0 ? void 0 : _a.call(this);
104
+ (_a = this.cancelClearTimeout) === null || _a === void 0 ? void 0 : _a.call(this);
119
105
  if (this.itemMetadataSortedByExpirationTime.length > 0) {
120
106
  const item = this.itemMetadataSortedByExpirationTime[0];
121
107
  if (Number.isFinite(item.expirationTime)) {
@@ -123,15 +109,15 @@ class TLRUMap {
123
109
  this.clearExpiredItems(Date.now());
124
110
  this.rescheduleClearTimeout();
125
111
  });
126
- __classPrivateFieldSet(this, _TLRUMap_cancelClearTimeout, () => {
112
+ this.cancelClearTimeout = () => {
127
113
  cancel();
128
- __classPrivateFieldSet(this, _TLRUMap_cancelClearTimeout, undefined, "f");
129
- }, "f");
114
+ this.cancelClearTimeout = undefined;
115
+ };
130
116
  }
131
117
  }
132
118
  }
133
119
  getColdestKey() {
134
- return (0, iterable_operator_1.first)(__classPrivateFieldGet(this, _TLRUMap_map, "f").keys());
120
+ return (0, iterable_operator_1.first)(this.map.keys());
135
121
  }
136
122
  }
137
123
  exports.TLRUMap = TLRUMap;
@@ -1 +1 @@
1
- {"version":3,"file":"tlru-map.js","sourceRoot":"","sources":["../../src/tlru-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tlru-map.js","sourceRoot":"","sources":["../../src/tlru-map.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { UnpackedIterable } from 'justypes';
2
2
  export declare class TrieMap<K extends Iterable<T>, V, T = UnpackedIterable<K>> {
3
- #private;
3
+ private root;
4
4
  get [Symbol.toStringTag](): string;
5
5
  set(key: K, value: V): this;
6
6
  has(key: K): boolean;
@@ -1,10 +1,4 @@
1
1
  "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var _TrieMap_root;
8
2
  Object.defineProperty(exports, "__esModule", { value: true });
9
3
  exports.TrieMap = void 0;
10
4
  const iterable_operator_1 = require("iterable-operator");
@@ -16,13 +10,13 @@ class TrieNode {
16
10
  }
17
11
  class TrieMap {
18
12
  constructor() {
19
- _TrieMap_root.set(this, new TrieNode());
13
+ this.root = new TrieNode();
20
14
  }
21
- get [(_TrieMap_root = new WeakMap(), Symbol.toStringTag)]() {
15
+ get [Symbol.toStringTag]() {
22
16
  return this.constructor.name;
23
17
  }
24
18
  set(key, value) {
25
- let node = __classPrivateFieldGet(this, _TrieMap_root, "f");
19
+ let node = this.root;
26
20
  for (const part of key) {
27
21
  if (!node.children.has(part)) {
28
22
  node.children.set(part, new TrieNode());
@@ -33,7 +27,7 @@ class TrieMap {
33
27
  return this;
34
28
  }
35
29
  has(key) {
36
- let node = __classPrivateFieldGet(this, _TrieMap_root, "f");
30
+ let node = this.root;
37
31
  for (const part of key) {
38
32
  if (node.children.has(part)) {
39
33
  node = node.children.get(part);
@@ -45,7 +39,7 @@ class TrieMap {
45
39
  return node.value !== undefined;
46
40
  }
47
41
  get(key) {
48
- let node = __classPrivateFieldGet(this, _TrieMap_root, "f");
42
+ let node = this.root;
49
43
  for (const part of key) {
50
44
  if (node.children.has(part)) {
51
45
  node = node.children.get(part);
@@ -58,7 +52,7 @@ class TrieMap {
58
52
  }
59
53
  delete(key) {
60
54
  const parentNodes = [];
61
- let node = __classPrivateFieldGet(this, _TrieMap_root, "f");
55
+ let node = this.root;
62
56
  for (const part of key) {
63
57
  if (node.children.has(part)) {
64
58
  parentNodes.push(node);
@@ -1 +1 @@
1
- {"version":3,"file":"trie-map.js","sourceRoot":"","sources":["../../src/trie-map.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAAgD;AAGhD,MAAM,QAAQ;IAGZ,YAAmB,KAAS;QAAT,UAAK,GAAL,KAAK,CAAI;QAF5B,aAAQ,GAAG,IAAI,GAAG,EAAqB,CAAA;IAER,CAAC;CACjC;AAED,MAAa,OAAO;IAApB;QACE,wBAAQ,IAAI,QAAQ,EAAQ,EAAA;IAoE9B,CAAC;IAlEC,IAAI,iCAAC,MAAM,CAAC,WAAW,EAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,IAAI,GAAG,uBAAA,IAAI,qBAAM,CAAA;QACrB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAQ,CAAC,CAAA;aAC9C;YACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;SAChC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,GAAM;QACR,IAAI,IAAI,GAAG,uBAAA,IAAI,qBAAM,CAAA;QACrB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC3B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;aAChC;iBAAM;gBACL,OAAO,KAAK,CAAA;aACb;SACF;QAED,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAA;IACjC,CAAC;IAED,GAAG,CAAC,GAAM;QACR,IAAI,IAAI,GAAG,uBAAA,IAAI,qBAAM,CAAA;QACrB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC3B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;aAChC;iBAAM;gBACL,OAAO,SAAS,CAAA;aACjB;SACF;QAED,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,GAAM;QACX,MAAM,WAAW,GAAqB,EAAE,CAAA;QACxC,IAAI,IAAI,GAAG,uBAAA,IAAI,qBAAM,CAAA;QACrB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC3B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACtB,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;aAChC;iBAAM;gBACL,OAAO,KAAK,CAAA;aACb;SACF;QAED,OAAO,IAAI,CAAC,KAAK,CAAA;QAGjB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAA,2BAAO,EAAC,IAAA,uBAAG,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;gBACzE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAChC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;oBAAE,MAAK;aAC1C;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AArED,0BAqEC"}
1
+ {"version":3,"file":"trie-map.js","sourceRoot":"","sources":["../../src/trie-map.ts"],"names":[],"mappings":";;;AAAA,yDAAgD;AAGhD,MAAM,QAAQ;IAGZ,YAAmB,KAAS;QAAT,UAAK,GAAL,KAAK,CAAI;QAF5B,aAAQ,GAAG,IAAI,GAAG,EAAqB,CAAA;IAER,CAAC;CACjC;AAED,MAAa,OAAO;IAApB;QACU,SAAI,GAAG,IAAI,QAAQ,EAAQ,CAAA;IAoErC,CAAC;IAlEC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAQ,CAAC,CAAA;aAC9C;YACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;SAChC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,GAAM;QACR,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC3B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;aAChC;iBAAM;gBACL,OAAO,KAAK,CAAA;aACb;SACF;QAED,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAA;IACjC,CAAC;IAED,GAAG,CAAC,GAAM;QACR,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC3B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;aAChC;iBAAM;gBACL,OAAO,SAAS,CAAA;aACjB;SACF;QAED,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,GAAM;QACX,MAAM,WAAW,GAAqB,EAAE,CAAA;QACxC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC3B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACtB,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;aAChC;iBAAM;gBACL,OAAO,KAAK,CAAA;aACb;SACF;QAED,OAAO,IAAI,CAAC,KAAK,CAAA;QAGjB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAA,2BAAO,EAAC,IAAA,uBAAG,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;gBACzE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAChC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;oBAAE,MAAK;aAC1C;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AArED,0BAqEC"}
@@ -1,5 +1,5 @@
1
1
  export declare class Box<T> {
2
- #private;
2
+ private value;
3
3
  constructor(value: T);
4
4
  set(value: T): void;
5
5
  get(): T;
package/lib/es2018/box.js CHANGED
@@ -1,30 +1,16 @@
1
1
  "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var _Box_value;
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.Box = void 0;
16
4
  class Box {
17
5
  constructor(value) {
18
- _Box_value.set(this, void 0);
19
- __classPrivateFieldSet(this, _Box_value, value, "f");
6
+ this.value = value;
20
7
  }
21
8
  set(value) {
22
- __classPrivateFieldSet(this, _Box_value, value, "f");
9
+ this.value = value;
23
10
  }
24
11
  get() {
25
- return __classPrivateFieldGet(this, _Box_value, "f");
12
+ return this.value;
26
13
  }
27
14
  }
28
15
  exports.Box = Box;
29
- _Box_value = new WeakMap();
30
16
  //# sourceMappingURL=box.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,MAAa,GAAG;IAGd,YAAY,KAAQ;QAFpB,6BAAS;QAGP,uBAAA,IAAI,cAAU,KAAK,MAAA,CAAA;IACrB,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,uBAAA,IAAI,cAAU,KAAK,MAAA,CAAA;IACrB,CAAC;IAED,GAAG;QACD,OAAO,uBAAA,IAAI,kBAAO,CAAA;IACpB,CAAC;CACF;AAdD,kBAcC"}
1
+ {"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":";;;AAAA,MAAa,GAAG;IACd,YAAoB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAEhC,GAAG,CAAC,KAAQ;QACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;CACF;AAVD,kBAUC"}
@@ -1,9 +1,9 @@
1
- declare type Handler<T> = (value: T) => void;
2
- export declare class Emitter<T> {
3
- #private;
1
+ declare type Listener<Args extends unknown[]> = (...args: Args) => void;
2
+ export declare class Emitter<EventToArgs extends Record<string, unknown[]>> {
3
+ private map;
4
4
  get [Symbol.toStringTag](): string;
5
- on(event: string, handler: Handler<T>): void;
6
- off(event: string, handler: Handler<T>): void;
7
- emit(event: string, value: T): void;
5
+ on<T extends keyof EventToArgs>(event: T, listener: Listener<EventToArgs[T]>): () => void;
6
+ once<T extends keyof EventToArgs>(event: T, listener: Listener<EventToArgs[T]>): () => void;
7
+ emit<T extends keyof EventToArgs>(event: T, ...args: EventToArgs[T]): void;
8
8
  }
9
9
  export {};
@@ -1,40 +1,43 @@
1
1
  "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var _Emitter_map;
8
2
  Object.defineProperty(exports, "__esModule", { value: true });
9
3
  exports.Emitter = void 0;
10
4
  class Emitter {
11
5
  constructor() {
12
- _Emitter_map.set(this, new Map());
6
+ this.map = new Map();
13
7
  }
14
- get [(_Emitter_map = new WeakMap(), Symbol.toStringTag)]() {
8
+ get [Symbol.toStringTag]() {
15
9
  return this.constructor.name;
16
10
  }
17
- on(event, handler) {
18
- if (!__classPrivateFieldGet(this, _Emitter_map, "f").has(event)) {
19
- __classPrivateFieldGet(this, _Emitter_map, "f").set(event, new Set());
11
+ on(event, listener) {
12
+ if (!this.map.has(event)) {
13
+ this.map.set(event, new Set());
20
14
  }
21
- const set = __classPrivateFieldGet(this, _Emitter_map, "f").get(event);
15
+ const set = this.map.get(event);
22
16
  set.add(handler);
23
- }
24
- off(event, handler) {
25
- if (!__classPrivateFieldGet(this, _Emitter_map, "f").has(event))
26
- return;
27
- const handlers = __classPrivateFieldGet(this, _Emitter_map, "f").get(event);
28
- handlers.delete(handler);
29
- if (handlers.size === 0) {
30
- __classPrivateFieldGet(this, _Emitter_map, "f").delete(event);
17
+ return () => {
18
+ if (!this.map.has(event))
19
+ return;
20
+ const handlers = this.map.get(event);
21
+ handlers.delete(handler);
22
+ if (handlers.size === 0) {
23
+ this.map.delete(event);
24
+ }
25
+ };
26
+ function handler(...args) {
27
+ listener(...args);
31
28
  }
32
29
  }
33
- emit(event, value) {
34
- if (!__classPrivateFieldGet(this, _Emitter_map, "f").has(event))
30
+ once(event, listener) {
31
+ const removeListener = this.on(event, (...args) => {
32
+ listener(...args);
33
+ removeListener();
34
+ });
35
+ return removeListener;
36
+ }
37
+ emit(event, ...args) {
38
+ if (!this.map.has(event))
35
39
  return;
36
- const set = __classPrivateFieldGet(this, _Emitter_map, "f").get(event);
37
- set.forEach(cb => cb(value));
40
+ this.map.get(event).forEach(cb => cb(...args));
38
41
  }
39
42
  }
40
43
  exports.Emitter = Emitter;
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":";;;;;;;;;AAEA,MAAa,OAAO;IAApB;QACE,uBAAO,IAAI,GAAG,EAA2B,EAAA;IAkC3C,CAAC;IAhCC,IAAI,gCAAC,MAAM,CAAC,WAAW,EAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAKD,EAAE,CAAC,KAAa,EAAE,OAAmB;QACnC,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;SAChC;QAED,MAAM,GAAG,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACjC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,OAAmB;QACpC,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAEjC,MAAM,QAAQ,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACtC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACxB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YACvB,uBAAA,IAAI,oBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;SACxB;IACH,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,KAAQ;QAC1B,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAEjC,MAAM,GAAG,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACjC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9B,CAAC;CACF;AAnCD,0BAmCC"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":";;;AAEA,MAAa,OAAO;IAApB;QACU,QAAG,GAAG,IAAI,GAAG,EAGlB,CAAA;IAoDL,CAAC;IAlDC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,EAAE,CACA,KAAQ,EACR,QAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;SAC/B;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QAChC,GAAG,CAAC,GAAG,CAAC,OAAmD,CAAC,CAAA;QAE5D,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAM;YAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;YACrC,QAAQ,CAAC,MAAM,CAAC,OAAmD,CAAC,CAAA;YACpE,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;gBACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aACvB;QACH,CAAC,CAAA;QAED,SAAS,OAAO,CAAC,GAAG,IAA0C;YAC5D,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED,IAAI,CACF,KAAQ,EACR,QAAkC;QAElC,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAC5B,KAAK,EACL,CAAC,GAAG,IAA0C,EAAE,EAAE;YAChD,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;YACjB,cAAc,EAAE,CAAA;QAClB,CAAC,CACF,CAAA;QAED,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,IAAI,CAA8B,KAAQ,EAAE,GAAG,IAAoB;QACjE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAEhC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IACjD,CAAC;CACF;AAxDD,0BAwDC"}
@@ -1,5 +1,6 @@
1
1
  export declare class ExpirableMap<K, V> {
2
- #private;
2
+ private map;
3
+ private cancelClearTimeout?;
3
4
  itemMetadataSortedByExpirationTime: Array<{
4
5
  key: K;
5
6
  expirationTime: number;
@@ -1,45 +1,32 @@
1
1
  "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
- if (kind === "m") throw new TypeError("Private method is not writable");
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
- };
13
- var _ExpirableMap_map, _ExpirableMap_cancelClearTimeout;
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.ExpirableMap = void 0;
16
4
  const extra_timers_1 = require("extra-timers");
17
5
  class ExpirableMap {
18
6
  constructor() {
19
- _ExpirableMap_map.set(this, new Map());
20
- _ExpirableMap_cancelClearTimeout.set(this, void 0);
7
+ this.map = new Map();
21
8
  this.itemMetadataSortedByExpirationTime = [];
22
9
  }
23
- get [(_ExpirableMap_map = new WeakMap(), _ExpirableMap_cancelClearTimeout = new WeakMap(), Symbol.toStringTag)]() {
10
+ get [Symbol.toStringTag]() {
24
11
  return this.constructor.name;
25
12
  }
26
13
  get size() {
27
- return __classPrivateFieldGet(this, _ExpirableMap_map, "f").size;
14
+ return this.map.size;
28
15
  }
29
16
  set(key, value, maxAge) {
30
- __classPrivateFieldGet(this, _ExpirableMap_map, "f").set(key, value);
17
+ this.map.set(key, value);
31
18
  this.removeItemMetadata(key);
32
19
  this.addItemMetadata(key, Date.now() + maxAge);
33
20
  return this;
34
21
  }
35
22
  has(key) {
36
- return __classPrivateFieldGet(this, _ExpirableMap_map, "f").has(key);
23
+ return this.map.has(key);
37
24
  }
38
25
  get(key) {
39
- return __classPrivateFieldGet(this, _ExpirableMap_map, "f").get(key);
26
+ return this.map.get(key);
40
27
  }
41
28
  delete(key) {
42
- const exists = __classPrivateFieldGet(this, _ExpirableMap_map, "f").delete(key);
29
+ const exists = this.map.delete(key);
43
30
  if (exists) {
44
31
  const index = this.itemMetadataSortedByExpirationTime.findIndex(x => x.key === key);
45
32
  this.itemMetadataSortedByExpirationTime.splice(index, 1);
@@ -51,8 +38,8 @@ class ExpirableMap {
51
38
  }
52
39
  clear() {
53
40
  var _a;
54
- __classPrivateFieldGet(this, _ExpirableMap_map, "f").clear();
55
- (_a = __classPrivateFieldGet(this, _ExpirableMap_cancelClearTimeout, "f")) === null || _a === void 0 ? void 0 : _a.call(this);
41
+ this.map.clear();
42
+ (_a = this.cancelClearTimeout) === null || _a === void 0 ? void 0 : _a.call(this);
56
43
  this.itemMetadataSortedByExpirationTime = [];
57
44
  }
58
45
  addItemMetadata(key, expirationTime) {
@@ -85,11 +72,11 @@ class ExpirableMap {
85
72
  const expiredItemKeys = indexOfFirstUnexpired >= 0
86
73
  ? this.itemMetadataSortedByExpirationTime.splice(0, indexOfFirstUnexpired)
87
74
  : this.itemMetadataSortedByExpirationTime.splice(0, this.itemMetadataSortedByExpirationTime.length);
88
- expiredItemKeys.forEach(x => __classPrivateFieldGet(this, _ExpirableMap_map, "f").delete(x.key));
75
+ expiredItemKeys.forEach(x => this.map.delete(x.key));
89
76
  }
90
77
  rescheduleClearTimeout() {
91
78
  var _a;
92
- (_a = __classPrivateFieldGet(this, _ExpirableMap_cancelClearTimeout, "f")) === null || _a === void 0 ? void 0 : _a.call(this);
79
+ (_a = this.cancelClearTimeout) === null || _a === void 0 ? void 0 : _a.call(this);
93
80
  if (this.itemMetadataSortedByExpirationTime.length > 0) {
94
81
  const item = this.itemMetadataSortedByExpirationTime[0];
95
82
  if (Number.isFinite(item.expirationTime)) {
@@ -97,10 +84,10 @@ class ExpirableMap {
97
84
  this.clearExpiredItems(Date.now());
98
85
  this.rescheduleClearTimeout();
99
86
  });
100
- __classPrivateFieldSet(this, _ExpirableMap_cancelClearTimeout, () => {
87
+ this.cancelClearTimeout = () => {
101
88
  cancel();
102
- __classPrivateFieldSet(this, _ExpirableMap_cancelClearTimeout, undefined, "f");
103
- }, "f");
89
+ this.cancelClearTimeout = undefined;
90
+ };
104
91
  }
105
92
  }
106
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"expirable-map.js","sourceRoot":"","sources":["../../src/expirable-map.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAA0C;AAE1C,MAAa,YAAY;IAAzB;QACE,4BAAO,IAAI,GAAG,EAAQ,EAAA;QACtB,mDAAgC;QAIhC,uCAAkC,GAA8C,EAAE,CAAA;IA2GpF,CAAC;IAzGC,IAAI,uFAAC,MAAM,CAAC,WAAW,EAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,uBAAA,IAAI,yBAAK,CAAC,IAAI,CAAA;IACvB,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ,EAAE,MAAc;QAClC,uBAAA,IAAI,yBAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACzB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;QAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,uBAAA,IAAI,yBAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,uBAAA,IAAI,yBAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,GAAM;QACX,MAAM,MAAM,GAAG,uBAAA,IAAI,yBAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,MAAM,EAAE;YACV,MAAM,KAAK,GAAG,IAAI,CAAC,kCAAkC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;YACnF,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAGxD,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,sBAAsB,EAAE,CAAA;aAC9B;SACF;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK;;QACH,uBAAA,IAAI,yBAAK,CAAC,KAAK,EAAE,CAAA;QACjB,MAAA,uBAAA,IAAI,wCAAoB,+CAAxB,IAAI,CAAwB,CAAA;QAC5B,IAAI,CAAC,kCAAkC,GAAG,EAAE,CAAA;IAC9C,CAAC;IAEO,eAAe,CAAC,GAAM,EAAE,cAAsB;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,kCAAkC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvE,MAAM,IAAI,GAAG,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAA;YACvD,IAAI,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE;gBACxC,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAA;gBAG7E,IAAI,CAAC,KAAK,CAAC,EAAE;oBACX,IAAI,CAAC,sBAAsB,EAAE,CAAA;iBAC9B;gBACD,OAAM;aACP;SACF;QAGD,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAA;QAErE,IAAI,IAAI,CAAC,kCAAkC,CAAC,MAAM,KAAK,CAAC,EAAE;YACxD,IAAI,CAAC,sBAAsB,EAAE,CAAA;SAC9B;IACH,CAAC;IAEO,kBAAkB,CAAC,GAAM;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,kCAAkC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;QACnF,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAGxD,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,sBAAsB,EAAE,CAAA;aAC9B;SACF;IACH,CAAC;IAEO,iBAAiB,CAAC,SAAiB;QACzC,MAAM,qBAAqB,GAAG,IAAI,CAAC,kCAAkC,CAAC,SAAS,CAC7E,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,GAAG,SAAS,CAClC,CAAA;QACD,MAAM,eAAe,GACnB,qBAAqB,IAAI,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAC,EAAE,qBAAqB,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAA;QACrG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAA,IAAI,yBAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACvD,CAAC;IAEO,sBAAsB;;QAC5B,MAAA,uBAAA,IAAI,wCAAoB,+CAAxB,IAAI,CAAwB,CAAA;QAE5B,IAAI,IAAI,CAAC,kCAAkC,CAAC,MAAM,GAAG,CAAC,EAAE;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAA;YACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;gBACxC,MAAM,MAAM,GAAG,IAAA,0BAAW,EAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;oBACnD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;oBAClC,IAAI,CAAC,sBAAsB,EAAE,CAAA;gBAC/B,CAAC,CAAC,CAAA;gBACF,uBAAA,IAAI,oCAAuB,GAAG,EAAE;oBAC9B,MAAM,EAAE,CAAA;oBACR,uBAAA,IAAI,oCAAuB,SAAS,MAAA,CAAA;gBACtC,CAAC,MAAA,CAAA;aACF;SACF;IACH,CAAC;CACF;AAjHD,oCAiHC"}
1
+ {"version":3,"file":"expirable-map.js","sourceRoot":"","sources":["../../src/expirable-map.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { CustomError } from '@blackglory/errors';
2
2
  export declare type IFiniteStateMachineSchema<State extends string, Event extends string> = Record<State, Partial<Record<Event, State>>>;
3
3
  export declare class FiniteStateMachine<State extends string, Event extends string> {
4
- #private;
5
4
  protected schema: IFiniteStateMachineSchema<State, Event>;
5
+ private _state;
6
6
  get state(): State;
7
7
  constructor(schema: IFiniteStateMachineSchema<State, Event>, initialState: State);
8
8
  matches(state: State): boolean;
@@ -1,37 +1,24 @@
1
1
  "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var _FiniteStateMachine_state;
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.BadEventError = exports.FiniteStateMachine = void 0;
16
4
  const errors_1 = require("@blackglory/errors");
17
5
  class FiniteStateMachine {
18
6
  constructor(schema, initialState) {
19
7
  this.schema = schema;
20
- _FiniteStateMachine_state.set(this, void 0);
21
- __classPrivateFieldSet(this, _FiniteStateMachine_state, initialState, "f");
8
+ this._state = initialState;
22
9
  }
23
10
  get state() {
24
- return __classPrivateFieldGet(this, _FiniteStateMachine_state, "f");
11
+ return this._state;
25
12
  }
26
13
  matches(state) {
27
- return __classPrivateFieldGet(this, _FiniteStateMachine_state, "f") === state;
14
+ return this._state === state;
28
15
  }
29
16
  can(event) {
30
17
  return event in this.schema[this.state];
31
18
  }
32
19
  send(event) {
33
20
  if (this.can(event)) {
34
- __classPrivateFieldSet(this, _FiniteStateMachine_state, this.schema[this.state][event], "f");
21
+ this._state = this.schema[this.state][event];
35
22
  }
36
23
  else {
37
24
  throw new BadEventError(this.state, event);
@@ -39,7 +26,6 @@ class FiniteStateMachine {
39
26
  }
40
27
  }
41
28
  exports.FiniteStateMachine = FiniteStateMachine;
42
- _FiniteStateMachine_state = new WeakMap();
43
29
  class BadEventError extends errors_1.CustomError {
44
30
  constructor(state, event) {
45
31
  super(`State ${state} cannot react to event ${event}`);