@adviser/cement 0.4.35 → 0.4.36

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 (92) hide show
  1. package/cjs/coerce-binary.cjs +2 -1
  2. package/cjs/coerce-binary.cjs.map +1 -1
  3. package/cjs/coerce-binary.d.ts.map +1 -1
  4. package/cjs/crypto.cjs +2 -1
  5. package/cjs/crypto.cjs.map +1 -1
  6. package/cjs/crypto.d.ts.map +1 -1
  7. package/cjs/load-asset.cjs.map +1 -1
  8. package/cjs/lru-map-set.cjs +34 -20
  9. package/cjs/lru-map-set.cjs.map +1 -1
  10. package/cjs/lru-map-set.d.ts +27 -23
  11. package/cjs/lru-map-set.d.ts.map +1 -1
  12. package/cjs/lru-map-set.test.cjs +20 -0
  13. package/cjs/lru-map-set.test.cjs.map +1 -1
  14. package/cjs/resolve-once.cjs +8 -6
  15. package/cjs/resolve-once.cjs.map +1 -1
  16. package/cjs/resolve-once.d.ts +27 -17
  17. package/cjs/resolve-once.d.ts.map +1 -1
  18. package/cjs/resolve-once.test.cjs +4 -4
  19. package/cjs/resolve-once.test.cjs.map +1 -1
  20. package/cjs/utils/stripper.cjs.map +1 -1
  21. package/cjs/version.cjs +1 -1
  22. package/deno.json +1 -1
  23. package/esm/coerce-binary.d.ts.map +1 -1
  24. package/esm/coerce-binary.js +2 -1
  25. package/esm/coerce-binary.js.map +1 -1
  26. package/esm/crypto.d.ts.map +1 -1
  27. package/esm/crypto.js +2 -1
  28. package/esm/crypto.js.map +1 -1
  29. package/esm/load-asset.js.map +1 -1
  30. package/esm/lru-map-set.d.ts +27 -23
  31. package/esm/lru-map-set.d.ts.map +1 -1
  32. package/esm/lru-map-set.js +34 -20
  33. package/esm/lru-map-set.js.map +1 -1
  34. package/esm/lru-map-set.test.js +20 -0
  35. package/esm/lru-map-set.test.js.map +1 -1
  36. package/esm/resolve-once.d.ts +27 -17
  37. package/esm/resolve-once.d.ts.map +1 -1
  38. package/esm/resolve-once.js +8 -6
  39. package/esm/resolve-once.js.map +1 -1
  40. package/esm/resolve-once.test.js +4 -4
  41. package/esm/resolve-once.test.js.map +1 -1
  42. package/esm/utils/stripper.js.map +1 -1
  43. package/esm/version.js +1 -1
  44. package/package.json +7 -7
  45. package/src/coerce-binary.ts +2 -1
  46. package/src/crypto.ts +7 -9
  47. package/src/load-asset.ts +1 -1
  48. package/src/lru-map-set.ts +75 -53
  49. package/src/resolve-once.ts +39 -25
  50. package/src/utils/stripper.ts +0 -1
  51. package/ts/cjs/coerce-binary.d.ts.map +1 -1
  52. package/ts/cjs/coerce-binary.js +2 -1
  53. package/ts/cjs/coerce-binary.js.map +1 -1
  54. package/ts/cjs/crypto.d.ts.map +1 -1
  55. package/ts/cjs/crypto.js +2 -1
  56. package/ts/cjs/crypto.js.map +1 -1
  57. package/ts/cjs/load-asset.js.map +1 -1
  58. package/ts/cjs/lru-map-set.d.ts +27 -23
  59. package/ts/cjs/lru-map-set.d.ts.map +1 -1
  60. package/ts/cjs/lru-map-set.js +34 -20
  61. package/ts/cjs/lru-map-set.js.map +1 -1
  62. package/ts/cjs/lru-map-set.test.js +20 -0
  63. package/ts/cjs/lru-map-set.test.js.map +1 -1
  64. package/ts/cjs/resolve-once.d.ts +27 -17
  65. package/ts/cjs/resolve-once.d.ts.map +1 -1
  66. package/ts/cjs/resolve-once.js +8 -6
  67. package/ts/cjs/resolve-once.js.map +1 -1
  68. package/ts/cjs/resolve-once.test.js +4 -4
  69. package/ts/cjs/resolve-once.test.js.map +1 -1
  70. package/ts/cjs/utils/stripper.js.map +1 -1
  71. package/ts/cjs/version.js +1 -1
  72. package/ts/esm/coerce-binary.d.ts.map +1 -1
  73. package/ts/esm/coerce-binary.js +2 -1
  74. package/ts/esm/coerce-binary.js.map +1 -1
  75. package/ts/esm/crypto.d.ts.map +1 -1
  76. package/ts/esm/crypto.js +2 -1
  77. package/ts/esm/crypto.js.map +1 -1
  78. package/ts/esm/load-asset.js.map +1 -1
  79. package/ts/esm/lru-map-set.d.ts +27 -23
  80. package/ts/esm/lru-map-set.d.ts.map +1 -1
  81. package/ts/esm/lru-map-set.js +34 -20
  82. package/ts/esm/lru-map-set.js.map +1 -1
  83. package/ts/esm/lru-map-set.test.js +20 -0
  84. package/ts/esm/lru-map-set.test.js.map +1 -1
  85. package/ts/esm/resolve-once.d.ts +27 -17
  86. package/ts/esm/resolve-once.d.ts.map +1 -1
  87. package/ts/esm/resolve-once.js +8 -6
  88. package/ts/esm/resolve-once.js.map +1 -1
  89. package/ts/esm/resolve-once.test.js +4 -4
  90. package/ts/esm/resolve-once.test.js.map +1 -1
  91. package/ts/esm/utils/stripper.js.map +1 -1
  92. package/ts/esm/version.js +1 -1
