foxts 3.3.0 → 3.3.2

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.
@@ -0,0 +1,5 @@
1
+ declare function createCompareSource<T>(callback?: (a: T, b: T) => boolean): (source: T[], target: Iterable<T> | AsyncIterable<T>) => Promise<boolean>;
2
+ declare function compareSource<T>(source: T[], target: Iterable<T> | AsyncIterable<T>, callback?: (a: T, b: T) => boolean): Promise<boolean>;
3
+ declare function fileEqualWithCommentComparator(lineA: string, lineB: string): boolean;
4
+
5
+ export { compareSource, createCompareSource, fileEqualWithCommentComparator };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./guard.js");function t(r=Object.is){return async function(t,n){if(0===t.length)return!1;let o=t.length,a=-1,i=Symbol.asyncIterator in n?n[Symbol.asyncIterator]():Symbol.iterator in n?n[Symbol.iterator]():null;e.invariant(i,"source must be iterable or async iterable");let l=await i.next();if(!l.done){let e=l.value;do{if(++a===o||!r(t[a],e))return!1;e=(l=await i.next()).value}while(!l.done)}return a===o-1}}async function r(e,n,o=Object.is){return t(o)(e,n)}exports.compareSource=r,exports.createCompareSource=t,exports.fileEqualWithCommentComparator=function(e,t){if(0===e.length)return 0===t.length;let r=e.codePointAt(0);return r===t.codePointAt(0)&&(35===r||33===r||e===t)};
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0});const e=/["&'<>]/;exports.escapeHTML=function(t){let a=e.exec(t);if(null===a)return t;let c="",r="",s=a.index,l=0;for(let e=t.length;s<e;s++){switch(t.charCodeAt(s)){case 34:c="&quot;";break;case 38:c="&amp;";break;case 39:c="&#39;";break;case 60:c="&lt;";break;case 62:c="&gt;";break;default:continue}l!==s&&(r+=t.slice(l,s)),l=s+1,r+=c}return l===s?r:r+t.slice(l,s)};
1
+ Object.defineProperty(exports,"__esModule",{value:!0});const e=/["&'<>]/;exports.escapeHTML=function(t){let a=e.exec(t);if(null===a)return t;let c="",r="",s=a.index,l=0,n=t.length;for(;s<n;s++){switch(t.charCodeAt(s)){case 34:c="&quot;";break;case 38:c="&amp;";break;case 39:c="&#39;";break;case 60:c="&lt;";break;case 62:c="&gt;";break;default:continue}l!==s&&(r+=t.slice(l,s)),r+=c,l=s+1}return l!==s&&(r+=t.slice(l,s)),r};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * A 65% faster join than the native `Array.prototype.join` for string arrays and string separator.
2
+ * A 200% faster join than the native `Array.prototype.join` for string arrays and string separator.
3
3
  */
4
4
  declare function fastStringArrayJoin(arr: string[], sep: string): string;
5
5
 
@@ -0,0 +1,5 @@
1
+ declare function createCompareSource<T>(callback?: (a: T, b: T) => boolean): (source: T[], target: Iterable<T> | AsyncIterable<T>) => Promise<boolean>;
2
+ declare function compareSource<T>(source: T[], target: Iterable<T> | AsyncIterable<T>, callback?: (a: T, b: T) => boolean): Promise<boolean>;
3
+ declare function fileEqualWithCommentComparator(lineA: string, lineB: string): boolean;
4
+
5
+ export { compareSource, createCompareSource, fileEqualWithCommentComparator };
@@ -0,0 +1 @@
1
+ import{invariant as t}from"./guard.mjs";function e(r=Object.is){return async function(e,n){if(0===e.length)return!1;let o=e.length,a=-1,i=Symbol.asyncIterator in n?n[Symbol.asyncIterator]():Symbol.iterator in n?n[Symbol.iterator]():null;t(i,"source must be iterable or async iterable");let l=await i.next();if(!l.done){let t=l.value;do{if(++a===o||!r(e[a],t))return!1;t=(l=await i.next()).value}while(!l.done)}return a===o-1}}async function r(t,n,o=Object.is){return e(o)(t,n)}function n(t,e){if(0===t.length)return 0===e.length;let r=t.codePointAt(0);return r===e.codePointAt(0)&&(35===r||33===r||t===e)}export{r as compareSource,e as createCompareSource,n as fileEqualWithCommentComparator};
@@ -1 +1 @@
1
- let e=/["&'<>]/;function t(t){let a=e.exec(t);if(null===a)return t;let c="",r="",l=a.index,n=0;for(let e=t.length;l<e;l++){switch(t.charCodeAt(l)){case 34:c="&quot;";break;case 38:c="&amp;";break;case 39:c="&#39;";break;case 60:c="&lt;";break;case 62:c="&gt;";break;default:continue}n!==l&&(r+=t.slice(n,l)),n=l+1,r+=c}return n===l?r:r+t.slice(n,l)}export{t as escapeHTML};
1
+ let e=/["&'<>]/;function t(t){let a=e.exec(t);if(null===a)return t;let c="",r="",l=a.index,n=0,s=t.length;for(;l<s;l++){switch(t.charCodeAt(l)){case 34:c="&quot;";break;case 38:c="&amp;";break;case 39:c="&#39;";break;case 60:c="&lt;";break;case 62:c="&gt;";break;default:continue}n!==l&&(r+=t.slice(n,l)),r+=c,n=l+1}return n!==l&&(r+=t.slice(n,l)),r}export{t as escapeHTML};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * A 65% faster join than the native `Array.prototype.join` for string arrays and string separator.
2
+ * A 200% faster join than the native `Array.prototype.join` for string arrays and string separator.
3
3
  */
4
4
  declare function fastStringArrayJoin(arr: string[], sep: string): string;
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foxts",
3
- "version": "3.3.0",
3
+ "version": "3.3.2",
4
4
  "description": "Opinionated collection of common TypeScript utils by @SukkaW",
5
5
  "repository": {
6
6
  "url": "https://github.com/SukkaW/foxts"
@@ -29,6 +29,16 @@
29
29
  "default": "./dist/cjs/ahocorasick.js"
30
30
  }
31
31
  },
32
+ "./append-array-in-place": {
33
+ "import": {
34
+ "types": "./dist/es/append-array-in-place.d.mts",
35
+ "default": "./dist/es/append-array-in-place.mjs"
36
+ },
37
+ "require": {
38
+ "types": "./dist/cjs/append-array-in-place.d.ts",
39
+ "default": "./dist/cjs/append-array-in-place.js"
40
+ }
41
+ },
32
42
  "./append-set-elements-to-array": {
33
43
  "import": {
34
44
  "types": "./dist/es/append-set-elements-to-array.d.mts",
@@ -39,54 +49,54 @@
39
49
  "default": "./dist/cjs/append-set-elements-to-array.js"
40
50
  }
41
51
  },
42
- "./bitwise": {
52
+ "./compare-source": {
43
53
  "import": {
44
- "types": "./dist/es/bitwise.d.mts",
45
- "default": "./dist/es/bitwise.mjs"
54
+ "types": "./dist/es/compare-source.d.mts",
55
+ "default": "./dist/es/compare-source.mjs"
46
56
  },
47
57
  "require": {
48
- "types": "./dist/cjs/bitwise.d.ts",
49
- "default": "./dist/cjs/bitwise.js"
58
+ "types": "./dist/cjs/compare-source.d.ts",
59
+ "default": "./dist/cjs/compare-source.js"
50
60
  }
51
61
  },
52
- "./detect-eol": {
62
+ "./async-write-to-stream": {
53
63
  "import": {
54
- "types": "./dist/es/detect-eol.d.mts",
55
- "default": "./dist/es/detect-eol.mjs"
64
+ "types": "./dist/es/async-write-to-stream.d.mts",
65
+ "default": "./dist/es/async-write-to-stream.mjs"
56
66
  },
57
67
  "require": {
58
- "types": "./dist/cjs/detect-eol.d.ts",
59
- "default": "./dist/cjs/detect-eol.js"
68
+ "types": "./dist/cjs/async-write-to-stream.d.ts",
69
+ "default": "./dist/cjs/async-write-to-stream.js"
60
70
  }
61
71
  },
62
- "./create-fixed-array": {
72
+ "./bitwise": {
63
73
  "import": {
64
- "types": "./dist/es/create-fixed-array.d.mts",
65
- "default": "./dist/es/create-fixed-array.mjs"
74
+ "types": "./dist/es/bitwise.d.mts",
75
+ "default": "./dist/es/bitwise.mjs"
66
76
  },
67
77
  "require": {
68
- "types": "./dist/cjs/create-fixed-array.d.ts",
69
- "default": "./dist/cjs/create-fixed-array.js"
78
+ "types": "./dist/cjs/bitwise.d.ts",
79
+ "default": "./dist/cjs/bitwise.js"
70
80
  }
71
81
  },
72
- "./async-write-to-stream": {
82
+ "./create-fixed-array": {
73
83
  "import": {
74
- "types": "./dist/es/async-write-to-stream.d.mts",
75
- "default": "./dist/es/async-write-to-stream.mjs"
84
+ "types": "./dist/es/create-fixed-array.d.mts",
85
+ "default": "./dist/es/create-fixed-array.mjs"
76
86
  },
77
87
  "require": {
78
- "types": "./dist/cjs/async-write-to-stream.d.ts",
79
- "default": "./dist/cjs/async-write-to-stream.js"
88
+ "types": "./dist/cjs/create-fixed-array.d.ts",
89
+ "default": "./dist/cjs/create-fixed-array.js"
80
90
  }
81
91
  },
82
- "./escape-html": {
92
+ "./detect-eol": {
83
93
  "import": {
84
- "types": "./dist/es/escape-html.d.mts",
85
- "default": "./dist/es/escape-html.mjs"
94
+ "types": "./dist/es/detect-eol.d.mts",
95
+ "default": "./dist/es/detect-eol.mjs"
86
96
  },
87
97
  "require": {
88
- "types": "./dist/cjs/escape-html.d.ts",
89
- "default": "./dist/cjs/escape-html.js"
98
+ "types": "./dist/cjs/detect-eol.d.ts",
99
+ "default": "./dist/cjs/detect-eol.js"
90
100
  }
91
101
  },
92
102
  "./escape-string-regexp": {
@@ -99,6 +109,16 @@
99
109
  "default": "./dist/cjs/escape-string-regexp.js"
100
110
  }
101
111
  },
112
+ "./escape-html": {
113
+ "import": {
114
+ "types": "./dist/es/escape-html.d.mts",
115
+ "default": "./dist/es/escape-html.mjs"
116
+ },
117
+ "require": {
118
+ "types": "./dist/cjs/escape-html.d.ts",
119
+ "default": "./dist/cjs/escape-html.js"
120
+ }
121
+ },
102
122
  "./fast-string-array-join": {
103
123
  "import": {
104
124
  "types": "./dist/es/fast-string-array-join.d.mts",
@@ -239,16 +259,6 @@
239
259
  "default": "./dist/cjs/repool.js"
240
260
  }
241
261
  },
242
- "./retrie": {
243
- "import": {
244
- "types": "./dist/es/retrie.d.mts",
245
- "default": "./dist/es/retrie.mjs"
246
- },
247
- "require": {
248
- "types": "./dist/cjs/retrie.d.ts",
249
- "default": "./dist/cjs/retrie.js"
250
- }
251
- },
252
262
  "./serialized-memo": {
253
263
  "import": {
254
264
  "types": "./dist/es/serialized-memo.d.mts",
@@ -259,24 +269,24 @@
259
269
  "default": "./dist/cjs/serialized-memo.js"
260
270
  }
261
271
  },
262
- "./tagged": {
272
+ "./simple-string-hash": {
263
273
  "import": {
264
- "types": "./dist/es/tagged.d.mts",
265
- "default": "./dist/es/tagged.mjs"
274
+ "types": "./dist/es/simple-string-hash.d.mts",
275
+ "default": "./dist/es/simple-string-hash.mjs"
266
276
  },
267
277
  "require": {
268
- "types": "./dist/cjs/tagged.d.ts",
269
- "default": "./dist/cjs/tagged.js"
278
+ "types": "./dist/cjs/simple-string-hash.d.ts",
279
+ "default": "./dist/cjs/simple-string-hash.js"
270
280
  }
271
281
  },
272
- "./wait": {
282
+ "./retrie": {
273
283
  "import": {
274
- "types": "./dist/es/wait.d.mts",
275
- "default": "./dist/es/wait.mjs"
284
+ "types": "./dist/es/retrie.d.mts",
285
+ "default": "./dist/es/retrie.mjs"
276
286
  },
277
287
  "require": {
278
- "types": "./dist/cjs/wait.d.ts",
279
- "default": "./dist/cjs/wait.js"
288
+ "types": "./dist/cjs/retrie.d.ts",
289
+ "default": "./dist/cjs/retrie.js"
280
290
  }
281
291
  },
282
292
  "./text-line-stream": {
@@ -289,24 +299,24 @@
289
299
  "default": "./dist/cjs/text-line-stream.js"
290
300
  }
291
301
  },
292
- "./simple-string-hash": {
302
+ "./tagged": {
293
303
  "import": {
294
- "types": "./dist/es/simple-string-hash.d.mts",
295
- "default": "./dist/es/simple-string-hash.mjs"
304
+ "types": "./dist/es/tagged.d.mts",
305
+ "default": "./dist/es/tagged.mjs"
296
306
  },
297
307
  "require": {
298
- "types": "./dist/cjs/simple-string-hash.d.ts",
299
- "default": "./dist/cjs/simple-string-hash.js"
308
+ "types": "./dist/cjs/tagged.d.ts",
309
+ "default": "./dist/cjs/tagged.js"
300
310
  }
301
311
  },
302
- "./append-array-in-place": {
312
+ "./wait": {
303
313
  "import": {
304
- "types": "./dist/es/append-array-in-place.d.mts",
305
- "default": "./dist/es/append-array-in-place.mjs"
314
+ "types": "./dist/es/wait.d.mts",
315
+ "default": "./dist/es/wait.mjs"
306
316
  },
307
317
  "require": {
308
- "types": "./dist/cjs/append-array-in-place.d.ts",
309
- "default": "./dist/cjs/append-array-in-place.js"
318
+ "types": "./dist/cjs/wait.d.ts",
319
+ "default": "./dist/cjs/wait.js"
310
320
  }
311
321
  },
312
322
  "./string-join": {
@@ -318,8 +328,7 @@
318
328
  "types": "./dist/cjs/string-join.d.ts",
319
329
  "default": "./dist/cjs/string-join.js"
320
330
  }
321
- },
322
- "./compare-source": {}
331
+ }
323
332
  },
324
333
  "sideEffects": false,
325
334
  "keywords": [
@@ -330,32 +339,33 @@
330
339
  "author": "SukkaW <https://skk.moe>",
331
340
  "license": "MIT",
332
341
  "devDependencies": {
333
- "@eslint-sukka/node": "^6.19.0",
342
+ "@eslint-sukka/node": "^6.20.0",
334
343
  "@istanbuljs/nyc-config-typescript": "^1.0.2",
335
344
  "@mitata/counters": "^0.0.8",
336
345
  "@monyone/aho-corasick": "^1.0.4",
346
+ "@napi-rs/escape": "^1.0.1",
337
347
  "@package-json/types": "^0.0.11",
338
348
  "@swc-node/register": "^1.10.10",
339
- "@swc/core": "^1.11.24",
349
+ "@swc/core": "^1.11.29",
340
350
  "@types/escape-html": "^1.0.4",
341
351
  "@types/escape-regexp": "^0.0.3",
342
352
  "@types/html-escaper": "^3.0.4",
343
353
  "@types/lodash.escape": "^4.0.9",
344
354
  "@types/lodash.escaperegexp": "^4.1.9",
345
355
  "@types/mocha": "^10.0.10",
346
- "@types/node": "^22.15.17",
356
+ "@types/node": "^22.15.21",
347
357
  "@types/regex-escape": "^3.4.1",
348
358
  "@types/sinon": "^17.0.4",
349
- "bumpp": "^10.1.0",
350
- "bunchee": "^6.5.1",
359
+ "bumpp": "^10.1.1",
360
+ "bunchee": "^6.5.2",
351
361
  "devalue": "^5.1.1",
352
362
  "escape-goat": "^3.0.0",
353
363
  "escape-html": "^1.0.3",
354
364
  "escape-regexp": "^0.0.1",
355
365
  "escape-string-regexp": "4",
356
- "eslint": "^9.26.0",
357
- "eslint-config-sukka": "^6.19.0",
358
- "eslint-formatter-sukka": "^6.19.0",
366
+ "eslint": "^9.27.0",
367
+ "eslint-config-sukka": "^6.20.0",
368
+ "eslint-formatter-sukka": "^6.20.0",
359
369
  "expect": "^29.7.0",
360
370
  "fastscan": "^1.0.6",
361
371
  "fdir": "^6.4.4",
@@ -364,7 +374,7 @@
364
374
  "lodash.escape": "^4.0.1",
365
375
  "lodash.escaperegexp": "^4.1.2",
366
376
  "mitata": "^1.0.34",
367
- "mocha": "^11.2.2",
377
+ "mocha": "^11.4.0",
368
378
  "modern-ahocorasick": "^2.0.4",
369
379
  "nyc": "^17.1.0",
370
380
  "regex-escape": "^3.4.11",