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.
- package/dist/cjs/add-array-elements-to-set.js +2 -0
- package/dist/cjs/add-array-elements-to-set.js.map +1 -0
- package/dist/cjs/ahocorasick.js +2 -0
- package/dist/cjs/ahocorasick.js.map +1 -0
- package/dist/cjs/append-set-elements-to-array.js +2 -0
- package/dist/cjs/append-set-elements-to-array.js.map +1 -0
- package/dist/cjs/async-write-to-stream.js +2 -0
- package/dist/cjs/async-write-to-stream.js.map +1 -0
- package/dist/cjs/bitwise.js +2 -0
- package/dist/cjs/bitwise.js.map +1 -0
- package/dist/cjs/create-fixed-array.js +2 -0
- package/dist/cjs/create-fixed-array.js.map +1 -0
- package/dist/cjs/detect-eol.js +2 -0
- package/dist/cjs/detect-eol.js.map +1 -0
- package/dist/cjs/escape-html.js +2 -0
- package/dist/cjs/escape-html.js.map +1 -0
- package/dist/cjs/escape-string-regexp.d.ts +7 -0
- package/dist/cjs/escape-string-regexp.js +2 -0
- package/dist/cjs/escape-string-regexp.js.map +1 -0
- package/dist/cjs/fast-string-array-join.js +2 -0
- package/dist/cjs/fast-string-array-join.js.map +1 -0
- package/dist/cjs/fifo.js +2 -0
- package/dist/cjs/fifo.js.map +1 -0
- package/dist/cjs/fnv1a.js +2 -0
- package/dist/cjs/fnv1a.js.map +1 -0
- package/dist/cjs/fnv1a52.js +2 -0
- package/dist/cjs/fnv1a52.js.map +1 -0
- package/dist/cjs/guard.js +2 -0
- package/dist/cjs/guard.js.map +1 -0
- package/{headers-to-object/index.d.ts → dist/cjs/headers-to-object.d.ts} +1 -1
- package/dist/cjs/headers-to-object.js +2 -0
- package/dist/cjs/headers-to-object.js.map +1 -0
- package/dist/cjs/identity.js +2 -0
- package/dist/cjs/identity.js.map +1 -0
- package/dist/cjs/is-probably-ip.js +2 -0
- package/dist/cjs/is-probably-ip.js.map +1 -0
- package/dist/cjs/merge-headers.js +2 -0
- package/dist/cjs/merge-headers.js.map +1 -0
- package/dist/cjs/noop.js +2 -0
- package/dist/cjs/noop.js.map +1 -0
- package/dist/cjs/once.js +2 -0
- package/dist/cjs/once.js.map +1 -0
- package/{pick-random/index.d.ts → dist/cjs/pick-random.d.ts} +1 -2
- package/dist/cjs/pick-random.js +2 -0
- package/dist/cjs/pick-random.js.map +1 -0
- package/{random-int/index.d.ts → dist/cjs/random-int.d.ts} +1 -2
- package/dist/cjs/random-int.js +2 -0
- package/dist/cjs/random-int.js.map +1 -0
- package/dist/cjs/repool.js +2 -0
- package/dist/cjs/repool.js.map +1 -0
- package/{retrie/index.d.ts → dist/cjs/retrie.d.ts} +2 -2
- package/dist/cjs/retrie.js +2 -0
- package/dist/cjs/retrie.js.map +1 -0
- package/dist/cjs/serialized-memo.js +2 -0
- package/dist/cjs/serialized-memo.js.map +1 -0
- package/dist/cjs/simple-string-hash.js +2 -0
- package/dist/cjs/simple-string-hash.js.map +1 -0
- package/dist/cjs/tagged.js +2 -0
- package/dist/cjs/tagged.js.map +1 -0
- package/dist/cjs/text-line-stream.d.ts +22 -0
- package/dist/cjs/text-line-stream.js +2 -0
- package/dist/cjs/text-line-stream.js.map +1 -0
- package/dist/cjs/wait.js +2 -0
- package/dist/cjs/wait.js.map +1 -0
- package/dist/es/add-array-elements-to-set.d.mts +3 -0
- package/dist/es/add-array-elements-to-set.mjs +2 -0
- package/dist/es/add-array-elements-to-set.mjs.map +1 -0
- package/dist/es/ahocorasick.d.mts +3 -0
- package/dist/es/ahocorasick.mjs +2 -0
- package/dist/es/ahocorasick.mjs.map +1 -0
- package/dist/es/append-set-elements-to-array.d.mts +3 -0
- package/dist/es/append-set-elements-to-array.mjs +2 -0
- package/dist/es/append-set-elements-to-array.mjs.map +1 -0
- package/dist/es/async-write-to-stream.d.mts +18 -0
- package/dist/es/async-write-to-stream.mjs +2 -0
- package/dist/es/async-write-to-stream.mjs.map +1 -0
- package/dist/es/bitwise.d.mts +30 -0
- package/dist/es/bitwise.mjs +2 -0
- package/dist/es/bitwise.mjs.map +1 -0
- package/dist/es/create-fixed-array.d.mts +6 -0
- package/dist/es/create-fixed-array.mjs +2 -0
- package/dist/es/create-fixed-array.mjs.map +1 -0
- package/dist/es/detect-eol.d.mts +3 -0
- package/dist/es/detect-eol.mjs +2 -0
- package/dist/es/detect-eol.mjs.map +1 -0
- package/dist/es/escape-html.d.mts +3 -0
- package/dist/es/escape-html.mjs +2 -0
- package/dist/es/escape-html.mjs.map +1 -0
- package/dist/es/escape-string-regexp.d.mts +7 -0
- package/dist/es/escape-string-regexp.mjs +2 -0
- package/dist/es/escape-string-regexp.mjs.map +1 -0
- package/dist/es/fast-string-array-join.d.mts +6 -0
- package/dist/es/fast-string-array-join.mjs +2 -0
- package/dist/es/fast-string-array-join.mjs.map +1 -0
- package/dist/es/fifo.d.mts +18 -0
- package/dist/es/fifo.mjs +2 -0
- package/dist/es/fifo.mjs.map +1 -0
- package/dist/es/fnv1a.d.mts +3 -0
- package/{fnv1a/index.mjs → dist/es/fnv1a.mjs} +2 -1
- package/dist/es/fnv1a.mjs.map +1 -0
- package/dist/es/fnv1a52.d.mts +12 -0
- package/dist/es/fnv1a52.mjs +2 -0
- package/dist/es/fnv1a52.mjs.map +1 -0
- package/dist/es/guard.d.mts +20 -0
- package/dist/es/guard.mjs +2 -0
- package/dist/es/guard.mjs.map +1 -0
- package/dist/es/headers-to-object.d.mts +5 -0
- package/dist/es/headers-to-object.mjs +2 -0
- package/dist/es/headers-to-object.mjs.map +1 -0
- package/dist/es/identity.d.mts +3 -0
- package/dist/es/identity.mjs +2 -0
- package/dist/es/identity.mjs.map +1 -0
- package/dist/es/is-probably-ip.d.mts +8 -0
- package/dist/es/is-probably-ip.mjs +2 -0
- package/dist/es/is-probably-ip.mjs.map +1 -0
- package/dist/es/merge-headers.d.mts +8 -0
- package/dist/es/merge-headers.mjs +2 -0
- package/dist/es/merge-headers.mjs.map +1 -0
- package/dist/es/noop.d.mts +11 -0
- package/dist/es/noop.mjs +2 -0
- package/dist/es/noop.mjs.map +1 -0
- package/dist/es/once.d.mts +3 -0
- package/{once/index.mjs → dist/es/once.mjs} +2 -1
- package/dist/es/once.mjs.map +1 -0
- package/dist/es/pick-random.d.mts +9 -0
- package/dist/es/pick-random.mjs +2 -0
- package/dist/es/pick-random.mjs.map +1 -0
- package/dist/es/random-int.d.mts +7 -0
- package/dist/es/random-int.mjs +2 -0
- package/dist/es/random-int.mjs.map +1 -0
- package/dist/es/repool.d.mts +18 -0
- package/dist/es/repool.mjs +2 -0
- package/dist/es/repool.mjs.map +1 -0
- package/dist/es/retrie.d.mts +17 -0
- package/dist/es/retrie.mjs +2 -0
- package/dist/es/retrie.mjs.map +1 -0
- package/dist/es/serialized-memo.d.mts +55 -0
- package/dist/es/serialized-memo.mjs +2 -0
- package/dist/es/serialized-memo.mjs.map +1 -0
- package/dist/es/simple-string-hash.d.mts +3 -0
- package/dist/es/simple-string-hash.mjs +2 -0
- package/dist/es/simple-string-hash.mjs.map +1 -0
- package/dist/es/tagged.d.mts +6 -0
- package/{tagged/index.mjs → dist/es/tagged.mjs} +2 -1
- package/dist/es/tagged.mjs.map +1 -0
- package/dist/es/text-line-stream.d.mts +22 -0
- package/dist/es/text-line-stream.mjs +2 -0
- package/dist/es/text-line-stream.mjs.map +1 -0
- package/dist/es/wait.d.mts +4 -0
- package/dist/es/wait.mjs +2 -0
- package/dist/es/wait.mjs.map +1 -0
- package/package.json +257 -182
- package/add-array-elements-to-set/index.cjs +0 -1
- package/add-array-elements-to-set/index.mjs +0 -1
- package/ahocorasick/index.cjs +0 -1
- package/ahocorasick/index.mjs +0 -1
- package/append-set-elements-to-array/index.cjs +0 -1
- package/append-set-elements-to-array/index.mjs +0 -1
- package/async-write-to-stream/index.cjs +0 -1
- package/async-write-to-stream/index.mjs +0 -1
- package/bitwise/index.cjs +0 -1
- package/bitwise/index.mjs +0 -1
- package/create-fixed-array/index.cjs +0 -1
- package/create-fixed-array/index.mjs +0 -1
- package/detect-eol/index.cjs +0 -1
- package/detect-eol/index.mjs +0 -1
- package/escape-html/index.cjs +0 -1
- package/escape-html/index.mjs +0 -1
- package/escape-string-regexp/index.cjs +0 -1
- package/escape-string-regexp/index.d.ts +0 -3
- package/escape-string-regexp/index.mjs +0 -1
- package/fast-string-array-join/index.cjs +0 -1
- package/fast-string-array-join/index.mjs +0 -1
- package/fifo/index.cjs +0 -1
- package/fifo/index.mjs +0 -1
- package/fnv1a/index.cjs +0 -1
- package/fnv1a52/index.cjs +0 -1
- package/fnv1a52/index.mjs +0 -1
- package/guard/index.cjs +0 -1
- package/guard/index.mjs +0 -1
- package/headers-to-object/index.cjs +0 -1
- package/headers-to-object/index.mjs +0 -1
- package/identity/index.cjs +0 -1
- package/identity/index.mjs +0 -1
- package/is-probably-ip/index.cjs +0 -1
- package/is-probably-ip/index.mjs +0 -1
- package/merge-headers/index.cjs +0 -1
- package/merge-headers/index.mjs +0 -1
- package/noop/index.cjs +0 -1
- package/noop/index.mjs +0 -1
- package/once/index.cjs +0 -1
- package/pick-random/index.cjs +0 -1
- package/pick-random/index.mjs +0 -1
- package/random-int/index.cjs +0 -1
- package/random-int/index.mjs +0 -1
- package/repool/index.cjs +0 -1
- package/repool/index.mjs +0 -1
- package/retrie/index.cjs +0 -1
- package/retrie/index.mjs +0 -1
- package/serialized-memo/index.cjs +0 -5
- package/serialized-memo/index.mjs +0 -5
- package/simple-string-hash/index.cjs +0 -1
- package/simple-string-hash/index.mjs +0 -1
- package/tagged/index.cjs +0 -1
- package/ts_version_4.8_and_above_is_required.d.ts +0 -0
- package/wait/index.cjs +0 -1
- package/wait/index.mjs +0 -1
- /package/{add-array-elements-to-set/index.d.ts → dist/cjs/add-array-elements-to-set.d.ts} +0 -0
- /package/{ahocorasick/index.d.ts → dist/cjs/ahocorasick.d.ts} +0 -0
- /package/{append-set-elements-to-array/index.d.ts → dist/cjs/append-set-elements-to-array.d.ts} +0 -0
- /package/{async-write-to-stream/index.d.ts → dist/cjs/async-write-to-stream.d.ts} +0 -0
- /package/{bitwise/index.d.ts → dist/cjs/bitwise.d.ts} +0 -0
- /package/{create-fixed-array/index.d.ts → dist/cjs/create-fixed-array.d.ts} +0 -0
- /package/{detect-eol/index.d.ts → dist/cjs/detect-eol.d.ts} +0 -0
- /package/{escape-html/index.d.ts → dist/cjs/escape-html.d.ts} +0 -0
- /package/{fast-string-array-join/index.d.ts → dist/cjs/fast-string-array-join.d.ts} +0 -0
- /package/{fifo/index.d.ts → dist/cjs/fifo.d.ts} +0 -0
- /package/{fnv1a/index.d.ts → dist/cjs/fnv1a.d.ts} +0 -0
- /package/{fnv1a52/index.d.ts → dist/cjs/fnv1a52.d.ts} +0 -0
- /package/{guard/index.d.ts → dist/cjs/guard.d.ts} +0 -0
- /package/{identity/index.d.ts → dist/cjs/identity.d.ts} +0 -0
- /package/{is-probably-ip/index.d.ts → dist/cjs/is-probably-ip.d.ts} +0 -0
- /package/{merge-headers/index.d.ts → dist/cjs/merge-headers.d.ts} +0 -0
- /package/{noop/index.d.ts → dist/cjs/noop.d.ts} +0 -0
- /package/{once/index.d.ts → dist/cjs/once.d.ts} +0 -0
- /package/{repool/index.d.ts → dist/cjs/repool.d.ts} +0 -0
- /package/{serialized-memo/index.d.ts → dist/cjs/serialized-memo.d.ts} +0 -0
- /package/{simple-string-hash/index.d.ts → dist/cjs/simple-string-hash.d.ts} +0 -0
- /package/{tagged/index.d.ts → dist/cjs/tagged.d.ts} +0 -0
- /package/{wait/index.d.ts → dist/cjs/wait.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-array-elements-to-set.js","sources":["../../src/add-array-elements-to-set/index.ts"],"sourcesContent":["import { identity } from '../identity';\n\nexport function addArrayElementsToSet<T>(set: Set<T>, arr: T[], transformer: (item: T) => T = identity): Set<T> {\n const add = (item: T) => set.add(transformer(item));\n arr.forEach(add);\n return set;\n}\n"],"names":["set","arr","transformer","identity","forEach","item","add"],"mappings":"oHAEO,SAAkCA,CAAW,CAAEC,CAAQ,CAAEC,EAA8BC,EAAAA,QAAQ,EAGpG,OADAF,EAAIG,OAAO,CADC,AAACC,GAAYL,EAAIM,GAAG,CAACJ,EAAYG,KAEtCL,CACT"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0});class e extends Map{constructor(e,t){super(),this.wordEnd=e,this.fail=t}}exports.createAhoCorasick=function(t){let r=new e(!1,void 0);t.forEach(t=>{let l=r;for(let r=0,o=t.length;r<o;r++){let o=t[r];if(l.has(o))l=l.get(o);else{let t=new e(!1,void 0);l.set(o,t),l=t}}l!==r&&(l.wordEnd=!0)});let l=[r];for(;l.length;){let e=l.pop();e.forEach((t,o)=>{let s=e.fail;for(;s&&!s.has(o);)s=s.fail;t.fail=s?s.get(o):r,l.push(t)})}return e=>{let t=r;for(let l=0,o=e.length;l<o;l++){let o=e[l];for(;t&&!t.has(o);)t=t.fail;if((t=t?t.get(o):r).wordEnd)return!0}return!1}};
|
|
2
|
+
//# sourceMappingURL=ahocorasick.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ahocorasick.js","sources":["../../src/ahocorasick/index.ts"],"sourcesContent":["class Node extends Map<string, Node> {\n constructor(\n public wordEnd: boolean,\n public fail: Node | undefined\n ) {\n super();\n }\n}\n\nexport function createAhoCorasick(keys: string[] | Set<string> | readonly string[]) {\n const root = new Node(false, undefined);\n\n // Create a trie with extra fields and information\n const put = (key: string) => {\n let node = root;\n\n for (let idx = 0, len = key.length; idx < len; idx++) {\n const char = key[idx];\n\n if (node.has(char)) {\n node = node.get(char)!;\n } else {\n const newNode = new Node(false, undefined);\n node.set(char, newNode);\n node = newNode;\n }\n }\n\n // If a new node is created, mark it as a word end when loop finish\n if (node !== root) {\n node.wordEnd = true;\n }\n };\n\n keys.forEach(put);\n\n // const build = () => {\n const queue: Node[] = [root];\n\n while (queue.length) {\n const beginNode = queue.pop()!;\n\n beginNode.forEach((node, char) => {\n let failNode = beginNode.fail;\n\n while (failNode && !failNode.has(char)) {\n failNode = failNode.fail;\n }\n\n node.fail = failNode\n ? failNode.get(char)\n : root;\n\n queue.push(node);\n });\n }\n // };\n // build();\n\n return (text: string) => {\n let node: Node | undefined = root;\n\n for (let i = 0, textLen = text.length; i < textLen; i++) {\n const char = text[i];\n\n while (node && !node.has(char)) {\n node = node.fail;\n }\n\n node = node ? node.get(char)! : root;\n\n if (node.wordEnd) {\n return true;\n }\n }\n\n return false;\n };\n}\n"],"names":["Node","Map","constructor","wordEnd","fail","keys","root","undefined","forEach","key","node","idx","len","length","char","has","get","newNode","set","queue","beginNode","pop","failNode","push","text","i","textLen"],"mappings":"sDAAA,OAAMA,UAAaC,IACjBC,YACEC,CAAuB,CAChBC,CAAsB,CAC7B,CACA,KAAK,GAAA,IAAA,CAHED,OAAAA,CAAAA,EAAAA,IAAAA,CACAC,IAAAA,CAAAA,CAGT,CACF,2BAEO,SAA2BC,CAAgD,EAChF,IAAMC,EAAO,IAAIN,EAAK,CAAA,EAAOO,KAAAA,GAwB7BF,EAAKG,OAAO,CArBA,AAACC,IACX,IAAIC,EAAOJ,EAEX,IAAK,IAAIK,EAAM,EAAGC,EAAMH,EAAII,MAAM,CAAEF,EAAMC,EAAKD,IAAO,CACpD,IAAMG,EAAOL,CAAG,CAACE,EAAI,CAErB,GAAID,EAAKK,GAAG,CAACD,GACXJ,EAAOA,EAAKM,GAAG,CAACF,OACX,CACL,IAAMG,EAAU,IAAIjB,EAAK,CAAA,EAAOO,KAAAA,GAChCG,EAAKQ,GAAG,CAACJ,EAAMG,GACfP,EAAOO,CACT,CACF,CAGIP,IAASJ,GACXI,CAAAA,EAAKP,OAAO,CAAG,CAAA,CAAA,CAEnB,GAKA,IAAMgB,EAAgB,CAACb,EAAK,CAE5B,KAAOa,EAAMN,MAAM,EAAE,CACnB,IAAMO,EAAYD,EAAME,GAAG,GAE3BD,EAAUZ,OAAO,CAAC,CAACE,EAAMI,KACvB,IAAIQ,EAAWF,EAAUhB,IAAI,CAE7B,KAAOkB,GAAY,CAACA,EAASP,GAAG,CAACD,IAC/BQ,EAAWA,EAASlB,IAAI,AAG1BM,CAAAA,EAAKN,IAAI,CAAGkB,EACRA,EAASN,GAAG,CAACF,GACbR,EAEJa,EAAMI,IAAI,CAACb,EACb,EACF,CAIA,OAAO,AAACc,IACN,IAAId,EAAyBJ,EAE7B,IAAK,IAAImB,EAAI,EAAGC,EAAUF,EAAKX,MAAM,CAAEY,EAAIC,EAASD,IAAK,CACvD,IAAMX,EAAOU,CAAI,CAACC,EAAE,CAEpB,KAAOf,GAAQ,CAACA,EAAKK,GAAG,CAACD,IACvBJ,EAAOA,EAAKN,IAAI,CAKlB,GAAIM,AAFJA,CAAAA,EAAOA,EAAOA,EAAKM,GAAG,CAACF,GAASR,CAAAA,EAEvBH,OAAO,CACd,MAAO,CAAA,CAEX,CAEA,MAAO,CAAA,CACT,CACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./identity.js");function r(e,r,t){let n;let u=r.values();for(;!(n=u.next()).done;)e.push(t(n.value));return e}exports.appendSetElementsToArray=function(t,n,u=e.identity){if(!Array.isArray(n))return r(t,n,u);for(let e=0,i=n.length;e<i;e++)r(t,n[e],u);return t};
|
|
2
|
+
//# sourceMappingURL=append-set-elements-to-array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"append-set-elements-to-array.js","sources":["../../src/append-set-elements-to-array/index.ts"],"sourcesContent":["import { identity } from '../identity';\n\nfunction innerAppendSetElementsToArray<T>(\n dest: T[],\n source: Set<T>,\n transformer: (item: T) => T\n): T[] {\n const iterator = source.values();\n let step: IteratorResult<T, undefined>;\n\n while ((step = iterator.next(), !step.done)) {\n dest.push(transformer(step.value));\n }\n\n return dest;\n}\n\nexport function appendSetElementsToArray<T>(\n dest: T[],\n source: Set<T> | Array<Set<T>>,\n transformer: (item: T) => T = identity\n) {\n if (!Array.isArray(source)) {\n return innerAppendSetElementsToArray(dest, source, transformer);\n }\n\n for (let i = 0, len = source.length; i < len; i++) {\n innerAppendSetElementsToArray(dest, source[i], transformer);\n }\n\n return dest;\n}\n"],"names":["innerAppendSetElementsToArray","dest","source","transformer","step","iterator","values","next","done","push","value","identity","Array","isArray","i","len","length"],"mappings":"sFAEA,SAASA,EACPC,CAAS,CACTC,CAAc,CACdC,CAA2B,MAGvBC,EADJ,IAAMC,EAAWH,EAAOI,MAAM,GAG9B,KAAQF,CAAyBA,AAAzBA,CAAAA,EAAOC,EAASE,IAAI,IAAUC,IAAI,EACxCP,EAAKQ,IAAI,CAACN,EAAYC,EAAKM,KAAK,GAGlC,OAAOT,CACT,kCAEO,SACLA,CAAS,CACTC,CAA8B,CAC9BC,EAA8BQ,EAAAA,QAAQ,EAEtC,GAAI,CAACC,MAAMC,OAAO,CAACX,GACjB,OAAOF,EAA8BC,EAAMC,EAAQC,GAGrD,IAAK,IAAIW,EAAI,EAAGC,EAAMb,EAAOc,MAAM,CAAEF,EAAIC,EAAKD,IAC5Cd,EAA8BC,EAAMC,CAAM,CAACY,EAAE,CAAEX,GAGjD,OAAOF,CACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-write-to-stream.js","sources":["../../src/async-write-to-stream/index.ts"],"sourcesContent":["import type { Writable } from 'node:stream';\nimport { once } from 'node:events';\n\n/**\n * A small utility function for writing chunk to a stream, and only return promise when needed (stream backpressure)\n *\n * ```ts\n * const writeStream = fs.createWriteStream(outputFile);\n * for (const line of source) {\n * const p = asyncWriteToStream(writeStream, line + '\\n');\n * if (p) {\n * // eslint-disable-next-line no-await-in-loop -- stream backpressure\n * await p;\n * }\n * }\n */\nexport function asyncWriteToStream<T>(stream: Writable, chunk: T): Promise<unknown> | null {\n const waitDrain = !stream.write(chunk);\n if (waitDrain) {\n return once(stream, 'drain'); // returns a promise only if needed\n }\n return null;\n}\n"],"names":["stream","chunk","write","once"],"mappings":"+GAgBO,SAA+BA,CAAgB,CAAEC,CAAQ,SAE9D,AADmBD,EAAOE,KAAK,CAACD,GAIzB,KAFEE,EAAAA,IAAAA,CAAKH,EAAQ,QAGxB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0});const e=e=>e>>16&65535,t=e=>65535&e,r=e=>e>>20&1023,s=e=>e>>10&1023,o=e=>1023&e;exports.bitCount=function(e){return e-=e>>1&0x55555555,((e=(0x33333333&e)+(e>>2&0x33333333))+(e>>4)&0xf0f0f0f)*0x1010101>>24},exports.deleteBit=(e,t)=>e&~t,exports.getBit=(e,t)=>!!(e&t),exports.missingBit=(e,t)=>!(e&t),exports.packThreeBits=(e,t,r)=>e<<20|t<<10|r,exports.packTwoBits=(e,t)=>e<<16|t,exports.setBit=(e,t)=>e|t,exports.unpackThreeBits=function(e,t=Array.from([,,,].keys())){return t[0]=r(e),t[1]=s(e),t[2]=o(e),t},exports.unpackThreeBitsFirst=r,exports.unpackThreeBitsSecond=s,exports.unpackThreeBitsThird=o,exports.unpackTwoBits=function(r,s=Array.from([,,].keys())){return s[0]=e(r),s[1]=t(r),s},exports.unpackTwoBitsFirst=e,exports.unpackTwoBitsSecond=t;
|
|
2
|
+
//# sourceMappingURL=bitwise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitwise.js","sources":["../../src/bitwise/index.ts"],"sourcesContent":["// From: https://stackoverflow.com/a/43122214/1185079\nexport function bitCount(n: number): number {\n n = n - ((n >> 1) & 0x55_55_55_55);\n n = (n & 0x33_33_33_33) + ((n >> 2) & 0x33_33_33_33);\n return (((n + (n >> 4)) & 0xF_0F_0F_0F) * 0x1_01_01_01) >> 24;\n}\n\nexport const getBit = (n: number, mask: number) => !!(n & mask);\nexport const missingBit = (n: number, mask: number): boolean => !(n & mask);\nexport const setBit = (n: number, mask: number) => n | mask;\nexport const deleteBit = (n: number, mask: number) => n & ~mask;\n\n/** Packs two 16-bit integers (0~65535) into one 32-bit integer */\nexport const packTwoBits = (a: number, b: number): number => (a << 16) | b;\n\nexport const unpackTwoBitsFirst = (value: number): number => (value >> 16) & 0xFFFF;\nexport const unpackTwoBitsSecond = (value: number): number => value & 0xFFFF;\n/**\n * Unpacks two 16-bit integers (0~65535) from one 32-bit integer\n *\n * @param value - The 32-bit integer to unpack\n * @param arr - An optional array to store the unpacked values, useful if you are trying to re-use arrays\n */\nexport function unpackTwoBits(value: number, arr: [a: number, b: number] = Array.from(new Array(2).keys()) as any): [a: number, b: number] {\n arr[0] = unpackTwoBitsFirst(value);\n arr[1] = unpackTwoBitsSecond(value);\n return arr;\n}\n\n/** Packs three 10-bit integers (0~1023) into one 32-bit integer */\nexport const packThreeBits = (a: number, b: number, c: number): number => (a << 20) | (b << 10) | c;\n\nexport const unpackThreeBitsFirst = (value: number): number => (value >> 20) & 0x3FF;\nexport const unpackThreeBitsSecond = (value: number): number => (value >> 10) & 0x3FF;\nexport const unpackThreeBitsThird = (value: number): number => value & 0x3FF;\n/**\n * Unpacks three 10-bit integers (0~1023) from one 32-bit integer\n *\n * @param value - The 32-bit integer to unpack\n * @param arr - An optional array to store the unpacked values, useful if you are trying to re-use arrays\n */\nexport function unpackThreeBits(value: number, arr: [a: number, b: number, c: number] = Array.from(new Array(3).keys()) as any): [a: number, b: number, c: number] {\n arr[0] = unpackThreeBitsFirst(value);\n arr[1] = unpackThreeBitsSecond(value);\n arr[2] = unpackThreeBitsThird(value);\n return arr;\n}\n"],"names":["unpackTwoBitsFirst","value","unpackTwoBitsSecond","unpackThreeBitsFirst","unpackThreeBitsSecond","unpackThreeBitsThird","n","mask","a","b","c","arr","Array","from","keys"],"mappings":"6DAeaA,EAAqB,AAACC,GAA0BA,GAAU,GAAM,MAChEC,EAAsB,AAACD,GAA0BA,AAAQ,MAARA,EAgBjDE,EAAuB,AAACF,GAA0BA,GAAU,GAAM,KAClEG,EAAwB,AAACH,GAA0BA,GAAU,GAAM,KACnEI,EAAuB,AAACJ,GAA0BA,AAAQ,KAARA,mBAjCxD,SAAkBK,CAAS,EAGhC,OAFAA,GAASA,GAAM,EAAK,WAEX,AAACA,CAAAA,AADVA,CAAAA,EAAKA,AAAAA,CAAAA,AAAI,WAAJA,CAAI,EAAmBA,CAAAA,GAAK,EAAK,UAAA,CAAY,EACnCA,CAAAA,GAAK,CAAA,EAAM,SAAA,EAAgB,WAAiB,EAC7D,oBAKyB,CAACA,EAAWC,IAAiBD,EAAI,CAACC,iBAHrC,CAACD,EAAWC,IAAiB,CAAC,CAAED,CAAAA,EAAIC,CAAG,qBACnC,CAACD,EAAWC,IAA0B,CAAED,CAAAA,EAAIC,CAAG,wBAsB5C,CAACC,EAAWC,EAAWC,IAAsBF,GAAM,GAAOC,GAAK,GAAMC,sBAjBvE,CAACF,EAAWC,IAAuBD,GAAK,GAAMC,iBAJnD,CAACH,EAAWC,IAAiBD,EAAIC,0BAgChD,SAAyBN,CAAa,CAAEU,EAAyCC,MAAMC,IAAI,CAAC,KAAU,CAAGC,IAAI,GAAU,EAI5H,OAHAH,CAAG,CAAC,EAAE,CAAGR,EAAqBF,GAC9BU,CAAG,CAAC,EAAE,CAAGP,EAAsBH,GAC/BU,CAAG,CAAC,EAAE,CAAGN,EAAqBJ,GACvBU,CACT,sHAvBO,SAAuBV,CAAa,CAAEU,EAA8BC,MAAMC,IAAI,CAAC,IAAU,CAAGC,IAAI,GAAU,EAG/G,OAFAH,CAAG,CAAC,EAAE,CAAGX,EAAmBC,GAC5BU,CAAG,CAAC,EAAE,CAAGT,EAAoBD,GACtBU,CACT"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0});const e=new Map;function t(e){return Array.from(Array(e).keys())}function r(r){if(e.has(r))return e.get(r);let n=t(r);return e.set(r,n),n}const n=new Map;function o(e){let r,o;return n.has(e)&&(o=(r=n.get(e)).deref()),o||(r=new WeakRef(o=t(e)),n.set(e,r)),o}const a="function"==typeof WeakRef?o:r,s=a(0);exports.EMPTY_ARRAY=s,exports.createFixedArray=a,exports.createFixedArrayWithGC=o,exports.createFixedArrayWithoutGC=r;
|
|
2
|
+
//# sourceMappingURL=create-fixed-array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-fixed-array.js","sources":["../../src/create-fixed-array/index.ts"],"sourcesContent":["const arrayMap = new Map<number, readonly number[]>();\n\nfunction makeArray(length: number): readonly number[] {\n return Array.from(new Array(length).keys());\n}\n\nexport function createFixedArrayWithoutGC(length: number): readonly number[] {\n if (arrayMap.has(length)) {\n return arrayMap.get(length)!;\n }\n const arr = makeArray(length);\n arrayMap.set(length, arr);\n return arr;\n}\n\nconst arrayWeakRefMap = new Map<number, WeakRef<readonly number[]>>();\n\nexport function createFixedArrayWithGC(length: number): readonly number[] {\n let ref: WeakRef<readonly number[]> | undefined;\n let array: readonly number[] | undefined;\n if (arrayWeakRefMap.has(length)) {\n ref = arrayWeakRefMap.get(length)!;\n array = ref.deref();\n }\n\n if (!array) {\n array = makeArray(length);\n\n // every time a new array is created, we create a new WeakRef and update map\n ref = new WeakRef(array);\n arrayWeakRefMap.set(length, ref);\n }\n\n return array;\n}\n\nexport const createFixedArray = typeof WeakRef === 'function' ? createFixedArrayWithGC : createFixedArrayWithoutGC;\nexport const EMPTY_ARRAY = createFixedArray(0);\n"],"names":["arrayMap","Map","makeArray","length","Array","from","keys","createFixedArrayWithoutGC","has","get","arr","set","arrayWeakRefMap","createFixedArrayWithGC","ref","array","deref","WeakRef","createFixedArray","EMPTY_ARRAY"],"mappings":"uDAAA,MAAMA,EAAW,IAAIC,IAErB,SAASC,EAAUC,CAAc,EAC/B,OAAOC,MAAMC,IAAI,CAAC,AAAID,MAAMD,GAAQG,IAAI,GAC1C,CAEO,SAASC,EAA0BJ,CAAc,EACtD,GAAIH,EAASQ,GAAG,CAACL,GACf,OAAOH,EAASS,GAAG,CAACN,GAEtB,IAAMO,EAAMR,EAAUC,GAEtB,OADAH,EAASW,GAAG,CAACR,EAAQO,GACdA,CACT,CAEA,MAAME,EAAkB,IAAIX,IAErB,SAASY,EAAuBV,CAAc,EACnD,IAAIW,EACAC,EAcJ,OAbIH,EAAgBJ,GAAG,CAACL,IAEtBY,CAAAA,EAAQD,AADRA,CAAAA,EAAMF,EAAgBH,GAAG,CAACN,EAAAA,EACda,KAAK,EAAA,EAGdD,IAIHD,EAAM,IAAIG,QAHVF,EAAQb,EAAUC,IAIlBS,EAAgBD,GAAG,CAACR,EAAQW,IAGvBC,CACT,OAEaG,EAAmB,AAAmB,YAAnB,OAAOD,QAAyBJ,EAAyBN,EAC5EY,EAAcD,EAAiB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-eol.js","sources":["../../src/detect-eol/index.ts"],"sourcesContent":["export function detectEol(str: string) {\n for (let i = 0, len = str.length; i < len; i++) {\n const c = str[i];\n if (c === '\\n') return '\\n';\n if (c === '\\r' && str[i + 1] === '\\n') return '\\r\\n';\n }\n return '\\n';\n}\n"],"names":["str","i","len","length","c"],"mappings":"yEAAO,SAAmBA,CAAW,EACnC,IAAK,IAAIC,EAAI,EAAGC,EAAMF,EAAIG,MAAM,CAAEF,EAAIC,EAAKD,IAAK,CAC9C,IAAMG,EAAIJ,CAAG,CAACC,EAAE,CAChB,GAAIG,AAAM,OAANA,EAAY,MAChB,GAAIA,AAAM,OAANA,GAAcJ,AAAe,OAAfA,CAAG,CAACC,EAAI,EAAE,CAAW,MAAO,MAChD,CACA,MAAO,IACT"}
|
|
@@ -0,0 +1,2 @@
|
|
|
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=""";break;case 38:c="&";break;case 39:c="'";break;case 60:c="<";break;case 62:c=">";break;default:continue}l!==s&&(r+=t.slice(l,s)),l=s+1,r+=c}return l===s?r:r+t.slice(l,s)};
|
|
2
|
+
//# sourceMappingURL=escape-html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escape-html.js","sources":["../../src/escape-html/index.ts"],"sourcesContent":["const reHtmlEntity = /[\"&'<>]/;\nexport function escapeHTML(str: string) {\n const match = reHtmlEntity.exec(str);\n\n if (match === null) {\n return str;\n }\n\n let escape = '';\n let html = '';\n\n let index = match.index;\n let lastIndex = 0;\n\n // iterate from the first match\n for (const len = str.length; index < len; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex === index\n ? html\n : html + str.slice(lastIndex, index);\n}\n"],"names":["reHtmlEntity","str","match","exec","escape","html","index","lastIndex","len","length","charCodeAt","slice"],"mappings":"uDAAA,MAAMA,EAAe,6BACd,SAAoBC,CAAW,EACpC,IAAMC,EAAQF,EAAaG,IAAI,CAACF,GAEhC,GAAIC,AAAU,OAAVA,EACF,OAAOD,EAGT,IAAIG,EAAS,GACTC,EAAO,GAEPC,EAAQJ,EAAMI,KAAK,CACnBC,EAAY,EAGhB,IAAK,IAAMC,EAAMP,EAAIQ,MAAM,CAAEH,EAAQE,EAAKF,IAAS,CACjD,OAAQL,EAAIS,UAAU,CAACJ,IACrB,KAAK,GACHF,EAAS,SACT,KACF,MAAK,GACHA,EAAS,QACT,KACF,MAAK,GACHA,EAAS,QACT,KACF,MAAK,GACHA,EAAS,OACT,KACF,MAAK,GACHA,EAAS,OACT,KACF,SACE,QACJ,CAEIG,IAAcD,GAChBD,CAAAA,GAAQJ,EAAIU,KAAK,CAACJ,EAAWD,EAAAA,EAG/BC,EAAYD,EAAQ,EACpBD,GAAQD,CACV,CAEA,OAAOG,IAAcD,EACjBD,EACAA,EAAOJ,EAAIU,KAAK,CAACJ,EAAWD,EAClC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Escape characters with special meaning either inside or outside character sets.
|
|
3
|
+
* Use a simple backslash escape when it’s always valid, and a `\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.
|
|
4
|
+
*/
|
|
5
|
+
declare function escapeStringRegexp(str: string): string;
|
|
6
|
+
|
|
7
|
+
export { escapeStringRegexp };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0});const e=/[$()*+.?[\\\]^{|}-]/;exports.escapeStringRegexp=function(a){let r=e.exec(a);if(null===r)return a;let c="",s="",t=r.index,b=0;for(let e=a.length;t<e;t++){switch(a.charCodeAt(t)){case 92:c="\\\\";break;case 94:c="\\^";break;case 36:c="\\$";break;case 46:c="\\.";break;case 42:c="\\*";break;case 43:c="\\+";break;case 63:c="\\?";break;case 40:c="\\(";break;case 41:c="\\)";break;case 91:c="\\[";break;case 93:c="\\]";break;case 123:c="\\{";break;case 125:c="\\}";break;case 124:c="\\|";break;case 45:c="\\x2d";break;default:continue}b!==t&&(s+=a.slice(b,t)),b=t+1,s+=c}return b===t?s:s+a.slice(b,t)};
|
|
2
|
+
//# sourceMappingURL=escape-string-regexp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escape-string-regexp.js","sources":["../../src/escape-string-regexp/index.ts"],"sourcesContent":["const r = /[$()*+.?[\\\\\\]^{|}-]/;\n\n/**\n * Escape characters with special meaning either inside or outside character sets.\n * Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n */\nexport function escapeStringRegexp(str: string) {\n const match = r.exec(str);\n\n if (match === null) {\n return str;\n }\n\n let escape = '';\n let regexp = '';\n\n let index = match.index;\n let lastIndex = 0;\n\n // iterate from the first match\n for (const len = str.length; index < len; index++) {\n /* eslint-disable sukka/unicorn/prefer-string-raw -- performance */\n switch (str.charCodeAt(index)) {\n case 92: // \\\n escape = '\\\\\\\\';\n break;\n case 94: // ^\n escape = '\\\\^';\n break;\n case 36: // $\n escape = '\\\\$';\n break;\n case 46: // .\n escape = '\\\\.';\n break;\n case 42: // *\n escape = '\\\\*';\n break;\n case 43: // +\n escape = '\\\\+';\n break;\n case 63: // ?\n escape = '\\\\?';\n break;\n case 40: // (\n escape = '\\\\(';\n break;\n case 41: // )\n escape = '\\\\)';\n break;\n case 91: // [\n escape = '\\\\[';\n break;\n case 93: // ]\n escape = '\\\\]';\n break;\n case 123: // {\n escape = '\\\\{';\n break;\n case 125: // }\n escape = '\\\\}';\n break;\n case 124: // |\n escape = '\\\\|';\n break;\n case 45: // -\n escape = '\\\\x2d';\n break;\n default:\n continue;\n }\n /* eslint-enable sukka/unicorn/prefer-string-raw */\n\n if (lastIndex !== index) {\n regexp += str.slice(lastIndex, index);\n }\n\n lastIndex = index + 1;\n regexp += escape;\n }\n\n return lastIndex === index\n ? regexp\n : regexp + str.slice(lastIndex, index);\n};\n"],"names":["r","str","match","exec","escape","regexp","index","lastIndex","len","length","charCodeAt","slice"],"mappings":"uDAAA,MAAMA,EAAI,iDAMH,SAA4BC,CAAW,EAC5C,IAAMC,EAAQF,EAAEG,IAAI,CAACF,GAErB,GAAIC,AAAU,OAAVA,EACF,OAAOD,EAGT,IAAIG,EAAS,GACTC,EAAS,GAETC,EAAQJ,EAAMI,KAAK,CACnBC,EAAY,EAGhB,IAAK,IAAMC,EAAMP,EAAIQ,MAAM,CAAEH,EAAQE,EAAKF,IAAS,CAEjD,OAAQL,EAAIS,UAAU,CAACJ,IACrB,KAAK,GACHF,EAAS,OACT,KACF,MAAK,GACHA,EAAS,MACT,KACF,MAAK,GACHA,EAAS,MACT,KACF,MAAK,GACHA,EAAS,MACT,KACF,MAAK,GACHA,EAAS,MACT,KACF,MAAK,GACHA,EAAS,MACT,KACF,MAAK,GACHA,EAAS,MACT,KACF,MAAK,GACHA,EAAS,MACT,KACF,MAAK,GACHA,EAAS,MACT,KACF,MAAK,GACHA,EAAS,MACT,KACF,MAAK,GACHA,EAAS,MACT,KACF,MAAK,IACHA,EAAS,MACT,KACF,MAAK,IACHA,EAAS,MACT,KACF,MAAK,IACHA,EAAS,MACT,KACF,MAAK,GACHA,EAAS,QACT,KACF,SACE,QACJ,CAGIG,IAAcD,GAChBD,CAAAA,GAAUJ,EAAIU,KAAK,CAACJ,EAAWD,EAAAA,EAGjCC,EAAYD,EAAQ,EACpBD,GAAUD,CACZ,CAEA,OAAOG,IAAcD,EACjBD,EACAA,EAASJ,EAAIU,KAAK,CAACJ,EAAWD,EACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fast-string-array-join.js","sources":["../../src/fast-string-array-join/index.ts"],"sourcesContent":["/**\n * A 65% faster join than the native `Array.prototype.join` for string arrays and string separator.\n */\nexport function fastStringArrayJoin(arr: string[], sep: string) {\n const len = arr.length;\n if (len === 0) {\n return '';\n }\n\n let result = arr[0];\n\n for (let i = 1; i < len; i++) {\n result += sep;\n result += arr[i];\n }\n\n return result;\n}\n"],"names":["arr","sep","len","length","result","i"],"mappings":"mFAGO,SAA6BA,CAAa,CAAEC,CAAW,EAC5D,IAAMC,EAAMF,EAAIG,MAAM,CACtB,GAAID,AAAQ,IAARA,EACF,MAAO,GAGT,IAAIE,EAASJ,CAAG,CAAC,EAAE,CAEnB,IAAK,IAAIK,EAAI,EAAGA,EAAIH,EAAKG,IACvBD,GAAUH,EACVG,GAAUJ,CAAG,CAACK,EAAE,CAGlB,OAAOD,CACT"}
|
package/dist/cjs/fifo.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e;Object.defineProperty(exports,"__esModule",{value:!0}),e=Symbol.iterator,exports.FIFO=class{constructor(){this.head=null,this.tail=null,this.$size=0,this.push=this.enqueue,this.shift=this.dequeue,this.clear()}enqueue(e){let t=[e,null];this.head?this.tail[1]=t:this.head=t,this.tail=t,this.$size++}dequeue(){let e=this.head;if(e)return this.head=this.head[1],this.$size--,e[0]}peek(){return this.head?.[0]}clear(){this.head=null,this.tail=null,this.$size=0}get size(){return this.$size}get length(){return this.$size}*[e](){let e=this.head;for(;e;)yield e[0],e=e[1]}};
|
|
2
|
+
//# sourceMappingURL=fifo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fifo.js","sources":["../../src/fifo/index.ts"],"sourcesContent":["type Node<T> = [value: T, next: Node<T> | null];\n\n/** Checkout https://npm.im/fast-fifo if performance is critical */\nexport class FIFO<T> {\n private head: Node<T> | null = null;\n private tail: Node<T> | null = null;\n public $size = 0;\n\n constructor() {\n this.clear();\n }\n\n enqueue(value: T) {\n const node: Node<T> = [value, null];\n\n if (this.head) {\n this.tail![1] = node;\n this.tail = node;\n } else {\n this.head = node;\n this.tail = node;\n }\n\n this.$size++;\n }\n\n // eslint-disable-next-line @typescript-eslint/unbound-method -- alias\n push = this.enqueue;\n\n dequeue() {\n const current = this.head;\n if (!current) {\n return;\n }\n\n this.head = this.head![1];\n this.$size--;\n return current[0];\n }\n\n // eslint-disable-next-line @typescript-eslint/unbound-method -- alias\n shift = this.dequeue;\n\n peek() {\n return this.head?.[0];\n }\n\n clear() {\n this.head = null;\n this.tail = null;\n this.$size = 0;\n }\n\n get size() {\n return this.$size;\n }\n\n get length() {\n return this.$size;\n }\n\n *[Symbol.iterator]() {\n let current = this.head;\n\n while (current) {\n yield current[0];\n current = current[1];\n }\n }\n}\n"],"names":["Symbol","iterator","constructor","head","tail","$size","push","enqueue","shift","dequeue","clear","value","node","current","peek","size","length","_computedKey"],"mappings":"6DA6DIA,EAAAA,OAAOC,QAAQ,cA1DZ,MAKLC,aAAc,MAJNC,IAAuB,CAAA,UACvBC,IAAuB,CAAA,UACxBC,KAAQ,CAAA,OAqBfC,IAAO,CAAA,IAAI,CAACC,OAAO,MAcnBC,KAAQ,CAAA,IAAI,CAACC,OAAO,CAhClB,IAAI,CAACC,KAAK,EACZ,CAEAH,QAAQI,CAAQ,CAAE,CAChB,IAAMC,EAAgB,CAACD,EAAO,KAAK,AAE/B,CAAA,IAAI,CAACR,IAAI,CACX,IAAI,CAACC,IAAI,CAAE,EAAE,CAAGQ,EAGhB,IAAI,CAACT,IAAI,CAAGS,EACZ,IAAI,CAACR,IAAI,CAAGQ,EAGd,IAAI,CAACP,KAAK,EACZ,CAKAI,SAAU,CACR,IAAMI,EAAU,IAAI,CAACV,IAAI,CACzB,GAAKU,EAML,OAFA,IAAI,CAACV,IAAI,CAAG,IAAI,CAACA,IAAK,CAAC,EAAE,CACzB,IAAI,CAACE,KAAK,GACHQ,CAAO,CAAC,EAAE,AACnB,CAKAC,MAAO,CACL,OAAO,IAAI,CAACX,IAAI,EAAA,CAAG,EAAE,AACvB,CAEAO,OAAQ,CACN,IAAI,CAACP,IAAI,CAAG,KACZ,IAAI,CAACC,IAAI,CAAG,KACZ,IAAI,CAACC,KAAK,CAAG,CACf,CAEA,IAAIU,MAAO,CACT,OAAO,IAAI,CAACV,KAAK,AACnB,CAEA,IAAIW,QAAS,CACX,OAAO,IAAI,CAACX,KAAK,AACnB,CAEA,CAAA,CAAqBY,EAAA,EAAA,CACnB,IAAIJ,EAAU,IAAI,CAACV,IAAI,CAEvB,KAAOU,GACL,MAAMA,CAAO,CAAC,EAAE,CAChBA,EAAUA,CAAO,CAAC,EAAE,AAExB,CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fnv1a.js","sources":["../../src/fnv1a/index.ts"],"sourcesContent":["export function fnv1a(s: string) {\n let h = 0x81_1C_9D_C5;\n\n for (let i = 0, l = s.length; i < l; i++) {\n h ^= s.charCodeAt(i);\n h += (h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24);\n }\n\n return (h >>> 0);\n}\n"],"names":["s","h","i","l","length","charCodeAt"],"mappings":"qEAAO,SAAeA,CAAS,EAC7B,IAAIC,EAAI,WAER,IAAK,IAAIC,EAAI,EAAGC,EAAIH,EAAEI,MAAM,CAAEF,EAAIC,EAAGD,IACnCD,GAAKD,EAAEK,UAAU,CAACH,GAClBD,GAAK,AAACA,CAAAA,GAAK,CAAA,EAAMA,CAAAA,GAAK,CAAA,EAAMA,CAAAA,GAAK,CAAA,EAAMA,CAAAA,GAAK,CAAA,EAAMA,CAAAA,GAAK,EAAA,EAGzD,OAAQA,IAAM,CAChB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.fnv1a52=function(e){let t=e.length,r=0,o=0,n=8997,f=0,l=33826,u=0,x=40164,a=0,c=52210;for(;r<t;)n^=e.charCodeAt(r++),o=435*n,f=435*l,u=435*x,a=435*c,u+=n<<8,a+=l<<8,f+=o>>>16,n=65535&o,u+=f>>>16,l=65535&f,c=a+(u>>>16)&65535,x=65535&u;return(15&c)*0x1000000000000+0x100000000*x+65536*l+(n^c>>4)};
|
|
2
|
+
//# sourceMappingURL=fnv1a52.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fnv1a52.js","sources":["../../src/fnv1a52/index.ts"],"sourcesContent":["/**\n * FNV-1a Hash implementation\n * @author Travis Webb (tjwebb) <me@traviswebb.com>\n *\n * Ported from https://github.com/tjwebb/fnv-plus/blob/master/index.js\n *\n * Simplified, optimized and add modified for 52 bit, which provides a larger hash space\n * and still making use of Javascript's 53-bit integer space.\n */\nexport function fnv1a52(str: string) {\n const len = str.length;\n let i = 0,\n t0 = 0,\n v0 = 0x2325,\n t1 = 0,\n v1 = 0x8422,\n t2 = 0,\n v2 = 0x9CE4,\n t3 = 0,\n v3 = 0xCBF2;\n\n while (i < len) {\n v0 ^= str.charCodeAt(i++);\n t0 = v0 * 435;\n t1 = v1 * 435;\n t2 = v2 * 435;\n t3 = v3 * 435;\n t2 += v0 << 8;\n t3 += v1 << 8;\n t1 += t0 >>> 16;\n v0 = t0 & 65535;\n t2 += t1 >>> 16;\n v1 = t1 & 65535;\n v3 = (t3 + (t2 >>> 16)) & 65535;\n v2 = t2 & 65535;\n }\n\n return (\n (v3 & 15) * 281_474_976_710_656\n + v2 * 4_294_967_296\n + v1 * 65536\n + (v0 ^ (v3 >> 4))\n );\n}\n"],"names":["str","len","length","i","t0","v0","t1","v1","t2","v2","t3","v3","charCodeAt"],"mappings":"uEASO,SAAiBA,CAAW,EACjC,IAAMC,EAAMD,EAAIE,MAAM,CAClBC,EAAI,EACNC,EAAK,EACLC,EAAK,KACLC,EAAK,EACLC,EAAK,MACLC,EAAK,EACLC,EAAK,MACLC,EAAK,EACLC,EAAK,MAEP,KAAOR,EAAIF,GACTI,GAAML,EAAIY,UAAU,CAACT,KACrBC,EAAKC,AAAK,IAALA,EACLC,EAAKC,AAAK,IAALA,EACLC,EAAKC,AAAK,IAALA,EACLC,EAAKC,AAAK,IAALA,EACLH,GAAMH,GAAM,EACZK,GAAMH,GAAM,EACZD,GAAMF,IAAO,GACbC,EAAKD,AAAK,MAALA,EACLI,GAAMF,IAAO,GACbC,EAAKD,AAAK,MAALA,EACLK,EAAKD,EAAOF,CAAAA,IAAO,EAAA,EAAO,MAC1BC,EAAKD,AAAK,MAALA,EAGP,MACE,AAACG,CAAAA,AAAK,GAALA,GAAW,gBACVF,AAAK,YAALA,EACAF,AAAK,MAALA,EACCF,CAAAA,EAAMM,GAAM,CAAA,CAEnB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e){switch(e){case null:return e=>null!==e;case void 0:return e=>void 0!==e;case!1:return e=>!1!==e;case"nullish":return e=>null!=e;case"falsy":return e=>!!e;default:s(e,"argument")}}function r(e){switch(e){case null:return e=>null===e;case void 0:return e=>void 0===e;case!1:return e=>!1===e;case"nullish":return e=>null==e;case"falsy":return e=>!e;case"truthy":return e=>!!e;default:s(e,"argument")}}Object.defineProperty(exports,"__esModule",{value:!0});const n=r("truthy"),t=r("falsy"),u=e(null),l=e("nullish");function s(e,r="value"){throw TypeError(`Unexpected ${r}: ${e} as ${JSON.stringify(typeof e)}, should be "never"`)}exports.invariant=function(e,r='[foxts/invariant] "value" is null or undefined'){if(null==e)throw TypeError(r)},exports.is=r,exports.isFalsy=t,exports.isNonNull=u,exports.isNonNullish=l,exports.isTruthy=n,exports.never=s,exports.not=e,exports.nullthrow=function(e,r='[foxts/invariant] "value" is null or undefined'){if(null==e)throw TypeError(r);return e};
|
|
2
|
+
//# sourceMappingURL=guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guard.js","sources":["../../src/guard/index.ts"],"sourcesContent":["export function not(arg: null): <T>(i: T | null) => i is T;\nexport function not(arg: undefined): <T>(i: T | undefined) => i is T;\nexport function not(arg: false): <T>(i: T | false) => i is T;\nexport function not(arg: 'nullish'): <T>(i: T | null | undefined) => i is T;\nexport function not(arg: 'falsy'): <T>(i: T | 0 | '' | false | null | undefined) => i is T;\nexport function not(arg: null | undefined | false | 'nullish' | 'falsy') {\n switch (arg) {\n case null:\n return <T>(i: T | null): i is T => i !== null;\n case undefined:\n return <T>(i: T | undefined): i is T => i !== undefined;\n case false:\n return <T>(i: T | false): i is T => i !== false;\n case 'nullish':\n return <T>(i: T | null | undefined): i is T => i != null;\n case 'falsy':\n return <T>(i: T | 0 | '' | false | null | undefined): i is T => !!i;\n default:\n never(arg, 'argument');\n }\n}\n\nexport function is(arg: null): (i: unknown) => i is null;\nexport function is(arg: undefined): (i: unknown) => i is undefined;\nexport function is(arg: false): (i: unknown) => i is false;\nexport function is(arg: 'nullish'): (i: unknown) => i is null | undefined;\nexport function is(arg: 'falsy'): (i: unknown) => i is 0 | '' | false | null | undefined;\nexport function is(arg: 'truthy'): <T>(i: T | 0 | '' | false | null | undefined) => i is T;\nexport function is(arg: null | undefined | false | 'nullish' | 'falsy' | 'truthy') {\n switch (arg) {\n case null:\n return (i: unknown): i is null => i === null;\n case undefined:\n return (i: unknown): i is undefined => i === undefined;\n case false:\n return (i: unknown): i is false => i === false;\n case 'nullish':\n return (i: unknown): i is null | undefined => i == null;\n case 'falsy':\n return (i: unknown): i is 0 | '' | false | null | undefined => !i;\n case 'truthy':\n return <T>(i: T | 0 | '' | false | null | undefined): i is T => !!i;\n default:\n never(arg, 'argument');\n }\n}\n\nexport const isTruthy = is('truthy');\nexport const isFalsy = is('falsy');\nexport const isNonNull = not(null);\nexport const isNonNullish = not('nullish');\n\nexport function nullthrow<T>(value: T | null | undefined, message = '[foxts/invariant] \"value\" is null or undefined'): T {\n if (value === null || value === undefined) {\n throw new TypeError(message);\n }\n return value;\n}\n\nexport function invariant<T>(value: T | null | undefined, message = '[foxts/invariant] \"value\" is null or undefined'): asserts value is T {\n if (value === null || value === undefined) {\n throw new TypeError(message);\n }\n}\n\nexport function never(value: never, valueMetaName = 'value'): never {\n throw new TypeError(`Unexpected ${valueMetaName}: ${value} as ${JSON.stringify(typeof value)}, should be \"never\"`);\n}\n"],"names":["not","arg","i","undefined","never","is","isTruthy","isFalsy","isNonNull","isNonNullish","value","valueMetaName","TypeError","JSON","stringify","message"],"mappings":"AAKO,SAASA,EAAIC,CAAmD,EACrE,OAAQA,GACN,KAAK,KACH,OAAO,AAAIC,GAAwBA,AAAM,OAANA,CACrC,MAAKC,KAAAA,EACH,OAAO,AAAID,GAA6BA,AAAMC,KAAAA,IAAND,CAC1C,KAAK,CAAA,EACH,OAAO,AAAIA,GAAyBA,AAAM,CAAA,IAANA,CACtC,KAAK,UACH,OAAO,AAAIA,GAAoCA,AAAK,MAALA,CACjD,KAAK,QACH,OAAO,AAAIA,GAAqD,CAAC,CAACA,CACpE,SACEE,EAAMH,EAAK,WACf,CACF,CAQO,SAASI,EAAGJ,CAA8D,EAC/E,OAAQA,GACN,KAAK,KACH,OAAO,AAACC,GAA0BA,AAAM,OAANA,CACpC,MAAKC,KAAAA,EACH,OAAO,AAACD,GAA+BA,AAAMC,KAAAA,IAAND,CACzC,KAAK,CAAA,EACH,OAAO,AAACA,GAA2BA,AAAM,CAAA,IAANA,CACrC,KAAK,UACH,OAAO,AAACA,GAAsCA,AAAK,MAALA,CAChD,KAAK,QACH,OAAO,AAACA,GAAuD,CAACA,CAClE,KAAK,SACH,OAAO,AAAIA,GAAqD,CAAC,CAACA,CACpE,SACEE,EAAMH,EAAK,WACf,CACF,wDAEO,MAAMK,EAAWD,EAAG,UACdE,EAAUF,EAAG,SACbG,EAAYR,EAAI,MAChBS,EAAeT,EAAI,WAezB,SAASI,EAAMM,CAAY,CAAEC,EAAgB,OAAO,EACzD,MAAM,AAAIC,UAAU,CAAC,WAAW,EAAED,EAAc,EAAE,EAAED,EAAM,IAAI,EAAEG,KAAKC,SAAS,CAAC,OAAOJ,GAAO,mBAAmB,CAAC,CACnH,mBARO,SAAsBA,CAA2B,CAAEK,EAAU,gDAAgD,EAClH,GAAIL,MAAAA,EACF,MAAM,AAAIE,UAAUG,EAExB,+IAXO,SAAsBL,CAA2B,CAAEK,EAAU,gDAAgD,EAClH,GAAIL,MAAAA,EACF,MAAM,AAAIE,UAAUG,GAEtB,OAAOL,CACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headers-to-object.js","sources":["../../src/headers-to-object/index.ts"],"sourcesContent":["import type { HeadersInitLike } from '../merge-headers';\n\nexport function headersToObject(headers: HeadersInitLike | Headers): Record<string, string> {\n const obj: Record<string, string> = {};\n\n new Headers(headers).forEach((value: string, key: string) => {\n obj[key] = value;\n });\n\n return obj;\n}\n"],"names":["headers","obj","Headers","forEach","value","key"],"mappings":"+EAEO,SAAyBA,CAAkC,EAChE,IAAMC,EAA8B,CAAC,EAMrC,OAJA,IAAIC,QAAQF,GAASG,OAAO,CAAC,CAACC,EAAeC,KAC3CJ,CAAG,CAACI,EAAI,CAAGD,CACb,GAEOH,CACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sources":["../../src/identity/index.ts"],"sourcesContent":["export function identity<T = any, R = T>(item: T): R {\n return item as any;\n}\n"],"names":["item"],"mappings":"wEAAO,SAAkCA,CAAO,EAC9C,OAAOA,CACT"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.isProbablyIpv4=function(e){if(e.length<7||e.length>15)return!1;let t=0;for(let r=0;r<e.length;r+=1){let l=e.charCodeAt(r);if(46===l)t+=1;else if(l<48||l>57)return!1}return 3===t&&46!==e.charCodeAt(0)&&46!==e.charCodeAt(e.length-1)},exports.isProbablyIpv6=function(e){if(e.length<3)return!1;let t=+("["===e[0]),r=e.length;if("]"===e[r-1]&&(r-=1),r-t>39)return!1;let l=!1;for(;t<r;t+=1){let r=e.charCodeAt(t);if(58===r)l=!0;else if((r<48||r>57)&&(r<97||r>102)&&(r<65||r>90))return!1}return l};
|
|
2
|
+
//# sourceMappingURL=is-probably-ip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-probably-ip.js","sources":["../../src/is-probably-ip/index.ts"],"sourcesContent":["/**\n * Check if a hostname is an IP. You should be aware that this only works\n * because `hostname` is already garanteed to be a valid hostname!\n */\nexport function isProbablyIpv4(hostname: string): boolean {\n // Cannot be shorted than 1.1.1.1 or longer than 255.255.255.255\n if (hostname.length < 7 || hostname.length > 15) {\n return false;\n }\n\n let numberOfDots = 0;\n\n for (let i = 0; i < hostname.length; i += 1) {\n const code = hostname.charCodeAt(i);\n\n if (code === 46 /* '.' */) {\n numberOfDots += 1;\n } else if (code < 48 /* '0' */ || code > 57 /* '9' */) {\n return false;\n }\n }\n\n return (\n numberOfDots === 3\n && hostname.charCodeAt(0) !== 46 /* '.' */\n && hostname.charCodeAt(hostname.length - 1) !== 46 /* '.' */\n );\n}\n\nexport function isProbablyIpv6(hostname: string): boolean {\n if (hostname.length < 3) {\n return false;\n }\n\n let start = hostname[0] === '[' ? 1 : 0;\n let end = hostname.length;\n\n if (hostname[end - 1] === ']') {\n end -= 1;\n }\n\n // We only consider the maximum size of a normal IPV6. Note that this will\n // fail on so-called \"IPv4 mapped IPv6 addresses\" but this is a corner-case\n // and a proper validation library should be used for these.\n if (end - start > 39) {\n return false;\n }\n\n /* eslint-disable sukka/no-single-return -- here it goes */\n let hasColon = false;\n\n for (; start < end; start += 1) {\n const code = hostname.charCodeAt(start);\n\n if (code === 58 /* ':' */) {\n hasColon = true;\n } else if (\n (code < 48 || code > 57) // does not match 0-9\n && (code < 97 || code > 102) // and does not match a-f\n && (code < 65 || code > 90) // and does not match A-F\n ) {\n // does not contain any characters that are required in a valid IPv6\n return false;\n }\n }\n\n return hasColon;\n /* eslint-enable sukka/no-single-return -- here it goes */\n}\n"],"names":["hostname","length","numberOfDots","i","code","charCodeAt","start","end","hasColon"],"mappings":"8EAIO,SAAwBA,CAAgB,EAE7C,GAAIA,EAASC,MAAM,CAAG,GAAKD,EAASC,MAAM,CAAG,GAC3C,MAAO,CAAA,EAGT,IAAIC,EAAe,EAEnB,IAAK,IAAIC,EAAI,EAAGA,EAAIH,EAASC,MAAM,CAAEE,GAAK,EAAG,CAC3C,IAAMC,EAAOJ,EAASK,UAAU,CAACF,GAEjC,GAAIC,AAAS,KAATA,EACFF,GAAgB,OACX,GAAIE,EAAO,IAAgBA,EAAO,GACvC,MAAO,CAAA,CAEX,CAEA,OACEF,AAAiB,IAAjBA,GACGF,AAA2B,KAA3BA,EAASK,UAAU,CAAC,IACpBL,AAA6C,KAA7CA,EAASK,UAAU,CAACL,EAASC,MAAM,CAAG,EAE7C,yBAEO,SAAwBD,CAAgB,EAC7C,GAAIA,EAASC,MAAM,CAAG,EACpB,MAAO,CAAA,EAGT,IAAIK,EAAQN,CAAAA,CAAAA,AAAgB,MAAhBA,CAAQ,CAAC,EAAE,EACnBO,EAAMP,EAASC,MAAM,CASzB,GAP0B,MAAtBD,CAAQ,CAACO,EAAM,EAAE,EACnBA,CAAAA,GAAO,CAAA,EAMLA,EAAMD,EAAQ,GAChB,MAAO,CAAA,EAIT,IAAIE,EAAW,CAAA,EAEf,KAAOF,EAAQC,EAAKD,GAAS,EAAG,CAC9B,IAAMF,EAAOJ,EAASK,UAAU,CAACC,GAEjC,GAAIF,AAAS,KAATA,EACFI,EAAW,CAAA,OACN,GACL,AAACJ,CAAAA,EAAO,IAAMA,EAAO,KACjBA,CAAAA,EAAO,IAAMA,EAAO,MACpBA,CAAAA,EAAO,IAAMA,EAAO,IAGxB,MAAO,CAAA,CAEX,CAEA,OAAOI,CACP"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.mergeHeaders=function(e,r){let t=new Headers(e);return new Headers(r).forEach((e,r)=>{t.set(r,e)}),t},exports.mergeNodeHttpHeaders=function(e,r){return Object.assign({},e,r)};
|
|
2
|
+
//# sourceMappingURL=merge-headers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-headers.js","sources":["../../src/merge-headers/index.ts"],"sourcesContent":["export type HeadersInitLike = string[][] | Record<string, string | readonly string[]> | Headers;\nexport type IncomingHttpHeadersLike = Record<string, string | string[] | undefined>;\nexport type OutgoingHttpHeadersLike = Record<string, number | string | string[] | undefined>;\n\nexport function mergeHeaders(dest: HeadersInitLike, source: HeadersInitLike): Headers {\n const destHeaders = new Headers(dest);\n const sourceHeaders = new Headers(source);\n\n sourceHeaders.forEach((value: string, key: string) => {\n destHeaders.set(key, value);\n });\n\n return destHeaders;\n}\n\nexport function mergeNodeHttpHeaders(dest: IncomingHttpHeadersLike, source: IncomingHttpHeadersLike): IncomingHttpHeadersLike;\nexport function mergeNodeHttpHeaders(dest: OutgoingHttpHeadersLike, source: IncomingHttpHeadersLike | OutgoingHttpHeadersLike): OutgoingHttpHeadersLike;\nexport function mergeNodeHttpHeaders(dest: IncomingHttpHeadersLike | OutgoingHttpHeadersLike, source: IncomingHttpHeadersLike | OutgoingHttpHeadersLike): IncomingHttpHeadersLike | OutgoingHttpHeadersLike {\n return Object.assign({}, dest, source);\n}\n"],"names":["dest","source","destHeaders","Headers","sourceHeaders","forEach","value","key","set","Object","assign"],"mappings":"4EAIO,SAAsBA,CAAqB,CAAEC,CAAuB,EACzE,IAAMC,EAAc,IAAIC,QAAQH,GAOhC,OAJAI,AAFsB,IAAID,QAAQF,GAEpBI,OAAO,CAAC,CAACC,EAAeC,KACpCL,EAAYM,GAAG,CAACD,EAAKD,EACvB,GAEOJ,CACT,+BAIO,SAA8BF,CAAuD,CAAEC,CAAyD,EACrJ,OAAOQ,OAAOC,MAAM,CAAC,GAAIV,EAAMC,EACjC"}
|
package/dist/cjs/noop.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0});const e=()=>{},o=Promise.resolve(),r=new Promise(e);exports.asyncNeverFn=()=>r,exports.asyncNoop=()=>o,exports.falseFn=()=>!1,exports.noop=e,exports.throwFn=()=>{throw Error()},exports.trueFn=()=>!0;
|
|
2
|
+
//# sourceMappingURL=noop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noop.js","sources":["../../src/noop/index.ts"],"sourcesContent":["export interface Noop<T = any> {\n (...args: any[]): T\n}\nexport const noop: Noop = () => { /* noop */ };\n\nexport const trueFn: Noop<true> = () => true;\nexport const falseFn: Noop<false> = () => false;\n\n// eslint-disable-next-line sukka/unicorn/error-message -- deliberately w/o error msg\nexport const throwFn: Noop<never> = () => { throw new Error(); };\n\nconst p = Promise.resolve();\nexport const asyncNoop: Noop<Promise<any>> = () => p;\n\nconst neverResolvedPromise = new Promise<never>(noop);\nexport const asyncNeverFn: Noop<Promise<never>> = () => neverResolvedPromise;\n"],"names":["noop","p","Promise","resolve","neverResolvedPromise","Error"],"mappings":"uDAGO,MAAMA,EAAa,KAAA,EAQpBC,EAAIC,QAAQC,OAAO,GAGnBC,EAAuB,IAAIF,QAAeF,wBACE,IAAMI,oBAHX,IAAMH,kBANf,IAAM,CAAA,iCAGN,KAAQ,MAAM,AAAII,OAAS,iBAJ7B,IAAM,CAAA"}
|
package/dist/cjs/once.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"once.js","sources":["../../src/once/index.ts"],"sourcesContent":["export function once<T>(fn: (() => T)): (() => T) {\n let called = false;\n let result: T;\n\n return (): T => {\n if (!called) {\n called = true;\n result = fn();\n }\n\n return result;\n };\n}\n"],"names":["fn","result","called"],"mappings":"oEAAO,SAAiBA,CAAa,EACnC,IACIC,EADAC,EAAS,CAAA,EAGb,MAAO,KACAA,IACHA,EAAS,CAAA,EACTD,EAASD,KAGJC,EAEX"}
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
declare function createPickRandom(randomInt: (min: number, max: number) => number): <T>(data: T[] | readonly T[], count?: number) => T[];
|
|
5
5
|
declare const pickRandom: <T>(data: T[] | readonly T[], count?: number) => T[];
|
|
6
|
-
declare const pickRandomSecure: <T>(data: T[] | readonly T[], count?: number) => T[];
|
|
7
6
|
declare function createPickOne(randomInt: (min: number, max: number) => number): <T>(data: T[] | readonly T[]) => T;
|
|
8
7
|
declare const pickOne: <T>(data: T[] | readonly T[]) => T;
|
|
9
8
|
|
|
10
|
-
export { createPickOne, createPickRandom, pickOne, pickRandom
|
|
9
|
+
export { createPickOne, createPickRandom, pickOne, pickRandom };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("node:crypto");function t(e){return function(t,n=1){if(n>t.length)throw TypeError("Count must be lower or the same as the number of picks");let r=t.slice(),o=[];for(;n--;)1===r.length?o.push(r[0]):o.push(r.splice(e(0,r.length-1),1)[0]);return o}}const n=t(e.randomInt);function r(e){return function(t){return 1===t.length?t[0]:t[e(0,t.length-1)]}}const o=r(e.randomInt);exports.createPickOne=r,exports.createPickRandom=t,exports.pickOne=o,exports.pickRandom=n;
|
|
2
|
+
//# sourceMappingURL=pick-random.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pick-random.js","sources":["../../src/pick-random/index.ts"],"sourcesContent":["import { randomInt } from 'node:crypto';\n\n/**\n * @param randomInt - a random generate function that accepts two arguments `min` and `max` and returns a random number between `min` and `max`\n */\nexport function createPickRandom(randomInt: (min: number, max: number) => number) {\n return function pickRandom<T>(data: T[] | readonly T[], count = 1) {\n if (count > data.length) {\n throw new TypeError('Count must be lower or the same as the number of picks');\n }\n\n const $data = data.slice();\n\n const pickedElements = [];\n\n while (count--) {\n if ($data.length === 1) {\n // skip randomInt since it might be expensive\n pickedElements.push($data[0]);\n } else {\n pickedElements.push($data.splice(randomInt(0, $data.length - 1), 1)[0]);\n }\n }\n\n return pickedElements;\n };\n}\n\nexport const pickRandom = createPickRandom(randomInt);\n\nexport function createPickOne(randomInt: (min: number, max: number) => number) {\n return function pickOne<T>(data: T[] | readonly T[]) {\n if (data.length === 1) {\n // skip randomInt since it might be expensive\n return data[0];\n }\n return data[randomInt(0, data.length - 1)];\n };\n}\n\nexport const pickOne = createPickOne(randomInt);\n"],"names":["createPickRandom","randomInt","data","count","length","TypeError","$data","slice","pickedElements","push","splice","pickRandom","createPickOne","pickOne"],"mappings":"oFAKO,SAASA,EAAiBC,CAA+C,EAC9E,OAAO,SAAuBC,CAAwB,CAAEC,EAAQ,CAAC,EAC/D,GAAIA,EAAQD,EAAKE,MAAM,CACrB,MAAM,AAAIC,UAAU,0DAGtB,IAAMC,EAAQJ,EAAKK,KAAK,GAElBC,EAAiB,EAAE,CAEzB,KAAOL,KACDG,AAAiB,IAAjBA,EAAMF,MAAM,CAEdI,EAAeC,IAAI,CAACH,CAAK,CAAC,EAAE,EAE5BE,EAAeC,IAAI,CAACH,EAAMI,MAAM,CAACT,EAAU,EAAGK,EAAMF,MAAM,CAAG,GAAI,EAAE,CAAC,EAAE,EAI1E,OAAOI,CACT,CACF,CAEO,MAAMG,EAAaX,EAAiBC,EAAWA,SAAA,EAE/C,SAASW,EAAcX,CAA+C,EAC3E,OAAO,SAAoBC,CAAwB,SACjD,AAAIA,AAAgB,IAAhBA,EAAKE,MAAM,CAENF,CAAI,CAAC,EAAE,CAETA,CAAI,CAACD,EAAU,EAAGC,EAAKE,MAAM,CAAG,GAAG,AAC5C,CACF,CAEO,MAAMS,EAAUD,EAAcX,EAAWA,SAAA"}
|
|
@@ -3,6 +3,5 @@
|
|
|
3
3
|
*/
|
|
4
4
|
declare function createRandomInt(random: () => number): (min: number, max: number) => number;
|
|
5
5
|
declare const randomInt: (min: number, max: number) => number;
|
|
6
|
-
declare const randomIntSecure: (min: number, max: number) => number;
|
|
7
6
|
|
|
8
|
-
export { createRandomInt, randomInt
|
|
7
|
+
export { createRandomInt, randomInt };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-int.js","sources":["../../src/random-int/index.ts"],"sourcesContent":["/**\n * @param random - a random generate function that returns a number between 0 and 1\n */\nexport function createRandomInt(random: () => number) {\n return (min: number, max: number): number => Math.floor(random() * (max - min + 1)) + min;\n}\n\nexport const randomInt = createRandomInt(Math.random);\n\n// function secureRandom() {\n// const buf = new Uint32Array(1);\n// getRandomValues(buf);\n// return buf[0] / (0xFF_FF_FF_FF + 1);\n// }\n\n// export const randomIntSecure = createRandomInt(secureRandom);\n"],"names":["createRandomInt","random","min","max","Math","floor","randomInt"],"mappings":"AAGO,SAASA,EAAgBC,CAAoB,EAClD,MAAO,CAACC,EAAaC,IAAwBC,KAAKC,KAAK,CAACJ,IAAYE,CAAAA,EAAMD,EAAM,CAAA,GAAMA,CACxF,8DAEaI,EAAYN,EAAgBI,KAAKH,MAAM"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.Repool=class{constructor(e){this.createObject=e;let t=e();this.tail=t,this.head=t}get(){let e=this.head;if(e.next)this.head=e.next;else{let e=this.createObject();this.tail=e,this.head=e}return e.next=null,e}release(e){this.tail.next=e,this.tail=e}};
|
|
2
|
+
//# sourceMappingURL=repool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repool.js","sources":["../../src/repool/index.ts"],"sourcesContent":["export interface Reusifiable {\n next: this | null\n}\n\n/**\n * Repool is a class that allows you to reuse objects.\n *\n * Do not use this to store class instances, please use https://github.com/mcollina/reusify instead.\n */\nexport class Repool<T extends Reusifiable> {\n private head: T;\n private tail: T;\n\n constructor(private createObject: () => T) {\n const obj = createObject();\n this.tail = obj;\n this.head = obj;\n }\n\n public get(): T {\n const current = this.head;\n\n if (current.next) {\n this.head = current.next;\n } else {\n const obj = this.createObject();\n this.tail = obj;\n this.head = obj;\n }\n\n current.next = null;\n\n return current;\n }\n\n public release(obj: T): void {\n this.tail.next = obj;\n this.tail = obj;\n }\n}\n"],"names":["constructor","createObject","obj","tail","head","get","current","next","release"],"mappings":"sEASO,MAILA,YAAoBC,CAAqB,CAAE,MAAvBA,YAAAA,CAAAA,EAClB,IAAMC,EAAMD,GACZ,CAAA,IAAI,CAACE,IAAI,CAAGD,EACZ,IAAI,CAACE,IAAI,CAAGF,CACd,CAEOG,KAAS,CACd,IAAMC,EAAU,IAAI,CAACF,IAAI,CAEzB,GAAIE,EAAQC,IAAI,CACd,IAAI,CAACH,IAAI,CAAGE,EAAQC,IAAI,KACnB,CACL,IAAML,EAAM,IAAI,CAACD,YAAY,EAC7B,CAAA,IAAI,CAACE,IAAI,CAAGD,EACZ,IAAI,CAACE,IAAI,CAAGF,CACd,CAIA,OAFAI,EAAQC,IAAI,CAAG,KAERD,CACT,CAEOE,QAAQN,CAAM,CAAQ,CAC3B,IAAI,CAACC,IAAI,CAACI,IAAI,CAAGL,EACjB,IAAI,CAACC,IAAI,CAAGD,CACd,CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as ___noop from './noop.js';
|
|
2
2
|
|
|
3
3
|
interface BaseTrie {
|
|
4
4
|
[key: string]: Trie;
|
|
@@ -12,6 +12,6 @@ declare function retrie(keywords: ArrayLike<string>, asPrefixes?: boolean): {
|
|
|
12
12
|
toString: () => string;
|
|
13
13
|
toRe: () => RegExp;
|
|
14
14
|
};
|
|
15
|
-
declare function createRetrieKeywordFilter(keywords: ArrayLike<string>, asPrefixes?: boolean): Noop<false> | ((string: string) => boolean);
|
|
15
|
+
declare function createRetrieKeywordFilter(keywords: ArrayLike<string>, asPrefixes?: boolean): ___noop.Noop<false> | ((string: string) => boolean);
|
|
16
16
|
|
|
17
17
|
export { createRetrieKeywordFilter, retrie };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./noop.js");const t=new Set([".","?","*","+","^","$","|","(",")","{","}","[","]","\\"]);function n(e,r=!1){let l={},o=(e,t)=>{let n;let r=l;for(let l=0,o=e.length;l<o;++l)(n=e.charAt(l))in r||(r[n]=t?{"":""}:{}),r=r[n];r[""]=""};for(let t=0,n=e.length;t<n;++t)o(e[t],r);let i=()=>(function e(n){let r,l,o=!1,i=!1,u=[],s=[];for(let r in n){if(!r){o=!0;continue}((l=e(n[r]))?u:s).push(("-"===r?"\\x2d":t.has(r)?"\\"+r:r)+l)}return o&&null==l?"":(i=!u.length,s.length&&u.push(s[1]?"["+s.join("")+"]":s[0]),r=u[1]?"(?:"+u.join("|")+")":u[0],o&&(r=i?r+"?":"(?:"+r+")?"),r||"")})(l);return{tree:l,add:o,toString:i,toRe:()=>new RegExp((r?"^":"")+i())}}exports.createRetrieKeywordFilter=function(t,r=!1){if(0===t.length)return e.falseFn;let l=n(t,r).toRe();return l.test.bind(l)},exports.retrie=n;
|
|
2
|
+
//# sourceMappingURL=retrie.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrie.js","sources":["../../src/retrie/index.ts"],"sourcesContent":["// TypeScript port of [retrie](https://github.com/satyr/retrie), which is a Coco -> JS port of [@dankogai](https://x.com/dankogai)'s [RegexpTrie](https://metacpan.org/release/DANKOGAI/Regexp-Trie-0.02/view/lib/Regexp/Trie.pm).\n\nimport { falseFn } from '../noop';\n\ninterface BaseTrie {\n [key: string]: Trie\n}\n\ntype Trie = BaseTrie | {\n '': ''\n};\n\nconst shouldEscapeChars = new Set<string>([\n '.',\n '?',\n '*',\n '+',\n '^',\n '$',\n '|',\n '(',\n ')',\n '{',\n '}',\n '[',\n ']',\n '\\\\'\n]);\n\nexport function retrie(keywords: ArrayLike<string>, asPrefixes = false) {\n const tree: Trie = {};\n\n const add = (keywords: string, asPrefixes: boolean) => {\n let keyword: string;\n let ref: Trie = tree;\n\n for (let i = 0, len = keywords.length; i < len; ++i) {\n keyword = keywords.charAt(i);\n\n if (!(keyword in ref)) {\n (ref as BaseTrie)[keyword] = asPrefixes\n ? { '': '' }\n : {};\n }\n\n ref = (ref as BaseTrie)[keyword];\n }\n\n ref[''] = '';\n };\n\n for (let i = 0, len = keywords.length; i < len; ++i) {\n add(keywords[i], asPrefixes);\n }\n\n const toString = () => {\n function recur(it: Trie): string {\n let q = false;\n let re;\n let sub: string | undefined;\n let cconly = false;\n const alt: string[] = [];\n const cc: string[] = [];\n\n // eslint-disable-next-line guard-for-in -- plain object\n for (const chr in it) {\n if (!chr) {\n q = true;\n continue;\n }\n\n sub = recur((it as BaseTrie)[chr]);\n\n (sub ? alt : cc).push(\n (\n chr === '-'\n // eslint-disable-next-line sukka/unicorn/prefer-string-raw -- regexp escape\n ? '\\\\x2d'\n : (\n shouldEscapeChars.has(chr)\n ? '\\\\' + chr\n : chr\n )\n )\n + sub\n );\n }\n\n if (q && sub == null) {\n return '';\n }\n\n cconly = !alt.length;\n\n if (cc.length) {\n alt.push(\n cc[1]\n ? '[' + cc.join('') + ']'\n : cc[0]\n );\n }\n\n re = alt[1]\n ? '(?:' + alt.join('|') + ')'\n : alt[0];\n\n if (q) {\n re = cconly\n ? re + '?'\n : '(?:' + re + ')?';\n }\n\n return re || '';\n }\n return recur(tree);\n };\n\n const toRe = () => new RegExp(\n (asPrefixes ? '^' : '')\n + toString()\n );\n\n return {\n tree,\n add,\n toString,\n toRe\n };\n}\n\nexport function createRetrieKeywordFilter(keywords: ArrayLike<string>, asPrefixes = false) {\n if (keywords.length === 0) {\n return falseFn;\n }\n\n const re = retrie(keywords, asPrefixes).toRe();\n return re.test.bind(re);\n}\n"],"names":["shouldEscapeChars","Set","retrie","keywords","asPrefixes","tree","add","keyword","ref","i","len","length","charAt","toString","recur","it","re","sub","q","cconly","alt","cc","chr","push","has","join","toRe","RegExp","falseFn","test","bind"],"mappings":"kFAYA,MAAMA,EAAoB,IAAIC,IAAY,CACxC,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACD,EAEM,SAASC,EAAOC,CAA2B,CAAEC,EAAa,CAAA,CAAK,EACpE,IAAMC,EAAa,CAAC,EAEdC,EAAM,CAACH,EAAkBC,SACzBG,EACJ,IAAIC,EAAYH,EAEhB,IAAK,IAAII,EAAI,EAAGC,EAAMP,EAASQ,MAAM,CAAEF,EAAIC,EAAK,EAAED,EAChDF,CAAAA,EAAUJ,EAASS,MAAM,CAACH,EAAAA,IAETD,GACdA,CAAAA,CAAgB,CAACD,EAAQ,CAAGH,EACzB,CAAE,GAAI,EAAG,EACT,CAAC,CAAA,EAGPI,EAAOA,CAAgB,CAACD,EAAQ,AAGlCC,CAAAA,CAAG,CAAC,GAAG,CAAG,EACZ,EAEA,IAAK,IAAIC,EAAI,EAAGC,EAAMP,EAASQ,MAAM,CAAEF,EAAIC,EAAK,EAAED,EAChDH,EAAIH,CAAQ,CAACM,EAAE,CAAEL,GAGnB,IAAMS,EAAW,IA2DRC,AA1DP,CAAA,SAASA,EAAMC,CAAQ,EACrB,IACIC,EACAC,EAFAC,EAAI,CAAA,EAGJC,EAAS,CAAA,EACPC,EAAgB,EAAE,CAClBC,EAAe,EAAE,CAGvB,IAAK,IAAMC,KAAOP,EAAI,CACpB,GAAI,CAACO,EAAK,CACRJ,EAAI,CAAA,EACJ,QACF,CAICD,AAAAA,CAAAA,AAFDA,CAAAA,EAAMH,EAAOC,CAAe,CAACO,EAAI,CAAA,EAE1BF,EAAMC,CAAAA,EAAIE,IAAI,CACnB,AACED,CAAAA,AAAQ,MAARA,EAEI,QAEAtB,EAAkBwB,GAAG,CAACF,GAClB,KAAOA,EACPA,CACN,EAEFL,EAEN,QAEA,AAAIC,GAAKD,AAAO,MAAPA,EACA,IAGTE,EAAS,CAACC,EAAIT,MAAM,CAEhBU,EAAGV,MAAM,EACXS,EAAIG,IAAI,CACNF,CAAE,CAAC,EAAE,CACD,IAAMA,EAAGI,IAAI,CAAC,IAAM,IACpBJ,CAAE,CAAC,EAAE,EAIbL,EAAKI,CAAG,CAAC,EAAE,CACP,MAAQA,EAAIK,IAAI,CAAC,KAAO,IACxBL,CAAG,CAAC,EAAE,CAENF,GACFF,CAAAA,EAAKG,EACDH,EAAK,IACL,MAAQA,EAAK,IAAA,EAGZA,GAAM,GACf,CAAA,EACaX,GAQf,MAAO,CACLA,KAAAA,EACAC,IAAAA,EACAO,SAAAA,EACAa,KATW,IAAM,IAAIC,OACrB,AAACvB,CAAAA,EAAa,IAAM,EAAA,EAClBS,IAQJ,CACF,mCAEO,SAAmCV,CAA2B,CAAEC,EAAa,CAAA,CAAK,EACvF,GAAID,AAAoB,IAApBA,EAASQ,MAAM,CACjB,OAAOiB,EAAAA,OAAAA,CAGT,IAAMZ,EAAKd,EAAOC,EAAUC,GAAYsB,IAAI,GAC5C,OAAOV,EAAGa,IAAI,CAACC,IAAI,CAACd,EACtB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("./fast-string-array-join.js"),A=require("./identity.js"),r=require("./noop.js");function n(e,t,A,r){return new(A||(A=Promise))(function(t,n){function i(e){try{o(r.next(e))}catch(e){n(e)}}function a(e){try{o(r.throw(e))}catch(e){n(e)}}function o(e){var r;e.done?t(e.value):((r=e.value)instanceof A?r:new A(function(e){e(r)})).then(i,a)}o((r=r.apply(e,[])).next())})}class i{constructor(){this.mutex=Promise.resolve()}lock(){let e=()=>{};return this.mutex=this.mutex.then(()=>new Promise(e)),new Promise(t=>{e=t})}dispatch(e){return n(this,void 0,void 0,function*(){let t=yield this.lock();try{return yield Promise.resolve(e())}finally{t()}})}}const a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,o=null!==(e=a.Buffer)&&void 0!==e?e:null,l=a.TextEncoder?new a.TextEncoder:null;function f(e,t){return(15&e)+(e>>6|e>>3&8)<<4|(15&t)+(t>>6|t>>3&8)}function s(e,t,A){let r=0;for(let n=0;n<A;n++){let A=t[n]>>>4;e[r++]=A>9?A+87:A+48,A=15&t[n],e[r++]=A>9?A+87:A+48}return String.fromCharCode.apply(null,e)}const u=null!==o?e=>{if("string"==typeof e){let t=o.from(e,"utf8");return new Uint8Array(t.buffer,t.byteOffset,t.length)}if(o.isBuffer(e))return new Uint8Array(e.buffer,e.byteOffset,e.length);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Invalid data type!")}:e=>{if("string"==typeof e)return l.encode(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Invalid data type!")},Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h=new Uint8Array(256);for(let e=0;e<Q.length;e++)h[Q.charCodeAt(e)]=e;const C=new i,c=new Map;new i,new i,new i,new i,new i,new i,new i,new i,new i,new i,new i,new i,new i,new i,new i,new i;var g={name:"xxhash64",data:"AGFzbQEAAAABDANgAAF/YAAAYAF/AAMHBgABAgEAAQUEAQECAgYOAn8BQdCJBQt/AEGACAsHcAgGbWVtb3J5AgAOSGFzaF9HZXRCdWZmZXIAAAlIYXNoX0luaXQAAQtIYXNoX1VwZGF0ZQACCkhhc2hfRmluYWwAAw1IYXNoX0dldFN0YXRlAAQOSGFzaF9DYWxjdWxhdGUABQpTVEFURV9TSVpFAwEKmxEGBQBBgAkLYwEBfkEAQgA3A8iJAUEAQQApA4AJIgA3A5CJAUEAIABC+erQ0OfJoeThAHw3A5iJAUEAIABCz9bTvtLHq9lCfDcDiIkBQQAgAELW64Lu6v2J9eAAfDcDgIkBQQBBADYCwIkBC70IAwV/BH4CfwJAIABFDQBBAEEAKQPIiQEgAK18NwPIiQECQEEAKALAiQEiASAAakEfSw0AAkACQCAAQQNxIgINAEGACSEDIAAhAQwBCyAAQXxxIQFBgAkhAwNAQQBBACgCwIkBIgRBAWo2AsCJASAEQaCJAWogAy0AADoAACADQQFqIQMgAkF/aiICDQALCyAAQQRJDQEDQEEAQQAoAsCJASICQQFqNgLAiQEgAkGgiQFqIAMtAAA6AAAgA0EBai0AACECQQBBACgCwIkBIgRBAWo2AsCJASAEQaCJAWogAjoAACADQQJqLQAAIQJBAEEAKALAiQEiBEEBajYCwIkBIARBoIkBaiACOgAAIANBA2otAAAhAkEAQQAoAsCJASIEQQFqNgLAiQEgBEGgiQFqIAI6AAAgA0EEaiEDIAFBfGoiAQ0ADAILCyAAQeAIaiEFAkACQCABDQBBACkDmIkBIQZBACkDkIkBIQdBACkDiIkBIQhBACkDgIkBIQlBgAkhAwwBC0GACSEDAkAgAUEfSw0AQYAJIQMCQAJAQQAgAWtBA3EiBA0AIAEhAgwBCyABIQIDQCACQaCJAWogAy0AADoAACACQQFqIQIgA0EBaiEDIARBf2oiBA0ACwsgAUFjakEDSQ0AQSAgAmshCkEAIQQDQCACIARqIgFBoIkBaiADIARqIgstAAA6AAAgAUGhiQFqIAtBAWotAAA6AAAgAUGiiQFqIAtBAmotAAA6AAAgAUGjiQFqIAtBA2otAAA6AAAgCiAEQQRqIgRHDQALIAMgBGohAwtBAEEAKQOgiQFCz9bTvtLHq9lCfkEAKQOAiQF8Qh+JQoeVr6+Ytt6bnn9+Igk3A4CJAUEAQQApA6iJAULP1tO+0ser2UJ+QQApA4iJAXxCH4lCh5Wvr5i23puef34iCDcDiIkBQQBBACkDsIkBQs/W077Sx6vZQn5BACkDkIkBfEIfiUKHla+vmLbem55/fiIHNwOQiQFBAEEAKQO4iQFCz9bTvtLHq9lCfkEAKQOYiQF8Qh+JQoeVr6+Ytt6bnn9+IgY3A5iJAQsgAEGACWohAgJAIAMgBUsNAANAIAMpAwBCz9bTvtLHq9lCfiAJfEIfiUKHla+vmLbem55/fiEJIANBGGopAwBCz9bTvtLHq9lCfiAGfEIfiUKHla+vmLbem55/fiEGIANBEGopAwBCz9bTvtLHq9lCfiAHfEIfiUKHla+vmLbem55/fiEHIANBCGopAwBCz9bTvtLHq9lCfiAIfEIfiUKHla+vmLbem55/fiEIIANBIGoiAyAFTQ0ACwtBACAGNwOYiQFBACAHNwOQiQFBACAINwOIiQFBACAJNwOAiQFBACACIANrNgLAiQEgAiADRg0AQQAhAgNAIAJBoIkBaiADIAJqLQAAOgAAIAJBAWoiAkEAKALAiQFJDQALCwvlBwIFfgV/AkACQEEAKQPIiQEiAEIgVA0AQQApA4iJASIBQgeJQQApA4CJASICQgGJfEEAKQOQiQEiA0IMiXxBACkDmIkBIgRCEol8IAJCz9bTvtLHq9lCfkIfiUKHla+vmLbem55/foVCh5Wvr5i23puef35C49zKlfzO8vWFf3wgAULP1tO+0ser2UJ+Qh+JQoeVr6+Ytt6bnn9+hUKHla+vmLbem55/fkLj3MqV/M7y9YV/fCADQs/W077Sx6vZQn5CH4lCh5Wvr5i23puef36FQoeVr6+Ytt6bnn9+QuPcypX8zvL1hX98IARCz9bTvtLHq9lCfkIfiUKHla+vmLbem55/foVCh5Wvr5i23puef35C49zKlfzO8vWFf3whAQwBC0EAKQOQiQFCxc/ZsvHluuonfCEBCyABIAB8IQBBoIkBIQVBqIkBIQYCQEEAKALAiQEiB0GgiQFqIghBqIkBSQ0AQaCJASEFAkAgB0F4aiIJQQhxDQBBACkDoIkBQs/W077Sx6vZQn5CH4lCh5Wvr5i23puef34gAIVCG4lCh5Wvr5i23puef35C49zKlfzO8vWFf3whAEGwiQEhBkGoiQEhBSAJQQhJDQELA0AgBikDAELP1tO+0ser2UJ+Qh+JQoeVr6+Ytt6bnn9+IAUpAwBCz9bTvtLHq9lCfkIfiUKHla+vmLbem55/fiAAhUIbiUKHla+vmLbem55/fkLj3MqV/M7y9YV/fIVCG4lCh5Wvr5i23puef35C49zKlfzO8vWFf3whACAGQQhqIQUgBkEQaiIGIAhNDQALIAZBeGohBQsCQAJAIAVBBGoiCSAITQ0AIAUhCQwBCyAFNQIAQoeVr6+Ytt6bnn9+IACFQheJQs/W077Sx6vZQn5C+fPd8Zn2masWfCEACwJAIAkgCEYNACAHQZ+JAWohBQJAAkAgByAJa0EBcQ0AIAkhBgwBCyAJQQFqIQYgCTEAAELFz9my8eW66id+IACFQguJQoeVr6+Ytt6bnn9+IQALIAUgCUYNAANAIAZBAWoxAABCxc/ZsvHluuonfiAGMQAAQsXP2bLx5brqJ34gAIVCC4lCh5Wvr5i23puef36FQguJQoeVr6+Ytt6bnn9+IQAgBkECaiIGIAhHDQALC0EAIABCIYggAIVCz9bTvtLHq9lCfiIAQh2IIACFQvnz3fGZ9pmrFn4iAEIgiCAAhSIBQjiGIAFCgP4Dg0IohoQgAUKAgPwHg0IYhiABQoCAgPgPg0IIhoSEIABCCIhCgICA+A+DIABCGIhCgID8B4OEIABCKIhCgP4DgyAAQjiIhISENwOACQsGAEGAiQELAgALCwsBAEGACAsEUAAAAA==",hash:"177fbfa3"};const I=new i;let B=null;const w=new Uint8Array(8);function y(e){return!Number.isInteger(e)||e<0||e>0xffffffff?Error("Seed must be given as two valid 32-bit long unsigned integers (lo + high)."):null}function E(e,t,A){let r=new DataView(e);r.setUint32(0,t,!0),r.setUint32(4,A,!0)}function b(e,t=0,A=0){if(y(t))return Promise.reject(y(t));if(y(A))return Promise.reject(y(A));if(null===B)return(function(e,t,A){return n(this,void 0,void 0,function*(){let A=yield e.lock(),r=yield function(e,t){return n(this,void 0,void 0,function*(){let A=null,r=null,i=!1;if("undefined"==typeof WebAssembly)throw Error("WebAssembly is not supported in this environment!");let a=()=>new DataView(A.exports.memory.buffer).getUint32(A.exports.STATE_SIZE,!0),o=C.dispatch(()=>n(this,void 0,void 0,function*(){if(!c.has(e.name)){let t=function(e){let t=function(e){let t=Math.floor(.75*e.length),A=e.length;return"="===e[A-1]&&(t-=1,"="===e[A-2]&&(t-=1)),t}(e),A=e.length,r=new Uint8Array(t),n=0;for(let t=0;t<A;t+=4){let A=h[e.charCodeAt(t)],i=h[e.charCodeAt(t+1)],a=h[e.charCodeAt(t+2)],o=h[e.charCodeAt(t+3)];r[n]=A<<2|i>>4,r[n+=1]=(15&i)<<4|a>>2,r[n+=1]=(3&a)<<6|63&o,n+=1}return r}(e.data),A=WebAssembly.compile(t);c.set(e.name,A)}let t=yield c.get(e.name);A=yield WebAssembly.instantiate(t,{})})),l=(e=null)=>{i=!0,A.exports.Hash_Init(e)},Q=e=>{let t=0;for(;t<e.length;){let n=e.subarray(t,t+16384);t+=n.length,r.set(n),A.exports.Hash_Update(n.length)}},g=e=>{if(!i)throw Error("update() called before init()");Q(u(e))},I=new Uint8Array(16),B=(e,n=null)=>{if(!i)throw Error("digest() called before init()");return(i=!1,A.exports.Hash_Final(n),"binary"===e)?r.slice(0,t):s(I,r,t)},w=e=>"string"==typeof e?e.length<4096:e.byteLength<16384,y=w;switch(e.name){case"argon2":case"scrypt":y=()=>!0;break;case"blake2b":case"blake2s":y=(e,t)=>t<=512&&w(e);break;case"blake3":y=(e,t)=>0===t&&w(e);break;case"xxhash64":case"xxhash3":case"xxhash128":case"crc64":y=()=>!1}return yield n(this,void 0,void 0,function*(){A||(yield o);let e=A.exports.Hash_GetBuffer();r=new Uint8Array(A.exports.memory.buffer,e,16384)}),{getMemory:()=>r,writeMemory:(e,t=0)=>{r.set(e,t)},getExports:()=>A.exports,setMemorySize:e=>{A.exports.Hash_SetMemorySize(e);let t=A.exports.Hash_GetBuffer();r=new Uint8Array(A.exports.memory.buffer,t,e)},init:l,update:g,digest:B,save:()=>{if(!i)throw Error("save() can only be called after init() and before digest()");let t=A.exports.Hash_GetState(),r=a(),n=new Uint8Array(A.exports.memory.buffer,t,r),o=new Uint8Array(4+r);return function(e,t){let A=t.length>>1;for(let r=0;r<A;r++){let A=r<<1;e[r]=f(t.charCodeAt(A),t.charCodeAt(A+1))}}(o,e.hash),o.set(n,4),o},load:t=>{if(!(t instanceof Uint8Array))throw Error("load() expects an Uint8Array generated by save()");let r=A.exports.Hash_GetState(),n=a(),o=4+n,l=A.exports.memory.buffer;if(t.length!==o)throw Error(`Bad state length (expected ${o} bytes, got ${t.length})`);if(!function(e,t){if(e.length!==2*t.length)return!1;for(let A=0;A<t.length;A++){let r=A<<1;if(t[A]!==f(e.charCodeAt(r),e.charCodeAt(r+1)))return!1}return!0}(e.hash,t.subarray(0,4)))throw Error("This state was written by an incompatible hash implementation");let s=t.subarray(4);new Uint8Array(l,r,n).set(s),i=!0},calculate:(e,n=null,i=null)=>{if(!y(e,n))return l(n),g(e),B("hex",i);let a=u(e);return r.set(a),A.exports.Hash_Calculate(a.length,n,i),s(I,r,t)},hashLength:t}})}(t,8);return A(),r})})(I,g,0).then(r=>(B=r,E(w.buffer,t,A),B.writeMemory(w),B.calculate(e)));try{E(w.buffer,t,A),B.writeMemory(w);let r=B.calculate(e);return Promise.resolve(r)}catch(e){return Promise.reject(e)}}new i,new i,new i,new i,new i;class d extends Error{constructor(e,t){super(e),this.name="DevalueError",this.path=t.join("")}}function p(e){return Object(e)!==e}const m=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function k(e){let t="",A=0,r=e.length;for(let n=0;n<r;n+=1){let r=function(e){switch(e){case'"':return'\\"';case"<":return"\\u003C";case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r";case" ":return"\\t";case"\b":return"\\b";case"\f":return"\\f";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:return e<" "?`\\u${e.charCodeAt(0).toString(16).padStart(4,"0")}`:""}}(e[n]);r&&(t+=e.slice(A,n)+r,A=n+1)}return`"${0===A?e:t+e.slice(A)}"`}const v=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function U(e){return v.test(e)?"."+e:"["+JSON.stringify(e)+"]"}function F(e){let t=new DataView(e),A="";for(let r=0;r<e.byteLength;r++)A+=String.fromCharCode(t.getUint8(r));return function(e){let t="";for(let A=0;A<e.length;A+=3){let r=[void 0,void 0,void 0,void 0];r[0]=e.charCodeAt(A)>>2,r[1]=(3&e.charCodeAt(A))<<4,e.length>A+1&&(r[1]|=e.charCodeAt(A+1)>>4,r[2]=(15&e.charCodeAt(A+1))<<2),e.length>A+2&&(r[2]|=e.charCodeAt(A+2)>>6,r[3]=63&e.charCodeAt(A+2));for(let e=0;e<r.length;e++)void 0===r[e]?t+="=":t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[r[e]]}return t}(A)}function J(e){let t=typeof e;return"string"===t?k(e):e instanceof String?k(e.toString()):void 0===e?"-1":0===e&&1/e<0?"-6":"bigint"===t?`["BigInt","${e}"]`:String(e)}exports.createMemoize=function(e,{onlyUseCachedIfFail:n=!1,resetTtlOnHit:i=!1,defaultTtl:a=6048e5,onCacheUpdate:o=r.noop,onCacheMiss:l=r.noop,onCacheHit:f=r.noop}={}){return function(r,s){if(s?.temporaryBypass)return(...e)=>Promise.resolve(r(...e));let u=s&&"serializer"in s?s.serializer:A.identity,Q=s&&"deserializer"in s?s.deserializer:A.identity,h=s?.ttl??a,C=r.toString(),c=b(C);return async function(...A){let a=t.fastStringArrayJoin(await Promise.all([c,b(function(e,t){let A=[],r=new Map,n=[],i=[],a=0,o=function e(t){if("function"==typeof t)throw new d("Cannot stringify a function",i);if(r.has(t))return r.get(t);if(void 0===t)return -1;if(Number.isNaN(t))return -3;if(t===1/0)return -4;if(t===-1/0)return -5;if(0===t&&1/t<0)return -6;let o=a++;for(let{key:i,fn:a}of(r.set(t,o),n)){let r=a(t);if(r)return A[o]=`["${i}",${e(r)}]`,o}let l="";if(p(t))l=J(t);else{let A=Object.prototype.toString.call(t).slice(8,-1);switch(A){case"Number":case"String":case"Boolean":l=`["Object",${J(t)}]`;break;case"BigInt":l=`["BigInt",${t}]`;break;case"Date":let r=!isNaN(t.getDate());l=`["Date","${r?t.toISOString():""}"]`;break;case"RegExp":let{source:n,flags:a}=t;l=a?`["RegExp",${k(n)},"${a}"]`:`["RegExp",${k(n)}]`;break;case"Array":l="[";for(let A=0;A<t.length;A+=1)A>0&&(l+=","),A in t?(i.push(`[${A}]`),l+=e(t[A]),i.pop()):l+=-2;l+="]";break;case"Set":for(let A of(l='["Set"',t))l+=`,${e(A)}`;l+="]";break;case"Map":for(let[A,r]of(l='["Map"',t))i.push(`.get(${p(A)?J(A):"..."})`),l+=`,${e(A)},${e(r)}`,i.pop();l+="]";break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":l='["'+A+'","'+F(t.buffer)+'"]';break;case"ArrayBuffer":{let e=F(t);l=`["ArrayBuffer","${e}"]`;break}default:if(!function(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||null===t||Object.getOwnPropertyNames(t).sort().join("\0")===m}(t))throw new d("Cannot stringify arbitrary non-POJOs",i);if(Object.getOwnPropertySymbols(t).filter(e=>Object.getOwnPropertyDescriptor(t,e).enumerable).length>0)throw new d("Cannot stringify POJOs with symbolic keys",i);if(null===Object.getPrototypeOf(t)){for(let A in l='["null"',t)i.push(U(A)),l+=`,${k(A)},${e(t[A])}`,i.pop();l+="]"}else{l="{";let A=!1;for(let r in t)A&&(l+=","),A=!0,i.push(U(r)),l+=`${k(r)}:${e(t[r])}`,i.pop();l+="}"}}}return A[o]=l,o}(e);return o<0?`${o}`:`[${A.join(",")}]`}(A))]),"|"),s=r.name||C||a,g=e.get(a);if(g&&"object"==typeof g&&"then"in g&&(g=await g),n)try{let t=await r(...A);o(a,{humanReadableName:s,isUseCachedIfFail:!0});let n=e.set(a,u(t),h);return n&&"then"in n&&await n,t}catch(t){if(null==g)throw l(a,{humanReadableName:s,isUseCachedIfFail:!0}),t;if(i){let t=e.updateTtl?.(a,h);t&&"then"in t&&await t}return f(a,{humanReadableName:s,isUseCachedIfFail:!0}),Q(g)}else{if(null==g){l(a,{humanReadableName:s,isUseCachedIfFail:!1});let t=await r(...A),n=e.set(a,u(t),h);return n&&"then"in n&&await n,t}if(f(a,{humanReadableName:s,isUseCachedIfFail:!1}),i){let t=e.updateTtl?.(a,h);t&&"then"in t&&await t}return Q(g)}}}};
|
|
2
|
+
//# sourceMappingURL=serialized-memo.js.map
|