@welshman/lib 0.0.34 → 0.0.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 (48) hide show
  1. package/build/src/Context.d.ts +1 -1
  2. package/build/src/{Context.mjs → Context.js} +1 -1
  3. package/build/src/Context.js.map +1 -0
  4. package/build/src/{Deferred.mjs → Deferred.js} +1 -1
  5. package/build/src/Deferred.js.map +1 -0
  6. package/build/src/Emitter.d.ts +1 -1
  7. package/build/src/{Emitter.mjs → Emitter.js} +3 -3
  8. package/build/src/Emitter.js.map +1 -0
  9. package/build/src/{LRUCache.mjs → LRUCache.js} +5 -4
  10. package/build/src/LRUCache.js.map +1 -0
  11. package/build/src/Tools.d.ts +17 -11
  12. package/build/src/{Tools.mjs → Tools.js} +38 -15
  13. package/build/src/Tools.js.map +1 -0
  14. package/build/src/Worker.js +97 -0
  15. package/build/src/Worker.js.map +1 -0
  16. package/build/src/index.d.ts +11 -7
  17. package/build/src/index.js +8 -0
  18. package/build/src/index.js.map +1 -0
  19. package/build/src/normalize-url/{index.mjs → index.js} +7 -8
  20. package/build/src/normalize-url/index.js.map +1 -0
  21. package/build/tsconfig.tsbuildinfo +1 -0
  22. package/package.json +5 -12
  23. package/build/src/Context.cjs +0 -24
  24. package/build/src/Context.cjs.map +0 -1
  25. package/build/src/Context.mjs.map +0 -1
  26. package/build/src/Deferred.cjs +0 -26
  27. package/build/src/Deferred.cjs.map +0 -1
  28. package/build/src/Deferred.mjs.map +0 -1
  29. package/build/src/Emitter.cjs +0 -22
  30. package/build/src/Emitter.cjs.map +0 -1
  31. package/build/src/Emitter.mjs.map +0 -1
  32. package/build/src/LRUCache.cjs +0 -67
  33. package/build/src/LRUCache.cjs.map +0 -1
  34. package/build/src/LRUCache.mjs.map +0 -1
  35. package/build/src/Tools.cjs +0 -1008
  36. package/build/src/Tools.cjs.map +0 -1
  37. package/build/src/Tools.mjs.map +0 -1
  38. package/build/src/Worker.cjs +0 -119
  39. package/build/src/Worker.cjs.map +0 -1
  40. package/build/src/Worker.mjs +0 -115
  41. package/build/src/Worker.mjs.map +0 -1
  42. package/build/src/index.cjs +0 -29
  43. package/build/src/index.cjs.map +0 -1
  44. package/build/src/index.mjs +0 -8
  45. package/build/src/index.mjs.map +0 -1
  46. package/build/src/normalize-url/index.cjs +0 -254
  47. package/build/src/normalize-url/index.cjs.map +0 -1
  48. package/build/src/normalize-url/index.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import type { Context } from '@welshman/lib';
1
+ import type { Context } from "@welshman/lib";
2
2
  /**
3
3
  * A global context variable for configuring libraries and applications.
4
4
  *
@@ -17,4 +17,4 @@ export const ctx = {};
17
17
  * Adds data to ctx.
18
18
  */
19
19
  export const setContext = (newCtx) => Object.assign(ctx, newCtx);
20
- //# sourceMappingURL=Context.mjs.map
20
+ //# sourceMappingURL=Context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/Context.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,GAAG,GAAY,EAAE,CAAA;AAE9B;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA"}
@@ -18,4 +18,4 @@ export const defer = () => {
18
18
  });
19
19
  return Object.assign(p, { resolve, reject });
20
20
  };
