@welshman/lib 0.0.33 → 0.0.35

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 +11 -5
  12. package/build/src/{Tools.mjs → Tools.js} +35 -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 -10
  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 -993
  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"}
@@ -49,6 +49,8 @@ export declare const always: <T>(x: T, ...args: unknown[]) => () => T;
49
49
  * @returns !x
50
50
  */
51
51
  export declare const not: (x: any, ...args: unknown[]) => boolean;
52
+ /** Returns a function that returns the boolean negation of the given function */
53
+ export declare const complement: <T extends unknown[]>(f: (...args: T) => any) => (...args: T) => boolean;
52
54
  /** Converts a Maybe<number> to a number, defaulting to 0 */
53
55
  export declare const num: (x: Maybe<number>) => number;
54
56
  /** Adds two numbers, handling undefined values */
@@ -140,14 +142,14 @@ export declare const mapVals: <V, U>(f: (v: V) => U, x: Record<string, V>) => Re
140
142
  * Merges two objects, with left object taking precedence
141
143
  * @param a - Left object
142
144
  * @param b - Right object
143
- * @returns Merged object with a's properties overriding b's
145
+ * @returns Merged object with a"s properties overriding b"s
144
146
  */
145
147
  export declare const mergeLeft: <T extends Record<string, any>>(a: T, b: T) => T;
146
148
  /**
147
149
  * Merges two objects, with right object taking precedence
148
150
  * @param a - Left object
149
151
  * @param b - Right object
150
- * @returns Merged object with b's properties overriding a's
152
+ * @returns Merged object with b"s properties overriding a"s
151
153
  */
152
154
  export declare const mergeRight: <T extends Record<string, any>>(a: T, b: T) => T;
153
155
  /**
@@ -286,7 +288,7 @@ export declare const setJson: (k: string, v: any) => void;
286
288
  * @param onError - Optional error handler
287
289
  * @returns Function result or undefined if error
288
290
  */
289
- export declare const tryCatch: <T>(f: () => T, onError?: ((e: Error) => void) | undefined) => T | undefined;
291
+ export declare const tryCatch: <T>(f: () => T, onError?: (e: Error) => void) => T | undefined;
290
292
  /**
291
293
  * Truncates string to length, breaking at word boundaries
292
294
  * @param s - String to truncate
@@ -314,12 +316,14 @@ export declare const nth: (i: number) => <T>(xs: T[], ...args: unknown[]) => T;
314
316
  export declare const nthEq: (i: number, v: any) => (xs: any[], ...args: unknown[]) => boolean;
315
317
  /** Returns a function that checks if nth element does not equal value */
316
318
  export declare const nthNe: (i: number, v: any) => (xs: any[], ...args: unknown[]) => boolean;
319
+ /** 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;
317
321
  /** Returns a function that checks equality with value */
318
322
  export declare const eq: <T>(v: T) => (x: T) => boolean;
319
323
  /** Returns a function that checks inequality with value */
320
324
  export declare const ne: <T>(v: T) => (x: T) => boolean;
321
325
  /** Returns a function that gets property value from object */
322
- export declare const prop: (k: string) => <T>(x: Record<string, T>) => T;
326
+ export declare const prop: <T>(k: string) => (x: Record<string, unknown>) => T;
323
327
  /** Returns a function that adds/updates property on object */
324
328
  export declare const assoc: <K extends string, T, U>(k: K, v: T) => (o: U) => U & Record<K, T>;
325
329
  /** Generates a hash string from input string */
@@ -342,12 +346,14 @@ export declare const toIterable: (x: any) => any;
342
346
  export declare const ensurePlural: <T>(x: T | T[]) => T[];
343
347
  /** Converts string or number to number */
344
348
  export declare const ensureNumber: (x: number | string) => number;
349
+ /** Returns a function that gets property value from object */
350
+ export declare const pluck: <T>(k: string, xs: Record<string, unknown>[]) => T[];
345
351
  /**
346
352
  * Creates object from array of key-value pairs
347
353
  * @param pairs - Array of [key, value] tuples
348
354
  * @returns Object with keys and values from pairs
349
355
  */