@@ -1,18 +1,24 @@
1
1
  import { AppContext } from "./app-context.js";
2
2
 
3
- export interface LRUParam {
4
- readonly maxEntries: number;
5
- readonly maxAge: number; // not implemented
3
+ interface MutableLRUParam<T, K> {
4
+ evict: (param: LRUParam<T, K>, newItem: T, map: LRUMap<K, T>) => boolean;
5
+ // is called if the params are changed
6
+ // default it removes the least recently accessed
7
+ refresh: (param: LRUParam<T, K>, map: Map<K, LRUItem<T>>) => void;
8
+ maxEntries: number;
9
+ maxAge: number; // not implemented
6
10
  }
7
11
 
12
+ export type LRUParam<T = string, K = string> = Readonly<MutableLRUParam<T, K>>;
13
+
8
14
  export class LRUSet<T> {
9
15
  private readonly _lruMap: LRUMap<T, T>;
10
16
 
11
- constructor(param: Partial<LRUParam> = {}) {
17
+ constructor(param: Partial<LRUParam<T, T>> = {}) {
12
18
  this._lruMap = new LRUMap<T, T>(param);
13
19
  }
14
20
 
15
- setParam(param: Partial<LRUParam> = {}): void {
21
+ setParam(param: Partial<LRUParam<T, T>> = {}): void {
16
22
  this._lruMap.setParam(param);
17
23
  }
18
24
 
@@ -47,22 +53,40 @@ export class LRUSet<T> {
47
53
 
48
54
  export interface LRUCtx<T, K> {
49
55
  readonly update: boolean;
50
- readonly ref: LRUMap<T, K>;
56
+ readonly ref: LRUMap<K, T>;
51
57
  readonly stats: LRUMap<T, K>["stats"];
52
- readonly item: LRUItem<K>;
58
+ readonly item: LRUItem<T>;
53
59
  }
54
60
 
55
- export interface LRUItem<K> {
56
- readonly value: K;
61
+ export interface LRUItem<V> {
62
+ readonly value: V;
57
63
  ctx?: AppContext;
58
64
  }
59
65
 
60
- export type LRUMapFn<K, T> = (key: K, value: T, meta: LRUCtx<K, T>) => void;
66
+ export type LRUMapFn<K, T> = (value: T, key: K, meta: LRUCtx<K, T>) => void;
61
67
  export type UnregFn = () => void;
62
68
 
63
- export class LRUMap<T, K> {
64
- private _map: Map<T, LRUItem<K>> = new Map<T, LRUItem<K>>();
65
- private param: LRUParam;
69
+ function defaultRefresh<V, K>(param: LRUParam<V, K>, map: Map<K, LRUItem<V>>): void {
70
+ if (param.maxEntries > 0 && map.size > param.maxEntries) {
71
+ const toDelete: K[] = [];
72
+ let cacheSize = map.size;
73
+ for (const key of map.keys()) {
74
+ if (cacheSize > param.maxEntries) {
75
+ toDelete.push(key);
76
+ cacheSize--;
77
+ } else {
78
+ break;
79
+ }
80
+ }
81
+ for (const key of toDelete) {
82
+ map.delete(key);
83
+ }
84
+ }
85
+ }
86
+
87
+ export class LRUMap<K, V> {
88
+ private _map: Map<K, LRUItem<V>> = new Map<K, LRUItem<V>>();
89
+ private param: MutableLRUParam<V, K>;
66
90
 
67
91
  readonly stats = {
68
92
  gets: 0,
@@ -70,23 +94,25 @@ export class LRUMap<T, K> {
70
94
  deletes: 0,
71
95
  };
72
96
 
73
- constructor(c: Partial<LRUParam> = {}) {
97
+ constructor(c: Partial<LRUParam<V, K>> = {}) {
74
98
  this.param = {
75
99
  maxEntries: c.maxEntries || 100,
76
100
  maxAge: c.maxAge || 0,
101
+ evict: c.evict || ((param, _newItem, map): boolean => param.maxEntries > 0 && map.size >= param.maxEntries),
102
+ refresh: c.refresh || ((param: LRUParam<V, K>, map: Map<K, LRUItem<V>>): void => defaultRefresh(param, map)),
77
103
  };
78
104
  }
79
105
 
80
- private _onSetFns: Map<string, LRUMapFn<T, K>> = new Map<string, LRUMapFn<T, K>>();
81
- onSet(fn: LRUMapFn<T, K>): UnregFn {
106
+ private _onSetFns: Map<string, LRUMapFn<V, K>> = new Map<string, LRUMapFn<V, K>>();
107
+ onSet(fn: LRUMapFn<V, K>): UnregFn {
82
108
  const id = Math.random().toString(36);
83
109
  this._onSetFns.set(id, fn);
84
110
  return () => {
85
111
  this._onSetFns.delete(id);
86
112
  };
87
113
  }
88
- private _onDeleteFns: Map<string, LRUMapFn<T, K>> = new Map<string, LRUMapFn<T, K>>();
89
- onDelete(fn: LRUMapFn<T, K>): UnregFn {
114
+ private _onDeleteFns: Map<string, LRUMapFn<V, K>> = new Map<string, LRUMapFn<V, K>>();
115
+ onDelete(fn: LRUMapFn<V, K>): UnregFn {
90
116
  const id = Math.random().toString(36);
91
117
  this._onDeleteFns.set(id, fn);
92
118
  return () => {
@@ -94,39 +120,35 @@ export class LRUMap<T, K> {
94
120
  };
95
121
  }
96
122
 
97
- private touch(key: T): LRUItem<K> {
123
+ private touch(key: K): LRUItem<V> {
98
124
  if (!this._map.has(key)) {
99
125
  throw new Error(`key not found in cache: ${key as unknown as string}`);
100
126
  }
101
127
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
102
- const value = this._map.get(key) as LRUItem<K>;
128
+ const value = this._map.get(key) as LRUItem<V>;
103
129
  this._map.delete(key);
104
130
  this._map.set(key, value);
105
131
  return value;
106
132
  }
107
133
 
108
- setParam(param: Partial<LRUParam> = {}): void {
134
+ setParam(param: Partial<LRUParam<V, K>> = {}): void {
135
+ if (param.evict) {
136
+ this.param.evict = param.evict;
137
+ }
138
+ if (param.refresh) {
139
+ this.param.refresh = param.refresh;
140
+ }
109
141
  if (typeof param.maxEntries === "number") {
110
- (this.param as { maxEntries: number }).maxEntries = param.maxEntries;
111
- if (param.maxEntries > 0 && this._map.size > param.maxEntries) {
112
- const toDelete: T[] = [];
113
- let cacheSize = this._map.size;
114
- for (const key of this._map.keys()) {
115
- if (cacheSize > param.maxEntries) {
116
- toDelete.push(key);
117
- cacheSize--;
118
- } else {
119
- break;
120
- }
121
- }
122
- for (const key of toDelete) {
123
- this._map.delete(key);
124
- }
125
- }
142
+ this.param.maxEntries = param.maxEntries;
143
+ }
144
+ if (typeof param.maxAge === "number") {
145
+ this.param.maxAge = param.maxAge;
126
146
  }
147
+
148
+ this.param.refresh(this.param, this._map);
127
149
  }
128
150
 
129
- has(key: T): boolean {
151
+ has(key: K): boolean {
130
152
  return this._map.has(key);
131
153
  }
132
154
 
@@ -134,22 +156,22 @@ export class LRUMap<T, K> {
134
156
  return this._map.size;
135
157
  }
136
158
 
137
- async getSet(key: T, createFN: (key: T) => Promise<K>): Promise<K | undefined> {
159
+ async getSet(key: K, createFN: (key: K) => Promise<V>): Promise<V | undefined> {
138
160
  const val = this.get(key);
139
161
  if (val) {
140
162
  return val;
141
163
  } else {
142
164
  const val = await createFN(key);
143
- this.set(key, val as K);
165
+ this.set(key, val as V);
144
166
  return val;
145
167
  }
146
168
  }
147
169
 
148
- get(key: T): K | undefined {
170
+ get(key: K): V | undefined {
149
171
  return this.getItem(key)?.value;
150
172
  }
151
173
 
152
- getItem(key: T): LRUItem<K> | undefined {
174
+ getItem(key: K): LRUItem<V> | undefined {
153
175
  if (this._map.has(key)) {
154
176
  this.stats.gets++;
155
177
  return this.touch(key);
@@ -157,14 +179,14 @@ export class LRUMap<T, K> {
157
179
  return undefined;
158
180
  }
159
181
 
160
- private buildItem(item: LRUItem<K> | undefined, value: K): LRUItem<K> {
182
+ private buildItem(item: LRUItem<V> | undefined, value: V): LRUItem<V> {
161
183
  return {
162
184
  ...item,
163
185
  value,
164
186
  };
165
187
  }
166
188
 
167
- set(key: T, value: K): void {
189
+ set(key: K, value: V): void {
168
190
  const update = this._map.has(key);
169
191
  let item = this._map.get(key);
170
192
  if (update) {
@@ -175,13 +197,13 @@ export class LRUMap<T, K> {
175
197
  this._map.delete(key);
176
198
  }
177
199
  item = this.buildItem(item, value);
178
- if (this.param.maxEntries > 0 && this._map.size >= this.param.maxEntries) {
200
+ if (this.param.evict(this.param, value, this)) {
179
201
  // delete the least recently accessed
180
202
  // const key = Array.from(this.cache.keys())[0];
181
203
  // this.cache.delete(key) or
182
- const v = this._map.keys().next();
183
- if (!v.done) {
184
- this._map.delete(v.value as T);
204
+ const k = this._map.keys().next();
205
+ if (!k.done) {
206
+ this._map.delete(k.value as K);
185
207
  }
186
208
  }
187
209
  this._map.set(key, item);
@@ -189,7 +211,7 @@ export class LRUMap<T, K> {
189
211
  this._onSetFns.forEach((fn) => fn(key, item?.value, this.buildItemCtx(item, update)));
190
212
  }
191
213
 
192
- private buildItemCtx(item: LRUItem<K>, update: boolean): LRUCtx<T, K> {
214
+ private buildItemCtx(item: LRUItem<V>, update: boolean): LRUCtx<V, K> {
193
215
  return {
194
216
  update,
195
217
  ref: this,
@@ -198,10 +220,10 @@ export class LRUMap<T, K> {
198
220
  };
199
221
  }
200
222
 
201
- delete(key: T): void {
223
+ delete(key: K): void {
202
224
  if (this._map.has(key)) {
203
225
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
204
- const item = this._map.get(key) as LRUItem<K>;
226
+ const item = this._map.get(key) as LRUItem<V>;
205
227
  this._onDeleteFns.forEach((fn) => fn(key, item?.value, this.buildItemCtx(item, true)));
206
228
  this._map.delete(key);
207
229
  this.stats.deletes++;
@@ -217,13 +239,13 @@ export class LRUMap<T, K> {
217
239
  this._map.clear();
218
240
  }
219
241
 
220
- forEach(fn: (value: K, key: T, ctx: LRUCtx<T, K>) => void): void {
242
+ forEach(fn: (value: V, key: K, ctx: LRUCtx<V, K>) => void): void {
221
243
  this._map.forEach((v, k) => {
222
244
  fn(v.value, k, this.buildItemCtx(v, false));
223
245
  });
224
246
  }
225
247
 
226
- *entries(): IterableIterator<[T, K, LRUCtx<T, K>]> {
248
+ *entries(): IterableIterator<[K, V, LRUCtx<V, K>]> {
227
249
  for (const [key, value] of this._map.entries()) {
228
250
  yield [key, value.value, this.buildItemCtx(value, true)];
229
251
  }
@@ -1,18 +1,21 @@
1
1
  import { Future } from "./future.js";
2
- import { NonPromise, UnPromisify } from "./is-promise.js";
2
+ import { UnPromisify } from "./is-promise.js";
3
3
  import { isPromise } from "./is-promise.js";
4
4
  import { LRUMap, LRUParam, UnregFn } from "./lru-map-set.js";
5
5
  import { Result } from "./result.js";
6
6
  import { Option } from "./option.js";
7
7
 
8
- interface ResolveSeqItem<C, R extends NonPromise<X>, X = string | number | boolean | symbol | object> {
9
- readonly future: Future<R>;
10
- readonly fn: (c?: C) => R | Promise<R>;
8
+ // interface ResolveSeqItem<C, R extends NonPromise<X>, X = string | number | boolean | symbol | object> {
9
+ interface ResolveSeqItem<C, T, R> {
10
+ readonly future: Future<T>;
11
+ readonly fn: (c?: C) => R;
11
12
  readonly id?: number;
12
13
  }
13
14
 
14
- export class ResolveSeq<T extends NonPromise<X>, C = void, X = string | number | boolean | symbol | object> {
15
+ export class ResolveSeq<T, C extends NonNullable<object> = object> {
15
16
  readonly ctx?: C;
17
+ readonly _seqFutures: ResolveSeqItem<C, T, unknown>[] = [];
18
+
16
19
  constructor(ctx?: C) {
17
20
  this.ctx = ctx;
18
21
  }
@@ -29,14 +32,14 @@ export class ResolveSeq<T extends NonPromise<X>, C = void, X = string | number |
29
32
  }
30
33
  return Promise.resolve();
31
34
  }
32
- async _step(item?: ResolveSeqItem<C, T, X>): Promise<void> {
35
+ async _step(item?: ResolveSeqItem<C, T, Promise<T> | T>): Promise<void> {
33
36
  if (!item) {
34
37
  // done
35
38
  this._flushWaiting.forEach((f) => f.resolve());
36
39
  this._flushWaiting?.splice(0, this._flushWaiting.length);
37
40
  return Promise.resolve();
38
41
  }
39
- let value;
42
+ let value: T;
40
43
  try {
41
44
  const promiseOrValue = item.fn(this.ctx);
42
45
  if (isPromise(promiseOrValue)) {
@@ -44,20 +47,19 @@ export class ResolveSeq<T extends NonPromise<X>, C = void, X = string | number |
44
47
  } else {
45
48
  value = promiseOrValue;
46
49
  }
47
- item.future.resolve(value as T);
50
+ item.future.resolve(value);
48
51
  } catch (e) {
49
52
  item.future.reject(e as Error);
50
53
  } finally {
51
54
  this._seqFutures.shift();
52
55
  }
53
- return this._step(this._seqFutures[0]);
56
+ return this._step(this._seqFutures[0] as ResolveSeqItem<C, T, Promise<T> | T>);
54
57
  }
55
- readonly _seqFutures: ResolveSeqItem<C, T, X>[] = [];
56
58
  add<R extends Promise<T> | T>(fn: (c?: C) => R, id?: number): R {
57
59
  const future = new Future<T>();
58
60
  this._seqFutures.push({ future, fn, id });
59
61
  if (this._seqFutures.length === 1) {
60
- void this._step(this._seqFutures[0]); // exit into eventloop
62
+ void this._step(this._seqFutures[0] as ResolveSeqItem<C, T, Promise<T> | T>); // exit into eventloop
61
63
  }
62
64
  return future.asPromise() as R; // as Promise<UnPromisify<R>>;
63
65
  }
@@ -392,18 +394,23 @@ export class ResolveOnce<T, CTX = void> implements ResolveOnceIf<T, CTX> {
392
394
  }
393
395
  }
394
396
 
395
- export interface KeyedParam {
396
- readonly lru: Partial<LRUParam>;
397
+ export interface KeyedParam<K, V> {
398
+ readonly lru: Partial<LRUParam<V, K>>;
397
399
  }
398
400
 
399
- export class Keyed<T extends { reset: () => void }, K = string> {
401
+ type AddKeyedParam<K, V, CTX extends NonNullable<object>> = KeyedParam<K, V> & { readonly ctx: CTX };
402
+
403
+ export class Keyed<T extends { reset: () => void }, K = string, CTX extends NonNullable<object> = object> {
400
404
  protected readonly _map: LRUMap<K, T>;
401
405
  // #lock = new ResolveSeq<T, K>();
406
+ readonly #ctx: CTX;
402
407
 
403
- readonly factory: (key: K) => T;
404
- constructor(factory: (key: K) => T, params: Partial<KeyedParam>) {
408
+ readonly factory: (ctx: AddKey<CTX, K>) => T;
409
+
410
+ constructor(factory: (ctx: AddKey<CTX, K>) => T, ctx: Partial<AddKeyedParam<K, T, CTX>>) {
411
+ this.#ctx = ctx.ctx || ({} as CTX);
405
412
  this.factory = factory;
406
- this._map = new LRUMap<K, T>(params?.lru ?? { maxEntries: -1 });
413
+ this._map = new LRUMap<K, T>(ctx?.lru ?? ({ maxEntries: -1 } as LRUParam<T, K>));
407
414
  }
408
415
 
409
416
  onSet(fn: (key: K, value: T) => void): UnregFn {
@@ -414,7 +421,7 @@ export class Keyed<T extends { reset: () => void }, K = string> {
414
421
  return this._map.onDelete(fn);
415
422
  }
416
423
 
417
- setParam(params: KeyedParam): void {
424
+ setParam(params: KeyedParam<K, T>): void {
418
425
  this._map.setParam(params.lru);
419
426
  }
420
427
 
@@ -428,7 +435,7 @@ export class Keyed<T extends { reset: () => void }, K = string> {
428
435
  }
429
436
  let keyed = this._map.get(key);
430
437
  if (!keyed) {
431
- keyed = this.factory(key);
438
+ keyed = this.factory({ ...this.#ctx, key: key });
432
439
  this._map.set(key, keyed);
433
440
  }
434
441
  return keyed;
@@ -466,9 +473,9 @@ interface KeyItem<K, V> {
466
473
  readonly value: Result<V>;
467
474
  }
468
475
 
469
- export class KeyedResolvOnce<T, K = string> extends Keyed<ResolveOnce<T, K>, K> {
470
- constructor(kp: Partial<KeyedParam> = {}) {
471
- super((key) => new ResolveOnce<T, K>(key), kp);
476
+ export class KeyedResolvOnce<T, K = string, CTX extends NonNullable<object> = object> extends Keyed<ResolveOnce<T, CTX>, K, CTX> {
477
+ constructor(kp: Partial<AddKeyedParam<K, ResolveOnce<T, CTX>, CTX>> = {}) {
478
+ super((ctx) => new ResolveOnce<T, AddKey<CTX, K>>(ctx), kp);
472
479
  }
473
480
 
474
481
  *entries(): IterableIterator<KeyItem<K, T>> {
@@ -493,9 +500,16 @@ export class KeyedResolvOnce<T, K = string> extends Keyed<ResolveOnce<T, K>, K>
493
500
  }
494
501
  }
495
502
 
496
- export class KeyedResolvSeq<T extends NonPromise<never>, K = string> extends Keyed<ResolveSeq<T, K>, K> {
497
- constructor(kp: Partial<KeyedParam> = {}) {
498
- super((key) => new ResolveSeq<T, K>(key), kp);
503
+ type AddKey<X extends NonNullable<object>, K> = X & { key: K };
504
+ type WithCTX<K, T, CTX extends NonNullable<object>> = KeyedParam<K, ResolveSeq<T, AddKey<CTX, K>>> & { readonly ctx: CTX };
505
+
506
+ export class KeyedResolvSeq<T extends NonNullable<unknown>, K = string, CTX extends NonNullable<object> = object> extends Keyed<
507
+ ResolveSeq<T, AddKey<CTX, K>>,
508
+ K,
509
+ CTX
510
+ > {
511
+ constructor(kp: Partial<WithCTX<K, T, CTX>> = {}) {
512
+ super((ctx) => new ResolveSeq<T, AddKey<CTX, K>>(ctx), kp);
499
513
  }
500
514
  }
501
515
 
@@ -53,7 +53,6 @@ function localStripper<T>(path: string | undefined, restrips: RegExp[], obj: T,
53
53
  }
54
54
  if (typeof ret[key] === "object") {
55
55
  if (Array.isArray(ret[key])) {
56
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
57
56
  ret[key] = ret[key].reduce((acc: unknown[], v, i) => {
58
57
  const toDelete = matcher(key, `${nextPath}[${i}]`);
59
58
  if (!toDelete) {
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-binary.d.ts","sourceRoot":"","sources":["../../../src/coerce-binary.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;AAExF,wBAAsB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAKpF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,CAapF;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAKpF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,WAAW,CAOxF"}
1
+ {"version":3,"file":"coerce-binary.d.ts","sourceRoot":"","sources":["../../../src/coerce-binary.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;AAExF,wBAAsB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAKpF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,CAapF;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAMpF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,WAAW,CAOxF"}
@@ -27,7 +27,8 @@ function to_blob(input, encoder) {
27
27
  if (input instanceof Blob) {
28
28
  return input;
29
29
  }
30
- return new Blob([to_uint8(input, encoder)]);
30
+ const ab = to_arraybuf(to_uint8(input, encoder));
31
+ return new Blob([ab]);
31
32
  }
32
33
  function to_arraybuf(input, encoder) {
33
34
  if (input instanceof ArrayBuffer) {
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-binary.js","sourceRoot":"","sources":["../../../src/coerce-binary.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA4D;AAIrD,KAAK,oBAAoB,KAA+B,EAAuB;IACpF,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AAAA,CACxB;AAED,kBAAyB,KAAwB,EAAE,OAAqB,EAAc;IACpF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,OAAO,IAAI,IAAA,yCAAqB,GAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,YAAY,WAAW,EAA8C,CAAC;QAC7E,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,KAAmC,CAAC,CAAC;AAAA,CAC5D;AAED,iBAAwB,KAA+B,EAAE,OAAqB,EAAQ;IACpF,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAAA,CAC7C;AAED,qBAA4B,KAAwB,EAAE,OAAqB,EAAe;IACxF,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAgB,CAAC;AAAA,CAErF"}
1
+ {"version":3,"file":"coerce-binary.js","sourceRoot":"","sources":["../../../src/coerce-binary.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA4D;AAIrD,KAAK,oBAAoB,KAA+B,EAAuB;IACpF,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AAAA,CACxB;AAED,kBAAyB,KAAwB,EAAE,OAAqB,EAAc;IACpF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,OAAO,IAAI,IAAA,yCAAqB,GAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,YAAY,WAAW,EAA8C,CAAC;QAC7E,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,KAAmC,CAAC,CAAC;AAAA,CAC5D;AAED,iBAAwB,KAA+B,EAAE,OAAqB,EAAQ;IACpF,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAAA,CACvB;AAED,qBAA4B,KAAwB,EAAE,OAAqB,EAAe;IACxF,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAgB,CAAC;AAAA,CAErF"}
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC7B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAC3D,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1H,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAClC,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,UAAU,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,WAAW;IAE1B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAEhC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAEzB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;CAC/B;AAED,UAAU,kBAAkB;IAC1B,WAAW,EAAE,WAAW,CAAC;CAC1B;AACD,KAAK,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,kBAAkB,CAAC,CAAC;AAEtE,MAAM,WAAW,iBAAiB;IAIhC,MAAM,EAAE,iBAAiB,CAAC;IAK1B,UAAU,EAAE,MAAM,CAAC;IAKnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE1E,MAAM,WAAW,aAAa;IAC5B,SAAS,CACP,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,YAAY,GAAG,cAAc,EACtC,SAAS,EAAE,qBAAqB,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,EACzH,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,UAAU,EAAE,GACtB,OAAO,CAAC,WAAW,CAAC,CAAC;IACxB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC;IAGtF,OAAO,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7H,OAAO,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7H,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CACvC;AAkBD,wBAAgB,eAAe,CAAC,UAAU,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,aAAa,CAqCtF"}
package/ts/cjs/crypto.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toCryptoRuntime = toCryptoRuntime;
4
+ const coerce_binary_js_1 = require("./coerce-binary.js");
4
5
  function randomBytes(crypto) {
5
6
  return (size) => {
6
7
  const bytes = new Uint8Array(size);
@@ -12,7 +13,7 @@ function randomBytes(crypto) {
12
13
  }
13
14
  function digestSHA256(crypto) {
14
15
  return (data) => {
15
- return crypto.subtle.digest("SHA-256", data);
16
+ return crypto.subtle.digest("SHA-256", (0, coerce_binary_js_1.to_arraybuf)(data));
16
17
  };
17
18
  }
18
19
  function toCryptoRuntime(cryptoOpts = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/crypto.ts"],"names":[],"mappings":";;;AA2GA,SAAS,WAAW,CAAC,MAAgC,EAAgC;IACnF,OAAO,CAAC,IAAY,EAAc,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IAAA,CACd,CAAC;AAAA,CACH;AAED,SAAS,YAAY,CAAC,MAAgC,EAA8C;IAClG,OAAO,CAAC,IAAgB,EAAwB,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAAA,CAC9C,CAAC;AAAA,CACH;AAED,yBAAgC,UAAU,GAA2B,EAAE,EAAiB;IACtF,IAAI,MAAgC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,GAAG;YAEP,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC1E,MAAM,EAAE;gBACN,SAAS,EAAE,GAAyB,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAAA,CAC1D;gBACD,SAAS,EAAE,GAAG,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAAA,CAC1D;gBACD,OAAO,EAAE,GAAyB,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBAAA,CACxD;gBACD,OAAO,EAAE,GAAyB,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBAAA,CACxD;gBACD,MAAM,EAAE,GAAyB,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBAAA,CACvD;aACF;SACqC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,MAAM,OAAO,GAAG;QAEd,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAE9E,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAE9E,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAExE,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACxE,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC;QAC1D,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC;KAC9D,CAAC;IAEF,OAAO,OAAO,CAAC;AAAA,CAChB"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/crypto.ts"],"names":[],"mappings":";;;AAAA,yDAAiD;AA6GjD,SAAS,WAAW,CAAC,MAAgC,EAAgC;IACnF,OAAO,CAAC,IAAY,EAAc,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IAAA,CACd,CAAC;AAAA,CACH;AAED,SAAS,YAAY,CAAC,MAAgC,EAA8C;IAClG,OAAO,CAAC,IAAgB,EAAwB,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAA,8BAAW,EAAC,IAAI,CAAC,CAAC,CAAC;IAAA,CAC3D,CAAC;AAAA,CACH;AAED,yBAAgC,UAAU,GAA2B,EAAE,EAAiB;IACtF,IAAI,MAAgC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,GAAG;YAEP,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC1E,MAAM,EAAE;gBACN,SAAS,EAAE,GAAyB,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAAA,CAC1D;gBACD,SAAS,EAAE,GAAG,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAAA,CAC1D;gBACD,OAAO,EAAE,GAAyB,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBAAA,CACxD;gBACD,OAAO,EAAE,GAAyB,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBAAA,CACxD;gBACD,MAAM,EAAE,GAAyB,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBAAA,CACvD;aACF;SACqC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,MAAM,OAAO,GAAG;QACd,SAAS,EAAE,UAAU,CAAC,SAAS,IAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAgC;QAC9G,SAAS,EAAE,UAAU,CAAC,SAAS,IAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAgC;QAC9G,OAAO,EAAE,UAAU,CAAC,OAAO,IAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAA8B;QACtG,OAAO,EAAE,UAAU,CAAC,OAAO,IAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAA8B;QACtG,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC;QAC1D,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC;KAC9D,CAAC;IAEF,OAAO,OAAO,CAAC;AAAA,CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"load-asset.js","sourceRoot":"","sources":["../../../src/load-asset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-asset.js","sourceRoot":"","sources":["../../../src/load-asset.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,15 @@
1
1
  import { AppContext } from "./app-context.js";
2
- export interface LRUParam {
3
- readonly maxEntries: number;
4
- readonly maxAge: number;
2
+ interface MutableLRUParam<T, K> {
3
+ evict: (param: LRUParam<T, K>, newItem: T, map: LRUMap<K, T>) => boolean;
4
+ refresh: (param: LRUParam<T, K>, map: Map<K, LRUItem<T>>) => void;
5
+ maxEntries: number;
6
+ maxAge: number;
5
7
  }
8
+ export type LRUParam<T = string, K = string> = Readonly<MutableLRUParam<T, K>>;
6
9
  export declare class LRUSet<T> {
7
10
  private readonly _lruMap;
8
- constructor(param?: Partial<LRUParam>);
9
- setParam(param?: Partial<LRUParam>): void;
11
+ constructor(param?: Partial<LRUParam<T, T>>);
12
+ setParam(param?: Partial<LRUParam<T, T>>): void;
10
13
  get size(): number;
11
14
  has(key: T): boolean;
12
15
  add(key: T): void;
@@ -17,17 +20,17 @@ export declare class LRUSet<T> {
17
20
  }
18
21
  export interface LRUCtx<T, K> {
19
22
  readonly update: boolean;
20
- readonly ref: LRUMap<T, K>;
23
+ readonly ref: LRUMap<K, T>;
21
24
  readonly stats: LRUMap<T, K>["stats"];
22
- readonly item: LRUItem<K>;
25
+ readonly item: LRUItem<T>;
23
26
  }
24
- export interface LRUItem<K> {
25
- readonly value: K;
27
+ export interface LRUItem<V> {
28
+ readonly value: V;
26
29
  ctx?: AppContext;
27
30
  }
28
- export type LRUMapFn<K, T> = (key: K, value: T, meta: LRUCtx<K, T>) => void;
31
+ export type LRUMapFn<K, T> = (value: T, key: K, meta: LRUCtx<K, T>) => void;
29
32
  export type UnregFn = () => void;
30
- export declare class LRUMap<T, K> {
33
+ export declare class LRUMap<K, V> {
31
34
  private _map;
32
35
  private param;
33
36
  readonly stats: {
@@ -35,24 +38,25 @@ export declare class LRUMap<T, K> {
35
38
  puts: number;
36
39
  deletes: number;
37
40
  };
38
- constructor(c?: Partial<LRUParam>);
41
+ constructor(c?: Partial<LRUParam<V, K>>);
39
42
  private _onSetFns;
40
- onSet(fn: LRUMapFn<T, K>): UnregFn;
43
+ onSet(fn: LRUMapFn<V, K>): UnregFn;
41
44
  private _onDeleteFns;
42
- onDelete(fn: LRUMapFn<T, K>): UnregFn;
45
+ onDelete(fn: LRUMapFn<V, K>): UnregFn;
43
46
  private touch;
44
- setParam(param?: Partial<LRUParam>): void;
45
- has(key: T): boolean;
47
+ setParam(param?: Partial<LRUParam<V, K>>): void;
48
+ has(key: K): boolean;
46
49
  get size(): number;
47
- getSet(key: T, createFN: (key: T) => Promise<K>): Promise<K | undefined>;
48
- get(key: T): K | undefined;
49
- getItem(key: T): LRUItem<K> | undefined;
50
+ getSet(key: K, createFN: (key: K) => Promise<V>): Promise<V | undefined>;
51
+ get(key: K): V | undefined;
52
+ getItem(key: K): LRUItem<V> | undefined;
50
53
  private buildItem;
51
- set(key: T, value: K): void;
54
+ set(key: K, value: V): void;
52
55
  private buildItemCtx;
53
- delete(key: T): void;
56
+ delete(key: K): void;
54
57
  clear(): void;
55
- forEach(fn: (value: K, key: T, ctx: LRUCtx<T, K>) => void): void;
56
- entries(): IterableIterator<[T, K, LRUCtx<T, K>]>;
58
+ forEach(fn: (value: V, key: K, ctx: LRUCtx<V, K>) => void): void;
59
+ entries(): IterableIterator<[K, V, LRUCtx<V, K>]>;
57
60
  }
61
+ export {};
58
62
  //# sourceMappingURL=lru-map-set.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lru-map-set.d.ts","sourceRoot":"","sources":["../../../src/lru-map-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lru-map-set.d.ts","sourceRoot":"","sources":["../../../src/lru-map-set.ts"],"names":[],"mappings":"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"}