21
- //# sourceMappingURL=Deferred.mjs.map
21
+ //# sourceMappingURL=Deferred.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deferred.js","sourceRoot":"","sources":["../../src/Deferred.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,QAA6F;IAE7F,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAwB,CAAA;AACrD,CAAC;AAQD;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,GAA6B,EAAE;IAClD,IAAI,OAAO,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QAC1C,OAAO,GAAG,QAAQ,CAAA;QAClB,MAAM,GAAG,OAAO,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,CAA8B,CAAA;AACzE,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from 'events';
1
+ import { EventEmitter } from "events";
2
2
  /**
3
3
  * Extended EventEmitter that also emits all events to '*' listeners
4
4
  */
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from 'events';
1
+ import { EventEmitter } from "events";
2
2
  /**
3
3
  * Extended EventEmitter that also emits all events to '*' listeners
4
4
  */
@@ -11,8 +11,8 @@ export class Emitter extends EventEmitter {
11
11
  */
12
12
  emit(type, ...args) {
13
13
  const a = super.emit(type, ...args);
14
- const b = super.emit('*', type, ...args);
14
+ const b = super.emit("*", type, ...args);
15
15
  return a && b;
16
16
  }
17
17
  }
18
- //# sourceMappingURL=Emitter.mjs.map
18
+ //# sourceMappingURL=Emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emitter.js","sourceRoot":"","sources":["../../src/Emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAA;AAEnC;;GAEG;AACH,MAAM,OAAO,OAAQ,SAAQ,YAAY;IACvC;;;;;OAKG;IACH,IAAI,CAAC,IAAY,EAAE,GAAG,IAAW;QAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;QACnC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;QAExC,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;CACF"}
@@ -4,10 +4,11 @@
4
4
  * @template U - Type of cache values
5
5
  */