350
- export declare const fromPairs: <T>(pairs: [k?: string | undefined, v?: T | undefined, ...args: unknown[]][]) => Record<string, T>;
356
+ export declare const fromPairs: <T>(pairs: [k?: string, v?: T, ...args: unknown[]][]) => Record<string, T>;
351
357
  /**
352
358
  * Flattens array of arrays into single array
353
359
  * @param xs - Array of arrays to flatten
@@ -46,6 +46,8 @@ export const always = (x, ...args) => () => x;
46
46
  * @returns !x
47
47
  */
48
48
  export const not = (x, ...args) => !x;
49
+ /** Returns a function that returns the boolean negation of the given function */
50
+ export const complement = (f) => (...args) => !f(...args);
49
51
  /** Converts a Maybe<number> to a number, defaulting to 0 */
50
52
  export const num = (x) => x || 0;
51
53
  /** Adds two numbers, handling undefined values */
@@ -175,16 +177,22 @@ export const mapVals = (f, x) => {
175
177
  * Merges two objects, with left object taking precedence
176
178
  * @param a - Left object
177
179
  * @param b - Right object
178
- * @returns Merged object with a's properties overriding b's
180
+ * @returns Merged object with a"s properties overriding b"s
179
181
  */
180
- export const mergeLeft = (a, b) => ({ ...b, ...a });
182
+ export const mergeLeft = (a, b) => ({
183
+ ...b,
184
+ ...a,
185
+ });
181
186
  /**
182
187
  * Merges two objects, with right object taking precedence
183
188
  * @param a - Left object
184
189
  * @param b - Right object
185
- * @returns Merged object with b's properties overriding a's
190
+ * @returns Merged object with b"s properties overriding a"s
186
191
  */
187
- export const mergeRight = (a, b) => ({ ...a, ...b });
192
+ export const mergeRight = (a, b) => ({
193
+ ...a,
194
+ ...b,
195
+ });
188
196
  /**
189
197
  * Checks if a number is between two values (exclusive)
190
198
  * @param bounds - Lower and upper bounds
@@ -222,7 +230,9 @@ export const stripProtocol = (url) => url.replace(/.*:\/\//, "");
222
230
  * @param url - URL to format
223
231
  * @returns Formatted URL
224
232
  */
225
- export const displayUrl = (url) => stripProtocol(url).replace(/^(www\.)?/i, "").replace(/\/$/, "");
233
+ export const displayUrl = (url) => stripProtocol(url)
234
+ .replace(/^(www\.)?/i, "")
235
+ .replace(/\/$/, "");
226
236
  /**
227
237
  * Extracts and formats domain from URL
228
238
  * @param url - URL to process
@@ -240,7 +250,7 @@ export const sleep = (t) => new Promise(resolve => setTimeout(resolve, t));
240
250
  * @param xs - Arrays to concatenate
241
251
  * @returns Combined array
242
252
  */
243
- export const concat = (...xs) => xs.flatMap(x => isNil(x) ? [] : x);
253
+ export const concat = (...xs) => xs.flatMap(x => (isNil(x) ? [] : x));
244
254
  /**
245
255
  * Appends element to array
246
256
  * @param x - Element to append
@@ -295,7 +305,7 @@ export const without = (a, b) => b.filter(x => !a.includes(x));
295
305
  * @param xs - Source array
296
306
  * @returns New array with element added or removed
297
307
  */
298
- export const toggle = (x, xs) => xs.includes(x) ? remove(x, xs) : append(x, xs);
308
+ export const toggle = (x, xs) => (xs.includes(x) ? remove(x, xs) : append(x, xs));
299
309
  /**
300
310
  * Constrains number between min and max values
301
311
  * @param bounds - Minimum and maximum allowed values
@@ -340,12 +350,12 @@ export const tryCatch = (f, onError) => {
340
350
  try {
341
351
  const r = f();
342
352
  if (r instanceof Promise) {
343
- r.catch(e => onError === null || onError === void 0 ? void 0 : onError(e));
353
+ r.catch(e => onError?.(e));
344
354
  }
345
355
  return r;
346
356
  }
347
357
  catch (e) {
348
- onError === null || onError === void 0 ? void 0 : onError(e);
358
+ onError?.(e);
349
359
  }
350
360
  return undefined;
351
361
  };
@@ -356,12 +366,12 @@ export const tryCatch = (f, onError) => {
356
366
  * @param suffix - String to append if truncated
357
367
  * @returns Truncated string
358
368
  */
359
- export const ellipsize = (s, l, suffix = '...') => {
369
+ export const ellipsize = (s, l, suffix = "...") => {
360
370
  if (s.length < l * 1.1) {
361
371
  return s;
362
372
  }
363
- while (s.length > l && s.includes(' ')) {
364
- s = s.split(' ').slice(0, -1).join(' ');
373
+ while (s.length > l && s.includes(" ")) {
374
+ s = s.split(" ").slice(0, -1).join(" ");
365
375
  }
366
376
  return s + suffix;
367
377
  };
@@ -431,6 +441,14 @@ export const nth = (i) => (xs, ...args) => xs[i];
431
441
  export const nthEq = (i, v) => (xs, ...args) => xs[i] === v;
432
442
  /** Returns a function that checks if nth element does not equal value */
433
443
  export const nthNe = (i, v) => (xs, ...args) => xs[i] !== v;
444
+ /** Returns a function that checks if key/value pairs of x match all pairs in spec */
445
+ export const spec = (values) => (x) => {
446
+ for (const [k, v] of Object.entries(values)) {
447
+ if (x[k] !== v)
448
+ return false;
449
+ }
450
+ return true;
451
+ };
434
452
  /** Returns a function that checks equality with value */
435
453
  export const eq = (v) => (x) => x === v;
436
454
  /** Returns a function that checks inequality with value */
@@ -449,17 +467,19 @@ export const insert = (n, x, xs) => [...xs.slice(0, n), x, ...xs.slice(n)];
449
467
  /** Returns random element from array */
450
468
  export const choice = (xs) => xs[Math.floor(xs.length * Math.random())];
451
469
  /** Returns shuffled copy of iterable */
452
- export const shuffle = (xs) => Array.from(xs).sort(() => Math.random() > 0.5 ? 1 : -1);
470
+ export const shuffle = (xs) => Array.from(xs).sort(() => (Math.random() > 0.5 ? 1 : -1));
453
471
  /** Returns n random elements from array */
454
472
  export const sample = (n, xs) => shuffle(xs).slice(0, n);
455
473
  /** Checks if value is iterable */
456
474
  export const isIterable = (x) => Symbol.iterator in Object(x);
457
475
  /** Ensures value is iterable by wrapping in array if needed */
458
- export const toIterable = (x) => isIterable(x) ? x : [x];
476
+ export const toIterable = (x) => (isIterable(x) ? x : [x]);
459
477
  /** Ensures value is array by wrapping if needed */
460
478
  export const ensurePlural = (x) => (x instanceof Array ? x : [x]);
461
479
  /** Converts string or number to number */
462
480
  export const ensureNumber = (x) => parseFloat(x);
481
+ /** Returns a function that gets property value from object */
482
+ export const pluck = (k, xs) => xs.map(x => x[k]);
463
483
  /**
464
484
  * Creates object from array of key-value pairs
465
485
  * @param pairs - Array of [key, value] tuples
@@ -878,4 +898,4 @@ export const hexToBech32 = (prefix, hex) => bech32.encode(prefix, bech32.toWords
878
898
  * @returns Hex encoded string
879
899
  */
880
900
  export const bech32ToHex = (b32) => utf8.encode(bech32.fromWords(bech32.decode(b32, false).words));
881
- //# sourceMappingURL=Tools.mjs.map
901
+ //# 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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"}