foxts 1.6.0 → 2.0.1

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 (230) hide show
  1. package/dist/cjs/add-array-elements-to-set.js +2 -0
  2. package/dist/cjs/add-array-elements-to-set.js.map +1 -0
  3. package/dist/cjs/ahocorasick.js +2 -0
  4. package/dist/cjs/ahocorasick.js.map +1 -0
  5. package/dist/cjs/append-set-elements-to-array.js +2 -0
  6. package/dist/cjs/append-set-elements-to-array.js.map +1 -0
  7. package/dist/cjs/async-write-to-stream.js +2 -0
  8. package/dist/cjs/async-write-to-stream.js.map +1 -0
  9. package/dist/cjs/bitwise.js +2 -0
  10. package/dist/cjs/bitwise.js.map +1 -0
  11. package/dist/cjs/create-fixed-array.js +2 -0
  12. package/dist/cjs/create-fixed-array.js.map +1 -0
  13. package/dist/cjs/detect-eol.js +2 -0
  14. package/dist/cjs/detect-eol.js.map +1 -0
  15. package/dist/cjs/escape-html.js +2 -0
  16. package/dist/cjs/escape-html.js.map +1 -0
  17. package/dist/cjs/escape-string-regexp.d.ts +7 -0
  18. package/dist/cjs/escape-string-regexp.js +2 -0
  19. package/dist/cjs/escape-string-regexp.js.map +1 -0
  20. package/dist/cjs/fast-string-array-join.js +2 -0
  21. package/dist/cjs/fast-string-array-join.js.map +1 -0
  22. package/dist/cjs/fifo.js +2 -0
  23. package/dist/cjs/fifo.js.map +1 -0
  24. package/dist/cjs/fnv1a.js +2 -0
  25. package/dist/cjs/fnv1a.js.map +1 -0
  26. package/dist/cjs/fnv1a52.js +2 -0
  27. package/dist/cjs/fnv1a52.js.map +1 -0
  28. package/dist/cjs/guard.js +2 -0
  29. package/dist/cjs/guard.js.map +1 -0
  30. package/{headers-to-object/index.d.ts → dist/cjs/headers-to-object.d.ts} +1 -1
  31. package/dist/cjs/headers-to-object.js +2 -0
  32. package/dist/cjs/headers-to-object.js.map +1 -0
  33. package/dist/cjs/identity.js +2 -0
  34. package/dist/cjs/identity.js.map +1 -0
  35. package/dist/cjs/is-probably-ip.js +2 -0
  36. package/dist/cjs/is-probably-ip.js.map +1 -0
  37. package/dist/cjs/merge-headers.js +2 -0
  38. package/dist/cjs/merge-headers.js.map +1 -0
  39. package/dist/cjs/noop.js +2 -0
  40. package/dist/cjs/noop.js.map +1 -0
  41. package/dist/cjs/once.js +2 -0
  42. package/dist/cjs/once.js.map +1 -0
  43. package/{pick-random/index.d.ts → dist/cjs/pick-random.d.ts} +1 -2
  44. package/dist/cjs/pick-random.js +2 -0
  45. package/dist/cjs/pick-random.js.map +1 -0
  46. package/{random-int/index.d.ts → dist/cjs/random-int.d.ts} +1 -2
  47. package/dist/cjs/random-int.js +2 -0
  48. package/dist/cjs/random-int.js.map +1 -0
  49. package/dist/cjs/repool.js +2 -0
  50. package/dist/cjs/repool.js.map +1 -0
  51. package/{retrie/index.d.ts → dist/cjs/retrie.d.ts} +2 -2
  52. package/dist/cjs/retrie.js +2 -0
  53. package/dist/cjs/retrie.js.map +1 -0
  54. package/dist/cjs/serialized-memo.js +2 -0
  55. package/dist/cjs/serialized-memo.js.map +1 -0
  56. package/dist/cjs/simple-string-hash.js +2 -0
  57. package/dist/cjs/simple-string-hash.js.map +1 -0
  58. package/dist/cjs/tagged.js +2 -0
  59. package/dist/cjs/tagged.js.map +1 -0
  60. package/dist/cjs/text-line-stream.d.ts +22 -0
  61. package/dist/cjs/text-line-stream.js +2 -0
  62. package/dist/cjs/text-line-stream.js.map +1 -0
  63. package/dist/cjs/wait.js +2 -0
  64. package/dist/cjs/wait.js.map +1 -0
  65. package/dist/es/add-array-elements-to-set.d.mts +3 -0
  66. package/dist/es/add-array-elements-to-set.mjs +2 -0
  67. package/dist/es/add-array-elements-to-set.mjs.map +1 -0
  68. package/dist/es/ahocorasick.d.mts +3 -0
  69. package/dist/es/ahocorasick.mjs +2 -0
  70. package/dist/es/ahocorasick.mjs.map +1 -0
  71. package/dist/es/append-set-elements-to-array.d.mts +3 -0
  72. package/dist/es/append-set-elements-to-array.mjs +2 -0
  73. package/dist/es/append-set-elements-to-array.mjs.map +1 -0
  74. package/dist/es/async-write-to-stream.d.mts +18 -0
  75. package/dist/es/async-write-to-stream.mjs +2 -0
  76. package/dist/es/async-write-to-stream.mjs.map +1 -0
  77. package/dist/es/bitwise.d.mts +30 -0
  78. package/dist/es/bitwise.mjs +2 -0
  79. package/dist/es/bitwise.mjs.map +1 -0
  80. package/dist/es/create-fixed-array.d.mts +6 -0
  81. package/dist/es/create-fixed-array.mjs +2 -0
  82. package/dist/es/create-fixed-array.mjs.map +1 -0
  83. package/dist/es/detect-eol.d.mts +3 -0
  84. package/dist/es/detect-eol.mjs +2 -0
  85. package/dist/es/detect-eol.mjs.map +1 -0
  86. package/dist/es/escape-html.d.mts +3 -0
  87. package/dist/es/escape-html.mjs +2 -0
  88. package/dist/es/escape-html.mjs.map +1 -0
  89. package/dist/es/escape-string-regexp.d.mts +7 -0
  90. package/dist/es/escape-string-regexp.mjs +2 -0
  91. package/dist/es/escape-string-regexp.mjs.map +1 -0
  92. package/dist/es/fast-string-array-join.d.mts +6 -0
  93. package/dist/es/fast-string-array-join.mjs +2 -0
  94. package/dist/es/fast-string-array-join.mjs.map +1 -0
  95. package/dist/es/fifo.d.mts +18 -0
  96. package/dist/es/fifo.mjs +2 -0
  97. package/dist/es/fifo.mjs.map +1 -0
  98. package/dist/es/fnv1a.d.mts +3 -0
  99. package/{fnv1a/index.mjs → dist/es/fnv1a.mjs} +2 -1
  100. package/dist/es/fnv1a.mjs.map +1 -0
  101. package/dist/es/fnv1a52.d.mts +12 -0
  102. package/dist/es/fnv1a52.mjs +2 -0
  103. package/dist/es/fnv1a52.mjs.map +1 -0
  104. package/dist/es/guard.d.mts +20 -0
  105. package/dist/es/guard.mjs +2 -0
  106. package/dist/es/guard.mjs.map +1 -0
  107. package/dist/es/headers-to-object.d.mts +5 -0
  108. package/dist/es/headers-to-object.mjs +2 -0
  109. package/dist/es/headers-to-object.mjs.map +1 -0
  110. package/dist/es/identity.d.mts +3 -0
  111. package/dist/es/identity.mjs +2 -0
  112. package/dist/es/identity.mjs.map +1 -0
  113. package/dist/es/is-probably-ip.d.mts +8 -0
  114. package/dist/es/is-probably-ip.mjs +2 -0
  115. package/dist/es/is-probably-ip.mjs.map +1 -0
  116. package/dist/es/merge-headers.d.mts +8 -0
  117. package/dist/es/merge-headers.mjs +2 -0
  118. package/dist/es/merge-headers.mjs.map +1 -0
  119. package/dist/es/noop.d.mts +11 -0
  120. package/dist/es/noop.mjs +2 -0
  121. package/dist/es/noop.mjs.map +1 -0
  122. package/dist/es/once.d.mts +3 -0
  123. package/{once/index.mjs → dist/es/once.mjs} +2 -1
  124. package/dist/es/once.mjs.map +1 -0
  125. package/dist/es/pick-random.d.mts +9 -0
  126. package/dist/es/pick-random.mjs +2 -0
  127. package/dist/es/pick-random.mjs.map +1 -0
  128. package/dist/es/random-int.d.mts +7 -0
  129. package/dist/es/random-int.mjs +2 -0
  130. package/dist/es/random-int.mjs.map +1 -0
  131. package/dist/es/repool.d.mts +18 -0
  132. package/dist/es/repool.mjs +2 -0
  133. package/dist/es/repool.mjs.map +1 -0
  134. package/dist/es/retrie.d.mts +17 -0
  135. package/dist/es/retrie.mjs +2 -0
  136. package/dist/es/retrie.mjs.map +1 -0
  137. package/dist/es/serialized-memo.d.mts +55 -0
  138. package/dist/es/serialized-memo.mjs +2 -0
  139. package/dist/es/serialized-memo.mjs.map +1 -0
  140. package/dist/es/simple-string-hash.d.mts +3 -0
  141. package/dist/es/simple-string-hash.mjs +2 -0
  142. package/dist/es/simple-string-hash.mjs.map +1 -0
  143. package/dist/es/tagged.d.mts +6 -0
  144. package/{tagged/index.mjs → dist/es/tagged.mjs} +2 -1
  145. package/dist/es/tagged.mjs.map +1 -0
  146. package/dist/es/text-line-stream.d.mts +22 -0
  147. package/dist/es/text-line-stream.mjs +2 -0
  148. package/dist/es/text-line-stream.mjs.map +1 -0
  149. package/dist/es/wait.d.mts +4 -0
  150. package/dist/es/wait.mjs +2 -0
  151. package/dist/es/wait.mjs.map +1 -0
  152. package/package.json +257 -182
  153. package/add-array-elements-to-set/index.cjs +0 -1
  154. package/add-array-elements-to-set/index.mjs +0 -1
  155. package/ahocorasick/index.cjs +0 -1
  156. package/ahocorasick/index.mjs +0 -1
  157. package/append-set-elements-to-array/index.cjs +0 -1
  158. package/append-set-elements-to-array/index.mjs +0 -1
  159. package/async-write-to-stream/index.cjs +0 -1
  160. package/async-write-to-stream/index.mjs +0 -1
  161. package/bitwise/index.cjs +0 -1
  162. package/bitwise/index.mjs +0 -1
  163. package/create-fixed-array/index.cjs +0 -1
  164. package/create-fixed-array/index.mjs +0 -1
  165. package/detect-eol/index.cjs +0 -1
  166. package/detect-eol/index.mjs +0 -1
  167. package/escape-html/index.cjs +0 -1
  168. package/escape-html/index.mjs +0 -1
  169. package/escape-string-regexp/index.cjs +0 -1
  170. package/escape-string-regexp/index.d.ts +0 -3
  171. package/escape-string-regexp/index.mjs +0 -1
  172. package/fast-string-array-join/index.cjs +0 -1
  173. package/fast-string-array-join/index.mjs +0 -1
  174. package/fifo/index.cjs +0 -1
  175. package/fifo/index.mjs +0 -1
  176. package/fnv1a/index.cjs +0 -1
  177. package/fnv1a52/index.cjs +0 -1
  178. package/fnv1a52/index.mjs +0 -1
  179. package/guard/index.cjs +0 -1
  180. package/guard/index.mjs +0 -1
  181. package/headers-to-object/index.cjs +0 -1
  182. package/headers-to-object/index.mjs +0 -1
  183. package/identity/index.cjs +0 -1
  184. package/identity/index.mjs +0 -1
  185. package/is-probably-ip/index.cjs +0 -1
  186. package/is-probably-ip/index.mjs +0 -1
  187. package/merge-headers/index.cjs +0 -1
  188. package/merge-headers/index.mjs +0 -1
  189. package/noop/index.cjs +0 -1
  190. package/noop/index.mjs +0 -1
  191. package/once/index.cjs +0 -1
  192. package/pick-random/index.cjs +0 -1
  193. package/pick-random/index.mjs +0 -1
  194. package/random-int/index.cjs +0 -1
  195. package/random-int/index.mjs +0 -1
  196. package/repool/index.cjs +0 -1
  197. package/repool/index.mjs +0 -1
  198. package/retrie/index.cjs +0 -1
  199. package/retrie/index.mjs +0 -1
  200. package/serialized-memo/index.cjs +0 -5
  201. package/serialized-memo/index.mjs +0 -5
  202. package/simple-string-hash/index.cjs +0 -1
  203. package/simple-string-hash/index.mjs +0 -1
  204. package/tagged/index.cjs +0 -1
  205. package/ts_version_4.8_and_above_is_required.d.ts +0 -0
  206. package/wait/index.cjs +0 -1
  207. package/wait/index.mjs +0 -1
  208. /package/{add-array-elements-to-set/index.d.ts → dist/cjs/add-array-elements-to-set.d.ts} +0 -0
  209. /package/{ahocorasick/index.d.ts → dist/cjs/ahocorasick.d.ts} +0 -0
  210. /package/{append-set-elements-to-array/index.d.ts → dist/cjs/append-set-elements-to-array.d.ts} +0 -0
  211. /package/{async-write-to-stream/index.d.ts → dist/cjs/async-write-to-stream.d.ts} +0 -0
  212. /package/{bitwise/index.d.ts → dist/cjs/bitwise.d.ts} +0 -0
  213. /package/{create-fixed-array/index.d.ts → dist/cjs/create-fixed-array.d.ts} +0 -0
  214. /package/{detect-eol/index.d.ts → dist/cjs/detect-eol.d.ts} +0 -0
  215. /package/{escape-html/index.d.ts → dist/cjs/escape-html.d.ts} +0 -0
  216. /package/{fast-string-array-join/index.d.ts → dist/cjs/fast-string-array-join.d.ts} +0 -0
  217. /package/{fifo/index.d.ts → dist/cjs/fifo.d.ts} +0 -0
  218. /package/{fnv1a/index.d.ts → dist/cjs/fnv1a.d.ts} +0 -0
  219. /package/{fnv1a52/index.d.ts → dist/cjs/fnv1a52.d.ts} +0 -0
  220. /package/{guard/index.d.ts → dist/cjs/guard.d.ts} +0 -0
  221. /package/{identity/index.d.ts → dist/cjs/identity.d.ts} +0 -0
  222. /package/{is-probably-ip/index.d.ts → dist/cjs/is-probably-ip.d.ts} +0 -0
  223. /package/{merge-headers/index.d.ts → dist/cjs/merge-headers.d.ts} +0 -0
  224. /package/{noop/index.d.ts → dist/cjs/noop.d.ts} +0 -0
  225. /package/{once/index.d.ts → dist/cjs/once.d.ts} +0 -0
  226. /package/{repool/index.d.ts → dist/cjs/repool.d.ts} +0 -0
  227. /package/{serialized-memo/index.d.ts → dist/cjs/serialized-memo.d.ts} +0 -0
  228. /package/{simple-string-hash/index.d.ts → dist/cjs/simple-string-hash.d.ts} +0 -0
  229. /package/{tagged/index.d.ts → dist/cjs/tagged.d.ts} +0 -0
  230. /package/{wait/index.d.ts → dist/cjs/wait.d.ts} +0 -0
