@adviser/cement 0.4.11 → 0.4.12

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 (66) hide show
  1. package/cjs/app-context.cjs +48 -0
  2. package/cjs/app-context.cjs.map +1 -0
  3. package/cjs/is-promise.cjs.map +1 -1
  4. package/cjs/lru-map-set.cjs +71 -11
  5. package/cjs/lru-map-set.cjs.map +1 -1
  6. package/cjs/lru-map-set.test.cjs +93 -2
  7. package/cjs/lru-map-set.test.cjs.map +1 -1
  8. package/cjs/resolve-once.cjs +6 -0
  9. package/cjs/resolve-once.cjs.map +1 -1
  10. package/cjs/resolve-once.test.cjs +6 -0
  11. package/cjs/resolve-once.test.cjs.map +1 -1
  12. package/esm/app-context.d.ts +11 -0
  13. package/esm/app-context.d.ts.map +1 -0
  14. package/esm/app-context.js +41 -0
  15. package/esm/app-context.js.map +1 -0
  16. package/esm/is-promise.d.ts +1 -0
  17. package/esm/is-promise.d.ts.map +1 -1
  18. package/esm/is-promise.js.map +1 -1
  19. package/esm/lru-map-set.d.ts +28 -3
  20. package/esm/lru-map-set.d.ts.map +1 -1
  21. package/esm/lru-map-set.js +71 -11
  22. package/esm/lru-map-set.js.map +1 -1
  23. package/esm/lru-map-set.test.js +93 -2
  24. package/esm/lru-map-set.test.js.map +1 -1
  25. package/esm/resolve-once.d.ts +3 -1
  26. package/esm/resolve-once.d.ts.map +1 -1
  27. package/esm/resolve-once.js +6 -0
  28. package/esm/resolve-once.js.map +1 -1
  29. package/esm/resolve-once.test.js +6 -0
  30. package/esm/resolve-once.test.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/app-context.ts +49 -0
  33. package/src/is-promise.ts +1 -0
  34. package/src/jsr.json +1 -1
  35. package/src/lru-map-set.ts +98 -13
  36. package/src/resolve-once.ts +9 -1
  37. package/ts/cjs/app-context.js +48 -0
  38. package/ts/cjs/app-context.js.map +1 -0
  39. package/ts/cjs/is-promise.js.map +1 -1
  40. package/ts/cjs/lru-map-set.js +71 -11
  41. package/ts/cjs/lru-map-set.js.map +1 -1
  42. package/ts/cjs/lru-map-set.test.js +93 -2
  43. package/ts/cjs/lru-map-set.test.js.map +1 -1
  44. package/ts/cjs/resolve-once.js +6 -0
  45. package/ts/cjs/resolve-once.js.map +1 -1
  46. package/ts/cjs/resolve-once.test.js +6 -0
  47. package/ts/cjs/resolve-once.test.js.map +1 -1
  48. package/ts/esm/app-context.d.ts +11 -0
  49. package/ts/esm/app-context.d.ts.map +1 -0
  50. package/ts/esm/app-context.js +41 -0
  51. package/ts/esm/app-context.js.map +1 -0
  52. package/ts/esm/is-promise.d.ts +1 -0
  53. package/ts/esm/is-promise.d.ts.map +1 -1
  54. package/ts/esm/is-promise.js.map +1 -1
  55. package/ts/esm/lru-map-set.d.ts +28 -3
  56. package/ts/esm/lru-map-set.d.ts.map +1 -1
  57. package/ts/esm/lru-map-set.js +71 -11
  58. package/ts/esm/lru-map-set.js.map +1 -1
  59. package/ts/esm/lru-map-set.test.js +93 -2
  60. package/ts/esm/lru-map-set.test.js.map +1 -1
  61. package/ts/esm/resolve-once.d.ts +3 -1
  62. package/ts/esm/resolve-once.d.ts.map +1 -1
  63. package/ts/esm/resolve-once.js +6 -0
  64. package/ts/esm/resolve-once.js.map +1 -1
  65. package/ts/esm/resolve-once.test.js +6 -0
  66. package/ts/esm/resolve-once.test.js.map +1 -1
