@vielzeug/arsenal 26.10.4 → 26.10.6

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/README.md CHANGED
@@ -34,6 +34,10 @@ console.log(groupBy(matches, (user) => user.name), data, profile, cachedResponse
34
34
  pool.dispose();
35
35
  ```
36
36
 
37
+ ## Features
38
+
39
+ - `compressBytes` / `decompressBytes`: native compression streams with a required decompressed-byte limit, available from the root and `/encoding` entry points.
40
+
37
41
  ## Documentation
38
42
 
39
43
  - [Overview](https://vielzeug.dev/arsenal/)
package/dist/arsenal.cjs CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function chunk(e,t=2){if(!Array.isArray(e)&&typeof e!=`string`)throw TypeError(`chunk: argument must be an array or string`);if(!Number.isInteger(t)||t<1)throw RangeError(`chunk: size must be a positive integer`);return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,r*t+t))}function filterMap(e,t){let n=[];for(let r=0;r<e.length;r++){let i=t(e[r],r,e);i!==void 0&&n.push(i)}return n}var e=new Set([`__proto__`,`constructor`,`prototype`]);function isUnsafeKey(t){return typeof t==`string`&&e.has(t)}function groupBy(e,t){let n={};for(let r of e){let e=t(r),i=e==null?`_`:String(e);isUnsafeKey(i)||(n[i]||(n[i]=[]),n[i].push(r))}return n}function indexBy(e,t){let n={};for(let r of e){let e=String(t(r));isUnsafeKey(e)||(n[e]=r)}return n}function partition(e,t){let n=[],r=[];for(let i=0;i<e.length;i++)t(e[i],i,e)?n.push(e[i]):r.push(e[i]);return[n,r]}var compare=(e,t)=>{if(e===t)return 0;if(e===void 0)return 1;if(t===void 0)return-1;if(e===null)return t===null?0:-1;if(t===null)return 1;if(typeof e==`string`&&typeof t==`string`)return e.localeCompare(t);if(typeof e==`number`&&typeof t==`number`)return e===t?0:e>t?1:-1;if(e instanceof Date&&t instanceof Date){let n=e.getTime(),r=t.getTime();return n===r?0:n>r?1:-1}throw TypeError(`compare: unsupported types "${typeof e}" and "${typeof t}". Supported: number, string, Date, null, undefined.`)},compareBy=e=>{let t=Object.entries(e);return(e,n)=>{for(let[r,i]of t){let t=e[r],a=n[r],o=i===`desc`?-1:1,s=compare(t,a);if(s!==0)return s*o}return 0}};function sort(e,t,n=`asc`){if(!Array.isArray(e))throw TypeError(`sort: first argument must be an array`);if(typeof t==`function`){let r=n===`desc`?-1:1;return[...e].sort((e,n)=>compare(t(e),t(n))*r)}return[...e].sort(compareBy(t))}function dedupeBySelector(e,t){let n=new Set,r=[];for(let i of e){let e=t(i);n.has(e)||(n.add(e),r.push(i))}return r}function uniq(e,t){return e.length<=1?[...e]:t?dedupeBySelector(e,t):[...new Set(e)]}function abortError(e,t=`Aborted`){return e?.reason??new DOMException(t,`AbortError`)}function abortable(e,t){return t.aborted?Promise.reject(abortError(t)):new Promise((n,r)=>{let onAbort=()=>r(abortError(t));t.addEventListener(`abort`,onAbort,{once:!0}),e.then(e=>n(e)).catch(e=>r(e)).finally(()=>t.removeEventListener(`abort`,onAbort))})}function isOk(e){return e.ok===!0}function isFail(e){return e.ok===!1}async function attempt(e){try{return{ok:!0,value:await e()}}catch(e){return{error:e,ok:!1}}}function backoff(e,t=3e4){return Math.min(1e3*2**Math.max(0,Number.isNaN(e)?0:Math.floor(e)),t)}async function parallel(e,t,n={}){let{abortOnError:r=!1,limit:i=1/0,signal:a}=n;if(i<1)throw RangeError(`parallel: limit must be at least 1, got ${i}`);if(a?.aborted)throw abortError(a);if(e.length===0)return[];let o=Array(e.length),s=0,c=r?new AbortController:void 0,worker=async()=>{for(;;){if(a?.aborted)throw abortError(a);if(c?.signal.aborted||s>=e.length)return;let n=s++;try{o[n]=await t(e[n],n,e)}catch(e){throw c?.abort(),e}}},l=Math.min(i,e.length),u=Array.from({length:l},()=>worker());return await Promise.all(u),o}async function sleep(e,t){return t?t.aborted?Promise.reject(abortError(t)):new Promise((n,r)=>{let i=setTimeout(()=>{t.removeEventListener(`abort`,onAbort),n()},e),onAbort=()=>{clearTimeout(i),t.removeEventListener(`abort`,onAbort),r(abortError(t))};t.addEventListener(`abort`,onAbort)}):new Promise(t=>setTimeout(t,e))}function buildSignal(e,t){let n=[e===void 0?void 0:AbortSignal.timeout(e),t].filter(e=>e!=null);if(n.length!==0)return n.length===1?n[0]:AbortSignal.any(n)}async function retry(e,{delay:t=250,shouldRetry:n,signal:r,timeout:i,times:a=3}={}){if(!Number.isInteger(a)||a<1)throw RangeError(`retry: times must be a positive integer, got ${a}`);for(let o=1;o<=a;o++){if(r?.aborted)throw abortError(r);let s=buildSignal(i,r);try{return await e(s)}catch(e){if(o===a||n&&!n(e,o-1))throw e;let i=typeof t==`function`?t(o-1):t;i>0&&await sleep(i,r)}}}function taskPool({concurrency:e=1}={}){if(!Number.isInteger(e)||e<1)throw RangeError(`taskPool: concurrency must be a positive integer`);let t=new AbortController,n=[],r=0,i=!1,a,resolveIdle=()=>{r===0&&n.length===0&&(a?.resolve(),a=void 0)},start=()=>{for(;r<e&&n.length>0;){let e=n.shift();r++,Promise.resolve().then(()=>e.run(t.signal)).then(e.resolve,e.reject).finally(()=>{r--,start(),resolveIdle()})}};return{get active(){return r},get disposalSignal(){return t.signal},dispose:(e=new DOMException(`Task pool disposed`,`AbortError`))=>{if(!i){i=!0,t.abort(e);for(let t of n.splice(0))t.reject(e);resolveIdle()}},get disposed(){return i},idle:()=>r===0&&n.length===0?Promise.resolve():(a??=Promise.withResolvers(),a.promise),get pending(){return n.length},run:e=>{let r=Promise.withResolvers();return i?(r.reject(t.signal.reason),r.promise):(n.push({reject:r.reject,resolve:r.resolve,run:e}),start(),r.promise)},[Symbol.dispose](){this.dispose()}}}async function waitFor(e,{interval:t=100,signal:n,timeout:r=5e3}={}){let i=AbortSignal.timeout(r),a=n?AbortSignal.any([n,i]):i;for(a.throwIfAborted();;){if(a.throwIfAborted(),await e(a))return;await sleep(t,a)}}function cache({capacity:e=1/0,now:t=Date.now,ttlMs:n}={}){if(e!==1/0&&(!Number.isInteger(e)||e<1))throw RangeError(`cache: capacity must be a positive integer or Infinity, got ${e}`);let r=new Map,i=new Map,a=new Map,o=0,advanceRevision=e=>{let t=(a.get(e)??0)+1;return a.set(e,t),t},expiresAt=e=>{if(e!==void 0&&e!==1/0){if(!Number.isFinite(e)||e<0)throw RangeError(`cache: ttlMs must be a non-negative finite number or Infinity, got ${e}`);return t()+e}},read=e=>{let n=r.get(e);if(n){if(n.expiresAt!==void 0&&n.expiresAt<=t()){r.delete(e);return}return n.value}},trim=()=>{for(let[e,n]of r)n.expiresAt!==void 0&&n.expiresAt<=t()&&r.delete(e);for(;r.size>e;){let e=r.keys().next().value;if(e===void 0)return;r.delete(e)}},set=(e,t,i={})=>{advanceRevision(e),r.delete(e),r.set(e,{expiresAt:expiresAt(i.ttlMs??n),value:t}),trim()},getOrLoad=(e,t)=>{let n=read(e);if(n!==void 0||r.has(e))return Promise.resolve(n);let s=i.get(e);if(s)return s;let c=o,l=advanceRevision(e),u=t().then(t=>(i.get(e)===u&&i.delete(e),o===c&&a.get(e)===l&&set(e,t),t),t=>{throw i.get(e)===u&&i.delete(e),t});return i.set(e,u),u};return{clear:()=>{o++,r.clear(),i.clear(),a.clear()},delete:e=>(i.delete(e),advanceRevision(e),r.delete(e)),entries:()=>(trim(),[...r].map(([e,t])=>[e,t.value])),get:read,getOrLoad,set,get size(){return r.size}}}var LruMap=class extends Map{maxSize;constructor(e){super(),this.maxSize=e}set(e,t){return this.has(e)&&this.delete(e),super.set(e,t),this.size>this.maxSize&&this.evictOldest(),this}evictOldest(e=()=>!0){for(let[t,n]of this)if(e(t,n))return this.delete(t),!0;return!1}},ArsenalError=class extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}},ArsenalSerializationError=class extends ArsenalError{},t=`\0undefined\0`,n=`\0NaN\0`,r=`\0+Infinity\0`,i=`\0-Infinity\0`,a=`\0function\0`,o=0,s=new WeakMap;function idForFunction(e){let t=s.get(e);return t===void 0&&(t=o++,s.set(e,t)),t}var defaultKey=e=>{try{return JSON.stringify(e,(e,o)=>o===void 0?t:typeof o==`number`&&Number.isNaN(o)?n:o===1/0?r:o===-1/0?i:typeof o==`function`?`${a}${idForFunction(o)}`:o)}catch(e){throw new ArsenalSerializationError(`[arsenal/memo] Failed to serialize memo arguments. Provide options.key for non-serializable arguments.${e instanceof Error&&e.message?` Reason: ${e.message}`:``}`,{cause:e})}};function memo(e,{key:t,maxSize:n=1/0}={}){if(n!==1/0&&(!Number.isInteger(n)||n<1))throw RangeError(`memo: maxSize must be a positive integer or Infinity, got ${n}`);let r=new LruMap(n),resolveKey=(...e)=>t?t(...e):defaultKey(e),memoized=(...t)=>{let n=resolveKey(...t);if(r.has(n)){let e=r.get(n);return r.set(n,e),e}let i=e(...t);return r.set(n,i),i},i=Object.assign(memoized,{clear:()=>r.clear(),invalidate:(...e)=>{r.delete(resolveKey(...e))}});return Object.defineProperty(i,"size",{get:()=>r.size}),i}var c=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,l=new Map([...c].map((e,t)=>[e,t]));function bytesToBase64Url(e){let t=``;for(let n=0;n<e.length;n+=3){let r=e[n],i=e[n+1],a=e[n+2];t+=c[r>>2],t+=c[(r&3)<<4|(i??0)>>4],i!==void 0&&(t+=c[(i&15)<<2|(a??0)>>6]),a!==void 0&&(t+=c[a&63])}return t}function base64UrlToBytes(e){let t=[],n=0,r=0;for(let i of e){let e=l.get(i);if(e===void 0)throw Error(`Invalid base64url character "${i}"`);n=n<<6|e,r+=6,r>=8&&(r-=8,t.push(n>>r&255))}return new Uint8Array(t)}var u=new TextEncoder,d=new TextDecoder;function textToBase64Url(e){return bytesToBase64Url(u.encode(e))}function base64UrlToText(e){return d.decode(base64UrlToBytes(e))}function utf8Bytes(e){return u.encode(e).length}function debounce(e,t=300,n={leading:!1,trailing:!0}){let r=n.leading??!1,i=n.trailing??!0,a,o,s,c=!1,clearTimer=()=>{a!==void 0&&(clearTimeout(a),a=void 0)},invokeTrailing=()=>{if(clearTimer(),c=!1,!o)return;let t=o;return o=void 0,s=e(...t),s};return Object.assign((...n)=>(o=n,r&&!c&&(c=!0,s=e(...n),o=void 0,!i)?(a=setTimeout(()=>{a=void 0,c=!1},t),s):r&&!i&&c?s:(clearTimer(),a=setTimeout(invokeTrailing,t),s)),{cancel:()=>{clearTimer(),o=void 0,c=!1},flush:()=>invokeTrailing(),pending:()=>a!==void 0})}var once=e=>{let t,n=!1,wrappedFn=((...r)=>(n||=(t=e(...r),!0),t));return wrappedFn.reset=()=>{t=void 0,n=!1},wrappedFn};function pipe(...e){if(e.length===0)return e=>e;let[t,...n]=e;return(...e)=>n.reduce((e,t)=>t(e),t(...e))}var noop=()=>{};function tapper(){let e=new Set;return{clear(){e.clear()},emit(t){if(e.size!==0)for(let n of[...e])try{n(t)}catch{}},get size(){return e.size},tap(t,n){let r=n?.signal;if(r?.aborted)return noop;e.add(t);let detach=()=>{e.delete(t),r?.removeEventListener(`abort`,detach)};return r?.addEventListener(`abort`,detach,{once:!0}),detach}}}function throttle(e,t=700,n={leading:!0,trailing:!1}){let r=n.leading??!0,i=n.trailing??!1,a,o=-1/0,s,c,clearTimer=()=>{a!==void 0&&(clearTimeout(a),a=void 0)},scheduleTimer=e=>{a=setTimeout(timerExpired,e)},invoke=t=>{if(o=t,clearTimer(),!s)return;let n=s;return s=void 0,c=e(...n),c},remaining=e=>t-(e-o),timerExpired=()=>{let e=Date.now();s&&remaining(e)<=0?invoke(e):s?scheduleTimer(remaining(e)):clearTimer()};return Object.assign((...e)=>{let t=Date.now();o===-1/0&&!r&&(o=t),s=e;let n=remaining(t);return n<=0?invoke(t):(i&&!a&&scheduleTimer(n),c)},{cancel:()=>{clearTimer(),s=void 0,o=-1/0},flush:()=>{if(s)return invoke(Date.now())},pending:()=>s!==void 0||a!==void 0})}function allOf(...e){return t=>e.every(e=>e(t))}function anyOf(...e){return t=>e.some(e=>e(t))}function noneOf(...e){return t=>e.every(e=>!e(t))}function not(e){return t=>!e(t)}function isDefined(e){return e!==void 0}function isEqual(e,t){return safeIsEqual(e,t,new WeakMap)}function safeIsEqual(e,t,n){if(e===t)return!0;if(e==null||t==null||typeof e!=typeof t||typeof e!=`object`||typeof t!=`object`)return!1;if(n.has(e))return n.get(e)===t;if(n.set(e,t),Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((e,r)=>safeIsEqual(e,t[r],n));if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[r,i]of e)if(!t.has(r)||!safeIsEqual(i,t.get(r),n))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;let r=[...t];for(let i of e)if(typeof i==`string`||typeof i==`number`||typeof i==`boolean`||i==null){if(!t.has(i))return!1}else if(!r.some(e=>safeIsEqual(i,e,n)))return!1;return!0}if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.source===t.source&&e.flags===t.flags;if(e instanceof Map||t instanceof Map||e instanceof Set||t instanceof Set)return!1;let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;for(let i of r)if(!Object.hasOwn(t,i)||!safeIsEqual(e[i],t[i],n))return!1;return!0}function isNil(e){return e==null}function isPlainObject(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function allocate(e,t){if(typeof t==`number`&&(!Number.isInteger(t)||t<1))throw RangeError(`allocate: parts must be a positive integer, got ${t}`);let n=Array.isArray(t)?t:Array(t).fill(1);if(n.length===0)throw RangeError(`Ratios array cannot be empty`);if(n.some(e=>e<0))throw RangeError(`Ratios must be non-negative`);let r=n.reduce((e,t)=>e+t,0);if(r===0)throw RangeError(`Total ratio cannot be zero`);if(typeof e==`bigint`){let t=BigInt(r),i=Array.from({length:n.length-1},(r,i)=>e*BigInt(n[i])/t);return i.push(e-i.reduce((e,t)=>e+t,0n)),i}let i=Array.from({length:n.length-1},(t,i)=>Math.floor(e*n[i]/r));return i.push(e-i.reduce((e,t)=>e+t,0)),i}function clamp(e,t,n){return t!=null&&e<t?t:n!=null&&e>n?n:e}function range(e,t,n){let[r,i,a]=t===void 0?[0,e,1]:n===void 0?[e,t,1]:[e,t,n];if(!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(a))throw RangeError(`range: start, stop, and step must be finite numbers`);if(a===0)throw RangeError(`range: step cannot be 0`);if(r===i)return[];let o=(i-r)/a,s=Math.max(0,Number.isInteger(o)?o:Math.ceil(o+2**-52));if(s>1e7)throw RangeError(`range: exceeds maximum allowed size of 10,000,000`);return Array.from({length:s},(e,t)=>r+t*a)}function pathSegments(e){return e.replace(/\[(\d+)\]/g,`.$1`).replace(/^\.|\.$/g,``).split(`.`).filter(Boolean)}function readPath(t,n){let r=t;for(let t of pathSegments(n))if(e.has(t)||typeof r!=`object`||!r||(r=r[t],r===void 0))return;return r}function getPath(e,t){return readPath(e,t)}function getPathOr(e,t,n){let r=readPath(e,t);return r===void 0?n:r}function requirePath(e,t){let n=readPath(e,t);if(n===void 0)throw TypeError(`Path does not exist: '${t}'`);return n}function _hash(e,t,n){if(e===void 0)return`undefined`;if(e===null)return`null`;if(typeof e==`bigint`)return`${e}n`;if(typeof e!=`object`)return JSON.stringify(e);if(n.has(e))return`[Circular]`;if(n.add(e),e instanceof Date)return`[Date:${Number.isNaN(e.getTime())?`Invalid`:e.toISOString()}]`;if(e instanceof RegExp)return`[RegExp:${e.source}/${e.flags}]`;if(e instanceof Set)return`[Set:${[...e].map(e=>_hash(e,t,n)).sort().join(`,`)}]`;if(e instanceof Map)return`[Map:${[...e.entries()].map(([e,r])=>[_hash(e,t,n),_hash(r,t,n)]).sort(([e,t],[n,r])=>e===n?t.localeCompare(r):e.localeCompare(n)).map(([e,t])=>`${e}=>${t}`).join(`,`)}]`;if(Array.isArray(e))return`[${e.map(e=>_hash(e,t,n)).join(`,`)}]`;let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null){if(t?.onClassInstance===`throw`)throw new ArsenalSerializationError(`hash: unsupported type ${e.constructor?.name??`unknown`}`);return String(e)}let i=e;return`{${Object.keys(i).filter(e=>i[e]!==void 0).sort().map(e=>`${JSON.stringify(e)}:${_hash(i[e],t,n)}`).join(`,`)}}`}function hash(e,t){return _hash(e,t,new Set)}function omit(e,t){let n=new Set(t),r={};for(let t of Object.keys(e))isUnsafeKey(t)||n.has(t)||(r[t]=e[t]);return r}function pick(e,t){let n={};for(let r of t)isUnsafeKey(r)||Object.hasOwn(e,r)&&(n[r]=e[r]);return n}function randomFloat(e){let t=e?.next()??crypto.getRandomValues(new Uint32Array(1))[0]/4294967296;if(!Number.isFinite(t)||t<0||t>=1)throw RangeError(`random source must return a finite number in [0, 1)`);return t}function randomIndex(e,t){return Math.floor(randomFloat(t)*e)}function random(e,t,n){if(e>t)throw RangeError(`random: minimum value must not be greater than maximum value`);return randomIndex(t-e+1,n)+e}var f=/(\p{Ll})(\p{Lu}|\p{N})|(\p{Lu}|\p{N})(\p{Lu}\p{Ll})|(\p{N})(\p{L})/gu;function escapeRegex(e){return e.replace(/[.*+?^${}()|[\]\\/-]/g,`\\$&`)}function normalizeCase(e,t=` `){let n=escapeRegex(t);return e.trim().replace(f,`$1$3$5${t}$2$4$6`).replace(/[^\p{L}\p{N}]+/gu,t).replace(RegExp(`^(?:${n})+|(?:${n})+$`,`g`),``)}function camelCase(e){return normalizeCase(e,` `).replace(/[^\p{L}\p{N}]+(.)/gu,(e,t)=>t.toUpperCase()).replace(/^./,e=>e.toLowerCase())}exports.ArsenalError=ArsenalError,exports.ArsenalSerializationError=ArsenalSerializationError,exports.abortError=abortError,exports.abortable=abortable,exports.allOf=allOf,exports.allocate=allocate,exports.anyOf=anyOf,exports.attempt=attempt,exports.backoff=backoff,exports.base64UrlToBytes=base64UrlToBytes,exports.base64UrlToText=base64UrlToText,exports.bytesToBase64Url=bytesToBase64Url,exports.cache=cache,exports.camelCase=camelCase,exports.chunk=chunk,exports.clamp=clamp,exports.debounce=debounce,exports.filterMap=filterMap,exports.getPath=getPath,exports.getPathOr=getPathOr,exports.groupBy=groupBy,exports.hash=hash,exports.indexBy=indexBy,exports.isDefined=isDefined,exports.isEqual=isEqual,exports.isFail=isFail,exports.isNil=isNil,exports.isOk=isOk,exports.isPlainObject=isPlainObject,exports.memo=memo,exports.noneOf=noneOf,exports.not=not,exports.omit=omit,exports.once=once,exports.parallel=parallel,exports.partition=partition,exports.pick=pick,exports.pipe=pipe,exports.random=random,exports.randomFloat=randomFloat,exports.range=range,exports.requirePath=requirePath,exports.retry=retry,exports.sleep=sleep,exports.sort=sort,exports.tapper=tapper,exports.taskPool=taskPool,exports.textToBase64Url=textToBase64Url,exports.throttle=throttle,exports.uniq=uniq,exports.utf8Bytes=utf8Bytes,exports.waitFor=waitFor;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function chunk(e,t=2){if(!Array.isArray(e)&&typeof e!=`string`)throw TypeError(`chunk: argument must be an array or string`);if(!Number.isInteger(t)||t<1)throw RangeError(`chunk: size must be a positive integer`);return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,r*t+t))}function filterMap(e,t){let n=[];for(let r=0;r<e.length;r++){let i=t(e[r],r,e);i!==void 0&&n.push(i)}return n}var e=new Set([`__proto__`,`constructor`,`prototype`]);function isUnsafeKey(t){return typeof t==`string`&&e.has(t)}function groupBy(e,t){let n={};for(let r of e){let e=t(r),i=e==null?`_`:String(e);isUnsafeKey(i)||(n[i]||(n[i]=[]),n[i].push(r))}return n}function indexBy(e,t){let n={};for(let r of e){let e=String(t(r));isUnsafeKey(e)||(n[e]=r)}return n}function partition(e,t){let n=[],r=[];for(let i=0;i<e.length;i++)t(e[i],i,e)?n.push(e[i]):r.push(e[i]);return[n,r]}var compare=(e,t)=>{if(e===t)return 0;if(e===void 0)return 1;if(t===void 0)return-1;if(e===null)return t===null?0:-1;if(t===null)return 1;if(typeof e==`string`&&typeof t==`string`)return e.localeCompare(t);if(typeof e==`number`&&typeof t==`number`)return e===t?0:e>t?1:-1;if(e instanceof Date&&t instanceof Date){let n=e.getTime(),r=t.getTime();return n===r?0:n>r?1:-1}throw TypeError(`compare: unsupported types "${typeof e}" and "${typeof t}". Supported: number, string, Date, null, undefined.`)},compareBy=e=>{let t=Object.entries(e);return(e,n)=>{for(let[r,i]of t){let t=e[r],a=n[r],o=i===`desc`?-1:1,s=compare(t,a);if(s!==0)return s*o}return 0}};function sort(e,t,n=`asc`){if(!Array.isArray(e))throw TypeError(`sort: first argument must be an array`);if(typeof t==`function`){let r=n===`desc`?-1:1;return[...e].sort((e,n)=>compare(t(e),t(n))*r)}return[...e].sort(compareBy(t))}function dedupeBySelector(e,t){let n=new Set,r=[];for(let i of e){let e=t(i);n.has(e)||(n.add(e),r.push(i))}return r}function uniq(e,t){return e.length<=1?[...e]:t?dedupeBySelector(e,t):[...new Set(e)]}function abortError(e,t=`Aborted`){return e?.reason??new DOMException(t,`AbortError`)}function abortable(e,t){return t.aborted?Promise.reject(abortError(t)):new Promise((n,r)=>{let onAbort=()=>r(abortError(t));t.addEventListener(`abort`,onAbort,{once:!0}),e.then(e=>n(e)).catch(e=>r(e)).finally(()=>t.removeEventListener(`abort`,onAbort))})}function isOk(e){return e.ok===!0}function isFail(e){return e.ok===!1}async function attempt(e){try{return{ok:!0,value:await e()}}catch(e){return{error:e,ok:!1}}}function backoff(e,t=3e4){return Math.min(1e3*2**Math.max(0,Number.isNaN(e)?0:Math.floor(e)),t)}async function parallel(e,t,n={}){let{abortOnError:r=!1,limit:i=1/0,signal:a}=n;if(i<1)throw RangeError(`parallel: limit must be at least 1, got ${i}`);if(a?.aborted)throw abortError(a);if(e.length===0)return[];let o=Array(e.length),s=0,c=r?new AbortController:void 0,worker=async()=>{for(;;){if(a?.aborted)throw abortError(a);if(c?.signal.aborted||s>=e.length)return;let n=s++;try{o[n]=await t(e[n],n,e)}catch(e){throw c?.abort(),e}}},l=Math.min(i,e.length),u=Array.from({length:l},()=>worker());return await Promise.all(u),o}async function sleep(e,t){return t?t.aborted?Promise.reject(abortError(t)):new Promise((n,r)=>{let i=setTimeout(()=>{t.removeEventListener(`abort`,onAbort),n()},e),onAbort=()=>{clearTimeout(i),t.removeEventListener(`abort`,onAbort),r(abortError(t))};t.addEventListener(`abort`,onAbort)}):new Promise(t=>setTimeout(t,e))}function buildSignal(e,t){let n=[e===void 0?void 0:AbortSignal.timeout(e),t].filter(e=>e!=null);if(n.length!==0)return n.length===1?n[0]:AbortSignal.any(n)}async function retry(e,{delay:t=250,shouldRetry:n,signal:r,timeout:i,times:a=3}={}){if(!Number.isInteger(a)||a<1)throw RangeError(`retry: times must be a positive integer, got ${a}`);for(let o=1;o<=a;o++){if(r?.aborted)throw abortError(r);let s=buildSignal(i,r);try{return await e(s)}catch(e){if(o===a||n&&!n(e,o-1))throw e;let i=typeof t==`function`?t(o-1):t;i>0&&await sleep(i,r)}}}function taskPool({concurrency:e=1}={}){if(!Number.isInteger(e)||e<1)throw RangeError(`taskPool: concurrency must be a positive integer`);let t=new AbortController,n=[],r=0,i=!1,a,resolveIdle=()=>{r===0&&n.length===0&&(a?.resolve(),a=void 0)},start=()=>{for(;r<e&&n.length>0;){let e=n.shift();r++,Promise.resolve().then(()=>e.run(t.signal)).then(e.resolve,e.reject).finally(()=>{r--,start(),resolveIdle()})}};return{get active(){return r},get disposalSignal(){return t.signal},dispose:(e=new DOMException(`Task pool disposed`,`AbortError`))=>{if(!i){i=!0,t.abort(e);for(let t of n.splice(0))t.reject(e);resolveIdle()}},get disposed(){return i},idle:()=>r===0&&n.length===0?Promise.resolve():(a??=Promise.withResolvers(),a.promise),get pending(){return n.length},run:e=>{let r=Promise.withResolvers();return i?(r.reject(t.signal.reason),r.promise):(n.push({reject:r.reject,resolve:r.resolve,run:e}),start(),r.promise)},[Symbol.dispose](){this.dispose()}}}async function waitFor(e,{interval:t=100,signal:n,timeout:r=5e3}={}){let i=AbortSignal.timeout(r),a=n?AbortSignal.any([n,i]):i;for(a.throwIfAborted();;){if(a.throwIfAborted(),await e(a))return;await sleep(t,a)}}function cache({capacity:e=1/0,now:t=Date.now,ttlMs:n}={}){if(e!==1/0&&(!Number.isInteger(e)||e<1))throw RangeError(`cache: capacity must be a positive integer or Infinity, got ${e}`);let r=new Map,i=new Map,a=new Map,o=0,advanceRevision=e=>{let t=(a.get(e)??0)+1;return a.set(e,t),t},expiresAt=e=>{if(e!==void 0&&e!==1/0){if(!Number.isFinite(e)||e<0)throw RangeError(`cache: ttlMs must be a non-negative finite number or Infinity, got ${e}`);return t()+e}},read=e=>{let n=r.get(e);if(n){if(n.expiresAt!==void 0&&n.expiresAt<=t()){r.delete(e);return}return n.value}},trim=()=>{for(let[e,n]of r)n.expiresAt!==void 0&&n.expiresAt<=t()&&r.delete(e);for(;r.size>e;){let e=r.keys().next().value;if(e===void 0)return;r.delete(e)}},set=(e,t,i={})=>{advanceRevision(e),r.delete(e),r.set(e,{expiresAt:expiresAt(i.ttlMs??n),value:t}),trim()},getOrLoad=(e,t)=>{let n=read(e);if(n!==void 0||r.has(e))return Promise.resolve(n);let s=i.get(e);if(s)return s;let c=o,l=advanceRevision(e),u=t().then(t=>(i.get(e)===u&&i.delete(e),o===c&&a.get(e)===l&&set(e,t),t),t=>{throw i.get(e)===u&&i.delete(e),t});return i.set(e,u),u};return{clear:()=>{o++,r.clear(),i.clear(),a.clear()},delete:e=>(i.delete(e),advanceRevision(e),r.delete(e)),entries:()=>(trim(),[...r].map(([e,t])=>[e,t.value])),get:read,getOrLoad,set,get size(){return r.size}}}var LruMap=class extends Map{maxSize;constructor(e){super(),this.maxSize=e}set(e,t){return this.has(e)&&this.delete(e),super.set(e,t),this.size>this.maxSize&&this.evictOldest(),this}evictOldest(e=()=>!0){for(let[t,n]of this)if(e(t,n))return this.delete(t),!0;return!1}},ArsenalError=class extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}},ArsenalSerializationError=class extends ArsenalError{},ShareCodeError=class extends ArsenalError{reason;constructor(e,t,n){super(t,n),this.reason=e}},t=`\0undefined\0`,n=`\0NaN\0`,r=`\0+Infinity\0`,i=`\0-Infinity\0`,a=`\0function\0`,o=0,s=new WeakMap;function idForFunction(e){let t=s.get(e);return t===void 0&&(t=o++,s.set(e,t)),t}var defaultKey=e=>{try{return JSON.stringify(e,(e,o)=>o===void 0?t:typeof o==`number`&&Number.isNaN(o)?n:o===1/0?r:o===-1/0?i:typeof o==`function`?`${a}${idForFunction(o)}`:o)}catch(e){throw new ArsenalSerializationError(`[arsenal/memo] Failed to serialize memo arguments. Provide options.key for non-serializable arguments.${e instanceof Error&&e.message?` Reason: ${e.message}`:``}`,{cause:e})}};function memo(e,{key:t,maxSize:n=1/0}={}){if(n!==1/0&&(!Number.isInteger(n)||n<1))throw RangeError(`memo: maxSize must be a positive integer or Infinity, got ${n}`);let r=new LruMap(n),resolveKey=(...e)=>t?t(...e):defaultKey(e),memoized=(...t)=>{let n=resolveKey(...t);if(r.has(n)){let e=r.get(n);return r.set(n,e),e}let i=e(...t);return r.set(n,i),i},i=Object.assign(memoized,{clear:()=>r.clear(),invalidate:(...e)=>{r.delete(resolveKey(...e))}});return Object.defineProperty(i,"size",{get:()=>r.size}),i}var c=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,l=new Map([...c].map((e,t)=>[e,t]));function bytesToBase64Url(e){let t=``;for(let n=0;n<e.length;n+=3){let r=e[n],i=e[n+1],a=e[n+2];t+=c[r>>2],t+=c[(r&3)<<4|(i??0)>>4],i!==void 0&&(t+=c[(i&15)<<2|(a??0)>>6]),a!==void 0&&(t+=c[a&63])}return t}function base64UrlToBytes(e){let t=[],n=0,r=0;for(let i of e){let e=l.get(i);if(e===void 0)throw Error(`Invalid base64url character "${i}"`);n=n<<6|e,r+=6,r>=8&&(r-=8,t.push(n>>r&255))}return new Uint8Array(t)}var u=new TextEncoder,d=new TextDecoder;function textToBase64Url(e){return bytesToBase64Url(u.encode(e))}function base64UrlToText(e){return d.decode(base64UrlToBytes(e))}function utf8Bytes(e){return u.encode(e).length}async function transformBytes(e,t,n){let r=new ReadableStream({start(t){t.enqueue(new Uint8Array(e)),t.close()}}).pipeThrough(t).getReader(),i=[],a=0;try{for(;;){let{done:e,value:t}=await r.read();if(e)break;if(a+=t.byteLength,a>n)throw new ArsenalSerializationError(`Decompressed data exceeds the byte limit.`);i.push(t)}}catch(e){throw await r.cancel(e).catch(()=>void 0),e instanceof ArsenalSerializationError?e:new ArsenalSerializationError(`Unable to transform compressed data.`,{cause:e})}finally{r.releaseLock()}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.byteLength;return o}async function compressBytes(e,t={}){try{return await transformBytes(e,new CompressionStream(t.format??`deflate-raw`),1/0)}catch(e){throw e instanceof ArsenalSerializationError?e:new ArsenalSerializationError(`Compression is unavailable for this format.`,{cause:e})}}async function decompressBytes(e,t){if(!Number.isSafeInteger(t.maxOutputBytes)||t.maxOutputBytes<0)throw new ArsenalSerializationError(`maxOutputBytes must be a non-negative safe integer.`);try{return await transformBytes(e,new DecompressionStream(t.format??`deflate-raw`),t.maxOutputBytes)}catch(e){throw e instanceof ArsenalSerializationError?e:new ArsenalSerializationError(`Decompression is unavailable for this format.`,{cause:e})}}var f=new TextEncoder,p=new TextDecoder(`utf-8`,{fatal:!0});function assertOptions({maxBytes:e,prefix:t}){if(!Number.isSafeInteger(e)||e<=0)throw new ShareCodeError(`invalid`,`maxBytes must be a positive safe integer.`);if(!/^[A-Za-z0-9]{1,8}$/.test(t))throw new ShareCodeError(`invalid`,`The prefix must be 1–8 alphanumeric characters.`)}function streamsAvailable(){try{return new CompressionStream(`deflate-raw`),new DecompressionStream(`deflate-raw`),!0}catch{return!1}}function decompressionAvailable(){try{return new DecompressionStream(`deflate-raw`),!0}catch{return!1}}async function pack(e,t){assertOptions(t);let{maxBytes:n,prefix:r}=t,i;try{i=JSON.stringify(e)}catch(e){throw new ShareCodeError(`invalid`,`The share payload is not JSON-serializable.`,{cause:e})}if(i===void 0)throw new ShareCodeError(`invalid`,`The share payload is not JSON-serializable.`);let a=f.encode(i);if(a.length>n)throw new ShareCodeError(`too-large`,`The share payload exceeds the byte limit.`);let o=`${r}r.${bytesToBase64Url(a)}`;if(!streamsAvailable())return o;let s=`${r}d.${bytesToBase64Url(await compressBytes(a))}`;return s.length<o.length?s:o}async function unpack(e,t){assertOptions(t);let{maxBytes:n,prefix:r}=t,i=e.trim(),a=Math.ceil(n*4/3)+r.length+2;if(i.length>a)throw new ShareCodeError(`too-large`,`The share code exceeds the length limit.`);let o=i.slice(r.length,r.length+1);if(!i.startsWith(r)||o!==`r`&&o!==`d`||i[r.length+1]!==`.`)throw new ShareCodeError(`invalid`,`That share code format is not supported.`);let s=i.slice(r.length+2);if(!/^[A-Za-z0-9_-]+$/.test(s))throw new ShareCodeError(`invalid`,`Malformed share code.`);let c=base64UrlToBytes(s);if(bytesToBase64Url(c)!==s)throw new ShareCodeError(`invalid`,`Malformed share code.`);if(o===`d`&&!decompressionAvailable())throw new ShareCodeError(`compression-unavailable`,`Raw-DEFLATE decompression is unavailable in this browser.`);let l=o===`d`?await decompressBytes(c,{maxOutputBytes:n}):c;if(l.length>n)throw new ShareCodeError(`too-large`,`The share payload exceeds the byte limit.`);try{return JSON.parse(p.decode(l))}catch(e){throw new ShareCodeError(`invalid`,`The share code payload is not valid UTF-8 JSON.`,{cause:e})}}function debounce(e,t=300,n={leading:!1,trailing:!0}){let r=n.leading??!1,i=n.trailing??!0,a,o,s,c=!1,clearTimer=()=>{a!==void 0&&(clearTimeout(a),a=void 0)},invokeTrailing=()=>{if(clearTimer(),c=!1,!o)return;let t=o;return o=void 0,s=e(...t),s};return Object.assign((...n)=>(o=n,r&&!c&&(c=!0,s=e(...n),o=void 0,!i)?(a=setTimeout(()=>{a=void 0,c=!1},t),s):r&&!i&&c?s:(clearTimer(),a=setTimeout(invokeTrailing,t),s)),{cancel:()=>{clearTimer(),o=void 0,c=!1},flush:()=>invokeTrailing(),pending:()=>a!==void 0})}var once=e=>{let t,n=!1,wrappedFn=((...r)=>(n||=(t=e(...r),!0),t));return wrappedFn.reset=()=>{t=void 0,n=!1},wrappedFn};function pipe(...e){if(e.length===0)return e=>e;let[t,...n]=e;return(...e)=>n.reduce((e,t)=>t(e),t(...e))}var noop=()=>{};function tapper(){let e=new Set;return{clear(){e.clear()},emit(t){if(e.size!==0)for(let n of[...e])try{n(t)}catch{}},get size(){return e.size},tap(t,n){let r=n?.signal;if(r?.aborted)return noop;e.add(t);let detach=()=>{e.delete(t),r?.removeEventListener(`abort`,detach)};return r?.addEventListener(`abort`,detach,{once:!0}),detach}}}function throttle(e,t=700,n={leading:!0,trailing:!1}){let r=n.leading??!0,i=n.trailing??!1,a,o=-1/0,s,c,clearTimer=()=>{a!==void 0&&(clearTimeout(a),a=void 0)},scheduleTimer=e=>{a=setTimeout(timerExpired,e)},invoke=t=>{if(o=t,clearTimer(),!s)return;let n=s;return s=void 0,c=e(...n),c},remaining=e=>t-(e-o),timerExpired=()=>{let e=Date.now();s&&remaining(e)<=0?invoke(e):s?scheduleTimer(remaining(e)):clearTimer()};return Object.assign((...e)=>{let t=Date.now();o===-1/0&&!r&&(o=t),s=e;let n=remaining(t);return n<=0?invoke(t):(i&&!a&&scheduleTimer(n),c)},{cancel:()=>{clearTimer(),s=void 0,o=-1/0},flush:()=>{if(s)return invoke(Date.now())},pending:()=>s!==void 0||a!==void 0})}function allOf(...e){return t=>e.every(e=>e(t))}function anyOf(...e){return t=>e.some(e=>e(t))}function noneOf(...e){return t=>e.every(e=>!e(t))}function not(e){return t=>!e(t)}function isDefined(e){return e!==void 0}function isEqual(e,t){return safeIsEqual(e,t,new WeakMap)}function safeIsEqual(e,t,n){if(e===t)return!0;if(e==null||t==null||typeof e!=typeof t||typeof e!=`object`||typeof t!=`object`)return!1;if(n.has(e))return n.get(e)===t;if(n.set(e,t),Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((e,r)=>safeIsEqual(e,t[r],n));if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[r,i]of e)if(!t.has(r)||!safeIsEqual(i,t.get(r),n))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;let r=[...t];for(let i of e)if(typeof i==`string`||typeof i==`number`||typeof i==`boolean`||i==null){if(!t.has(i))return!1}else if(!r.some(e=>safeIsEqual(i,e,n)))return!1;return!0}if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.source===t.source&&e.flags===t.flags;if(e instanceof Map||t instanceof Map||e instanceof Set||t instanceof Set)return!1;let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;for(let i of r)if(!Object.hasOwn(t,i)||!safeIsEqual(e[i],t[i],n))return!1;return!0}function isNil(e){return e==null}function isPlainObject(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function allocate(e,t){if(typeof t==`number`&&(!Number.isInteger(t)||t<1))throw RangeError(`allocate: parts must be a positive integer, got ${t}`);let n=Array.isArray(t)?t:Array(t).fill(1);if(n.length===0)throw RangeError(`Ratios array cannot be empty`);if(n.some(e=>e<0))throw RangeError(`Ratios must be non-negative`);let r=n.reduce((e,t)=>e+t,0);if(r===0)throw RangeError(`Total ratio cannot be zero`);if(typeof e==`bigint`){let t=BigInt(r),i=Array.from({length:n.length-1},(r,i)=>e*BigInt(n[i])/t);return i.push(e-i.reduce((e,t)=>e+t,0n)),i}let i=Array.from({length:n.length-1},(t,i)=>Math.floor(e*n[i]/r));return i.push(e-i.reduce((e,t)=>e+t,0)),i}function clamp(e,t,n){return t!=null&&e<t?t:n!=null&&e>n?n:e}function range(e,t,n){let[r,i,a]=t===void 0?[0,e,1]:n===void 0?[e,t,1]:[e,t,n];if(!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(a))throw RangeError(`range: start, stop, and step must be finite numbers`);if(a===0)throw RangeError(`range: step cannot be 0`);if(r===i)return[];let o=(i-r)/a,s=Math.max(0,Number.isInteger(o)?o:Math.ceil(o+2**-52));if(s>1e7)throw RangeError(`range: exceeds maximum allowed size of 10,000,000`);return Array.from({length:s},(e,t)=>r+t*a)}function pathSegments(e){return e.replace(/\[(\d+)\]/g,`.$1`).replace(/^\.|\.$/g,``).split(`.`).filter(Boolean)}function readPath(t,n){let r=t;for(let t of pathSegments(n))if(e.has(t)||typeof r!=`object`||!r||(r=r[t],r===void 0))return;return r}function getPath(e,t){return readPath(e,t)}function getPathOr(e,t,n){let r=readPath(e,t);return r===void 0?n:r}function requirePath(e,t){let n=readPath(e,t);if(n===void 0)throw TypeError(`Path does not exist: '${t}'`);return n}function _hash(e,t,n){if(e===void 0)return`undefined`;if(e===null)return`null`;if(typeof e==`bigint`)return`${e}n`;if(typeof e!=`object`)return JSON.stringify(e);if(n.has(e))return`[Circular]`;if(n.add(e),e instanceof Date)return`[Date:${Number.isNaN(e.getTime())?`Invalid`:e.toISOString()}]`;if(e instanceof RegExp)return`[RegExp:${e.source}/${e.flags}]`;if(e instanceof Set)return`[Set:${[...e].map(e=>_hash(e,t,n)).sort().join(`,`)}]`;if(e instanceof Map)return`[Map:${[...e.entries()].map(([e,r])=>[_hash(e,t,n),_hash(r,t,n)]).sort(([e,t],[n,r])=>e===n?t.localeCompare(r):e.localeCompare(n)).map(([e,t])=>`${e}=>${t}`).join(`,`)}]`;if(Array.isArray(e))return`[${e.map(e=>_hash(e,t,n)).join(`,`)}]`;let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null){if(t?.onClassInstance===`throw`)throw new ArsenalSerializationError(`hash: unsupported type ${e.constructor?.name??`unknown`}`);return String(e)}let i=e;return`{${Object.keys(i).filter(e=>i[e]!==void 0).sort().map(e=>`${JSON.stringify(e)}:${_hash(i[e],t,n)}`).join(`,`)}}`}function hash(e,t){return _hash(e,t,new Set)}function omit(e,t){let n=new Set(t),r={};for(let t of Object.keys(e))isUnsafeKey(t)||n.has(t)||(r[t]=e[t]);return r}function pick(e,t){let n={};for(let r of t)isUnsafeKey(r)||Object.hasOwn(e,r)&&(n[r]=e[r]);return n}function randomFloat(e){let t=e?.next()??crypto.getRandomValues(new Uint32Array(1))[0]/4294967296;if(!Number.isFinite(t)||t<0||t>=1)throw RangeError(`random source must return a finite number in [0, 1)`);return t}function randomIndex(e,t){return Math.floor(randomFloat(t)*e)}function random(e,t,n){if(e>t)throw RangeError(`random: minimum value must not be greater than maximum value`);return randomIndex(t-e+1,n)+e}var m=/(\p{Ll})(\p{Lu}|\p{N})|(\p{Lu}|\p{N})(\p{Lu}\p{Ll})|(\p{N})(\p{L})/gu;function escapeRegex(e){return e.replace(/[.*+?^${}()|[\]\\/-]/g,`\\$&`)}function normalizeCase(e,t=` `){let n=escapeRegex(t);return e.trim().replace(m,`$1$3$5${t}$2$4$6`).replace(/[^\p{L}\p{N}]+/gu,t).replace(RegExp(`^(?:${n})+|(?:${n})+$`,`g`),``)}function camelCase(e){return normalizeCase(e,` `).replace(/[^\p{L}\p{N}]+(.)/gu,(e,t)=>t.toUpperCase()).replace(/^./,e=>e.toLowerCase())}exports.ArsenalError=ArsenalError,exports.ArsenalSerializationError=ArsenalSerializationError,exports.ShareCodeError=ShareCodeError,exports.abortError=abortError,exports.abortable=abortable,exports.allOf=allOf,exports.allocate=allocate,exports.anyOf=anyOf,exports.attempt=attempt,exports.backoff=backoff,exports.base64UrlToBytes=base64UrlToBytes,exports.base64UrlToText=base64UrlToText,exports.bytesToBase64Url=bytesToBase64Url,exports.cache=cache,exports.camelCase=camelCase,exports.chunk=chunk,exports.clamp=clamp,exports.compressBytes=compressBytes,exports.debounce=debounce,exports.decompressBytes=decompressBytes,exports.filterMap=filterMap,exports.getPath=getPath,exports.getPathOr=getPathOr,exports.groupBy=groupBy,exports.hash=hash,exports.indexBy=indexBy,exports.isDefined=isDefined,exports.isEqual=isEqual,exports.isFail=isFail,exports.isNil=isNil,exports.isOk=isOk,exports.isPlainObject=isPlainObject,exports.memo=memo,exports.noneOf=noneOf,exports.not=not,exports.omit=omit,exports.once=once,exports.pack=pack,exports.parallel=parallel,exports.partition=partition,exports.pick=pick,exports.pipe=pipe,exports.random=random,exports.randomFloat=randomFloat,exports.range=range,exports.requirePath=requirePath,exports.retry=retry,exports.sleep=sleep,exports.sort=sort,exports.tapper=tapper,exports.taskPool=taskPool,exports.textToBase64Url=textToBase64Url,exports.throttle=throttle,exports.uniq=uniq,exports.unpack=unpack,exports.utf8Bytes=utf8Bytes,exports.waitFor=waitFor;
2
2
  //# sourceMappingURL=arsenal.cjs.map