@welshman/lib 0.0.34 → 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.
- package/build/src/Context.d.ts +1 -1
- package/build/src/{Context.mjs → Context.js} +1 -1
- package/build/src/Context.js.map +1 -0
- package/build/src/{Deferred.mjs → Deferred.js} +1 -1
- package/build/src/Deferred.js.map +1 -0
- package/build/src/Emitter.d.ts +1 -1
- package/build/src/{Emitter.mjs → Emitter.js} +3 -3
- package/build/src/Emitter.js.map +1 -0
- package/build/src/{LRUCache.mjs → LRUCache.js} +5 -4
- package/build/src/LRUCache.js.map +1 -0
- package/build/src/Tools.d.ts +4 -4
- package/build/src/{Tools.mjs → Tools.js} +23 -15
- package/build/src/Tools.js.map +1 -0
- package/build/src/Worker.js +97 -0
- package/build/src/Worker.js.map +1 -0
- package/build/src/index.d.ts +11 -7
- package/build/src/index.js +8 -0
- package/build/src/index.js.map +1 -0
- package/build/src/normalize-url/{index.mjs → index.js} +7 -8
- package/build/src/normalize-url/index.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/package.json +5 -10
- package/build/src/Context.cjs +0 -24
- package/build/src/Context.cjs.map +0 -1
- package/build/src/Context.mjs.map +0 -1
- package/build/src/Deferred.cjs +0 -26
- package/build/src/Deferred.cjs.map +0 -1
- package/build/src/Deferred.mjs.map +0 -1
- package/build/src/Emitter.cjs +0 -22
- package/build/src/Emitter.cjs.map +0 -1
- package/build/src/Emitter.mjs.map +0 -1
- package/build/src/LRUCache.cjs +0 -67
- package/build/src/LRUCache.cjs.map +0 -1
- package/build/src/LRUCache.mjs.map +0 -1
- package/build/src/Tools.cjs +0 -1008
- package/build/src/Tools.cjs.map +0 -1
- package/build/src/Tools.mjs.map +0 -1
- package/build/src/Worker.cjs +0 -119
- package/build/src/Worker.cjs.map +0 -1
- package/build/src/Worker.mjs +0 -115
- package/build/src/Worker.mjs.map +0 -1
- package/build/src/index.cjs +0 -29
- package/build/src/index.cjs.map +0 -1
- package/build/src/index.mjs +0 -8
- package/build/src/index.mjs.map +0 -1
- package/build/src/normalize-url/index.cjs +0 -254
- package/build/src/normalize-url/index.cjs.map +0 -1
- package/build/src/normalize-url/index.mjs.map +0 -1
package/build/src/Context.d.ts
CHANGED
|
@@ -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"}
|
|
@@ -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"}
|
package/build/src/Emitter.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventEmitter } from
|
|
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(
|
|
14
|
+
const b = super.emit("*", type, ...args);
|
|
15
15
|
return a && b;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=Emitter.
|
|
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(
|
|
60
|
+
return cached({ maxSize: 10 ** 5, getKey: xs => xs.join(":"), getValue });
|
|
60
61
|
}
|
|
61
|
-
//# sourceMappingURL=LRUCache.
|
|
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"}
|
package/build/src/Tools.d.ts
CHANGED
|
@@ -142,14 +142,14 @@ export declare const mapVals: <V, U>(f: (v: V) => U, x: Record<string, V>) => Re
|
|
|
142
142
|
* Merges two objects, with left object taking precedence
|
|
143
143
|
* @param a - Left object
|
|
144
144
|
* @param b - Right object
|
|
145
|
-
* @returns Merged object with a
|
|
145
|
+
* @returns Merged object with a"s properties overriding b"s
|
|
146
146
|
*/
|
|
147
147
|
export declare const mergeLeft: <T extends Record<string, any>>(a: T, b: T) => T;
|
|
148
148
|
/**
|
|
149
149
|
* Merges two objects, with right object taking precedence
|
|
150
150
|
* @param a - Left object
|
|
151
151
|
* @param b - Right object
|
|
152
|
-
* @returns Merged object with b
|
|
152
|
+
* @returns Merged object with b"s properties overriding a"s
|
|
153
153
|
*/
|
|
154
154
|
export declare const mergeRight: <T extends Record<string, any>>(a: T, b: T) => T;
|
|
155
155
|
/**
|
|
@@ -288,7 +288,7 @@ export declare const setJson: (k: string, v: any) => void;
|
|
|
288
288
|
* @param onError - Optional error handler
|
|
289
289
|
* @returns Function result or undefined if error
|
|
290
290
|
*/
|
|
291
|
-
export declare const tryCatch: <T>(f: () => T, onError?: (
|
|
291
|
+
export declare const tryCatch: <T>(f: () => T, onError?: (e: Error) => void) => T | undefined;
|
|
292
292
|
/**
|
|
293
293
|
* Truncates string to length, breaking at word boundaries
|
|
294
294
|
* @param s - String to truncate
|
|
@@ -353,7 +353,7 @@ export declare const pluck: <T>(k: string, xs: Record<string, unknown>[]) => T[]
|
|
|
353
353
|
* @param pairs - Array of [key, value] tuples
|
|
354
354
|
* @returns Object with keys and values from pairs
|
|
355
355
|
*/
|
|
356
|
-
export declare const fromPairs: <T>(pairs: [k?: string
|
|
356
|
+
export declare const fromPairs: <T>(pairs: [k?: string, v?: T, ...args: unknown[]][]) => Record<string, T>;
|
|
357
357
|
/**
|
|
358
358
|
* Flattens array of arrays into single array
|
|
359
359
|
* @param xs - Array of arrays to flatten
|
|
@@ -177,16 +177,22 @@ 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
|
|
180
|
+
* @returns Merged object with a"s properties overriding b"s
|
|
181
181
|
*/
|
|
182
|
-
export const mergeLeft = (a, b) => ({
|
|
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
|
|
190
|
+
* @returns Merged object with b"s properties overriding a"s
|
|
188
191
|
*/
|
|
189
|
-
export const mergeRight = (a, b) => ({
|
|
192
|
+
export const mergeRight = (a, b) => ({
|
|
193
|
+
...a,
|
|
194
|
+
...b,
|
|
195
|
+
});
|
|
190
196
|
/**
|
|
191
197
|
* Checks if a number is between two values (exclusive)
|
|
192
198
|
* @param bounds - Lower and upper bounds
|
|
@@ -224,7 +230,9 @@ export const stripProtocol = (url) => url.replace(/.*:\/\//, "");
|
|
|
224
230
|
* @param url - URL to format
|
|
225
231
|
* @returns Formatted URL
|
|
226
232
|
*/
|
|
227
|
-
export const displayUrl = (url) => stripProtocol(url)
|
|
233
|
+
export const displayUrl = (url) => stripProtocol(url)
|
|
234
|
+
.replace(/^(www\.)?/i, "")
|
|
235
|
+
.replace(/\/$/, "");
|
|
228
236
|
/**
|
|
229
237
|
* Extracts and formats domain from URL
|
|
230
238
|
* @param url - URL to process
|
|
@@ -242,7 +250,7 @@ export const sleep = (t) => new Promise(resolve => setTimeout(resolve, t));
|
|
|
242
250
|
* @param xs - Arrays to concatenate
|
|
243
251
|
* @returns Combined array
|
|
244
252
|
*/
|
|
245
|
-
export const concat = (...xs) => xs.flatMap(x => isNil(x) ? [] : x);
|
|
253
|
+
export const concat = (...xs) => xs.flatMap(x => (isNil(x) ? [] : x));
|
|
246
254
|
/**
|
|
247
255
|
* Appends element to array
|
|
248
256
|
* @param x - Element to append
|
|
@@ -297,7 +305,7 @@ export const without = (a, b) => b.filter(x => !a.includes(x));
|
|
|
297
305
|
* @param xs - Source array
|
|
298
306
|
* @returns New array with element added or removed
|
|
299
307
|
*/
|
|
300
|
-
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));
|
|
301
309
|
/**
|
|
302
310
|
* Constrains number between min and max values
|
|
303
311
|
* @param bounds - Minimum and maximum allowed values
|
|
@@ -342,12 +350,12 @@ export const tryCatch = (f, onError) => {
|
|
|
342
350
|
try {
|
|
343
351
|
const r = f();
|
|
344
352
|
if (r instanceof Promise) {
|
|
345
|
-
r.catch(e => onError
|
|
353
|
+
r.catch(e => onError?.(e));
|
|
346
354
|
}
|
|
347
355
|
return r;
|
|
348
356
|
}
|
|
349
357
|
catch (e) {
|
|
350
|
-
onError
|
|
358
|
+
onError?.(e);
|
|
351
359
|
}
|
|
352
360
|
return undefined;
|
|
353
361
|
};
|
|
@@ -358,12 +366,12 @@ export const tryCatch = (f, onError) => {
|
|
|
358
366
|
* @param suffix - String to append if truncated
|
|
359
367
|
* @returns Truncated string
|
|
360
368
|
*/
|
|
361
|
-
export const ellipsize = (s, l, suffix =
|
|
369
|
+
export const ellipsize = (s, l, suffix = "...") => {
|
|
362
370
|
if (s.length < l * 1.1) {
|
|
363
371
|
return s;
|
|
364
372
|
}
|
|
365
|
-
while (s.length > l && s.includes(
|
|
366
|
-
s = s.split(
|
|
373
|
+
while (s.length > l && s.includes(" ")) {
|
|
374
|
+
s = s.split(" ").slice(0, -1).join(" ");
|
|
367
375
|
}
|
|
368
376
|
return s + suffix;
|
|
369
377
|
};
|
|
@@ -459,13 +467,13 @@ export const insert = (n, x, xs) => [...xs.slice(0, n), x, ...xs.slice(n)];
|
|
|
459
467
|
/** Returns random element from array */
|
|
460
468
|
export const choice = (xs) => xs[Math.floor(xs.length * Math.random())];
|
|
461
469
|
/** Returns shuffled copy of iterable */
|
|
462
|
-
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));
|
|
463
471
|
/** Returns n random elements from array */
|
|
464
472
|
export const sample = (n, xs) => shuffle(xs).slice(0, n);
|
|
465
473
|
/** Checks if value is iterable */
|
|
466
474
|
export const isIterable = (x) => Symbol.iterator in Object(x);
|
|
467
475
|
/** Ensures value is iterable by wrapping in array if needed */
|
|
468
|
-
export const toIterable = (x) => isIterable(x) ? x : [x];
|
|
476
|
+
export const toIterable = (x) => (isIterable(x) ? x : [x]);
|
|
469
477
|
/** Ensures value is array by wrapping if needed */
|
|
470
478
|
export const ensurePlural = (x) => (x instanceof Array ? x : [x]);
|
|
471
479
|
/** Converts string or number to number */
|
|
@@ -890,4 +898,4 @@ export const hexToBech32 = (prefix, hex) => bech32.encode(prefix, bech32.toWords
|
|
|
890
898
|
* @returns Hex encoded string
|
|
891
899
|
*/
|
|
892
900
|
export const bech32ToHex = (b32) => utf8.encode(bech32.fromWords(bech32.decode(b32, false).words));
|
|
893
|
-
//# sourceMappingURL=Tools.
|
|
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":"AAAA,8CAA8C;AAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;AAchC;;;GAGG;AACH,MAAM,OAAO,MAAM;IAMI;IALrB,MAAM,GAAQ,EAAE,CAAA;IAChB,QAAQ,GAAoC,IAAI,GAAG,EAAE,CAAA;IACrD,QAAQ,CAAoB;IAC5B,OAAO,GAAG,KAAK,CAAA;IAEf,YAAqB,OAAsB,EAAE;QAAxB,SAAI,GAAJ,IAAI,CAAoB;IAAG,CAAC;IAEjD,OAAO,GAAG,KAAK,IAAI,EAAE;QACnB,MAAM,EAAC,SAAS,GAAG,EAAE,EAAC,GAAG,IAAI,CAAC,IAAI,CAAA;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAK;YACP,CAAC;YAED,8DAA8D;YAC9D,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAE1C,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnD,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;oBACxB,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAClB,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACrB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBAEnC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wBACjD,IAAI,CAAC;4BACH,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;wBACxB,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;QACzB,IAAI,CAAC,YAAY,EAAE,CAAA;IACrB,CAAC,CAAA;IAED,YAAY,GAAG,GAAG,EAAE;QAClB,MAAM,EAAC,KAAK,GAAG,EAAE,EAAC,GAAG,IAAI,CAAC,IAAI,CAAA;QAE9B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAsB,CAAA;QACtE,CAAC;IACH,CAAC,CAAA;IAED;;;OAGG;IACH,IAAI,GAAG,CAAC,OAAU,EAAE,EAAE;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,IAAI,CAAC,YAAY,EAAE,CAAA;IACrB,CAAC,CAAA;IAED;;;;OAIG;IACH,UAAU,GAAG,CAAC,CAAM,EAAE,OAA6B,EAAE,EAAE;QACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IACpE,CAAC,CAAA;IAED;;;OAGG;IACH,gBAAgB,GAAG,CAAC,OAA6B,EAAE,EAAE;QACnD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,kDAAkD;IAClD,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,gCAAgC;IAChC,KAAK;QACH,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;IAC3B,CAAC;IAED,iCAAiC;IACjC,MAAM;QACJ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,YAAY,EAAE,CAAA;IACrB,CAAC;CACF"}
|
package/build/src/index.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export { default as normalizeUrl } from
|
|
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
|
|
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 =
|
|
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
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
|
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.
|
|
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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"}
|