@@ -1,3 +1,5 @@
1
+ import { AppContext } from "./app-context.js";
2
+
1
3
  export interface LRUParam {
2
4
  readonly maxEntries: number;
3
5
  readonly maxAge: number; // not implemented
@@ -38,15 +40,36 @@ export class LRUSet<T> {
38
40
  this._lruMap.forEach((value) => callbackfn(value, value));
39
41
  }
40
42
 
41
- entries(): IterableIterator<[T, T]> {
43
+ entries(): IterableIterator<[T, T, LRUCtx<T, T>]> {
42
44
  return this._lruMap.entries();
43
45
  }
44
46
  }
45
47
 
48
+ export interface LRUCtx<T, K> {
49
+ readonly update: boolean;
50
+ readonly ref: LRUMap<T, K>;
51
+ readonly stats: LRUMap<T, K>["stats"];
52
+ readonly item: LRUItem<K>;
53
+ }
54
+
55
+ export interface LRUItem<K> {
56
+ readonly value: K;
57
+ ctx?: AppContext;
58
+ }
59
+
60
+ export type LRUMapFn<K, T> = (key: K, value: T, meta: LRUCtx<K, T>) => void;
61
+ export type UnregFn = () => void;
62
+
46
63
  export class LRUMap<T, K> {
47
- private _map: Map<T, K> = new Map<T, K>();
64
+ private _map: Map<T, LRUItem<K>> = new Map<T, LRUItem<K>>();
48
65
  private param: LRUParam;
49
66
 
67
+ readonly stats = {
68
+ gets: 0,
69
+ puts: 0,
70
+ deletes: 0,
71
+ };
72
+
50
73
  constructor(c: Partial<LRUParam> = {}) {
51
74
  this.param = {
52
75
  maxEntries: c.maxEntries || 100,
@@ -54,7 +77,24 @@ export class LRUMap<T, K> {
54
77
  };
55
78
  }
56
79
 
57
- private touch(key: T): K {
80
+ private _onSetFns: Map<string, LRUMapFn<T, K>> = new Map<string, LRUMapFn<T, K>>();
81
+ onSet(fn: LRUMapFn<T, K>): UnregFn {
82
+ const id = Math.random().toString(36);
83
+ this._onSetFns.set(id, fn);
84
+ return () => {
85
+ this._onSetFns.delete(id);
86
+ };
87
+ }
88
+ private _onDeleteFns: Map<string, LRUMapFn<T, K>> = new Map<string, LRUMapFn<T, K>>();
89
+ onDelete(fn: LRUMapFn<T, K>): UnregFn {
90
+ const id = Math.random().toString(36);
91
+ this._onDeleteFns.set(id, fn);
92
+ return () => {
93
+ this._onDeleteFns.delete(id);
94
+ };
95
+ }
96
+
97
+ private touch(key: T): LRUItem<K> {
58
98
  if (!this._map.has(key)) {
59
99
  throw new Error(`key not found in cache: ${key as unknown as string}`);
60
100
  }
@@ -106,40 +146,85 @@ export class LRUMap<T, K> {
106
146
  }
107
147
 
108
148
  get(key: T): K | undefined {
149
+ return this.getItem(key)?.value;
150
+ }
151
+
152
+ getItem(key: T): LRUItem<K> | undefined {
109
153
  if (this._map.has(key)) {
154
+ this.stats.gets++;
110
155
  return this.touch(key);
111
156
  }
112
- return this._map.get(key);
157
+ return undefined;
158
+ }
159
+
160
+ private buildItem(item: LRUItem<K> | undefined, value: K): LRUItem<K> {
161
+ return {
162
+ ...item,
163
+ value,
164
+ };
113
165
  }
114
166
 
115
167
  set(key: T, value: K): void {
116
- this._map.delete(key);
168
+ const update = this._map.has(key);
169
+ let item = this._map.get(key);
170
+ if (update) {
171
+ if (item?.value === value) {
172
+ return;
173
+ }
174
+ // simulate touch
175
+ this._map.delete(key);
176
+ }
177
+ item = this.buildItem(item, value);
117
178
  if (this.param.maxEntries > 0 && this._map.size >= this.param.maxEntries) {
118
179
  // delete the least recently accessed
119
180
  // const key = Array.from(this.cache.keys())[0];
120
181
  // this.cache.delete(key) or
121
182
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
122
183
  this._map.delete(this._map.keys().next().value!);
123
- this._map.set(key, value);
124
- } else {
125
- this._map.set(key, value);
126
184
  }
185
+ this._map.set(key, item);
186
+ this.stats.puts++;
187
+ this._onSetFns.forEach((fn) => fn(key, item?.value, this.buildItemCtx(item, update)));
188
+ }
189
+
190
+ private buildItemCtx(item: LRUItem<K>, update: boolean): LRUCtx<T, K> {
191
+ return {
192
+ update,
193
+ ref: this,
194
+ stats: this.stats,
195
+ item,
196
+ };
127
197
  }
128
198
 
129
199
  delete(key: T): void {
130
- this._map.delete(key);
200
+ if (this._map.has(key)) {
201
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
202
+ const item = this._map.get(key)!;
203
+ this._onDeleteFns.forEach((fn) => fn(key, item?.value, this.buildItemCtx(item, true)));
204
+ this._map.delete(key);
205
+ this.stats.deletes++;
206
+ }
131
207
  }
132
208
 
133
209
  clear(): void {
210
+ this._map.forEach((value, key) => {
211
+ const item = this.buildItemCtx(value, true);
212
+ this._onDeleteFns.forEach((fn) => fn(key, item.item.value, item));
213
+ this.stats.deletes++;
214
+ });
134
215
  this._map.clear();
135
216
  }
136
217
 
137
- forEach(callbackfn: (value: K, key: T, map: Map<T, K>) => void): void {
138
- this._map.forEach(callbackfn);
218
+ forEach(fn: (value: K, key: T, ctx: LRUCtx<T, K>) => void): void {
219
+ this._map.forEach((v, k) => {
220
+ fn(v.value, k, this.buildItemCtx(v, false));
221
+ });
139
222
  }
140
223
 
141
- entries(): IterableIterator<[T, K]> {
142
- return this._map.entries();
224
+ *entries(): IterableIterator<[T, K, LRUCtx<T, K>]> {
225
+ for (const [key, value] of this._map.entries()) {
226
+ yield [key, value.value, this.buildItemCtx(value, true)];
227
+ }
143
228
  }
144
229
  // *entries(): IterableIterator<[T, K]> {
145
230
  // for (const x of this._cache.entries()) {
@@ -1,5 +1,5 @@
1
1
  import { Future } from "./future.js";
2
- import { LRUMap, LRUParam } from "./lru-map-set.js";
2
+ import { LRUMap, LRUParam, UnregFn } from "./lru-map-set.js";
3
3
  import { Result } from "./result.js";
4
4
 
5
5
  interface ResolveSeqItem<T, C> {
@@ -182,6 +182,14 @@ export class Keyed<T extends { reset: () => void }, K = string> {
182
182
  this._map = new LRUMap<K, T>(params?.lru ?? { maxEntries: -1 });
183
183
  }
184
184
 
185
+ onSet(fn: (key: K, value: T) => void): UnregFn {
186
+ return this._map.onSet(fn);
187
+ }
188
+
189
+ onDelete(fn: (key: K, value: T) => void): UnregFn {
190
+ return this._map.onDelete(fn);
191
+ }
192
+
185
193
  setParam(params: KeyedParam): void {
186
194
  this._map.setParam(params.lru);
187
195
  }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppContext = void 0;
4
+ exports.isAppContext = isAppContext;
5
+ function isAppContext(ctx) {
6
+ return AppContext.is(ctx);
7
+ }
8
+ class AppContext {
9
+ constructor() {
10
+ this.ctx = new Map();
11
+ }
12
+ static is(ctx) {
13
+ return ctx instanceof AppContext && "ctx" in ctx && ctx.ctx instanceof Map;
14
+ }
15
+ static merge(...ctxs) {
16
+ const merged = new AppContext();
17
+ for (const ctx of ctxs) {
18
+ if (!ctx)
19
+ continue;
20
+ let entries = [];
21
+ if (isAppContext(ctx)) {
22
+ entries = Array.from(ctx.ctx.entries());
23
+ }
24
+ else if (typeof ctx === "object" && ctx !== null) {
25
+ entries = Object.entries(ctx);
26
+ }
27
+ for (const [key, value] of entries) {
28
+ merged.ctx.set(key, value);
29
+ }
30
+ }
31
+ return merged;
32
+ }
33
+ set(key, value) {
34
+ this.ctx.set(key, value);
35
+ return this;
36
+ }
37
+ get(key) {
38
+ return this.ctx.get(key);
39
+ }
40
+ delete(key) {
41
+ this.ctx.delete(key);
42
+ }
43
+ asObj() {
44
+ return Object.fromEntries(this.ctx.entries());
45
+ }
46
+ }
47
+ exports.AppContext = AppContext;
48
+ //# sourceMappingURL=app-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-context.js","sourceRoot":"","sources":["../../../src/app-context.ts"],"names":[],"mappings":";;;AAMA,oCAEC;AAFD,SAAgB,YAAY,CAAC,GAAY;IACvC,OAAO,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,MAAa,UAAU;IAAvB;QACmB,QAAG,GAAyB,IAAI,GAAG,EAAmB,CAAC;IAqC1E,CAAC;IAnCC,MAAM,CAAC,EAAE,CAAC,GAAY;QACpB,OAAO,GAAG,YAAY,UAAU,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,IAA0D;QACxE,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,OAAO,GAAwB,EAAE,CAAC;YACtC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACnD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,GAAG,CAAI,GAAW,EAAE,KAAQ;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,GAAG,CAAI,GAAW;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;IAChC,CAAC;IACD,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,KAAK;QACH,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;CACF;AAtCD,gCAsCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../../src/is-promise.ts"],"names":[],"mappings":";;AAIA,8BAYC;AAZD,SAAgB,SAAS,CAAI,CAAI;IAC/B,MAAM,KAAK,GAAG,CAA4E,CAAC;IAC3F,OAAO,CACL,KAAK,YAAY,OAAO;QACxB,CAAC,CAAC,CACA,KAAK;YACL,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU;YAChC,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;YACjC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CACpC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../../src/is-promise.ts"],"names":[],"mappings":";;AAKA,8BAYC;AAZD,SAAgB,SAAS,CAAI,CAAI;IAC/B,MAAM,KAAK,GAAG,CAA4E,CAAC;IAC3F,OAAO,CACL,KAAK,YAAY,OAAO;QACxB,CAAC,CAAC,CACA,KAAK;YACL,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU;YAChC,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;YACjC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CACpC,CACF,CAAC;AACJ,CAAC"}
@@ -34,11 +34,32 @@ exports.LRUSet = LRUSet;
34
34
  class LRUMap {
35
35
  constructor(c = {}) {
36
36
  this._map = new Map();
37
+ this.stats = {
38
+ gets: 0,
39
+ puts: 0,
40
+ deletes: 0,
41
+ };
42
+ this._onSetFns = new Map();
43
+ this._onDeleteFns = new Map();
37
44
  this.param = {
38
45
  maxEntries: c.maxEntries || 100,
39
46
  maxAge: c.maxAge || 0,
40
47
  };
41
48
  }
49
+ onSet(fn) {
50
+ const id = Math.random().toString(36);
51
+ this._onSetFns.set(id, fn);
52
+ return () => {
53
+ this._onSetFns.delete(id);
54
+ };
55
+ }
56
+ onDelete(fn) {
57
+ const id = Math.random().toString(36);
58
+ this._onDeleteFns.set(id, fn);
59
+ return () => {
60
+ this._onDeleteFns.delete(id);
61
+ };
62
+ }
42
63
  touch(key) {
43
64
  if (!this._map.has(key)) {
44
65
  throw new Error(`key not found in cache: ${key}`);
@@ -87,32 +108,71 @@ class LRUMap {
87
108
  }
88
109
  }
89
110
  get(key) {
111
+ return this.getItem(key)?.value;
112
+ }
113
+ getItem(key) {
90
114
  if (this._map.has(key)) {
115
+ this.stats.gets++;
91
116
  return this.touch(key);
92
117
  }
93
- return this._map.get(key);
118
+ return undefined;
119
+ }
120
+ buildItem(item, value) {
121
+ return {
122
+ ...item,
123
+ value,
124
+ };
94
125
  }
95
126
  set(key, value) {
96
- this._map.delete(key);
127
+ const update = this._map.has(key);
128
+ let item = this._map.get(key);
129
+ if (update) {
130
+ if (item?.value === value) {
131
+ return;
132
+ }
133
+ this._map.delete(key);
134
+ }
135
+ item = this.buildItem(item, value);
97
136
  if (this.param.maxEntries > 0 && this._map.size >= this.param.maxEntries) {
98
137
  this._map.delete(this._map.keys().next().value);
99
- this._map.set(key, value);
100
- }
101
- else {
102
- this._map.set(key, value);
103
138
  }
139
+ this._map.set(key, item);
140
+ this.stats.puts++;
141
+ this._onSetFns.forEach((fn) => fn(key, item?.value, this.buildItemCtx(item, update)));
142
+ }
143
+ buildItemCtx(item, update) {
144
+ return {
145
+ update,
146
+ ref: this,
147
+ stats: this.stats,
148
+ item,
149
+ };
104
150
  }
105
151
  delete(key) {
106
- this._map.delete(key);
152
+ if (this._map.has(key)) {
153
+ const item = this._map.get(key);
154
+ this._onDeleteFns.forEach((fn) => fn(key, item?.value, this.buildItemCtx(item, true)));
155
+ this._map.delete(key);
156
+ this.stats.deletes++;
157
+ }
107
158
  }
108
159
  clear() {
160
+ this._map.forEach((value, key) => {
161
+ const item = this.buildItemCtx(value, true);
162
+ this._onDeleteFns.forEach((fn) => fn(key, item.item.value, item));
163
+ this.stats.deletes++;
164
+ });
109
165
  this._map.clear();
110
166
  }
111
- forEach(callbackfn) {
112
- this._map.forEach(callbackfn);
167
+ forEach(fn) {
168
+ this._map.forEach((v, k) => {
169
+ fn(v.value, k, this.buildItemCtx(v, false));
170
+ });
113
171
  }
114
- entries() {
115
- return this._map.entries();
172
+ *entries() {
173
+ for (const [key, value] of this._map.entries()) {
174
+ yield [key, value.value, this.buildItemCtx(value, true)];
175
+ }
116
176
  }
117
177
  }
118
178
  exports.LRUMap = LRUMap;
@@ -1 +1 @@
1
- {"version":3,"file":"lru-map-set.js","sourceRoot":"","sources":["../../../src/lru-map-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lru-map-set.js","sourceRoot":"","sources":["../../../src/lru-map-set.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const cement_1 = require("@adviser/cement");
4
+ const app_context_js_1 = require("./app-context.js");
4
5
  it("get-put without createFN", () => {
5
6
  const cache = new cement_1.LRUMap({
6
7
  maxEntries: 1,
@@ -60,8 +61,8 @@ it("test entries iterator", () => {
60
61
  cache.set("a", 1);
61
62
  cache.set("b", 2);
62
63
  const entries = cache.entries();
63
- expect(entries.next().value).toEqual(["a", 1]);
64
- expect(entries.next().value).toEqual(["b", 2]);
64
+ expect(entries.next().value.slice(0, -1)).toEqual(["a", 1]);
65
+ expect(entries.next().value.slice(0, -1)).toEqual(["b", 2]);
65
66
  expect(entries.next().done).toBe(true);
66
67
  });
67
68
  it("test setParam", () => {
@@ -80,4 +81,94 @@ it("test setParam", () => {
80
81
  }
81
82
  expect(cache.size).toBe(10);
82
83
  });
84
+ it("onAdd", () => {
85
+ const cache = new cement_1.LRUMap({
86
+ maxEntries: 5,
87
+ });
88
+ const fn1 = vi.fn();
89
+ const fn2 = vi.fn();
90
+ const ufn1 = cache.onSet(fn1);
91
+ const ufn2 = cache.onSet(fn2);
92
+ cache.set("a", 1);
93
+ cache.set("a", 1);
94
+ cache.set("a", 3);
95
+ cache.set("b", 2);
96
+ ufn1();
97
+ cache.set("a", 2);
98
+ cache.set("c", 3);
99
+ ufn2();
100
+ cache.set("d", 1);
101
+ expect(fn1.mock.calls.map(([a, b, c]) => [a, b, c.update])).toEqual([
102
+ ["a", 1, false],
103
+ ["a", 3, true],
104
+ ["b", 2, false],
105
+ ]);
106
+ expect(fn2.mock.calls.map(([a, b, c]) => [a, b, c.update])).toEqual([
107
+ ["a", 1, false],
108
+ ["a", 3, true],
109
+ ["b", 2, false],
110
+ ["a", 2, true],
111
+ ["c", 3, false],
112
+ ]);
113
+ });
114
+ it("onDelete", () => {
115
+ const cache = new cement_1.LRUMap({
116
+ maxEntries: 5,
117
+ });
118
+ const fn1 = vi.fn();
119
+ const fn2 = vi.fn();
120
+ const ufn1 = cache.onDelete(fn1);
121
+ const ufn2 = cache.onDelete(fn2);
122
+ cache.set("a", 1);
123
+ cache.set("a", 3);
124
+ cache.set("b", 2);
125
+ cache.delete("a");
126
+ ufn1();
127
+ cache.set("c", 3);
128
+ cache.delete("a");
129
+ cache.delete("b");
130
+ cache.delete("kk");
131
+ cache.delete("b");
132
+ ufn2();
133
+ cache.delete("c");
134
+ const fn3 = vi.fn();
135
+ cache.onDelete(fn3);
136
+ cache.set("a", 1);
137
+ cache.set("b", 2);
138
+ cache.clear();
139
+ expect(fn1.mock.calls.map(([a, b, c]) => [a, b, c.update])).toEqual([["a", 3, true]]);
140
+ expect(fn2.mock.calls.map(([a, b, c]) => [a, b, c.update])).toEqual([
141
+ ["a", 3, true],
142
+ ["b", 2, true],
143
+ ]);
144
+ expect(fn3.mock.calls.map(([a, b, c]) => [a, b, c.update])).toEqual([
145
+ ["a", 1, true],
146
+ ["b", 2, true],
147
+ ]);
148
+ });
149
+ it("use ctx", () => {
150
+ const cache = new cement_1.LRUMap({
151
+ maxEntries: 5,
152
+ });
153
+ cache.onSet((k, v, ctx) => {
154
+ ctx.item.ctx = ctx.item.ctx ?? new app_context_js_1.AppContext();
155
+ ctx.item.ctx.set(k, v);
156
+ });
157
+ cache.set("a", 1);
158
+ cache.set("b", 2);
159
+ cache.get("a");
160
+ cache.get("a");
161
+ cache.get("b");
162
+ cache.get("b");
163
+ cache.get("kk");
164
+ expect(cache.stats).toEqual({
165
+ deletes: 0,
166
+ puts: 2,
167
+ gets: 4,
168
+ });
169
+ expect(cache.getItem("a")?.value).toEqual(1);
170
+ expect(cache.getItem("b")?.value).toEqual(2);
171
+ expect(cache.getItem("a")?.ctx?.asObj()).toEqual({ a: 1 });
172
+ expect(cache.getItem("b")?.ctx?.asObj()).toEqual({ b: 2 });
173
+ });
83
174
  //# sourceMappingURL=lru-map-set.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lru-map-set.test.js","sourceRoot":"","sources":["../../../src/lru-map-set.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lru-map-set.test.js","sourceRoot":"","sources":["../../../src/lru-map-set.test.ts"],"names":[],"mappings":"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"}
@@ -154,6 +154,12 @@ class Keyed {
154
154
  this.factory = factory;
155
155
  this._map = new lru_map_set_js_1.LRUMap(params?.lru ?? { maxEntries: -1 });
156
156
  }
157
+ onSet(fn) {
158
+ return this._map.onSet(fn);
159
+ }
160
+ onDelete(fn) {
161
+ return this._map.onDelete(fn);
162
+ }
157
163
  setParam(params) {
158
164
  this._map.setParam(params.lru);
159
165
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-once.js","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-once.js","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
@@ -401,5 +401,11 @@ describe("resolve-once", () => {
401
401
  expect(once.ready).toBe(false);
402
402
  expect(once.value).toBe(undefined);
403
403
  });
404
+ it("keyed expose onAdd on onDelete", () => {
405
+ const k = new cement_1.KeyedResolvOnce();
406
+ const fn = vi.fn();
407
+ k.onSet(fn)();
408
+ k.onDelete(fn)();
409
+ });
404
410
  });
405
411
  //# sourceMappingURL=resolve-once.test.js.map