6
6
  export class LRUCache {
7
+ maxSize;
8
+ map = new Map();
9
+ keys = [];
7
10
  constructor(maxSize = Infinity) {
8
11
  this.maxSize = maxSize;
9
- this.map = new Map();
10
- this.keys = [];
11
12
  }
12
13
  has(k) {
13
14
  return this.map.has(k);
@@ -56,6 +57,6 @@ export function cached({ maxSize, getKey, getValue, }) {
56
57
  * @template Args - Function argument types
57
58
  */
58
59
  export function simpleCache(getValue) {
59
- return cached({ maxSize: 10 ** 5, getKey: xs => xs.join(':'), getValue });
60
+ return cached({ maxSize: 10 ** 5, getKey: xs => xs.join(":"), getValue });
60
61
  }
61
- //# sourceMappingURL=LRUCache.mjs.map
62
+ //# sourceMappingURL=LRUCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LRUCache.js","sourceRoot":"","sources":["../../src/LRUCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IAIE;IAHrB,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAA;IACrB,IAAI,GAAQ,EAAE,CAAA;IAEd,YAAqB,UAAkB,QAAQ;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAEnD,GAAG,CAAC,CAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,GAAG,CAAC,CAAI;QACN,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAEzB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAM,CAAC,CAAA;YAEtB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAA;IACV,CAAC;IAED,GAAG,CAAC,CAAI,EAAE,CAAI;QACZ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEjB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAO,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAA2B,EAC/C,OAAO,EACP,MAAM,EACN,QAAQ,GAKT;IACC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAO,OAAO,CAAC,CAAA;IAEzC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAU,EAAE,EAAE;QAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAEtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAE,CAAA;IACtB,CAAC,CAAA;IAED,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;IACjB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;IACnB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAEvB,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAwB,QAA2B;IAC5E,OAAO,MAAM,CAAC,EAAC,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAC,CAAC,CAAA;AACzE,CAAC"}
@@ -4,6 +4,8 @@ export type Nil = null | undefined;
4
4
  export declare const isNil: (x: any) => boolean;
5
5
  /** Type representing an optional value */
6
6
  export type Maybe<T> = T | undefined;
7
+ /** Type that is shorthand for Record<string, T> */
8
+ export type Obj<T = any> = Record<string, T>;
7
9
  /**
8
10
  * Executes a function if the value is defined
9
11
  * @param x - The value to check
@@ -101,21 +103,21 @@ export declare const take: <T>(n: number, xs: T[]) => T[];
101
103
  * @param x - Source object
102
104
  * @returns New object without specified keys
103
105
  */
104
- export declare const omit: <T extends Record<string, any>>(ks: string[], x: T) => T;
106
+ export declare const omit: <T extends Obj>(ks: string[], x: T) => T;
105
107
  /**
106
108
  * Creates new object excluding entries with specified values
107
109
  * @param xs - Values to exclude
108
110
  * @param x - Source object
109
111
  * @returns New object without entries containing specified values
110
112
  */
111
- export declare const omitVals: <T extends Record<string, any>>(xs: any[], x: T) => T;
113
+ export declare const omitVals: <T extends Obj>(xs: any[], x: T) => T;
112
114
  /**
113
115
  * Creates new object with only specified keys
114
116
  * @param ks - Keys to keep
115
117
  * @param x - Source object
116
118
  * @returns New object with only specified keys
117
119
  */
118
- export declare const pick: <T extends Record<string, any>>(ks: string[], x: T) => T;
120
+ export declare const pick: <T extends Obj>(ks: string[], x: T) => T;
119
121
  /**
120
122
  * Generates sequence of numbers from a to b
121
123
  * @param a - Start number (inclusive)
@@ -130,7 +132,7 @@ export declare function range(a: number, b: number, step?: number): Generator<nu
130
132
  * @param x - Source object
131
133
  * @returns Object with transformed keys
132
134
  */
133
- export declare const mapKeys: <T extends Record<string, any>>(f: (v: string) => string, x: T) => T;
135
+ export declare const mapKeys: <T extends Obj>(f: (v: string) => string, x: T) => T;
134
136
  /**
135
137
  * Creates new object with transformed values
136
138
  * @param f - Function to transform values
@@ -142,16 +144,20 @@ export declare const mapVals: <V, U>(f: (v: V) => U, x: Record<string, V>) => Re
142
144
  * Merges two objects, with left object taking precedence
143
145
  * @param a - Left object
144
146
  * @param b - Right object
145
- * @returns Merged object with a's properties overriding b's
147
+ * @returns Merged object with a"s properties overriding b"s
146
148
  */
147
- export declare const mergeLeft: <T extends Record<string, any>>(a: T, b: T) => T;
149
+ export declare const mergeLeft: <T extends Obj>(a: T, b: T) => T;
148
150
  /**
149
151
  * Merges two objects, with right object taking precedence
150
152
  * @param a - Left object
151
153
  * @param b - Right object
152
- * @returns Merged object with b's properties overriding a's
154
+ * @returns Merged object with b"s properties overriding a"s
153
155
  */
154
- export declare const mergeRight: <T extends Record<string, any>>(a: T, b: T) => T;
156
+ export declare const mergeRight: <T extends Obj>(a: T, b: T) => T;
157
+ /** Deep merge two objects, prioritizing the first argument. */
158
+ export declare const deepMergeLeft: (a: Obj, b: Obj) => Obj<any>;
159
+ /** Deep merge two objects, prioritizing the second argument. */
160
+ export declare const deepMergeRight: (a: Obj, b: Obj) => Obj<any>;
155
161
  /**
156
162
  * Checks if a number is between two values (exclusive)
157
163
  * @param bounds - Lower and upper bounds
@@ -288,7 +294,7 @@ export declare const setJson: (k: string, v: any) => void;
288
294
  * @param onError - Optional error handler
289
295
  * @returns Function result or undefined if error
290
296
  */
291
- export declare const tryCatch: <T>(f: () => T, onError?: ((e: Error) => void) | undefined) => T | undefined;
297
+ export declare const tryCatch: <T>(f: () => T, onError?: (e: Error) => void) => T | undefined;
292
298
  /**
293
299
  * Truncates string to length, breaking at word boundaries
294
300
  * @param s - String to truncate
@@ -317,7 +323,7 @@ export declare const nthEq: (i: number, v: any) => (xs: any[], ...args: unknown[
317
323
  /** Returns a function that checks if nth element does not equal value */
318
324
  export declare const nthNe: (i: number, v: any) => (xs: any[], ...args: unknown[]) => boolean;
319
325
  /** Returns a function that checks if key/value pairs of x match all pairs in spec */
320
- export declare const spec: (values: Record<string, any>) => (x: Record<string, any>) => boolean;
326
+ export declare const spec: (values: Obj) => (x: Obj) => boolean;
321
327
  /** Returns a function that checks equality with value */
322
328
  export declare const eq: <T>(v: T) => (x: T) => boolean;
323
329
  /** Returns a function that checks inequality with value */
@@ -353,7 +359,7 @@ export declare const pluck: <T>(k: string, xs: Record<string, unknown>[]) => T[]
353
359
  * @param pairs - Array of [key, value] tuples
354
360
  * @returns Object with keys and values from pairs
355
361
  */
356
- export declare const fromPairs: <T>(pairs: [k?: string | undefined, v?: T | undefined, ...args: unknown[]][]) => Record<string, T>;
362
+ export declare const fromPairs: <T>(pairs: [k?: string, v?: T, ...args: unknown[]][]) => Record<string, T>;
357
363
  /**
358
364
  * Flattens array of arrays into single array
359
365
  * @param xs - Array of arrays to flatten
@@ -177,16 +177,37 @@ export const mapVals = (f, x) => {
177
177
  * Merges two objects, with left object taking precedence
178
178
  * @param a - Left object
179
179
  * @param b - Right object
180
- * @returns Merged object with a's properties overriding b's
180
+ * @returns Merged object with a"s properties overriding b"s
181
181
  */
182
- export const mergeLeft = (a, b) => ({ ...b, ...a });
182
+ export const mergeLeft = (a, b) => ({
183
+ ...b,
184
+ ...a,
185
+ });
183
186
  /**
184
187
  * Merges two objects, with right object taking precedence
185
188
  * @param a - Left object
186
189
  * @param b - Right object
187
- * @returns Merged object with b's properties overriding a's
190
+ * @returns Merged object with b"s properties overriding a"s
188
191
  */
189
- export const mergeRight = (a, b) => ({ ...a, ...b });
192
+ export const mergeRight = (a, b) => ({
193
+ ...a,
194
+ ...b,
195
+ });
196
+ /** Deep merge two objects, prioritizing the first argument. */
197
+ export const deepMergeLeft = (a, b) => deepMergeRight(b, a);
198
+ /** Deep merge two objects, prioritizing the second argument. */
199
+ export const deepMergeRight = (a, b) => {
200
+ a = { ...a };
201
+ for (const [k, v] of Object.entries(b)) {
202
+ if (isPojo(v) && isPojo(a[k])) {
203
+ a[k] = deepMergeRight(a[k], v);
204
+ }
205
+ else {
206
+ a[k] = v;
207
+ }
208
+ }
209
+ return a;
210
+ };
190
211
  /**
191
212
  * Checks if a number is between two values (exclusive)
192
213
  * @param bounds - Lower and upper bounds
@@ -224,7 +245,9 @@ export const stripProtocol = (url) => url.replace(/.*:\/\//, "");
224
245
  * @param url - URL to format
225
246
  * @returns Formatted URL
226
247
  */
227
- export const displayUrl = (url) => stripProtocol(url).replace(/^(www\.)?/i, "").replace(/\/$/, "");
248
+ export const displayUrl = (url) => stripProtocol(url)
249
+ .replace(/^(www\.)?/i, "")
250
+ .replace(/\/$/, "");
228
251
  /**
229
252
  * Extracts and formats domain from URL
230
253
  * @param url - URL to process
@@ -242,7 +265,7 @@ export const sleep = (t) => new Promise(resolve => setTimeout(resolve, t));
242
265
  * @param xs - Arrays to concatenate
243
266
  * @returns Combined array
244
267
  */
245
- export const concat = (...xs) => xs.flatMap(x => isNil(x) ? [] : x);
268
+ export const concat = (...xs) => xs.flatMap(x => (isNil(x) ? [] : x));
246
269
  /**
247
270
  * Appends element to array
248
271
  * @param x - Element to append
@@ -297,7 +320,7 @@ export const without = (a, b) => b.filter(x => !a.includes(x));
297
320
  * @param xs - Source array
298
321
  * @returns New array with element added or removed
299
322
  */
300
- export const toggle = (x, xs) => xs.includes(x) ? remove(x, xs) : append(x, xs);
323
+ export const toggle = (x, xs) => (xs.includes(x) ? remove(x, xs) : append(x, xs));
301
324
  /**
302
325
  * Constrains number between min and max values
303
326
  * @param bounds - Minimum and maximum allowed values
@@ -342,12 +365,12 @@ export const tryCatch = (f, onError) => {
342
365
  try {
343
366
  const r = f();
344
367
  if (r instanceof Promise) {
345
- r.catch(e => onError === null || onError === void 0 ? void 0 : onError(e));
368
+ r.catch(e => onError?.(e));
346
369
  }
347
370
  return r;
348
371
  }
349
372
  catch (e) {
350
- onError === null || onError === void 0 ? void 0 : onError(e);
373
+ onError?.(e);
351
374
  }
352
375
  return undefined;
353
376
  };
@@ -358,12 +381,12 @@ export const tryCatch = (f, onError) => {
358
381
  * @param suffix - String to append if truncated
359
382
  * @returns Truncated string
360
383
  */
361
- export const ellipsize = (s, l, suffix = '...') => {
384
+ export const ellipsize = (s, l, suffix = "...") => {
362
385
  if (s.length < l * 1.1) {
363
386
  return s;
364
387
  }
365
- while (s.length > l && s.includes(' ')) {
366
- s = s.split(' ').slice(0, -1).join(' ');
388
+ while (s.length > l && s.includes(" ")) {
389
+ s = s.split(" ").slice(0, -1).join(" ");
367
390
  }
368
391
  return s + suffix;
369
392
  };
@@ -459,13 +482,13 @@ export const insert = (n, x, xs) => [...xs.slice(0, n), x, ...xs.slice(n)];
459
482
  /** Returns random element from array */
460
483
  export const choice = (xs) => xs[Math.floor(xs.length * Math.random())];
461
484
  /** Returns shuffled copy of iterable */
462
- export const shuffle = (xs) => Array.from(xs).sort(() => Math.random() > 0.5 ? 1 : -1);
485
+ export const shuffle = (xs) => Array.from(xs).sort(() => (Math.random() > 0.5 ? 1 : -1));
463
486
  /** Returns n random elements from array */
464
487
  export const sample = (n, xs) => shuffle(xs).slice(0, n);
465
488
  /** Checks if value is iterable */
466
489
  export const isIterable = (x) => Symbol.iterator in Object(x);
467
490
  /** Ensures value is iterable by wrapping in array if needed */
468
- export const toIterable = (x) => isIterable(x) ? x : [x];
491
+ export const toIterable = (x) => (isIterable(x) ? x : [x]);
469
492
  /** Ensures value is array by wrapping if needed */
470
493
  export const ensurePlural = (x) => (x instanceof Array ? x : [x]);
471
494
  /** Converts string or number to number */
@@ -890,4 +913,4 @@ export const hexToBech32 = (prefix, hex) => bech32.encode(prefix, bech32.toWords
890
913
  * @returns Hex encoded string
891
914
  */
892
915
  export const bech32ToHex = (b32) => utf8.encode(bech32.fromWords(bech32.decode(b32, false).words));
893
- //# sourceMappingURL=Tools.mjs.map
916
+ //# sourceMappingURL=Tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tools.js","sourceRoot":"","sources":["../../src/Tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ /** Symbol used to identify global handlers */
2
+ const ANY = Symbol("worker/ANY");
3
+ /**
4
+ * Worker for processing messages in batches with throttling
5
+ * @template T - Type of messages to process
6
+ */
7
+ export class Worker {
8
+ opts;
9
+ buffer = [];
10
+ handlers = new Map();
11
+ #timeout;
12
+ #paused = false;
13
+ constructor(opts = {}) {
14
+ this.opts = opts;
15
+ }
16
+ #doWork = async () => {
17
+ const { chunkSize = 50 } = this.opts;
18
+ for (let i = 0; i < chunkSize; i++) {
19
+ if (this.buffer.length === 0) {
20
+ break;
21
+ }
22
+ // Pop the buffer one at a time so handle can modify the queue
23
+ const [message] = this.buffer.splice(0, 1);
24
+ if (this.opts.shouldDefer?.(message)) {
25
+ this.buffer.push(message);
26
+ }
27
+ else {
28
+ for (const handler of this.handlers.get(ANY) || []) {
29
+ try {
30
+ await handler(message);
31
+ }
32
+ catch (e) {
33
+ console.error(e);
34
+ }
35
+ }
36
+ if (this.opts.getKey) {
37
+ const k = this.opts.getKey(message);
38
+ for (const handler of this.handlers.get(k) || []) {
39
+ try {
40
+ await handler(message);
41
+ }
42
+ catch (e) {
43
+ console.error(e);
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+ this.#timeout = undefined;
50
+ this.#enqueueWork();
51
+ };
52
+ #enqueueWork = () => {
53
+ const { delay = 50 } = this.opts;
54
+ if (!this.#paused && !this.#timeout && this.buffer.length > 0) {
55
+ this.#timeout = setTimeout(this.#doWork, delay);
56
+ }
57
+ };
58
+ /**
59
+ * Adds a message to the processing queue
60
+ * @param message - Message to process
61
+ */
62
+ push = (message) => {
63
+ this.buffer.push(message);
64
+ this.#enqueueWork();
65
+ };
66
+ /**
67
+ * Adds a handler for messages with specific key
68
+ * @param k - Key to handle
69
+ * @param handler - Function to process matching messages
70
+ */
71
+ addHandler = (k, handler) => {
72
+ this.handlers.set(k, (this.handlers.get(k) || []).concat(handler));
73
+ };
74
+ /**
75
+ * Adds a handler for all messages
76
+ * @param handler - Function to process all messages
77
+ */
78
+ addGlobalHandler = (handler) => {
79
+ this.addHandler(ANY, handler);
80
+ };
81
+ /** Removes all pending messages from the queue */
82
+ clear() {
83
+ this.buffer = [];
84
+ }
85
+ /** Pauses message processing */
86
+ pause() {
87
+ clearTimeout(this.#timeout);
88
+ this.#paused = true;
89
+ this.#timeout = undefined;
90
+ }
91
+ /** Resumes message processing */
92
+ resume() {
93
+ this.#paused = false;
94
+ this.#enqueueWork();
95
+ }
96
+ }
97
+ //# sourceMappingURL=Worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Worker.js","sourceRoot":"","sources":["../../src/Worker.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
- export * from './Context';
2
- export * from './Deferred';
3
- export * from './Emitter';
4
- export * from './LRUCache';
5
- export * from './Tools';
6
- export * from './Worker';
7
- export { default as normalizeUrl } from './normalize-url';
1
+ export * from "./Context.js";
2
+ export * from "./Deferred.js";
3
+ export * from "./Emitter.js";
4
+ export * from "./LRUCache.js";
5
+ export * from "./Tools.js";
6
+ export * from "./Worker.js";
7
+ export { default as normalizeUrl } from "./normalize-url/index.js";
8
+ declare module "@welshman/lib" {
9
+ interface Context {
10
+ }
11
+ }
@@ -0,0 +1,8 @@
1
+ export * from "./Context.js";
2
+ export * from "./Deferred.js";
3
+ export * from "./Emitter.js";
4
+ export * from "./LRUCache.js";
5
+ export * from "./Tools.js";
6
+ export * from "./Worker.js";
7
+ export { default as normalizeUrl } from "./normalize-url/index.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,0BAA0B,CAAA"}
@@ -12,12 +12,11 @@ const hasCustomProtocol = (urlString) => {
12
12
  const { protocol } = new URL(urlString);
13
13
  return protocol.endsWith(':') && !supportedProtocols.has(protocol);
14
14
  }
15
- catch (_a) {
15
+ catch {
16
16
  return false;
17
17
  }
18
18
  };
19
19
  const normalizeDataURL = (urlString, { stripHash }) => {
20
- var _a, _b;
21
20
  const match = /^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(urlString);
22
21
  if (!match) {
23
22
  throw new Error(`Invalid URL: ${urlString}`);
@@ -31,7 +30,7 @@ const normalizeDataURL = (urlString, { stripHash }) => {
31
30
  isBase64 = true;
32
31
  }
33
32
  // Lowercase MIME type
34
- const mimeType = (_b = (_a = mediaType.shift()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : '';
33
+ const mimeType = mediaType.shift()?.toLowerCase() ?? '';
35
34
  const attributes = mediaType
36
35
  .map((attribute) => {
37
36
  let [key, value = ''] = attribute.split('=').map((s) => s.trim());
@@ -165,7 +164,7 @@ export default function normalizeUrl(urlString, opts) {
165
164
  try {
166
165
  urlObject.pathname = decodeURI(urlObject.pathname);
167
166
  }
168
- catch (_a) { }
167
+ catch { }
169
168
  }
170
169
  // Remove directory index
171
170
  if (options.removeDirectoryIndex === true) {
@@ -193,7 +192,7 @@ export default function normalizeUrl(urlString, opts) {
193
192
  }
194
193
  // Remove query unwanted parameters
195
194
  if (Array.isArray(options.removeQueryParameters)) {
196
- // eslint-disable-next-line unicorn/no-useless-spread -- We are intentionally spreading to get a copy.
195
+ // @ts-ignore
197
196
  for (const key of [...urlObject.searchParams.keys()]) {
198
197
  if (testParameter(key, options.removeQueryParameters)) {
199
198
  urlObject.searchParams.delete(key);
@@ -205,7 +204,7 @@ export default function normalizeUrl(urlString, opts) {
205
204
  }
206
205
  // Keep wanted query parameters
207
206
  if (Array.isArray(options.keepQueryParameters) && options.keepQueryParameters.length > 0) {
208
- // eslint-disable-next-line unicorn/no-useless-spread -- We are intentionally spreading to get a copy.
207
+ // @ts-ignore
209
208
  for (const key of [...urlObject.searchParams.keys()]) {
210
209
  if (!testParameter(key, options.keepQueryParameters)) {
211
210
  urlObject.searchParams.delete(key);
@@ -219,7 +218,7 @@ export default function normalizeUrl(urlString, opts) {
219
218
  try {
220
219
  urlObject.search = decodeURIComponent(urlObject.search);
221
220
  }
222
- catch (_b) { }
221
+ catch { }
223
222
  }
224
223
  if (options.removeTrailingSlash) {
225
224
  urlObject.pathname = urlObject.pathname.replace(/\/$/, '');
@@ -248,4 +247,4 @@ export default function normalizeUrl(urlString, opts) {
248
247
  }
249
248
  return urlString;
250
249
  }
251
- //# sourceMappingURL=index.mjs.map
250
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/normalize-url/index.ts"],"names":[],"mappings":"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"}