foxts 1.0.8 → 1.0.10
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/chunks/index.BHInDuqN.cjs +1 -0
- package/chunks/index.CiCKJNbp.mjs +1 -0
- package/escape-string-regexp/index.cjs +1 -0
- package/escape-string-regexp/index.d.ts +3 -0
- package/escape-string-regexp/index.mjs +1 -0
- package/fifo/index.cjs +1 -1
- package/fifo/index.d.ts +2 -0
- package/fifo/index.mjs +1 -1
- package/package.json +40 -22
- package/serialized-memo/index.cjs +5 -0
- package/serialized-memo/index.d.ts +55 -0
- package/serialized-memo/index.mjs +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e={"<":"\\u003C","\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\u2028":"\\u2028","\u2029":"\\u2029"};class t extends Error{constructor(e,t){super(e),this.name="DevalueError",this.path=t.join("")}}function r(e){return Object(e)!==e}const n=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function a(e){const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t||Object.getOwnPropertyNames(t).sort().join("\0")===n}function o(e){return Object.prototype.toString.call(e).slice(8,-1)}function s(e){let t="",r=0;const n=e.length;for(let a=0;a<n;a+=1){const n=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[a]);n&&(t+=e.slice(r,a)+n,r=a+1)}return`"${0===r?e:t+e.slice(r)}"`}function c(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.getOwnPropertyDescriptor(e,t).enumerable)}const i=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function f(e){return i.test(e)?"."+e:"["+JSON.stringify(e)+"]"}const u="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$",l=/[<\b\f\n\r\t\0\u2028\u2029]/g,y=/^(?:do|if|in|for|int|let|new|try|var|byte|case|char|else|enum|goto|long|this|void|with|await|break|catch|class|const|final|float|short|super|throw|while|yield|delete|double|export|import|native|return|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/;function p(t){return e[t]||t}function g(e){return e.replace(l,p)}function h(e){if("string"==typeof e)return s(e);if(void 0===e)return"void 0";if(0===e&&1/e<0)return"-0";const t=String(e);return"number"==typeof e?t.replace(/^(-)?0\./,"$1."):"bigint"==typeof e?e+"n":t}function b(e){const t=new DataView(e);let r="";for(let n=0;n<e.byteLength;n++)r+=String.fromCharCode(t.getUint8(n));return function(e){let t="";for(let r=0;r<e.length;r+=3){const n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(3&e.charCodeAt(r))<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(15&e.charCodeAt(r+1))<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=63&e.charCodeAt(r+2));for(let e=0;e<n.length;e++)void 0===n[e]?t+="=":t+=$[n[e]]}return t}(r)}function A(e){const t=function(e){e.length%4==0&&(e=e.replace(/==?$/,""));let t="",r=0,n=0;for(let a=0;a<e.length;a++)r<<=6,r|=$.indexOf(e[a]),24===(n+=6)&&(t+=String.fromCharCode((0xff0000&r)>>16),t+=String.fromCharCode((65280&r)>>8),t+=String.fromCharCode(255&r),r=n=0);return 12===n?(r>>=4,t+=String.fromCharCode(r)):18===n&&(r>>=2,t+=String.fromCharCode((65280&r)>>8),t+=String.fromCharCode(255&r)),t}(e),r=new ArrayBuffer(t.length),n=new DataView(r);for(let e=0;e<r.byteLength;e++)n.setUint8(e,t.charCodeAt(e));return r}const $="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function w(e,t){if("number"==typeof e)return n(e,!0);if(!Array.isArray(e)||0===e.length)throw Error("Invalid input");const r=Array(e.length);function n(a,o=!1){if(-1===a)return;if(-3===a)return NaN;if(-4===a)return 1/0;if(-5===a)return-1/0;if(-6===a)return -0;if(o)throw Error("Invalid input");if(a in r)return r[a];const s=e[a];if(s&&"object"==typeof s){if(Array.isArray(s)){if("string"==typeof s[0]){const e=s[0],o=t?.[e];if(o)return r[a]=o(n(s[1]));switch(e){case"Date":r[a]=new Date(s[1]);break;case"Set":const c=new Set;r[a]=c;for(let e=1;e<s.length;e+=1)c.add(n(s[e]));break;case"Map":const i=new Map;r[a]=i;for(let e=1;e<s.length;e+=2)i.set(n(s[e]),n(s[e+1]));break;case"RegExp":r[a]=new RegExp(s[1],s[2]);break;case"Object":r[a]=Object(s[1]);break;case"BigInt":r[a]=BigInt(s[1]);break;case"null":const f=Object.create(null);r[a]=f;for(let e=1;e<s.length;e+=2)f[s[e]]=n(s[e+1]);break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":{const t=new globalThis[e](A(s[1]));r[a]=t;break}case"ArrayBuffer":{const e=A(s[1]);r[a]=e;break}default:throw Error(`Unknown type ${e}`)}}else{const e=Array(s.length);r[a]=e;for(let t=0;t<s.length;t+=1){const r=s[t];-2!==r&&(e[t]=n(r))}}}else{const e={};for(const t in r[a]=e,s){const r=s[t];e[t]=n(r)}}}else r[a]=s;return r[a]}return n(0)}function d(e){const t=typeof e;return"string"===t?s(e):e instanceof String?s(e.toString()):void 0===e?"-1":0===e&&1/e<0?"-6":"bigint"===t?`["BigInt","${e}"]`:String(e)}exports.parse=function(e,t){return w(JSON.parse(e),t)},exports.stringify=function(e,n){const i=[],u=new Map,l=[];if(n)for(const e of Object.getOwnPropertyNames(n))l.push({key:e,fn:n[e]});const y=[];let p=0;const g=function e(n){if("function"==typeof n)throw new t("Cannot stringify a function",y);if(u.has(n))return u.get(n);if(void 0===n)return -1;if(Number.isNaN(n))return -3;if(n===1/0)return -4;if(n===-1/0)return -5;if(0===n&&1/n<0)return -6;const g=p++;for(const{key:t,fn:r}of(u.set(n,g),l)){const a=r(n);if(a)return i[g]=`["${t}",${e(a)}]`,g}let h="";if(r(n))h=d(n);else{const i=o(n);switch(i){case"Number":case"String":case"Boolean":h=`["Object",${d(n)}]`;break;case"BigInt":h=`["BigInt",${n}]`;break;case"Date":const u=!isNaN(n.getDate());h=`["Date","${u?n.toISOString():""}"]`;break;case"RegExp":const{source:l,flags:p}=n;h=p?`["RegExp",${s(l)},"${p}"]`:`["RegExp",${s(l)}]`;break;case"Array":h="[";for(let t=0;t<n.length;t+=1)t>0&&(h+=","),t in n?(y.push(`[${t}]`),h+=e(n[t]),y.pop()):h+=-2;h+="]";break;case"Set":for(const t of(h='["Set"',n))h+=`,${e(t)}`;h+="]";break;case"Map":for(const[t,a]of(h='["Map"',n))y.push(`.get(${r(t)?d(t):"..."})`),h+=`,${e(t)},${e(a)}`,y.pop();h+="]";break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":h='["'+i+'","'+b(n.buffer)+'"]';break;case"ArrayBuffer":{const e=b(n);h=`["ArrayBuffer","${e}"]`;break}default:if(!a(n))throw new t("Cannot stringify arbitrary non-POJOs",y);if(c(n).length>0)throw new t("Cannot stringify POJOs with symbolic keys",y);if(null===Object.getPrototypeOf(n)){for(const t in h='["null"',n)y.push(f(t)),h+=`,${s(t)},${e(n[t])}`,y.pop();h+="]"}else{h="{";let t=!1;for(const r in n)t&&(h+=","),t=!0,y.push(f(r)),h+=`${s(r)}:${e(n[r])}`,y.pop();h+="}"}}}return i[g]=h,g}(e);return g<0?`${g}`:`[${i.join(",")}]`},exports.uneval=function(e,n){const i=new Map,l=[],p=new Map;!function e(s){if("function"==typeof s)throw new t("Cannot stringify a function",l);if(!r(s)){if(i.has(s)){i.set(s,i.get(s)+1);return}if(i.set(s,1),n){const e=n(s);if("string"==typeof e){p.set(s,e);return}}switch(o(s)){case"Number":case"BigInt":case"String":case"Boolean":case"Date":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":case"ArrayBuffer":return;case"Array":s.forEach((t,r)=>{l.push(`[${r}]`),e(t),l.pop()});break;case"Set":Array.from(s).forEach(e);break;case"Map":for(const[t,n]of s)l.push(`.get(${r(t)?h(t):"..."})`),e(n),l.pop();break;default:if(!a(s))throw new t("Cannot stringify arbitrary non-POJOs",l);if(c(s).length>0)throw new t("Cannot stringify POJOs with symbolic keys",l);for(const t in s)l.push(f(t)),e(s[t]),l.pop()}}}(e);const b=new Map;function A(e){if(b.has(e))return b.get(e);if(r(e))return h(e);if(p.has(e))return p.get(e);const t=o(e);switch(t){case"Number":case"String":case"Boolean":return`Object(${A(e.valueOf())})`;case"RegExp":return`new RegExp(${s(e.source)}, "${e.flags}")`;case"Date":return`new Date(${e.getTime()})`;case"Array":const n=e.map((t,r)=>r in e?A(t):""),a=0===e.length||e.length-1 in e?"":",";return`[${n.join(",")}${a}]`;case"Set":case"Map":return`new ${t}([${Array.from(e).map(A).join(",")}])`;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":return`new ${t}([${e.toString()}])`;case"ArrayBuffer":{const t=new Uint8Array(e);return`new Uint8Array([${t.toString()}]).buffer`}default:const c=`{${Object.keys(e).map(t=>{var r;return`${r=t,/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(r)?r:g(JSON.stringify(r))}:${A(e[t])}`}).join(",")}}`;if(null===Object.getPrototypeOf(e))return Object.keys(e).length>0?`Object.assign(Object.create(null),${c})`:"Object.create(null)";return c}}Array.from(i).filter(e=>e[1]>1).sort((e,t)=>t[1]-e[1]).forEach((e,t)=>{b.set(e[0],function(e){let t="";do t=u[e%u.length]+t,e=~~(e/u.length)-1;while(e>=0);return y.test(t)?`${t}0`:t}(t))});const $=A(e);if(!b.size)return $;{const e=[],t=[],n=[];return b.forEach((a,s)=>{if(e.push(a),p.has(s)){n.push(p.get(s));return}if(r(s)){n.push(h(s));return}switch(o(s)){case"Number":case"String":case"Boolean":n.push(`Object(${A(s.valueOf())})`);break;case"RegExp":n.push(s.toString());break;case"Date":n.push(`new Date(${s.getTime()})`);break;case"Array":n.push(`Array(${s.length})`),s.forEach((e,r)=>{t.push(`${a}[${r}]=${A(e)}`)});break;case"Set":n.push("new Set"),t.push(`${a}.${Array.from(s).map(e=>`add(${A(e)})`).join(".")}`);break;case"Map":n.push("new Map"),t.push(`${a}.${Array.from(s).map(([e,t])=>`set(${A(e)}, ${A(t)})`).join(".")}`);break;default:n.push(null===Object.getPrototypeOf(s)?"Object.create(null)":"{}"),Object.keys(s).forEach(e=>{var r;t.push(`${a}${(r=e,/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(r)?`.${r}`:`[${g(JSON.stringify(r))}]`)}=${A(s[e])}`)})}}),t.push(`return ${$}`),`(function(${e.join(",")}){${t.join(";")}}(${n.join(",")}))`}},exports.unflatten=w;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={"<":"\\u003C","\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\u2028":"\\u2028","\u2029":"\\u2029"};class t extends Error{constructor(e,t){super(e),this.name="DevalueError",this.path=t.join("")}}function r(e){return Object(e)!==e}const n=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function a(e){const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t||Object.getOwnPropertyNames(t).sort().join("\0")===n}function o(e){return Object.prototype.toString.call(e).slice(8,-1)}function s(e){let t="",r=0;const n=e.length;for(let a=0;a<n;a+=1){const n=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[a]);n&&(t+=e.slice(r,a)+n,r=a+1)}return`"${0===r?e:t+e.slice(r)}"`}function c(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.getOwnPropertyDescriptor(e,t).enumerable)}const i=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function f(e){return i.test(e)?"."+e:"["+JSON.stringify(e)+"]"}const u="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$",l=/[<\b\f\n\r\t\0\u2028\u2029]/g,y=/^(?:do|if|in|for|int|let|new|try|var|byte|case|char|else|enum|goto|long|this|void|with|await|break|catch|class|const|final|float|short|super|throw|while|yield|delete|double|export|import|native|return|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/;function g(e,n){const i=new Map,l=[],g=new Map;!function e(s){if("function"==typeof s)throw new t("Cannot stringify a function",l);if(!r(s)){if(i.has(s)){i.set(s,i.get(s)+1);return}if(i.set(s,1),n){const e=n(s);if("string"==typeof e){g.set(s,e);return}}switch(o(s)){case"Number":case"BigInt":case"String":case"Boolean":case"Date":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":case"ArrayBuffer":return;case"Array":s.forEach((t,r)=>{l.push(`[${r}]`),e(t),l.pop()});break;case"Set":Array.from(s).forEach(e);break;case"Map":for(const[t,n]of s)l.push(`.get(${r(t)?b(t):"..."})`),e(n),l.pop();break;default:if(!a(s))throw new t("Cannot stringify arbitrary non-POJOs",l);if(c(s).length>0)throw new t("Cannot stringify POJOs with symbolic keys",l);for(const t in s)l.push(f(t)),e(s[t]),l.pop()}}}(e);const p=new Map;function A(e){if(p.has(e))return p.get(e);if(r(e))return b(e);if(g.has(e))return g.get(e);const t=o(e);switch(t){case"Number":case"String":case"Boolean":return`Object(${A(e.valueOf())})`;case"RegExp":return`new RegExp(${s(e.source)}, "${e.flags}")`;case"Date":return`new Date(${e.getTime()})`;case"Array":const n=e.map((t,r)=>r in e?A(t):""),a=0===e.length||e.length-1 in e?"":",";return`[${n.join(",")}${a}]`;case"Set":case"Map":return`new ${t}([${Array.from(e).map(A).join(",")}])`;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":return`new ${t}([${e.toString()}])`;case"ArrayBuffer":{const t=new Uint8Array(e);return`new Uint8Array([${t.toString()}]).buffer`}default:const c=`{${Object.keys(e).map(t=>{var r;return`${r=t,/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(r)?r:h(JSON.stringify(r))}:${A(e[t])}`}).join(",")}}`;if(null===Object.getPrototypeOf(e))return Object.keys(e).length>0?`Object.assign(Object.create(null),${c})`:"Object.create(null)";return c}}Array.from(i).filter(e=>e[1]>1).sort((e,t)=>t[1]-e[1]).forEach((e,t)=>{p.set(e[0],function(e){let t="";do t=u[e%u.length]+t,e=~~(e/u.length)-1;while(e>=0);return y.test(t)?`${t}0`:t}(t))});const $=A(e);if(!p.size)return $;{const e=[],t=[],n=[];return p.forEach((a,s)=>{if(e.push(a),g.has(s)){n.push(g.get(s));return}if(r(s)){n.push(b(s));return}switch(o(s)){case"Number":case"String":case"Boolean":n.push(`Object(${A(s.valueOf())})`);break;case"RegExp":n.push(s.toString());break;case"Date":n.push(`new Date(${s.getTime()})`);break;case"Array":n.push(`Array(${s.length})`),s.forEach((e,r)=>{t.push(`${a}[${r}]=${A(e)}`)});break;case"Set":n.push("new Set"),t.push(`${a}.${Array.from(s).map(e=>`add(${A(e)})`).join(".")}`);break;case"Map":n.push("new Map"),t.push(`${a}.${Array.from(s).map(([e,t])=>`set(${A(e)}, ${A(t)})`).join(".")}`);break;default:n.push(null===Object.getPrototypeOf(s)?"Object.create(null)":"{}"),Object.keys(s).forEach(e=>{var r;t.push(`${a}${(r=e,/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(r)?`.${r}`:`[${h(JSON.stringify(r))}]`)}=${A(s[e])}`)})}}),t.push(`return ${$}`),`(function(${e.join(",")}){${t.join(";")}}(${n.join(",")}))`}}function p(t){return e[t]||t}function h(e){return e.replace(l,p)}function b(e){if("string"==typeof e)return s(e);if(void 0===e)return"void 0";if(0===e&&1/e<0)return"-0";const t=String(e);return"number"==typeof e?t.replace(/^(-)?0\./,"$1."):"bigint"==typeof e?e+"n":t}function A(e){const t=new DataView(e);let r="";for(let n=0;n<e.byteLength;n++)r+=String.fromCharCode(t.getUint8(n));return function(e){let t="";for(let r=0;r<e.length;r+=3){const n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(3&e.charCodeAt(r))<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(15&e.charCodeAt(r+1))<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=63&e.charCodeAt(r+2));for(let e=0;e<n.length;e++)void 0===n[e]?t+="=":t+=w[n[e]]}return t}(r)}function $(e){const t=function(e){e.length%4==0&&(e=e.replace(/==?$/,""));let t="",r=0,n=0;for(let a=0;a<e.length;a++)r<<=6,r|=w.indexOf(e[a]),24===(n+=6)&&(t+=String.fromCharCode((0xff0000&r)>>16),t+=String.fromCharCode((65280&r)>>8),t+=String.fromCharCode(255&r),r=n=0);return 12===n?(r>>=4,t+=String.fromCharCode(r)):18===n&&(r>>=2,t+=String.fromCharCode((65280&r)>>8),t+=String.fromCharCode(255&r)),t}(e),r=new ArrayBuffer(t.length),n=new DataView(r);for(let e=0;e<r.byteLength;e++)n.setUint8(e,t.charCodeAt(e));return r}const w="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function d(e,t){return O(JSON.parse(e),t)}function O(e,t){if("number"==typeof e)return n(e,!0);if(!Array.isArray(e)||0===e.length)throw Error("Invalid input");const r=Array(e.length);function n(a,o=!1){if(-1===a)return;if(-3===a)return NaN;if(-4===a)return 1/0;if(-5===a)return-1/0;if(-6===a)return -0;if(o)throw Error("Invalid input");if(a in r)return r[a];const s=e[a];if(s&&"object"==typeof s){if(Array.isArray(s)){if("string"==typeof s[0]){const e=s[0],o=t?.[e];if(o)return r[a]=o(n(s[1]));switch(e){case"Date":r[a]=new Date(s[1]);break;case"Set":const c=new Set;r[a]=c;for(let e=1;e<s.length;e+=1)c.add(n(s[e]));break;case"Map":const i=new Map;r[a]=i;for(let e=1;e<s.length;e+=2)i.set(n(s[e]),n(s[e+1]));break;case"RegExp":r[a]=new RegExp(s[1],s[2]);break;case"Object":r[a]=Object(s[1]);break;case"BigInt":r[a]=BigInt(s[1]);break;case"null":const f=Object.create(null);r[a]=f;for(let e=1;e<s.length;e+=2)f[s[e]]=n(s[e+1]);break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":{const t=new globalThis[e]($(s[1]));r[a]=t;break}case"ArrayBuffer":{const e=$(s[1]);r[a]=e;break}default:throw Error(`Unknown type ${e}`)}}else{const e=Array(s.length);r[a]=e;for(let t=0;t<s.length;t+=1){const r=s[t];-2!==r&&(e[t]=n(r))}}}else{const e={};for(const t in r[a]=e,s){const r=s[t];e[t]=n(r)}}}else r[a]=s;return r[a]}return n(0)}function m(e,n){const i=[],u=new Map,l=[];if(n)for(const e of Object.getOwnPropertyNames(n))l.push({key:e,fn:n[e]});const y=[];let g=0;const p=function e(n){if("function"==typeof n)throw new t("Cannot stringify a function",y);if(u.has(n))return u.get(n);if(void 0===n)return -1;if(Number.isNaN(n))return -3;if(n===1/0)return -4;if(n===-1/0)return -5;if(0===n&&1/n<0)return -6;const p=g++;for(const{key:t,fn:r}of(u.set(n,p),l)){const a=r(n);if(a)return i[p]=`["${t}",${e(a)}]`,p}let h="";if(r(n))h=j(n);else{const i=o(n);switch(i){case"Number":case"String":case"Boolean":h=`["Object",${j(n)}]`;break;case"BigInt":h=`["BigInt",${n}]`;break;case"Date":const u=!isNaN(n.getDate());h=`["Date","${u?n.toISOString():""}"]`;break;case"RegExp":const{source:l,flags:g}=n;h=g?`["RegExp",${s(l)},"${g}"]`:`["RegExp",${s(l)}]`;break;case"Array":h="[";for(let t=0;t<n.length;t+=1)t>0&&(h+=","),t in n?(y.push(`[${t}]`),h+=e(n[t]),y.pop()):h+=-2;h+="]";break;case"Set":for(const t of(h='["Set"',n))h+=`,${e(t)}`;h+="]";break;case"Map":for(const[t,a]of(h='["Map"',n))y.push(`.get(${r(t)?j(t):"..."})`),h+=`,${e(t)},${e(a)}`,y.pop();h+="]";break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":h='["'+i+'","'+A(n.buffer)+'"]';break;case"ArrayBuffer":{const e=A(n);h=`["ArrayBuffer","${e}"]`;break}default:if(!a(n))throw new t("Cannot stringify arbitrary non-POJOs",y);if(c(n).length>0)throw new t("Cannot stringify POJOs with symbolic keys",y);if(null===Object.getPrototypeOf(n)){for(const t in h='["null"',n)y.push(f(t)),h+=`,${s(t)},${e(n[t])}`,y.pop();h+="]"}else{h="{";let t=!1;for(const r in n)t&&(h+=","),t=!0,y.push(f(r)),h+=`${s(r)}:${e(n[r])}`,y.pop();h+="}"}}}return i[p]=h,p}(e);return p<0?`${p}`:`[${i.join(",")}]`}function j(e){const t=typeof e;return"string"===t?s(e):e instanceof String?s(e.toString()):void 0===e?"-1":0===e&&1/e<0?"-6":"bigint"===t?`["BigInt","${e}"]`:String(e)}export{d as parse,m as stringify,g as uneval,O as unflatten};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=/[$()*+.?[\\\]^{|}]/g;exports.escapeStringRegexp=function(r){return r.replaceAll(e,"\\$&").replaceAll("-","\\x2d")};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=/[$()*+.?[\\\]^{|}]/g;function l(l){return l.replaceAll(e,"\\$&").replaceAll("-","\\x2d")}export{l as escapeStringRegexp};
|
package/fifo/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e;e=Symbol.iterator;class t{head=null;tail=null;$size=0;constructor(){this.clear()}enqueue(e){const t=[e,null];this.head?this.tail[1]=t:this.head=t,this.tail=t,this.$size++}push=this.enqueue;dequeue(){const e=this.head;if(e)return this.head=this.head[1],this.$size--,e[0]}shift=this.dequeue;peek(){return this.head?.[0]}clear(){this.head=null,this.tail=null,this.$size=0}get size(){return this.$size}*[e](){let e=this.head;for(;e;)yield e[0],e=e[1]}}exports.FIFO=t;
|
|
1
|
+
"use strict";var e;e=Symbol.iterator;class t{head=null;tail=null;$size=0;constructor(){this.clear()}enqueue(e){const t=[e,null];this.head?this.tail[1]=t:this.head=t,this.tail=t,this.$size++}push=this.enqueue;dequeue(){const e=this.head;if(e)return this.head=this.head[1],this.$size--,e[0]}shift=this.dequeue;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]}}exports.FIFO=t;
|
package/fifo/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** Checkout https://npm.im/fast-fifo if performance is critical */
|
|
1
2
|
declare class FIFO<T> {
|
|
2
3
|
private head;
|
|
3
4
|
private tail;
|
|
@@ -10,6 +11,7 @@ declare class FIFO<T> {
|
|
|
10
11
|
peek(): T | undefined;
|
|
11
12
|
clear(): void;
|
|
12
13
|
get size(): number;
|
|
14
|
+
get length(): number;
|
|
13
15
|
[Symbol.iterator](): Generator<T, void, unknown>;
|
|
14
16
|
}
|
|
15
17
|
|
package/fifo/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e;e=Symbol.iterator;class t{head=null;tail=null;$size=0;constructor(){this.clear()}enqueue(e){const t=[e,null];this.head?this.tail[1]=t:this.head=t,this.tail=t,this.$size++}push=this.enqueue;dequeue(){const e=this.head;if(e)return this.head=this.head[1],this.$size--,e[0]}shift=this.dequeue;peek(){return this.head?.[0]}clear(){this.head=null,this.tail=null,this.$size=0}get size(){return this.$size}*[e](){let e=this.head;for(;e;)yield e[0],e=e[1]}}export{t as FIFO};
|
|
1
|
+
var e;e=Symbol.iterator;class t{head=null;tail=null;$size=0;constructor(){this.clear()}enqueue(e){const t=[e,null];this.head?this.tail[1]=t:this.head=t,this.tail=t,this.$size++}push=this.enqueue;dequeue(){const e=this.head;if(e)return this.head=this.head[1],this.$size--,e[0]}shift=this.dequeue;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]}}export{t as FIFO};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "foxts",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
4
4
|
"description": "Opinionated collection of common TypeScript utils by @SukkaW",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/SukkaW/foxts"
|
|
@@ -65,14 +65,14 @@
|
|
|
65
65
|
"require": "./bitwise/index.cjs",
|
|
66
66
|
"default": "./bitwise/index.cjs"
|
|
67
67
|
},
|
|
68
|
-
"./
|
|
69
|
-
"types": "./
|
|
68
|
+
"./escape-string-regexp": {
|
|
69
|
+
"types": "./escape-string-regexp/index.d.ts",
|
|
70
70
|
"import": {
|
|
71
|
-
"types": "./
|
|
72
|
-
"default": "./
|
|
71
|
+
"types": "./escape-string-regexp/index.d.ts",
|
|
72
|
+
"default": "./escape-string-regexp/index.mjs"
|
|
73
73
|
},
|
|
74
|
-
"require": "./
|
|
75
|
-
"default": "./
|
|
74
|
+
"require": "./escape-string-regexp/index.cjs",
|
|
75
|
+
"default": "./escape-string-regexp/index.cjs"
|
|
76
76
|
},
|
|
77
77
|
"./fast-string-array-join": {
|
|
78
78
|
"types": "./fast-string-array-join/index.d.ts",
|
|
@@ -83,6 +83,15 @@
|
|
|
83
83
|
"require": "./fast-string-array-join/index.cjs",
|
|
84
84
|
"default": "./fast-string-array-join/index.cjs"
|
|
85
85
|
},
|
|
86
|
+
"./append-set-elements-to-array": {
|
|
87
|
+
"types": "./append-set-elements-to-array/index.d.ts",
|
|
88
|
+
"import": {
|
|
89
|
+
"types": "./append-set-elements-to-array/index.d.ts",
|
|
90
|
+
"default": "./append-set-elements-to-array/index.mjs"
|
|
91
|
+
},
|
|
92
|
+
"require": "./append-set-elements-to-array/index.cjs",
|
|
93
|
+
"default": "./append-set-elements-to-array/index.cjs"
|
|
94
|
+
},
|
|
86
95
|
"./fifo": {
|
|
87
96
|
"types": "./fifo/index.d.ts",
|
|
88
97
|
"import": {
|
|
@@ -101,15 +110,6 @@
|
|
|
101
110
|
"require": "./fnv1a/index.cjs",
|
|
102
111
|
"default": "./fnv1a/index.cjs"
|
|
103
112
|
},
|
|
104
|
-
"./guard": {
|
|
105
|
-
"types": "./guard/index.d.ts",
|
|
106
|
-
"import": {
|
|
107
|
-
"types": "./guard/index.d.ts",
|
|
108
|
-
"default": "./guard/index.mjs"
|
|
109
|
-
},
|
|
110
|
-
"require": "./guard/index.cjs",
|
|
111
|
-
"default": "./guard/index.cjs"
|
|
112
|
-
},
|
|
113
113
|
"./fnv1a52": {
|
|
114
114
|
"types": "./fnv1a52/index.d.ts",
|
|
115
115
|
"import": {
|
|
@@ -119,6 +119,15 @@
|
|
|
119
119
|
"require": "./fnv1a52/index.cjs",
|
|
120
120
|
"default": "./fnv1a52/index.cjs"
|
|
121
121
|
},
|
|
122
|
+
"./guard": {
|
|
123
|
+
"types": "./guard/index.d.ts",
|
|
124
|
+
"import": {
|
|
125
|
+
"types": "./guard/index.d.ts",
|
|
126
|
+
"default": "./guard/index.mjs"
|
|
127
|
+
},
|
|
128
|
+
"require": "./guard/index.cjs",
|
|
129
|
+
"default": "./guard/index.cjs"
|
|
130
|
+
},
|
|
122
131
|
"./headers-to-object": {
|
|
123
132
|
"types": "./headers-to-object/index.d.ts",
|
|
124
133
|
"import": {
|
|
@@ -146,6 +155,15 @@
|
|
|
146
155
|
"require": "./is-probably-ip/index.cjs",
|
|
147
156
|
"default": "./is-probably-ip/index.cjs"
|
|
148
157
|
},
|
|
158
|
+
"./merge-headers": {
|
|
159
|
+
"types": "./merge-headers/index.d.ts",
|
|
160
|
+
"import": {
|
|
161
|
+
"types": "./merge-headers/index.d.ts",
|
|
162
|
+
"default": "./merge-headers/index.mjs"
|
|
163
|
+
},
|
|
164
|
+
"require": "./merge-headers/index.cjs",
|
|
165
|
+
"default": "./merge-headers/index.cjs"
|
|
166
|
+
},
|
|
149
167
|
"./noop": {
|
|
150
168
|
"types": "./noop/index.d.ts",
|
|
151
169
|
"import": {
|
|
@@ -155,14 +173,14 @@
|
|
|
155
173
|
"require": "./noop/index.cjs",
|
|
156
174
|
"default": "./noop/index.cjs"
|
|
157
175
|
},
|
|
158
|
-
"./
|
|
159
|
-
"types": "./
|
|
176
|
+
"./serialized-memo": {
|
|
177
|
+
"types": "./serialized-memo/index.d.ts",
|
|
160
178
|
"import": {
|
|
161
|
-
"types": "./
|
|
162
|
-
"default": "./
|
|
179
|
+
"types": "./serialized-memo/index.d.ts",
|
|
180
|
+
"default": "./serialized-memo/index.mjs"
|
|
163
181
|
},
|
|
164
|
-
"require": "./
|
|
165
|
-
"default": "./
|
|
182
|
+
"require": "./serialized-memo/index.cjs",
|
|
183
|
+
"default": "./serialized-memo/index.cjs"
|
|
166
184
|
},
|
|
167
185
|
"./simple-string-hash": {
|
|
168
186
|
"types": "./simple-string-hash/index.d.ts",
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";var e,A=require("../fast-string-array-join/index.cjs"),t=require("../identity/index.cjs"),n=require("../noop/index.cjs");/*!
|
|
2
|
+
* hash-wasm (https://www.npmjs.com/package/hash-wasm)
|
|
3
|
+
* (c) Dani Biro
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/function r(e,A,t,n){return new(t||(t=Promise))(function(A,r){function i(e){try{a(n.next(e))}catch(e){r(e)}}function o(e){try{a(n.throw(e))}catch(e){r(e)}}function a(e){var n;e.done?A(e.value):((n=e.value)instanceof t?n:new t(function(e){e(n)})).then(i,o)}a((n=n.apply(e,[])).next())})}"function"==typeof SuppressedError&&SuppressedError;class i{constructor(){this.mutex=Promise.resolve()}lock(){let e=()=>{};return this.mutex=this.mutex.then(()=>new Promise(e)),new Promise(A=>{e=A})}dispatch(e){return r(this,void 0,void 0,function*(){const A=yield this.lock();try{return yield Promise.resolve(e())}finally{A()}})}}const o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,a=null!==(e=o.Buffer)&&void 0!==e?e:null,s=o.TextEncoder?new o.TextEncoder:null;function f(e,A){return(15&e)+(e>>6|e>>3&8)<<4|(15&A)+(A>>6|A>>3&8)}function Q(e,A,t){let n=0;for(let r=0;r<t;r++){let t=A[r]>>>4;e[n++]=t>9?t+87:t+48,t=15&A[r],e[n++]=t>9?t+87:t+48}return String.fromCharCode.apply(null,e)}const l=null!==a?e=>{if("string"==typeof e){const A=a.from(e,"utf8");return new Uint8Array(A.buffer,A.byteOffset,A.length)}if(a.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 s.encode(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Invalid data type!")},C="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",I=new Uint8Array(256);for(let e=0;e<C.length;e++)I[C.charCodeAt(e)]=e;const h=new i,u=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 c={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 B=new i;let g=null;const w=new Uint8Array(8);function E(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 d(e,A,t){const n=new DataView(e);n.setUint32(0,A,!0),n.setUint32(4,t,!0)}function y(e,A=0,t=0){if(E(A))return Promise.reject(E(A));if(E(t))return Promise.reject(E(t));if(null===g)return(function(e,A,t){return r(this,void 0,void 0,function*(){const t=yield e.lock(),n=yield function(e,A){return r(this,void 0,void 0,function*(){let t=null,n=null,i=!1;if("undefined"==typeof WebAssembly)throw Error("WebAssembly is not supported in this environment!");const o=()=>new DataView(t.exports.memory.buffer).getUint32(t.exports.STATE_SIZE,!0),a=h.dispatch(()=>r(this,void 0,void 0,function*(){if(!u.has(e.name)){const A=function(e){const A=function(e){let A=Math.floor(.75*e.length);const t=e.length;return"="===e[t-1]&&(A-=1,"="===e[t-2]&&(A-=1)),A}(e),t=e.length,n=new Uint8Array(A);let r=0;for(let A=0;A<t;A+=4){const t=I[e.charCodeAt(A)],i=I[e.charCodeAt(A+1)],o=I[e.charCodeAt(A+2)],a=I[e.charCodeAt(A+3)];n[r]=t<<2|i>>4,n[r+=1]=(15&i)<<4|o>>2,n[r+=1]=(3&o)<<6|63&a,r+=1}return n}(e.data),t=WebAssembly.compile(A);u.set(e.name,t)}const A=yield u.get(e.name);t=yield WebAssembly.instantiate(A,{})})),s=(e=null)=>{i=!0,t.exports.Hash_Init(e)},C=e=>{let A=0;for(;A<e.length;){const r=e.subarray(A,A+16384);A+=r.length,n.set(r),t.exports.Hash_Update(r.length)}},c=e=>{if(!i)throw Error("update() called before init()");C(l(e))},B=new Uint8Array(16),g=(e,r=null)=>{if(!i)throw Error("digest() called before init()");return(i=!1,t.exports.Hash_Final(r),"binary"===e)?n.slice(0,A):Q(B,n,A)},w=e=>"string"==typeof e?e.length<4096:e.byteLength<16384;let E=w;switch(e.name){case"argon2":case"scrypt":E=()=>!0;break;case"blake2b":case"blake2s":E=(e,A)=>A<=512&&w(e);break;case"blake3":E=(e,A)=>0===A&&w(e);break;case"xxhash64":case"xxhash3":case"xxhash128":case"crc64":E=()=>!1}return yield r(this,void 0,void 0,function*(){t||(yield a);const e=t.exports.Hash_GetBuffer();n=new Uint8Array(t.exports.memory.buffer,e,16384)}),{getMemory:()=>n,writeMemory:(e,A=0)=>{n.set(e,A)},getExports:()=>t.exports,setMemorySize:e=>{t.exports.Hash_SetMemorySize(e);const A=t.exports.Hash_GetBuffer();n=new Uint8Array(t.exports.memory.buffer,A,e)},init:s,update:c,digest:g,save:()=>{if(!i)throw Error("save() can only be called after init() and before digest()");const A=t.exports.Hash_GetState(),n=o(),r=new Uint8Array(t.exports.memory.buffer,A,n),a=new Uint8Array(4+n);return function(e,A){const t=A.length>>1;for(let n=0;n<t;n++){const t=n<<1;e[n]=f(A.charCodeAt(t),A.charCodeAt(t+1))}}(a,e.hash),a.set(r,4),a},load:A=>{if(!(A instanceof Uint8Array))throw Error("load() expects an Uint8Array generated by save()");const n=t.exports.Hash_GetState(),r=o(),a=4+r,s=t.exports.memory.buffer;if(A.length!==a)throw Error(`Bad state length (expected ${a} bytes, got ${A.length})`);if(!function(e,A){if(e.length!==2*A.length)return!1;for(let t=0;t<A.length;t++){const n=t<<1;if(A[t]!==f(e.charCodeAt(n),e.charCodeAt(n+1)))return!1}return!0}(e.hash,A.subarray(0,4)))throw Error("This state was written by an incompatible hash implementation");const Q=A.subarray(4);new Uint8Array(s,n,r).set(Q),i=!0},calculate:(e,r=null,i=null)=>{if(!E(e,r))return s(r),c(e),g("hex",i);const o=l(e);return n.set(o),t.exports.Hash_Calculate(o.length,r,i),Q(B,n,A)},hashLength:A}})}(A,8);return t(),n})})(B,c,0).then(n=>(g=n,d(w.buffer,A,t),g.writeMemory(w),g.calculate(e)));try{d(w.buffer,A,t),g.writeMemory(w);const n=g.calculate(e);return Promise.resolve(n)}catch(e){return Promise.reject(e)}}new i,new i,new i,new i,new i,exports.createMemoize=function(e,{onlyUseCachedIfFail:r=!1,resetTtlOnHit:i=!1,defaultTtl:o=6048e5,onCacheUpdate:a=n.noop,onCacheMiss:s=n.noop,onCacheHit:f=n.noop}={}){return function(n,Q){if(Q?.temporaryBypass)return(...e)=>Promise.resolve(n(...e));const l=Q&&"serializer"in Q?Q.serializer:t.identity,C=Q&&"deserializer"in Q?Q.deserializer:t.identity,I=Q?.ttl??o,h=n.toString(),u=y(h),c=Promise.resolve().then(function(){return require("../chunks/index.BHInDuqN.cjs")});return async function(...t){const o=(await c).stringify,Q=A.fastStringArrayJoin(await Promise.all([u,y(o(t))]),"|"),B=n.name||h||Q;let g=e.get(Q);if(g&&"object"==typeof g&&"then"in g&&(g=await g),r)try{const A=await n(...t);a(Q,{humanReadableName:B,isUseCachedIfFail:!0});const r=e.set(Q,l(A),I);return r&&"then"in r&&await r,A}catch(A){if(null==g)throw s(Q,{humanReadableName:B,isUseCachedIfFail:!0}),A;if(i){const A=e.updateTtl?.(Q,I);A&&"then"in A&&await A}return f(Q,{humanReadableName:B,isUseCachedIfFail:!0}),C(g)}else{if(null==g){s(Q,{humanReadableName:B,isUseCachedIfFail:!1});const A=await n(...t),r=e.set(Q,l(A),I);return r&&"then"in r&&await r,A}if(f(Q,{humanReadableName:B,isUseCachedIfFail:!1}),i){const A=e.updateTtl?.(Q,I);A&&"then"in A&&await A}return C(g)}}}};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
interface MemoizeStorageProvider {
|
|
2
|
+
has(key: string): boolean | Promise<boolean>;
|
|
3
|
+
get(key: string): string | undefined | PromiseLike<string | undefined>;
|
|
4
|
+
set(key: string, value: string, ttl: number): void | Promise<void>;
|
|
5
|
+
updateTtl?: (key: string, ttl: number) => void | Promise<void>;
|
|
6
|
+
delete(key: string): void | Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
interface CreateMemoizeOptions {
|
|
9
|
+
/**
|
|
10
|
+
* When set to true, the memoize will always try run the function first.
|
|
11
|
+
* If promise resolved, it will update the cache.
|
|
12
|
+
* If promise rejected, it will try to get the value from cache, and return
|
|
13
|
+
* the cached value. If the cache is not available, it will throw the error.
|
|
14
|
+
*/
|
|
15
|
+
onlyUseCachedIfFail?: boolean;
|
|
16
|
+
resetTtlOnHit?: boolean;
|
|
17
|
+
defaultTtl?: number;
|
|
18
|
+
onCacheUpdate?: (key: string, { humanReadableName }: {
|
|
19
|
+
humanReadableName: string;
|
|
20
|
+
isUseCachedIfFail: boolean;
|
|
21
|
+
}) => void;
|
|
22
|
+
onCacheMiss?: (key: string, { humanReadableName }: {
|
|
23
|
+
humanReadableName: string;
|
|
24
|
+
isUseCachedIfFail: boolean;
|
|
25
|
+
}) => void;
|
|
26
|
+
onCacheHit?: (key: string, { humanReadableName }: {
|
|
27
|
+
humanReadableName: string;
|
|
28
|
+
isUseCachedIfFail: boolean;
|
|
29
|
+
}) => void;
|
|
30
|
+
}
|
|
31
|
+
type SerializableValue = number | string | boolean | bigint | Date | RegExp | Set<SerializableValue> | SerializableValue[] | null | undefined | Map<SerializableValue, SerializableValue> | SerializableObject | /** TypedArray */ Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array | BigInt64Array | BigUint64Array | ArrayBuffer;
|
|
32
|
+
interface SerializableObject {
|
|
33
|
+
[key: string]: SerializableValue;
|
|
34
|
+
}
|
|
35
|
+
interface MemoizeBaseOptions {
|
|
36
|
+
/**
|
|
37
|
+
* The time to live of the cache in milliseconds.
|
|
38
|
+
*/
|
|
39
|
+
ttl?: number | null;
|
|
40
|
+
temporaryBypass?: boolean;
|
|
41
|
+
}
|
|
42
|
+
interface MemoizeOptionsWithCustomSerializer<T> extends MemoizeBaseOptions {
|
|
43
|
+
serializer: (value: T) => string;
|
|
44
|
+
deserializer: (cached: string) => T;
|
|
45
|
+
}
|
|
46
|
+
type MemoizeOptions<T> = T extends string ? MemoizeBaseOptions : MemoizeOptionsWithCustomSerializer<T>;
|
|
47
|
+
/**
|
|
48
|
+
* A factory function that returns a memoize function.
|
|
49
|
+
*
|
|
50
|
+
* Unlike common memoize function out there, this serialize the parameters and returned value
|
|
51
|
+
* for easy storing with file system, SQLite, Redis, etc.
|
|
52
|
+
*/
|
|
53
|
+
declare function createMemoize(storage: MemoizeStorageProvider, { onlyUseCachedIfFail, resetTtlOnHit, defaultTtl, onCacheUpdate, onCacheMiss, onCacheHit }?: CreateMemoizeOptions): <Args extends SerializableValue[], R>(fn: (...args: Args) => R | Promise<R>, opt?: MemoizeOptions<R>) => (...args: Args) => Promise<R>;
|
|
54
|
+
|
|
55
|
+
export { type CreateMemoizeOptions, type MemoizeOptions, type MemoizeStorageProvider, type SerializableValue, createMemoize };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{fastStringArrayJoin as A}from"../fast-string-array-join/index.mjs";import{identity as e}from"../identity/index.mjs";import{noop as t}from"../noop/index.mjs";/*!
|
|
2
|
+
* hash-wasm (https://www.npmjs.com/package/hash-wasm)
|
|
3
|
+
* (c) Dani Biro
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/function n(A,e,t,n){return new(t||(t=Promise))(function(e,r){function i(A){try{a(n.next(A))}catch(A){r(A)}}function o(A){try{a(n.throw(A))}catch(A){r(A)}}function a(A){var n;A.done?e(A.value):((n=A.value)instanceof t?n:new t(function(A){A(n)})).then(i,o)}a((n=n.apply(A,[])).next())})}"function"==typeof SuppressedError&&SuppressedError;class r{constructor(){this.mutex=Promise.resolve()}lock(){let A=()=>{};return this.mutex=this.mutex.then(()=>new Promise(A)),new Promise(e=>{A=e})}dispatch(A){return n(this,void 0,void 0,function*(){const e=yield this.lock();try{return yield Promise.resolve(A())}finally{e()}})}}const i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,o=null!==(u=i.Buffer)&&void 0!==u?u:null,a=i.TextEncoder?new i.TextEncoder:null;function s(A,e){return(15&A)+(A>>6|A>>3&8)<<4|(15&e)+(e>>6|e>>3&8)}function f(A,e,t){let n=0;for(let r=0;r<t;r++){let t=e[r]>>>4;A[n++]=t>9?t+87:t+48,t=15&e[r],A[n++]=t>9?t+87:t+48}return String.fromCharCode.apply(null,A)}const Q=null!==o?A=>{if("string"==typeof A){const e=o.from(A,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.length)}if(o.isBuffer(A))return new Uint8Array(A.buffer,A.byteOffset,A.length);if(ArrayBuffer.isView(A))return new Uint8Array(A.buffer,A.byteOffset,A.byteLength);throw Error("Invalid data type!")}:A=>{if("string"==typeof A)return a.encode(A);if(ArrayBuffer.isView(A))return new Uint8Array(A.buffer,A.byteOffset,A.byteLength);throw Error("Invalid data type!")},l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",C=new Uint8Array(256);for(let A=0;A<l.length;A++)C[l.charCodeAt(A)]=A;const I=new r,h=new Map;new r,new r,new r,new r,new r,new r,new r,new r,new r,new r,new r,new r,new r,new r,new r,new r;var u,B={name:"xxhash64",data:"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",hash:"177fbfa3"};const g=new r;let c=null;const w=new Uint8Array(8);function E(A){return!Number.isInteger(A)||A<0||A>0xffffffff?Error("Seed must be given as two valid 32-bit long unsigned integers (lo + high)."):null}function m(A,e,t){const n=new DataView(A);n.setUint32(0,e,!0),n.setUint32(4,t,!0)}function d(A,e=0,t=0){if(E(e))return Promise.reject(E(e));if(E(t))return Promise.reject(E(t));if(null===c)return(function(A,e,t){return n(this,void 0,void 0,function*(){const t=yield A.lock(),r=yield function(A,e){return n(this,void 0,void 0,function*(){let t=null,r=null,i=!1;if("undefined"==typeof WebAssembly)throw Error("WebAssembly is not supported in this environment!");const o=()=>new DataView(t.exports.memory.buffer).getUint32(t.exports.STATE_SIZE,!0),a=I.dispatch(()=>n(this,void 0,void 0,function*(){if(!h.has(A.name)){const e=function(A){const e=function(A){let e=Math.floor(.75*A.length);const t=A.length;return"="===A[t-1]&&(e-=1,"="===A[t-2]&&(e-=1)),e}(A),t=A.length,n=new Uint8Array(e);let r=0;for(let e=0;e<t;e+=4){const t=C[A.charCodeAt(e)],i=C[A.charCodeAt(e+1)],o=C[A.charCodeAt(e+2)],a=C[A.charCodeAt(e+3)];n[r]=t<<2|i>>4,n[r+=1]=(15&i)<<4|o>>2,n[r+=1]=(3&o)<<6|63&a,r+=1}return n}(A.data),t=WebAssembly.compile(e);h.set(A.name,t)}const e=yield h.get(A.name);t=yield WebAssembly.instantiate(e,{})})),l=(A=null)=>{i=!0,t.exports.Hash_Init(A)},u=A=>{let e=0;for(;e<A.length;){const n=A.subarray(e,e+16384);e+=n.length,r.set(n),t.exports.Hash_Update(n.length)}},B=A=>{if(!i)throw Error("update() called before init()");u(Q(A))},g=new Uint8Array(16),c=(A,n=null)=>{if(!i)throw Error("digest() called before init()");return(i=!1,t.exports.Hash_Final(n),"binary"===A)?r.slice(0,e):f(g,r,e)},w=A=>"string"==typeof A?A.length<4096:A.byteLength<16384;let E=w;switch(A.name){case"argon2":case"scrypt":E=()=>!0;break;case"blake2b":case"blake2s":E=(A,e)=>e<=512&&w(A);break;case"blake3":E=(A,e)=>0===e&&w(A);break;case"xxhash64":case"xxhash3":case"xxhash128":case"crc64":E=()=>!1}return yield n(this,void 0,void 0,function*(){t||(yield a);const A=t.exports.Hash_GetBuffer();r=new Uint8Array(t.exports.memory.buffer,A,16384)}),{getMemory:()=>r,writeMemory:(A,e=0)=>{r.set(A,e)},getExports:()=>t.exports,setMemorySize:A=>{t.exports.Hash_SetMemorySize(A);const e=t.exports.Hash_GetBuffer();r=new Uint8Array(t.exports.memory.buffer,e,A)},init:l,update:B,digest:c,save:()=>{if(!i)throw Error("save() can only be called after init() and before digest()");const e=t.exports.Hash_GetState(),n=o(),r=new Uint8Array(t.exports.memory.buffer,e,n),a=new Uint8Array(4+n);return function(A,e){const t=e.length>>1;for(let n=0;n<t;n++){const t=n<<1;A[n]=s(e.charCodeAt(t),e.charCodeAt(t+1))}}(a,A.hash),a.set(r,4),a},load:e=>{if(!(e instanceof Uint8Array))throw Error("load() expects an Uint8Array generated by save()");const n=t.exports.Hash_GetState(),r=o(),a=4+r,f=t.exports.memory.buffer;if(e.length!==a)throw Error(`Bad state length (expected ${a} bytes, got ${e.length})`);if(!function(A,e){if(A.length!==2*e.length)return!1;for(let t=0;t<e.length;t++){const n=t<<1;if(e[t]!==s(A.charCodeAt(n),A.charCodeAt(n+1)))return!1}return!0}(A.hash,e.subarray(0,4)))throw Error("This state was written by an incompatible hash implementation");const Q=e.subarray(4);new Uint8Array(f,n,r).set(Q),i=!0},calculate:(A,n=null,i=null)=>{if(!E(A,n))return l(n),B(A),c("hex",i);const o=Q(A);return r.set(o),t.exports.Hash_Calculate(o.length,n,i),f(g,r,e)},hashLength:e}})}(e,8);return t(),r})})(g,B,0).then(n=>(c=n,m(w.buffer,e,t),c.writeMemory(w),c.calculate(A)));try{m(w.buffer,e,t),c.writeMemory(w);const n=c.calculate(A);return Promise.resolve(n)}catch(A){return Promise.reject(A)}}function y(n,{onlyUseCachedIfFail:r=!1,resetTtlOnHit:i=!1,defaultTtl:o=6048e5,onCacheUpdate:a=t,onCacheMiss:s=t,onCacheHit:f=t}={}){return function(t,Q){if(Q?.temporaryBypass)return(...A)=>Promise.resolve(t(...A));const l=Q&&"serializer"in Q?Q.serializer:e,C=Q&&"deserializer"in Q?Q.deserializer:e,I=Q?.ttl??o,h=t.toString(),u=d(h),B=import("../chunks/index.CiCKJNbp.mjs");return async function(...e){const o=(await B).stringify,Q=A(await Promise.all([u,d(o(e))]),"|"),g=t.name||h||Q;let c=n.get(Q);if(c&&"object"==typeof c&&"then"in c&&(c=await c),r)try{const A=await t(...e);a(Q,{humanReadableName:g,isUseCachedIfFail:!0});const r=n.set(Q,l(A),I);return r&&"then"in r&&await r,A}catch(A){if(null==c)throw s(Q,{humanReadableName:g,isUseCachedIfFail:!0}),A;if(i){const A=n.updateTtl?.(Q,I);A&&"then"in A&&await A}return f(Q,{humanReadableName:g,isUseCachedIfFail:!0}),C(c)}else{if(null==c){s(Q,{humanReadableName:g,isUseCachedIfFail:!1});const A=await t(...e),r=n.set(Q,l(A),I);return r&&"then"in r&&await r,A}if(f(Q,{humanReadableName:g,isUseCachedIfFail:!1}),i){const A=n.updateTtl?.(Q,I);A&&"then"in A&&await A}return C(c)}}}}new r,new r,new r,new r,new r;export{y as createMemoize};
|