@@ -0,0 +1,3 @@
1
+ declare function simpleStringHash(payload: string): string;
2
+
3
+ export { simpleStringHash };
@@ -0,0 +1,2 @@
1
+ import{fnv1a52 as t}from"./fnv1a52.mjs";function n(n){return t(n).toString(36)+n.length.toString(36)}export{n as simpleStringHash};
2
+ //# sourceMappingURL=simple-string-hash.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-string-hash.mjs","sources":["../../src/simple-string-hash/index.ts"],"sourcesContent":["import { fnv1a52 } from '../fnv1a52';\n\nexport function simpleStringHash(payload: string): string {\n return fnv1a52(payload).toString(36) + payload.length.toString(36);\n}\n"],"names":["simpleStringHash","payload","fnv1a52","toString","length"],"mappings":"wCAEO,SAASA,EAAiBC,CAAe,EAC9C,OAAOC,EAAQD,GAASE,QAAQ,CAAC,IAAMF,EAAQG,MAAM,CAACD,QAAQ,CAAC,GACjE"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @example import { tagged as html } from 'foxts/tagged';
3
+ */
4
+ declare function tagged(string: TemplateStringsArray, ...values: any[]): string;
5
+
6
+ export { tagged };
@@ -1 +1,2 @@
1
- function e(r,...t){return r.reduce((e,r,n)=>e+r+(t[n]??""),"")}export{e as tagged};
1
+ function e(r,...t){return r.reduce((e,r,n)=>e+r+(t[n]??""),"")}export{e as tagged};
2
+ //# sourceMappingURL=tagged.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagged.mjs","sources":["../../src/tagged/index.ts"],"sourcesContent":["/**\n * @example import { tagged as html } from 'foxts/tagged';\n */\nexport function tagged(string: TemplateStringsArray, ...values: any[]) {\n return string.reduce((acc, str, i) => acc + str + (values[i] ?? ''), '');\n // let result = '';\n // for (let i = 0, len = string.length; i < len; i++) {\n // result += string[i] + (values[i] ?? '');\n // }\n // return result;\n}\n"],"names":["tagged","string","values","reduce","acc","str","i"],"mappings":"AAGO,SAASA,EAAOC,CAA4B,CAAE,GAAGC,CAAa,EACnE,OAAOD,EAAOE,MAAM,CAAC,CAACC,EAAKC,EAAKC,IAAMF,EAAMC,EAAOH,CAAAA,CAAM,CAACI,EAAE,EAAI,EAAC,EAAI,GAMvE"}
@@ -0,0 +1,22 @@
1
+ import { TransformStream } from 'node:stream/web';
2
+
3
+ interface TextLineStreamOptions {
4
+ /** Allow splitting by solo \r */
5
+ allowCR?: boolean;
6
+ skipEmptyLines?: boolean;
7
+ }
8
+ /** Transform a stream into a stream where each chunk is divided by a newline,
9
+ * be it `\n` or `\r\n`. `\r` can be enabled via the `allowCR` option.
10
+ *
11
+ * ```ts
12
+ * const res = await fetch('https://example.com');
13
+ * const lines = res.body!
14
+ * .pipeThrough(new TextDecoderStream())
15
+ * .pipeThrough(new TextLineStream());
16
+ * ```
17
+ */
18
+ declare class TextLineStream extends TransformStream<string, string> {
19
+ constructor({ allowCR, skipEmptyLines }?: TextLineStreamOptions);
20
+ }
21
+
22
+ export { TextLineStream };
@@ -0,0 +1,2 @@
1
+ import{TransformStream as e}from"node:stream/web";import{falseFn as t}from"./noop.mjs";class n extends e{constructor({allowCR:e=!1,skipEmptyLines:n=!1}={}){let r="",l=0,i=e?(e,t,r)=>{let i=e.indexOf("\r",l);if(-1!==i&&i!==e.length-1&&(-1===t||t-1>i)){let t=e.slice(l,i);return n&&0===t.length||r.enqueue(e.slice(l,i)),l=i+1,!0}return!1}:t;super({transform(e,t){for(e=r+e,l=0;;){let r=e.indexOf("\n",l);if(i(e,r,t))continue;if(-1===r)break;let u=r;"\r"===e[r-1]&&u--;let o=e.slice(l,u);if(n&&0===o.length){l=r+1;continue}t.enqueue(o),l=r+1}r=e.slice(l)},flush(t){r.length>0&&(e&&"\r"===r[r.length-1]?t.enqueue(r.slice(0,-1)):t.enqueue(r))}})}}export{n as TextLineStream};
2
+ //# sourceMappingURL=text-line-stream.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-line-stream.mjs","sources":["../../src/text-line-stream/index.ts"],"sourcesContent":["// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.\n// This module is browser compatible.\n// Modified by Sukka (https://skk.moe) to increase compatibility and performance with Bun & Node.js.\n\nimport { TransformStream } from 'node:stream/web';\nimport { falseFn } from '../noop';\n\ninterface TextLineStreamOptions {\n /** Allow splitting by solo \\r */\n allowCR?: boolean,\n\n skipEmptyLines?: boolean\n}\n\n/** Transform a stream into a stream where each chunk is divided by a newline,\n * be it `\\n` or `\\r\\n`. `\\r` can be enabled via the `allowCR` option.\n *\n * ```ts\n * const res = await fetch('https://example.com');\n * const lines = res.body!\n * .pipeThrough(new TextDecoderStream())\n * .pipeThrough(new TextLineStream());\n * ```\n */\nexport class TextLineStream extends TransformStream<string, string> {\n // private __buf = '';\n constructor({\n allowCR = false,\n skipEmptyLines = false\n }: TextLineStreamOptions = {}) {\n let __buf = '';\n let chunkIndex = 0;\n\n const transformOnCR = allowCR\n ? (chunk: string, lfIndex: number, controller: TransformStreamDefaultController<string>) => {\n const crIndex = chunk.indexOf('\\r', chunkIndex);\n\n if (\n crIndex !== -1 && crIndex !== (chunk.length - 1)\n && (lfIndex === -1 || (lfIndex - 1) > crIndex)\n ) {\n const curChunk = chunk.slice(chunkIndex, crIndex);\n\n if (skipEmptyLines && curChunk.length === 0) {\n chunkIndex = crIndex + 1;\n return true;\n }\n\n controller.enqueue(chunk.slice(chunkIndex, crIndex));\n chunkIndex = crIndex + 1;\n\n // continue;\n return true;\n }\n\n return false;\n }\n : falseFn;\n\n super({\n transform(chunk, controller) {\n chunk = __buf + chunk;\n chunkIndex = 0;\n\n for (; ;) {\n const lfIndex = chunk.indexOf('\\n', chunkIndex);\n\n if (transformOnCR(chunk, lfIndex, controller)) {\n continue;\n }\n\n if (lfIndex === -1) {\n // we can no longer find a line break in the chunk, break the current loop\n break;\n }\n\n // enqueue current line, and loop again to find next line\n let crOrLfIndex = lfIndex;\n if (chunk[lfIndex - 1] === '\\r') {\n crOrLfIndex--;\n }\n\n const curChunk = chunk.slice(chunkIndex, crOrLfIndex);\n\n if (skipEmptyLines && curChunk.length === 0) {\n chunkIndex = lfIndex + 1;\n continue;\n }\n\n controller.enqueue(curChunk);\n chunkIndex = lfIndex + 1;\n continue;\n }\n\n __buf = chunk.slice(chunkIndex);\n },\n flush(controller) {\n if (__buf.length > 0) {\n // eslint-disable-next-line sukka/string/prefer-string-starts-ends-with -- performance\n if (allowCR && __buf[__buf.length - 1] === '\\r') {\n controller.enqueue(__buf.slice(0, -1));\n } else {\n controller.enqueue(__buf);\n }\n }\n }\n });\n }\n}\n"],"names":["TextLineStream","TransformStream","constructor","allowCR","skipEmptyLines","__buf","chunkIndex","transformOnCR","chunk","lfIndex","controller","crIndex","indexOf","length","curChunk","slice","enqueue","falseFn","transform","crOrLfIndex","flush"],"mappings":"sFAwBO,OAAMA,UAAuBC,EAElCC,YAAY,CACVC,QAAAA,EAAU,CAAA,CAAK,CACfC,eAAAA,EAAiB,CAAA,CAAK,CACA,CAAG,EAAE,CAAE,CAC7B,IAAIC,EAAQ,GACRC,EAAa,EAEXC,EAAgBJ,EAClB,CAACK,EAAeC,EAAiBC,KACjC,IAAMC,EAAUH,EAAMI,OAAO,CAAC,KAAMN,GAEpC,GACEK,AAAY,KAAZA,GAAkBA,IAAaH,EAAMK,MAAM,CAAG,GAC1CJ,CAAAA,AAAY,KAAZA,GAAmBA,EAAU,EAAKE,CAAM,EAC5C,CACA,IAAMG,EAAWN,EAAMO,KAAK,CAACT,EAAYK,UAErCP,GAAkBU,AAAoB,IAApBA,EAASD,MAAM,EAKrCH,EAAWM,OAAO,CAACR,EAAMO,KAAK,CAACT,EAAYK,IAJzCL,EAAaK,EAAU,EAChB,CAAA,CAQX,CAEA,MAAO,CAAA,GAEPM,EAEJ,KAAK,CAAC,CACJC,UAAUV,CAAK,CAAEE,CAAU,EAIzB,IAHAF,EAAQH,EAAQG,EAChBF,EAAa,IAEH,CACR,IAAMG,EAAUD,EAAMI,OAAO,CAAC,KAAMN,GAEpC,GAAIC,EAAcC,EAAOC,EAASC,GAChC,SAGF,GAAID,AAAY,KAAZA,EAEF,MAIF,IAAIU,EAAcV,CACS,CAAA,OAAvBD,CAAK,CAACC,EAAU,EAAE,EACpBU,IAGF,IAAML,EAAWN,EAAMO,KAAK,CAACT,EAAYa,GAEzC,GAAIf,GAAkBU,AAAoB,IAApBA,EAASD,MAAM,CAAQ,CAC3CP,EAAaG,EAAU,EACvB,QACF,CAEAC,EAAWM,OAAO,CAACF,GACnBR,EAAaG,EAAU,CAEzB,CAEAJ,EAAQG,EAAMO,KAAK,CAACT,EACtB,EACAc,MAAMV,CAAU,EACVL,EAAMQ,MAAM,CAAG,IAEbV,GAAWE,AAA4B,OAA5BA,CAAK,CAACA,EAAMQ,MAAM,CAAG,EAAE,CACpCH,EAAWM,OAAO,CAACX,EAAMU,KAAK,CAAC,EAAG,KAElCL,EAAWM,OAAO,CAACX,GAGzB,CACF,EACF,CACF"}
@@ -0,0 +1,4 @@
1
+ declare function wait(ms: number): Promise<void>;
2
+ declare function waitWithAbort(ms: number, signal: AbortSignal): Promise<void>;
3
+
4
+ export { wait, waitWithAbort };
@@ -0,0 +1,2 @@
1
+ function e(e){return new Promise(t=>{setTimeout(t,e)})}function t(e,t){return new Promise((r,n)=>{if(t.aborted){n(t.reason);return}let o=setTimeout(()=>{t.removeEventListener("abort",i),r()},e);function i(){clearTimeout(o),t.removeEventListener("abort",i),n(t.reason)}t.addEventListener("abort",i)})}export{e as wait,t as waitWithAbort};
2
+ //# sourceMappingURL=wait.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.mjs","sources":["../../src/wait/index.ts"],"sourcesContent":["export function wait(ms: number): Promise<void> {\n return new Promise<void>(resolve => {\n // eslint-disable-next-line sukka/prefer-timer-id -- hang timers\n setTimeout(resolve, ms);\n });\n}\n\nexport function waitWithAbort(ms: number, signal: AbortSignal): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (signal.aborted) {\n reject(signal.reason as Error);\n return;\n }\n\n const timer = setTimeout(() => {\n signal.removeEventListener('abort', onAbort);\n resolve();\n }, ms);\n\n function onAbort() {\n clearTimeout(timer);\n signal.removeEventListener('abort', onAbort);\n reject(signal.reason as Error);\n };\n\n signal.addEventListener('abort', onAbort);\n });\n}\n"],"names":["wait","ms","Promise","resolve","setTimeout","waitWithAbort","signal","reject","aborted","reason","timer","removeEventListener","onAbort","clearTimeout","addEventListener"],"mappings":"AAAO,SAASA,EAAKC,CAAU,EAC7B,OAAO,IAAIC,QAAcC,AAAAA,IAEvBC,WAAWD,EAASF,EACtB,EACF,CAEO,SAASI,EAAcJ,CAAU,CAAEK,CAAmB,EAC3D,OAAO,IAAIJ,QAAc,CAACC,EAASI,KACjC,GAAID,EAAOE,OAAO,CAAE,CAClBD,EAAOD,EAAOG,MAAM,EACpB,MACF,CAEA,IAAMC,EAAQN,WAAW,KACvBE,EAAOK,mBAAmB,CAAC,QAASC,GACpCT,GACCF,EAAAA,GAEH,SAASW,IACPC,aAAaH,GACbJ,EAAOK,mBAAmB,CAAC,QAASC,GACpCL,EAAOD,EAAOG,MAAM,CACtB,CAEAH,EAAOQ,gBAAgB,CAAC,QAASF,EACnC,EACF"}
package/package.json CHANGED
@@ -1,288 +1,363 @@
1
1
  {
2
2
  "name": "foxts",
3
- "version": "1.6.0",
3
+ "version": "2.0.1",
4
4
  "description": "Opinionated collection of common TypeScript utils by @SukkaW",
5
5
  "repository": {
6
6
  "url": "https://github.com/SukkaW/foxts"
7
7
  },
8
- "main": "index.js",
9
- "sideEffects": false,
10
- "keywords": [
11
- "sukka",
12
- "sukkaw",
13
- "utils"
8
+ "files": [
9
+ "dist"
14
10
  ],
15
- "author": "SukkaW <https://skk.moe>",
16
- "license": "MIT",
17
- "dependencies": {
18
- "uncrypto": "^0.1.3"
19
- },
20
- "typeVersions": {
21
- ">=4.8": {
22
- "*": [
23
- "*"
24
- ]
25
- },
26
- "*": {
27
- "*": [
28
- "ts_version_4.8_and_above_is_required.d.ts"
29
- ]
30
- }
31
- },
32
11
  "exports": {
33
- "./package.json": "./package.json",
34
- "./sizes.json": "./sizes.json",
35
12
  "./add-array-elements-to-set": {
36
- "types": "./add-array-elements-to-set/index.d.ts",
37
13
  "import": {
38
- "types": "./add-array-elements-to-set/index.d.ts",
39
- "default": "./add-array-elements-to-set/index.mjs"
14
+ "types": "./dist/es/add-array-elements-to-set.d.mts",
15
+ "default": "./dist/es/add-array-elements-to-set.mjs"
40
16
  },
41
- "require": "./add-array-elements-to-set/index.cjs",
42
- "default": "./add-array-elements-to-set/index.cjs"
17
+ "require": {
18
+ "types": "./dist/cjs/add-array-elements-to-set.d.ts",
19
+ "default": "./dist/cjs/add-array-elements-to-set.js"
20
+ }
43
21
  },
44
22
  "./ahocorasick": {
45
- "types": "./ahocorasick/index.d.ts",
46
23
  "import": {
47
- "types": "./ahocorasick/index.d.ts",
48
- "default": "./ahocorasick/index.mjs"
24
+ "types": "./dist/es/ahocorasick.d.mts",
25
+ "default": "./dist/es/ahocorasick.mjs"
49
26
  },
50
- "require": "./ahocorasick/index.cjs",
51
- "default": "./ahocorasick/index.cjs"
27
+ "require": {
28
+ "types": "./dist/cjs/ahocorasick.d.ts",
29
+ "default": "./dist/cjs/ahocorasick.js"
30
+ }
52
31
  },
53
- "./async-write-to-stream": {
54
- "types": "./async-write-to-stream/index.d.ts",
32
+ "./append-set-elements-to-array": {
55
33
  "import": {
56
- "types": "./async-write-to-stream/index.d.ts",
57
- "default": "./async-write-to-stream/index.mjs"
34
+ "types": "./dist/es/append-set-elements-to-array.d.mts",
35
+ "default": "./dist/es/append-set-elements-to-array.mjs"
58
36
  },
59
- "require": "./async-write-to-stream/index.cjs",
60
- "default": "./async-write-to-stream/index.cjs"
37
+ "require": {
38
+ "types": "./dist/cjs/append-set-elements-to-array.d.ts",
39
+ "default": "./dist/cjs/append-set-elements-to-array.js"
40
+ }
61
41
  },
62
- "./create-fixed-array": {
63
- "types": "./create-fixed-array/index.d.ts",
42
+ "./bitwise": {
64
43
  "import": {
65
- "types": "./create-fixed-array/index.d.ts",
66
- "default": "./create-fixed-array/index.mjs"
44
+ "types": "./dist/es/bitwise.d.mts",
45
+ "default": "./dist/es/bitwise.mjs"
67
46
  },
68
- "require": "./create-fixed-array/index.cjs",
69
- "default": "./create-fixed-array/index.cjs"
47
+ "require": {
48
+ "types": "./dist/cjs/bitwise.d.ts",
49
+ "default": "./dist/cjs/bitwise.js"
50
+ }
70
51
  },
71
52
  "./detect-eol": {
72
- "types": "./detect-eol/index.d.ts",
73
53
  "import": {
74
- "types": "./detect-eol/index.d.ts",
75
- "default": "./detect-eol/index.mjs"
54
+ "types": "./dist/es/detect-eol.d.mts",
55
+ "default": "./dist/es/detect-eol.mjs"
76
56
  },
77
- "require": "./detect-eol/index.cjs",
78
- "default": "./detect-eol/index.cjs"
57
+ "require": {
58
+ "types": "./dist/cjs/detect-eol.d.ts",
59
+ "default": "./dist/cjs/detect-eol.js"
60
+ }
79
61
  },
80
- "./append-set-elements-to-array": {
81
- "types": "./append-set-elements-to-array/index.d.ts",
62
+ "./create-fixed-array": {
82
63
  "import": {
83
- "types": "./append-set-elements-to-array/index.d.ts",
84
- "default": "./append-set-elements-to-array/index.mjs"
64
+ "types": "./dist/es/create-fixed-array.d.mts",
65
+ "default": "./dist/es/create-fixed-array.mjs"
85
66
  },
86
- "require": "./append-set-elements-to-array/index.cjs",
87
- "default": "./append-set-elements-to-array/index.cjs"
67
+ "require": {
68
+ "types": "./dist/cjs/create-fixed-array.d.ts",
69
+ "default": "./dist/cjs/create-fixed-array.js"
70
+ }
88
71
  },
89
- "./bitwise": {
90
- "types": "./bitwise/index.d.ts",
72
+ "./async-write-to-stream": {
91
73
  "import": {
92
- "types": "./bitwise/index.d.ts",
93
- "default": "./bitwise/index.mjs"
74
+ "types": "./dist/es/async-write-to-stream.d.mts",
75
+ "default": "./dist/es/async-write-to-stream.mjs"
94
76
  },
95
- "require": "./bitwise/index.cjs",
96
- "default": "./bitwise/index.cjs"
77
+ "require": {
78
+ "types": "./dist/cjs/async-write-to-stream.d.ts",
79
+ "default": "./dist/cjs/async-write-to-stream.js"
80
+ }
97
81
  },
98
82
  "./escape-html": {
99
- "types": "./escape-html/index.d.ts",
100
83
  "import": {
101
- "types": "./escape-html/index.d.ts",
102
- "default": "./escape-html/index.mjs"
84
+ "types": "./dist/es/escape-html.d.mts",
85
+ "default": "./dist/es/escape-html.mjs"
86
+ },
87
+ "require": {
88
+ "types": "./dist/cjs/escape-html.d.ts",
89
+ "default": "./dist/cjs/escape-html.js"
90
+ }
91
+ },
92
+ "./escape-string-regexp": {
93
+ "import": {
94
+ "types": "./dist/es/escape-string-regexp.d.mts",
95
+ "default": "./dist/es/escape-string-regexp.mjs"
103
96
  },
104
- "require": "./escape-html/index.cjs",
105
- "default": "./escape-html/index.cjs"
97
+ "require": {
98
+ "types": "./dist/cjs/escape-string-regexp.d.ts",
99
+ "default": "./dist/cjs/escape-string-regexp.js"
100
+ }
106
101
  },
107
102
  "./fast-string-array-join": {
108
- "types": "./fast-string-array-join/index.d.ts",
109
103
  "import": {
110
- "types": "./fast-string-array-join/index.d.ts",
111
- "default": "./fast-string-array-join/index.mjs"
104
+ "types": "./dist/es/fast-string-array-join.d.mts",
105
+ "default": "./dist/es/fast-string-array-join.mjs"
112
106
  },
113
- "require": "./fast-string-array-join/index.cjs",
114
- "default": "./fast-string-array-join/index.cjs"
107
+ "require": {
108
+ "types": "./dist/cjs/fast-string-array-join.d.ts",
109
+ "default": "./dist/cjs/fast-string-array-join.js"
110
+ }
115
111
  },
116
112
  "./fifo": {
117
- "types": "./fifo/index.d.ts",
118
113
  "import": {
119
- "types": "./fifo/index.d.ts",
120
- "default": "./fifo/index.mjs"
114
+ "types": "./dist/es/fifo.d.mts",
115
+ "default": "./dist/es/fifo.mjs"
121
116
  },
122
- "require": "./fifo/index.cjs",
123
- "default": "./fifo/index.cjs"
117
+ "require": {
118
+ "types": "./dist/cjs/fifo.d.ts",
119
+ "default": "./dist/cjs/fifo.js"
120
+ }
124
121
  },
125
122
  "./fnv1a": {
126
- "types": "./fnv1a/index.d.ts",
127
123
  "import": {
128
- "types": "./fnv1a/index.d.ts",
129
- "default": "./fnv1a/index.mjs"
124
+ "types": "./dist/es/fnv1a.d.mts",
125
+ "default": "./dist/es/fnv1a.mjs"
130
126
  },
131
- "require": "./fnv1a/index.cjs",
132
- "default": "./fnv1a/index.cjs"
127
+ "require": {
128
+ "types": "./dist/cjs/fnv1a.d.ts",
129
+ "default": "./dist/cjs/fnv1a.js"
130
+ }
133
131
  },
134
132
  "./fnv1a52": {
135
- "types": "./fnv1a52/index.d.ts",
136
- "import": {
137
- "types": "./fnv1a52/index.d.ts",
138
- "default": "./fnv1a52/index.mjs"
139
- },
140
- "require": "./fnv1a52/index.cjs",
141
- "default": "./fnv1a52/index.cjs"
142
- },
143
- "./escape-string-regexp": {
144
- "types": "./escape-string-regexp/index.d.ts",
145
- "import": {
146
- "types": "./escape-string-regexp/index.d.ts",
147
- "default": "./escape-string-regexp/index.mjs"
148
- },
149
- "require": "./escape-string-regexp/index.cjs",
150
- "default": "./escape-string-regexp/index.cjs"
151
- },
152
- "./identity": {
153
- "types": "./identity/index.d.ts",
154
133
  "import": {
155
- "types": "./identity/index.d.ts",
156
- "default": "./identity/index.mjs"
134
+ "types": "./dist/es/fnv1a52.d.mts",
135
+ "default": "./dist/es/fnv1a52.mjs"
157
136
  },
158
- "require": "./identity/index.cjs",
159
- "default": "./identity/index.cjs"
137
+ "require": {
138
+ "types": "./dist/cjs/fnv1a52.d.ts",
139
+ "default": "./dist/cjs/fnv1a52.js"
140
+ }
160
141
  },
161
142
  "./guard": {
162
- "types": "./guard/index.d.ts",
163
143
  "import": {
164
- "types": "./guard/index.d.ts",
165
- "default": "./guard/index.mjs"
144
+ "types": "./dist/es/guard.d.mts",
145
+ "default": "./dist/es/guard.mjs"
166
146
  },
167
- "require": "./guard/index.cjs",
168
- "default": "./guard/index.cjs"
147
+ "require": {
148
+ "types": "./dist/cjs/guard.d.ts",
149
+ "default": "./dist/cjs/guard.js"
150
+ }
169
151
  },
170
152
  "./headers-to-object": {
171
- "types": "./headers-to-object/index.d.ts",
172
153
  "import": {
173
- "types": "./headers-to-object/index.d.ts",
174
- "default": "./headers-to-object/index.mjs"
154
+ "types": "./dist/es/headers-to-object.d.mts",
155
+ "default": "./dist/es/headers-to-object.mjs"
175
156
  },
176
- "require": "./headers-to-object/index.cjs",
177
- "default": "./headers-to-object/index.cjs"
157
+ "require": {
158
+ "types": "./dist/cjs/headers-to-object.d.ts",
159
+ "default": "./dist/cjs/headers-to-object.js"
160
+ }
178
161
  },
179
- "./noop": {
180
- "types": "./noop/index.d.ts",
162
+ "./identity": {
181
163
  "import": {
182
- "types": "./noop/index.d.ts",
183
- "default": "./noop/index.mjs"
164
+ "types": "./dist/es/identity.d.mts",
165
+ "default": "./dist/es/identity.mjs"
184
166
  },
185
- "require": "./noop/index.cjs",
186
- "default": "./noop/index.cjs"
167
+ "require": {
168
+ "types": "./dist/cjs/identity.d.ts",
169
+ "default": "./dist/cjs/identity.js"
170
+ }
187
171
  },
188
172
  "./is-probably-ip": {
189
- "types": "./is-probably-ip/index.d.ts",
190
173
  "import": {
191
- "types": "./is-probably-ip/index.d.ts",
192
- "default": "./is-probably-ip/index.mjs"
174
+ "types": "./dist/es/is-probably-ip.d.mts",
175
+ "default": "./dist/es/is-probably-ip.mjs"
193
176
  },
194
- "require": "./is-probably-ip/index.cjs",
195
- "default": "./is-probably-ip/index.cjs"
177
+ "require": {
178
+ "types": "./dist/cjs/is-probably-ip.d.ts",
179
+ "default": "./dist/cjs/is-probably-ip.js"
180
+ }
196
181
  },
197
182
  "./merge-headers": {
198
- "types": "./merge-headers/index.d.ts",
199
183
  "import": {
200
- "types": "./merge-headers/index.d.ts",
201
- "default": "./merge-headers/index.mjs"
184
+ "types": "./dist/es/merge-headers.d.mts",
185
+ "default": "./dist/es/merge-headers.mjs"
202
186
  },
203
- "require": "./merge-headers/index.cjs",
204
- "default": "./merge-headers/index.cjs"
187
+ "require": {
188
+ "types": "./dist/cjs/merge-headers.d.ts",
189
+ "default": "./dist/cjs/merge-headers.js"
190
+ }
205
191
  },
206
- "./pick-random": {
207
- "types": "./pick-random/index.d.ts",
192
+ "./noop": {
208
193
  "import": {
209
- "types": "./pick-random/index.d.ts",
210
- "default": "./pick-random/index.mjs"
194
+ "types": "./dist/es/noop.d.mts",
195
+ "default": "./dist/es/noop.mjs"
211
196
  },
212
- "require": "./pick-random/index.cjs",
213
- "default": "./pick-random/index.cjs"
197
+ "require": {
198
+ "types": "./dist/cjs/noop.d.ts",
199
+ "default": "./dist/cjs/noop.js"
200
+ }
214
201
  },
215
202
  "./once": {
216
- "types": "./once/index.d.ts",
217
203
  "import": {
218
- "types": "./once/index.d.ts",
219
- "default": "./once/index.mjs"
204
+ "types": "./dist/es/once.d.mts",
205
+ "default": "./dist/es/once.mjs"
220
206
  },
221
- "require": "./once/index.cjs",
222
- "default": "./once/index.cjs"
207
+ "require": {
208
+ "types": "./dist/cjs/once.d.ts",
209
+ "default": "./dist/cjs/once.js"
210
+ }
211
+ },
212
+ "./pick-random": {
213
+ "import": {
214
+ "types": "./dist/es/pick-random.d.mts",
215
+ "default": "./dist/es/pick-random.mjs"
216
+ },
217
+ "require": {
218
+ "types": "./dist/cjs/pick-random.d.ts",
219
+ "default": "./dist/cjs/pick-random.js"
220
+ }
223
221
  },
224
222
  "./random-int": {
225
- "types": "./random-int/index.d.ts",
226
223
  "import": {
227
- "types": "./random-int/index.d.ts",
228
- "default": "./random-int/index.mjs"
224
+ "types": "./dist/es/random-int.d.mts",
225
+ "default": "./dist/es/random-int.mjs"
229
226
  },
230
- "require": "./random-int/index.cjs",
231
- "default": "./random-int/index.cjs"
227
+ "require": {
228
+ "types": "./dist/cjs/random-int.d.ts",
229
+ "default": "./dist/cjs/random-int.js"
230
+ }
232
231
  },
233
232
  "./repool": {
234
- "types": "./repool/index.d.ts",
235
233
  "import": {
236
- "types": "./repool/index.d.ts",
237
- "default": "./repool/index.mjs"
234
+ "types": "./dist/es/repool.d.mts",
235
+ "default": "./dist/es/repool.mjs"
238
236
  },
239
- "require": "./repool/index.cjs",
240
- "default": "./repool/index.cjs"
237
+ "require": {
238
+ "types": "./dist/cjs/repool.d.ts",
239
+ "default": "./dist/cjs/repool.js"
240
+ }
241
241
  },
242
242
  "./retrie": {
243
- "types": "./retrie/index.d.ts",
244
243
  "import": {
245
- "types": "./retrie/index.d.ts",
246
- "default": "./retrie/index.mjs"
244
+ "types": "./dist/es/retrie.d.mts",
245
+ "default": "./dist/es/retrie.mjs"
247
246
  },
248
- "require": "./retrie/index.cjs",
249
- "default": "./retrie/index.cjs"
247
+ "require": {
248
+ "types": "./dist/cjs/retrie.d.ts",
249
+ "default": "./dist/cjs/retrie.js"
250
+ }
250
251
  },
251
252
  "./serialized-memo": {
252
- "types": "./serialized-memo/index.d.ts",
253
253
  "import": {
254
- "types": "./serialized-memo/index.d.ts",
255
- "default": "./serialized-memo/index.mjs"
254
+ "types": "./dist/es/serialized-memo.d.mts",
255
+ "default": "./dist/es/serialized-memo.mjs"
256
256
  },
257
- "require": "./serialized-memo/index.cjs",
258
- "default": "./serialized-memo/index.cjs"
257
+ "require": {
258
+ "types": "./dist/cjs/serialized-memo.d.ts",
259
+ "default": "./dist/cjs/serialized-memo.js"
260
+ }
259
261
  },
260
262
  "./tagged": {
261
- "types": "./tagged/index.d.ts",
262
263
  "import": {
263
- "types": "./tagged/index.d.ts",
264
- "default": "./tagged/index.mjs"
264
+ "types": "./dist/es/tagged.d.mts",
265
+ "default": "./dist/es/tagged.mjs"
265
266
  },
266
- "require": "./tagged/index.cjs",
267
- "default": "./tagged/index.cjs"
267
+ "require": {
268
+ "types": "./dist/cjs/tagged.d.ts",
269
+ "default": "./dist/cjs/tagged.js"
270
+ }
268
271
  },
269
- "./simple-string-hash": {
270
- "types": "./simple-string-hash/index.d.ts",
272
+ "./wait": {
271
273
  "import": {
272
- "types": "./simple-string-hash/index.d.ts",
273
- "default": "./simple-string-hash/index.mjs"
274
+ "types": "./dist/es/wait.d.mts",
275
+ "default": "./dist/es/wait.mjs"
274
276
  },
275
- "require": "./simple-string-hash/index.cjs",
276
- "default": "./simple-string-hash/index.cjs"
277
+ "require": {
278
+ "types": "./dist/cjs/wait.d.ts",
279
+ "default": "./dist/cjs/wait.js"
280
+ }
277
281
  },
278
- "./wait": {
279
- "types": "./wait/index.d.ts",
282
+ "./text-line-stream": {
280
283
  "import": {
281
- "types": "./wait/index.d.ts",
282
- "default": "./wait/index.mjs"
284
+ "types": "./dist/es/text-line-stream.d.mts",
285
+ "default": "./dist/es/text-line-stream.mjs"
283
286
  },
284
- "require": "./wait/index.cjs",
285
- "default": "./wait/index.cjs"
287
+ "require": {
288
+ "types": "./dist/cjs/text-line-stream.d.ts",
289
+ "default": "./dist/cjs/text-line-stream.js"
290
+ }
291
+ },
292
+ "./simple-string-hash": {
293
+ "import": {
294
+ "types": "./dist/es/simple-string-hash.d.mts",
295
+ "default": "./dist/es/simple-string-hash.mjs"
296
+ },
297
+ "require": {
298
+ "types": "./dist/cjs/simple-string-hash.d.ts",
299
+ "default": "./dist/cjs/simple-string-hash.js"
300
+ }
286
301
  }
302
+ },
303
+ "sideEffects": false,
304
+ "keywords": [
305
+ "sukka",
306
+ "sukkaw",
307
+ "utils"
308
+ ],
309
+ "author": "SukkaW <https://skk.moe>",
310
+ "license": "MIT",
311
+ "devDependencies": {
312
+ "@eslint-sukka/node": "^6.17.1",
313
+ "@istanbuljs/nyc-config-typescript": "^1.0.2",
314
+ "@mitata/counters": "^0.0.8",
315
+ "@monyone/aho-corasick": "^1.0.4",
316
+ "@package-json/types": "^0.0.11",
317
+ "@swc-node/register": "^1.10.10",
318
+ "@swc/core": "^1.11.9",
319
+ "@types/escape-html": "^1.0.4",
320
+ "@types/escape-regexp": "^0.0.3",
321
+ "@types/html-escaper": "^3.0.4",
322
+ "@types/lodash.escape": "^4.0.9",
323
+ "@types/lodash.escaperegexp": "^4.1.9",
324
+ "@types/mocha": "^10.0.10",
325
+ "@types/node": "^22.13.10",
326
+ "@types/regex-escape": "^3.4.1",
327
+ "@types/sinon": "^17.0.4",
328
+ "bumpp": "^10.1.0",
329
+ "bunchee": "^6.4.0",
330
+ "devalue": "^5.1.1",
331
+ "escape-goat": "^3.0.0",
332
+ "escape-html": "^1.0.3",
333
+ "escape-regexp": "^0.0.1",
334
+ "escape-string-regexp": "4",
335
+ "eslint": "^9.22.0",
336
+ "eslint-config-sukka": "^6.17.1",
337
+ "eslint-formatter-sukka": "^6.17.1",
338
+ "expect": "^29.7.0",
339
+ "fastscan": "^1.0.6",
340
+ "fdir": "^6.4.3",
341
+ "hash-wasm": "^4.12.0",
342
+ "hexo-util": "^3.3.0",
343
+ "html-escaper": "2.0.2",
344
+ "lodash.escape": "^4.0.1",
345
+ "lodash.escaperegexp": "^4.1.2",
346
+ "mitata": "^1.0.34",
347
+ "mocha": "^11.1.0",
348
+ "modern-ahocorasick": "^2.0.4",
349
+ "nyc": "^17.1.0",
350
+ "regex-escape": "^3.4.11",
351
+ "sinon": "^19.0.2"
352
+ },
353
+ "scripts": {
354
+ "lint": "eslint --format=sukka .",
355
+ "test": "SWC_NODE_IGNORE_DYNAMIC=1 SWC_NODE_PROJECT=tsconfig.test-swc.json nyc mocha --require @swc-node/register --full-trace ./src/**/*.test.ts",
356
+ "bench": "SWC_NODE_IGNORE_DYNAMIC=1 node --require @swc-node/register",
357
+ "bench:all": "SWC_NODE_IGNORE_DYNAMIC=1 node --require @swc-node/register ./src/**/*.bench.ts",
358
+ "prebuild": "bunchee prepare && node -r @swc-node/register ./tools/index.ts",
359
+ "build": "bunchee --minify",
360
+ "prerelease": "pnpm run lint && pnpm run test && pnpm run build",
361
+ "release": "bumpp -r --all --commit \"release: %s\" --tag \"%s\""
287
362
  }
288
363
  }