@kdtlabs/utils 0.0.5 → 0.0.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/SKILL.md +5 -0
- package/dist/arrays/comparators.d.ts +8 -0
- package/dist/arrays/comparators.d.ts.map +1 -0
- package/dist/arrays/index.d.ts +1 -0
- package/dist/arrays/index.d.ts.map +1 -1
- package/dist/index.js +11 -4
- package/dist/index.js.map +6 -4
- package/dist/strings/index.d.ts +1 -0
- package/dist/strings/index.d.ts.map +1 -1
- package/dist/strings/manipulations.d.ts +2 -0
- package/dist/strings/manipulations.d.ts.map +1 -1
- package/dist/strings/strip-ansi.d.ts +2 -0
- package/dist/strings/strip-ansi.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/arrays/comparators.ts +53 -0
- package/src/arrays/index.ts +1 -0
- package/src/strings/index.ts +1 -0
- package/src/strings/manipulations.ts +46 -0
- package/src/strings/strip-ansi.ts +14 -0
package/SKILL.md
CHANGED
|
@@ -48,6 +48,8 @@ Each folder contains an `index.ts` barrel that re-exports everything from the mo
|
|
|
48
48
|
- `range(from, to, step): number[]` — Create numeric range
|
|
49
49
|
- `createArray<T>(length, valueFn): T[]` — Create array with factory function
|
|
50
50
|
- `sample<T>(array: T[], quantity): T[]` — Random sampling
|
|
51
|
+
- `asc(type?: StringSortType)` — Ascending comparator for `Array.sort()` (supports number, bigint, string)
|
|
52
|
+
- `desc(type?: StringSortType)` — Descending comparator for `Array.sort()` (supports number, bigint, string)
|
|
51
53
|
|
|
52
54
|
Also: merge, flatten, shuffle, intersection, diff, symmetricDiff
|
|
53
55
|
|
|
@@ -132,6 +134,9 @@ Also: noop, invoke, invokes
|
|
|
132
134
|
- `ensureSuffix(str, suffix)` — Add suffix if missing
|
|
133
135
|
- `stripPrefix(str, prefix)` — Remove prefix
|
|
134
136
|
- `stripSuffix(str, suffix)` — Remove suffix
|
|
137
|
+
- `stripAnsi(str)` — Remove all ANSI escape sequences
|
|
138
|
+
- `indent(str, count, trim?)` — Add spaces to the beginning of every line
|
|
139
|
+
- `unindent(str | TemplateStringsArray, ...values)` — Remove common leading whitespace
|
|
135
140
|
- `padZeroStart(num, targetLength)` — Zero-pad number
|
|
136
141
|
|
|
137
142
|
Also: padStart, chunkStr, ltrim, rtrim, trim, trimRepeated
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type StringSortType = 'alphabetical' | 'length' | 'natural';
|
|
2
|
+
type Sortable = bigint | number | string;
|
|
3
|
+
export declare function asc(type: StringSortType): (a: string, b: string) => number;
|
|
4
|
+
export declare function asc(): <T extends Sortable>(a: T, b: T) => number;
|
|
5
|
+
export declare function desc(type: StringSortType): (a: string, b: string) => number;
|
|
6
|
+
export declare function desc(): <T extends Sortable>(a: T, b: T) => number;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=comparators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comparators.d.ts","sourceRoot":"","sources":["../../src/arrays/comparators.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAA;AAElE,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AA8BxC,wBAAgB,GAAG,CAAC,IAAI,EAAE,cAAc,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;AAC3E,wBAAgB,GAAG,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;AAUjE,wBAAgB,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;AAC5E,wBAAgB,IAAI,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA"}
|
package/dist/arrays/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/arrays/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAEhC,mBAAmB,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/arrays/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAEhC,mBAAmB,SAAS,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
function nth(array,index){return array.at(index)}function first(array){return nth(array,0)}function last(array){return nth(array,-1)}class LinkedBase{maxSize;nodeMap=new Map;currentSize=0;head=null;tail=null;constructor(maxSize){this.maxSize=maxSize;if(maxSize!=null&&(maxSize<1||!Number.isInteger(maxSize)))throw RangeError("maxSize must be a positive integer")}get size(){return this.currentSize}get[Symbol.toStringTag](){return this.constructor.name}clear(){this.nodeMap.clear(),this.head=null,this.tail=null,this.currentSize=0}addToHead(node){if(node.prev=null,node.next=this.head,this.head)this.head.prev=node;else this.tail=node;this.head=node}addToTail(node){if(node.next=null,node.prev=this.tail,this.tail)this.tail.next=node;else this.head=node;this.tail=node}deleteByKey(key){let node=this.nodeMap.get(key);if(!node)return!1;return this.nodeMap.delete(key),this.removeNode(node),this.currentSize--,!0}moveToHead(node){this.removeNode(node),this.addToHead(node)}removeHead(){if(!this.head)return;this.nodeMap.delete(this.getNodeKey(this.head)),this.removeNode(this.head),this.currentSize--}removeNode(node){if(node.prev)node.prev.next=node.next;else this.head=node.next;if(node.next)node.next.prev=node.prev;else this.tail=node.prev;node.prev=null,node.next=null}removeTail(){if(!this.tail)return;this.nodeMap.delete(this.getNodeKey(this.tail)),this.removeNode(this.tail),this.currentSize--}}class LinkedMap extends LinkedBase{delete(key){return this.deleteByKey(key)}*entries(){let current=this.head;while(current)yield[current.key,current.value],current=current.next}forEach(callback){for(let[key,value]of this.entries())callback(value,key,this)}get(key){return this.nodeMap.get(key)?.value}has(key){return this.nodeMap.has(key)}*keys(){let current=this.head;while(current)yield current.key,current=current.next}peekNewest(){return this.head?[this.head.key,this.head.value]:void 0}peekOldest(){return this.tail?[this.tail.key,this.tail.value]:void 0}[Symbol.iterator](){return this.entries()}toJSON(){return[...this.entries()]}*values(){let current=this.head;while(current)yield current.value,current=current.next}createNode(key,value){return{key,next:null,prev:null,value}}getNodeKey(node){return node.key}}class FifoMap extends LinkedMap{peekNewest(){return this.tail?[this.tail.key,this.tail.value]:void 0}peekOldest(){return this.head?[this.head.key,this.head.value]:void 0}set(key,value){let existingNode=this.nodeMap.get(key);if(existingNode)return existingNode.value=value,this;let newNode=this.createNode(key,value);if(this.nodeMap.set(key,newNode),this.addToTail(newNode),this.currentSize++,this.maxSize&&this.currentSize>this.maxSize)this.removeHead();return this}}class LinkedSet extends LinkedBase{delete(value){return this.deleteByKey(value)}*entries(){for(let value of this.values())yield[value,value]}forEach(callback){for(let value of this.values())callback(value,value,this)}has(value){return this.nodeMap.has(value)}keys(){return this.values()}peekNewest(){return this.head?.value}peekOldest(){return this.tail?.value}[Symbol.iterator](){return this.values()}toJSON(){return[...this.values()]}*values(){let current=this.head;while(current)yield current.value,current=current.next}createNode(value){return{next:null,prev:null,value}}getNodeKey(node){return node.value}}class FifoSet extends LinkedSet{add(value){if(this.nodeMap.has(value))return this;let newNode=this.createNode(value);if(this.nodeMap.set(value,newNode),this.addToTail(newNode),this.currentSize++,this.maxSize&&this.currentSize>this.maxSize)this.removeHead();return this}peekOldest(){return this.head?.value}peekNewest(){return this.tail?.value}}var isIterable=(value)=>value!=null&&typeof value==="object"&&(Symbol.iterator in value)&&typeof value[Symbol.iterator]==="function",isCollectionLike=(value)=>isIterable(value)&&("size"in value)&&typeof value.size==="number",isEmptyCollection=(value)=>value.size===0,isSetLike=(value)=>isCollectionLike(value)&&("has"in value)&&typeof value.has==="function",isMapLike=(value)=>isCollectionLike(value)&&("get"in value)&&typeof value.get==="function"&&("entries"in value)&&typeof value.entries==="function";class LruMap extends LinkedMap{get(key){let node=this.nodeMap.get(key);if(node)this.moveToHead(node);return node?.value}set(key,value){let existingNode=this.nodeMap.get(key);if(existingNode)return existingNode.value=value,this.moveToHead(existingNode),this;let newNode=this.createNode(key,value);if(this.nodeMap.set(key,newNode),this.addToHead(newNode),this.currentSize++,this.maxSize&&this.currentSize>this.maxSize)this.removeTail();return this}}class LruSet extends LinkedSet{add(value){let existingNode=this.nodeMap.get(value);if(existingNode)return this.moveToHead(existingNode),this;let newNode=this.createNode(value);if(this.nodeMap.set(value,newNode),this.addToHead(newNode),this.currentSize++,this.maxSize&&this.currentSize>this.maxSize)this.removeTail();return this}}var DEFAULT_TRUE_STRINGS=new Set(["1","on","true","yes"]);var toString=(value)=>Object.prototype.toString.call(value);function typeOf(value){if(value===null)return"null";return typeof value==="object"||typeof value==="function"?toString(value).slice(8,-1).toLowerCase():typeof value}var isNull=(value)=>value===null,isUndefined=(value)=>value===void 0,isNullish=(value)=>isNull(value)||isUndefined(value),notNull=(value)=>!isNull(value),notUndefined=(value)=>!isUndefined(value),notNullish=(value)=>!isNullish(value),isBoolean=(value)=>typeof value==="boolean",isSymbol=(value)=>typeof value==="symbol",isBigInt=(value)=>typeof value==="bigint",isNumber=(value)=>typeof value==="number",isString=(value)=>typeof value==="string",isDate=(value)=>value instanceof Date,isPrimitive=(value)=>value===null||typeof value!=="object"&&typeof value!=="function",isJsonablePrimitive=(value)=>isNull(value)||isString(value)||isBoolean(value)||isNumber(value)&&Number.isFinite(value);function isTrueLike(value,options={}){let{anyNonZeroNumber=!1,trueStrings=DEFAULT_TRUE_STRINGS}=options;if(isBoolean(value))return value;if(isString(value))return trueStrings.has(value.toLowerCase());if(isNumber(value))return anyNonZeroNumber?value!==0&&Number.isFinite(value):value===1;if(isBigInt(value))return anyNonZeroNumber?value!==0n:value===1n;return!1}var isGenerator=(value)=>typeof value==="object"&&value!==null&&typeof value.next==="function"&&typeof value[Symbol.iterator]==="function";var isArray=(value)=>Array.isArray(value),isEmptyArray=(value)=>value.length===0,isNonEmptyArray=(value)=>!isEmptyArray(value);var wrap=(array)=>isArray(array)?array:[array];function toArray(value){if(isIterable(value))return[...value];return wrap(value??[])}var compact=(array)=>array.filter(notNullish);var createArray=(length,value)=>Array.from({length},(_,i)=>value(i)),range=(from,to,step=1)=>Array.from({length:Math.floor((to-from)/step)+1},(_,i)=>from+i*step),sample=(array,quantity=1)=>Array.from({length:quantity},()=>array[Math.floor(Math.random()*array.length)]);var merge=(...arrays)=>arrays.flatMap((array)=>toArray(array)),flatten=(array)=>toArray(array).flat();function shuffle(array){let result=[...array];for(let i=result.length-1;i>0;i--){let j=Math.floor(Math.random()*(i+1)),temp=result[i];result[i]=result[j],result[j]=temp}return result}function groupBy(array,keyFn){let result={};for(let item of array){let key=keyFn(item),group=result[key];if(group)group.push(item);else result[key]=[item]}return result}function keyBy(array,keyFn){let result={};for(let item of array)result[keyFn(item)]=item;return result}function chunk(array,size){if(size<=0||!Number.isFinite(size))throw RangeError(`chunk size must be a positive finite number, got ${size}`);let step=Math.floor(size),result=[];for(let i=0;i<array.length;i+=step)result.push(array.slice(i,i+step));return result}function sortBy(array,...keys){let normalizedKeys=keys.map((key)=>typeof key==="function"?{fn:key,order:"asc"}:key);return array.toSorted((a,b)=>{for(let{fn,order}of normalizedKeys){let va=fn(a),vb=fn(b);if(va<vb)return order==="asc"?-1:1;if(va>vb)return order==="asc"?1:-1}return 0})}function partition(array,predicate){let pass=[],fail=[];for(let item of array)if(predicate(item))pass.push(item);else fail.push(item);return[pass,fail]}var unique=(array)=>[...new Set(array)],uniqueBy=(array,equalFn)=>array.reduce((r,c)=>r.some((v)=>equalFn(v,c))?r:[...r,c],[]),intersection=(a,b)=>a.filter((v)=>b.includes(v)),diff=(a,b)=>a.filter((v)=>!b.includes(v)),symmetricDiff=(a,b)=>[...diff(a,b),...diff(b,a)];var isBuffer=(value)=>Buffer.isBuffer(value),isArrayBuffer=(value)=>value instanceof ArrayBuffer,isSharedArrayBuffer=(value)=>value instanceof SharedArrayBuffer,isArrayBufferView=(value)=>ArrayBuffer.isView(value),isBufferLike=(value)=>isBuffer(value)||isArrayBuffer(value)||isSharedArrayBuffer(value)||isArrayBufferView(value);function bufferToString(buffer,encoding="utf8"){if(isBuffer(buffer))return buffer.toString(encoding);if(isArrayBuffer(buffer)||isSharedArrayBuffer(buffer))return Buffer.from(buffer).toString(encoding);return Buffer.from(buffer.buffer,buffer.byteOffset,buffer.byteLength).toString(encoding)}function toUint8Array(input){if(input instanceof Uint8Array)return input;if(input instanceof ArrayBuffer||input instanceof SharedArrayBuffer)return new Uint8Array(input);return new Uint8Array(input.buffer,input.byteOffset,input.byteLength)}function concatBuffers(buffers){if(buffers.length===0)return new Uint8Array(0);let normalized=buffers.map(toUint8Array),totalLength=0,offset=0;for(let buf of normalized)totalLength+=buf.byteLength;let result=new Uint8Array(totalLength);for(let buf of normalized)result.set(buf,offset),offset+=buf.byteLength;return result}function bufferEquals(a,b){if(a===b)return!0;let u8a=toUint8Array(a),u8b=toUint8Array(b);if(u8a.byteLength!==u8b.byteLength)return!1;let bufA=Buffer.from(u8a.buffer,u8a.byteOffset,u8a.byteLength),bufB=Buffer.from(u8b.buffer,u8b.byteOffset,u8b.byteLength);return bufA.equals(bufB)}class BaseError extends Error{constructor(message,{code,details,exitCode,name,retryable,timestamp,...options}={}){super(message,options);Object.setPrototypeOf(this,new.target.prototype),this.defineValue("name",name??this.constructor.name),this.defineValue("timestamp",timestamp??new Date),this.defineValue("cause",options.cause),this.defineValue("code",code),this.defineValue("details",details),this.defineValue("exitCode",exitCode),this.defineValue("retryable",retryable)}withValue(key,value){if(Object.hasOwn(this,key))throw TypeError(`Cannot redefine property '${key}' on ${this.name}`);return this.defineValue(key,value)}defineValue(key,value){return Object.defineProperty(this,key,{configurable:!1,enumerable:!0,value,writable:!1}),this}}var isObject=(value)=>value!==null&&typeof value==="object"&&!isArray(value),isPlainObject=(value)=>{if(toString(value)!=="[object Object]")return!1;let proto=Object.getPrototypeOf(value);return proto===null||proto===Object.prototype},isEmptyObject=(value)=>Object.keys(value).length===0,isKeyOf=(obj,name)=>(name in obj),isKeysOf=(data,...keys)=>keys.every((key)=>isKeyOf(data,key));var DANGEROUS_KEYS=new Set(["__proto__","constructor","prototype"]);function mergeArrays(base,override,arrayMode){if(arrayMode==="replace")return override.map(deepCloneValue);let merged=[...base,...override];return(arrayMode==="merge-dedupe"?unique(merged):merged).map(deepCloneValue)}function deepCloneValue(value){if(isPlainObject(value)){let cloned={};for(let key of Object.keys(value))if(!DANGEROUS_KEYS.has(key))cloned[key]=deepCloneValue(value[key]);return cloned}if(isArray(value))return value.map(deepCloneValue);return value}function mergeRecursive(base,override,arrayMode){let result={};for(let key of Object.keys(base))if(!DANGEROUS_KEYS.has(key))result[key]=deepCloneValue(base[key]);for(let key of Object.keys(override)){if(DANGEROUS_KEYS.has(key))continue;let baseVal=result[key],overrideVal=override[key];if(isPlainObject(baseVal)&&isPlainObject(overrideVal))result[key]=mergeRecursive(baseVal,overrideVal,arrayMode);else if(isArray(baseVal)&&isArray(overrideVal))result[key]=mergeArrays(baseVal,overrideVal,arrayMode);else result[key]=deepCloneValue(overrideVal)}return result}var deepMerge=(base,override,{arrayMode="replace"}={})=>mergeRecursive(base,override,arrayMode);var entries=(obj)=>Object.entries(obj),filter=(obj,predicate)=>Object.fromEntries(entries(obj).filter(([key,value],index)=>predicate(key,value,index))),filterByValue=(obj,predicate)=>filter(obj,(_,value)=>predicate(value)),pick=(obj,...keys)=>{let set=new Set(keys);return filter(obj,(key)=>set.has(key))},omit=(object,...keys)=>{let set=new Set(keys);return filter(object,(key)=>!set.has(key))},map=(obj,fn)=>Object.fromEntries(entries(obj).map(([k,v],i)=>fn(k,v,i)));function resolveOptions(options,defaultValue){if(options===!1)return!1;return isNullish(options)||options===!0?defaultValue:options}var isError=(value)=>value instanceof Error,isBaseError=(value)=>value instanceof BaseError,isAbortError=(error)=>error instanceof DOMException&&error.name==="AbortError",isErrorLike=(value)=>isObject(value)&&isKeysOf(value,"name")&&isString(value.name);var createAbortError=(message="This operation was aborted",name="AbortError")=>new DOMException(message,name),createTimeoutError=(message="The operation was aborted due to a timeout",name="TimeoutError")=>createAbortError(message,name);function createAbortController(timeout,timeoutError){let controller=new AbortController;if(notNullish(timeout)&&timeout>0&&timeout<=Number.MAX_SAFE_INTEGER){let timeoutId,cleanup=()=>{clearTimeout(timeoutId),controller.signal.removeEventListener("abort",cleanup)};controller.signal.addEventListener("abort",cleanup),timeoutId=setTimeout(()=>controller.abort(ensureError(timeoutError??createTimeoutError())),timeout)}return controller}function ensureError(input,ctor){if(typeof input==="string")return ctor?new ctor(input):Error(input);if(typeof input==="function")return ensureError(input(),ctor);return input}function fromErrorLike({cause,message,name,stack,...properties},ctor){let error=new(ctor??Error)(message,{cause});Object.defineProperty(error,"name",{configurable:!0,enumerable:!1,value:name,writable:!0}),Object.defineProperty(error,"stack",{configurable:!0,enumerable:!1,value:stack,writable:!0});for(let[key,value]of Object.entries(properties))Object.defineProperty(error,key,Object.getOwnPropertyDescriptor(properties,key)??{configurable:!0,enumerable:!0,value,writable:!0});return error}function normalizeError(error,{defaultMessage="Unknown error",errorConstructor}={}){let errorClass=errorConstructor??Error;if(error instanceof errorClass)return error;if(isString(error))return ensureError(error,errorConstructor);if(isErrorLike(error))return fromErrorLike(error,errorConstructor);return new errorClass(defaultMessage,{cause:error})}function combineSignals(...signals){let validSignals=signals.filter(notNullish);if(validSignals.length===0)return new AbortController().signal;if(validSignals.length===1)return validSignals[0];return AbortSignal.any(validSignals)}var DEFAULT_STRINGIFY_FORMATTERS={code:(value)=>`[${value}]`,message:(value)=>value,name:(value)=>`${value}:`};function collectCauses(error,depth,indent,state){let childIndent=indent+" ".repeat(state.causeIndent),pointers=[];if(error instanceof AggregateError&&error.errors.length>0)for(let subError of error.errors)pointers.push(stringifyErrorNode(subError,depth-1,childIndent,state.causePrefix,state));if(isObject(error.cause)||isString(error.cause))pointers.push(stringifyErrorNode(error.cause,depth-1,childIndent,state.causePrefix,state));return pointers}function appendCauses(parts,error,error_,depth,indent,state){if(!state.includeCause||depth<=0||error!==error_&&error.cause===error_)return;let pointers=collectCauses(error,depth,indent,state);if(pointers.length>0)parts.push(`
|
|
1
|
+
function nth(array,index){return array.at(index)}function first(array){return nth(array,0)}function last(array){return nth(array,-1)}var COLLATOR_NATURAL=new Intl.Collator(void 0,{numeric:!0,sensitivity:"variant"});function createStringComparator(direction,type){if(type==="natural"){let cmp=COLLATOR_NATURAL.compare;return(a,b)=>direction*cmp(a,b)}if(type==="length")return(a,b)=>direction*(a.length-b.length);return(a,b)=>direction*a.localeCompare(b)}var createGenericComparator=(direction)=>(a,b)=>{if(a<b)return-direction;if(a>b)return direction;return 0};function asc(type){if(type)return createStringComparator(1,type);return createGenericComparator(1)}function desc(type){if(type)return createStringComparator(-1,type);return createGenericComparator(-1)}class LinkedBase{maxSize;nodeMap=new Map;currentSize=0;head=null;tail=null;constructor(maxSize){this.maxSize=maxSize;if(maxSize!=null&&(maxSize<1||!Number.isInteger(maxSize)))throw RangeError("maxSize must be a positive integer")}get size(){return this.currentSize}get[Symbol.toStringTag](){return this.constructor.name}clear(){this.nodeMap.clear(),this.head=null,this.tail=null,this.currentSize=0}addToHead(node){if(node.prev=null,node.next=this.head,this.head)this.head.prev=node;else this.tail=node;this.head=node}addToTail(node){if(node.next=null,node.prev=this.tail,this.tail)this.tail.next=node;else this.head=node;this.tail=node}deleteByKey(key){let node=this.nodeMap.get(key);if(!node)return!1;return this.nodeMap.delete(key),this.removeNode(node),this.currentSize--,!0}moveToHead(node){this.removeNode(node),this.addToHead(node)}removeHead(){if(!this.head)return;this.nodeMap.delete(this.getNodeKey(this.head)),this.removeNode(this.head),this.currentSize--}removeNode(node){if(node.prev)node.prev.next=node.next;else this.head=node.next;if(node.next)node.next.prev=node.prev;else this.tail=node.prev;node.prev=null,node.next=null}removeTail(){if(!this.tail)return;this.nodeMap.delete(this.getNodeKey(this.tail)),this.removeNode(this.tail),this.currentSize--}}class LinkedMap extends LinkedBase{delete(key){return this.deleteByKey(key)}*entries(){let current=this.head;while(current)yield[current.key,current.value],current=current.next}forEach(callback){for(let[key,value]of this.entries())callback(value,key,this)}get(key){return this.nodeMap.get(key)?.value}has(key){return this.nodeMap.has(key)}*keys(){let current=this.head;while(current)yield current.key,current=current.next}peekNewest(){return this.head?[this.head.key,this.head.value]:void 0}peekOldest(){return this.tail?[this.tail.key,this.tail.value]:void 0}[Symbol.iterator](){return this.entries()}toJSON(){return[...this.entries()]}*values(){let current=this.head;while(current)yield current.value,current=current.next}createNode(key,value){return{key,next:null,prev:null,value}}getNodeKey(node){return node.key}}class FifoMap extends LinkedMap{peekNewest(){return this.tail?[this.tail.key,this.tail.value]:void 0}peekOldest(){return this.head?[this.head.key,this.head.value]:void 0}set(key,value){let existingNode=this.nodeMap.get(key);if(existingNode)return existingNode.value=value,this;let newNode=this.createNode(key,value);if(this.nodeMap.set(key,newNode),this.addToTail(newNode),this.currentSize++,this.maxSize&&this.currentSize>this.maxSize)this.removeHead();return this}}class LinkedSet extends LinkedBase{delete(value){return this.deleteByKey(value)}*entries(){for(let value of this.values())yield[value,value]}forEach(callback){for(let value of this.values())callback(value,value,this)}has(value){return this.nodeMap.has(value)}keys(){return this.values()}peekNewest(){return this.head?.value}peekOldest(){return this.tail?.value}[Symbol.iterator](){return this.values()}toJSON(){return[...this.values()]}*values(){let current=this.head;while(current)yield current.value,current=current.next}createNode(value){return{next:null,prev:null,value}}getNodeKey(node){return node.value}}class FifoSet extends LinkedSet{add(value){if(this.nodeMap.has(value))return this;let newNode=this.createNode(value);if(this.nodeMap.set(value,newNode),this.addToTail(newNode),this.currentSize++,this.maxSize&&this.currentSize>this.maxSize)this.removeHead();return this}peekOldest(){return this.head?.value}peekNewest(){return this.tail?.value}}var isIterable=(value)=>value!=null&&typeof value==="object"&&(Symbol.iterator in value)&&typeof value[Symbol.iterator]==="function",isCollectionLike=(value)=>isIterable(value)&&("size"in value)&&typeof value.size==="number",isEmptyCollection=(value)=>value.size===0,isSetLike=(value)=>isCollectionLike(value)&&("has"in value)&&typeof value.has==="function",isMapLike=(value)=>isCollectionLike(value)&&("get"in value)&&typeof value.get==="function"&&("entries"in value)&&typeof value.entries==="function";class LruMap extends LinkedMap{get(key){let node=this.nodeMap.get(key);if(node)this.moveToHead(node);return node?.value}set(key,value){let existingNode=this.nodeMap.get(key);if(existingNode)return existingNode.value=value,this.moveToHead(existingNode),this;let newNode=this.createNode(key,value);if(this.nodeMap.set(key,newNode),this.addToHead(newNode),this.currentSize++,this.maxSize&&this.currentSize>this.maxSize)this.removeTail();return this}}class LruSet extends LinkedSet{add(value){let existingNode=this.nodeMap.get(value);if(existingNode)return this.moveToHead(existingNode),this;let newNode=this.createNode(value);if(this.nodeMap.set(value,newNode),this.addToHead(newNode),this.currentSize++,this.maxSize&&this.currentSize>this.maxSize)this.removeTail();return this}}var DEFAULT_TRUE_STRINGS=new Set(["1","on","true","yes"]);var toString=(value)=>Object.prototype.toString.call(value);function typeOf(value){if(value===null)return"null";return typeof value==="object"||typeof value==="function"?toString(value).slice(8,-1).toLowerCase():typeof value}var isNull=(value)=>value===null,isUndefined=(value)=>value===void 0,isNullish=(value)=>isNull(value)||isUndefined(value),notNull=(value)=>!isNull(value),notUndefined=(value)=>!isUndefined(value),notNullish=(value)=>!isNullish(value),isBoolean=(value)=>typeof value==="boolean",isSymbol=(value)=>typeof value==="symbol",isBigInt=(value)=>typeof value==="bigint",isNumber=(value)=>typeof value==="number",isString=(value)=>typeof value==="string",isDate=(value)=>value instanceof Date,isPrimitive=(value)=>value===null||typeof value!=="object"&&typeof value!=="function",isJsonablePrimitive=(value)=>isNull(value)||isString(value)||isBoolean(value)||isNumber(value)&&Number.isFinite(value);function isTrueLike(value,options={}){let{anyNonZeroNumber=!1,trueStrings=DEFAULT_TRUE_STRINGS}=options;if(isBoolean(value))return value;if(isString(value))return trueStrings.has(value.toLowerCase());if(isNumber(value))return anyNonZeroNumber?value!==0&&Number.isFinite(value):value===1;if(isBigInt(value))return anyNonZeroNumber?value!==0n:value===1n;return!1}var isGenerator=(value)=>typeof value==="object"&&value!==null&&typeof value.next==="function"&&typeof value[Symbol.iterator]==="function";var isArray=(value)=>Array.isArray(value),isEmptyArray=(value)=>value.length===0,isNonEmptyArray=(value)=>!isEmptyArray(value);var wrap=(array)=>isArray(array)?array:[array];function toArray(value){if(isIterable(value))return[...value];return wrap(value??[])}var compact=(array)=>array.filter(notNullish);var createArray=(length,value)=>Array.from({length},(_,i)=>value(i)),range=(from,to,step=1)=>Array.from({length:Math.floor((to-from)/step)+1},(_,i)=>from+i*step),sample=(array,quantity=1)=>Array.from({length:quantity},()=>array[Math.floor(Math.random()*array.length)]);var merge=(...arrays)=>arrays.flatMap((array)=>toArray(array)),flatten=(array)=>toArray(array).flat();function shuffle(array){let result=[...array];for(let i=result.length-1;i>0;i--){let j=Math.floor(Math.random()*(i+1)),temp=result[i];result[i]=result[j],result[j]=temp}return result}function groupBy(array,keyFn){let result={};for(let item of array){let key=keyFn(item),group=result[key];if(group)group.push(item);else result[key]=[item]}return result}function keyBy(array,keyFn){let result={};for(let item of array)result[keyFn(item)]=item;return result}function chunk(array,size){if(size<=0||!Number.isFinite(size))throw RangeError(`chunk size must be a positive finite number, got ${size}`);let step=Math.floor(size),result=[];for(let i=0;i<array.length;i+=step)result.push(array.slice(i,i+step));return result}function sortBy(array,...keys){let normalizedKeys=keys.map((key)=>typeof key==="function"?{fn:key,order:"asc"}:key);return array.toSorted((a,b)=>{for(let{fn,order}of normalizedKeys){let va=fn(a),vb=fn(b);if(va<vb)return order==="asc"?-1:1;if(va>vb)return order==="asc"?1:-1}return 0})}function partition(array,predicate){let pass=[],fail=[];for(let item of array)if(predicate(item))pass.push(item);else fail.push(item);return[pass,fail]}var unique=(array)=>[...new Set(array)],uniqueBy=(array,equalFn)=>array.reduce((r,c)=>r.some((v)=>equalFn(v,c))?r:[...r,c],[]),intersection=(a,b)=>a.filter((v)=>b.includes(v)),diff=(a,b)=>a.filter((v)=>!b.includes(v)),symmetricDiff=(a,b)=>[...diff(a,b),...diff(b,a)];var isBuffer=(value)=>Buffer.isBuffer(value),isArrayBuffer=(value)=>value instanceof ArrayBuffer,isSharedArrayBuffer=(value)=>value instanceof SharedArrayBuffer,isArrayBufferView=(value)=>ArrayBuffer.isView(value),isBufferLike=(value)=>isBuffer(value)||isArrayBuffer(value)||isSharedArrayBuffer(value)||isArrayBufferView(value);function bufferToString(buffer,encoding="utf8"){if(isBuffer(buffer))return buffer.toString(encoding);if(isArrayBuffer(buffer)||isSharedArrayBuffer(buffer))return Buffer.from(buffer).toString(encoding);return Buffer.from(buffer.buffer,buffer.byteOffset,buffer.byteLength).toString(encoding)}function toUint8Array(input){if(input instanceof Uint8Array)return input;if(input instanceof ArrayBuffer||input instanceof SharedArrayBuffer)return new Uint8Array(input);return new Uint8Array(input.buffer,input.byteOffset,input.byteLength)}function concatBuffers(buffers){if(buffers.length===0)return new Uint8Array(0);let normalized=buffers.map(toUint8Array),totalLength=0,offset=0;for(let buf of normalized)totalLength+=buf.byteLength;let result=new Uint8Array(totalLength);for(let buf of normalized)result.set(buf,offset),offset+=buf.byteLength;return result}function bufferEquals(a,b){if(a===b)return!0;let u8a=toUint8Array(a),u8b=toUint8Array(b);if(u8a.byteLength!==u8b.byteLength)return!1;let bufA=Buffer.from(u8a.buffer,u8a.byteOffset,u8a.byteLength),bufB=Buffer.from(u8b.buffer,u8b.byteOffset,u8b.byteLength);return bufA.equals(bufB)}class BaseError extends Error{constructor(message,{code,details,exitCode,name,retryable,timestamp,...options}={}){super(message,options);Object.setPrototypeOf(this,new.target.prototype),this.defineValue("name",name??this.constructor.name),this.defineValue("timestamp",timestamp??new Date),this.defineValue("cause",options.cause),this.defineValue("code",code),this.defineValue("details",details),this.defineValue("exitCode",exitCode),this.defineValue("retryable",retryable)}withValue(key,value){if(Object.hasOwn(this,key))throw TypeError(`Cannot redefine property '${key}' on ${this.name}`);return this.defineValue(key,value)}defineValue(key,value){return Object.defineProperty(this,key,{configurable:!1,enumerable:!0,value,writable:!1}),this}}var isObject=(value)=>value!==null&&typeof value==="object"&&!isArray(value),isPlainObject=(value)=>{if(toString(value)!=="[object Object]")return!1;let proto=Object.getPrototypeOf(value);return proto===null||proto===Object.prototype},isEmptyObject=(value)=>Object.keys(value).length===0,isKeyOf=(obj,name)=>(name in obj),isKeysOf=(data,...keys)=>keys.every((key)=>isKeyOf(data,key));var DANGEROUS_KEYS=new Set(["__proto__","constructor","prototype"]);function mergeArrays(base,override,arrayMode){if(arrayMode==="replace")return override.map(deepCloneValue);let merged=[...base,...override];return(arrayMode==="merge-dedupe"?unique(merged):merged).map(deepCloneValue)}function deepCloneValue(value){if(isPlainObject(value)){let cloned={};for(let key of Object.keys(value))if(!DANGEROUS_KEYS.has(key))cloned[key]=deepCloneValue(value[key]);return cloned}if(isArray(value))return value.map(deepCloneValue);return value}function mergeRecursive(base,override,arrayMode){let result={};for(let key of Object.keys(base))if(!DANGEROUS_KEYS.has(key))result[key]=deepCloneValue(base[key]);for(let key of Object.keys(override)){if(DANGEROUS_KEYS.has(key))continue;let baseVal=result[key],overrideVal=override[key];if(isPlainObject(baseVal)&&isPlainObject(overrideVal))result[key]=mergeRecursive(baseVal,overrideVal,arrayMode);else if(isArray(baseVal)&&isArray(overrideVal))result[key]=mergeArrays(baseVal,overrideVal,arrayMode);else result[key]=deepCloneValue(overrideVal)}return result}var deepMerge=(base,override,{arrayMode="replace"}={})=>mergeRecursive(base,override,arrayMode);var entries=(obj)=>Object.entries(obj),filter=(obj,predicate)=>Object.fromEntries(entries(obj).filter(([key,value],index)=>predicate(key,value,index))),filterByValue=(obj,predicate)=>filter(obj,(_,value)=>predicate(value)),pick=(obj,...keys)=>{let set=new Set(keys);return filter(obj,(key)=>set.has(key))},omit=(object,...keys)=>{let set=new Set(keys);return filter(object,(key)=>!set.has(key))},map=(obj,fn)=>Object.fromEntries(entries(obj).map(([k,v],i)=>fn(k,v,i)));function resolveOptions(options,defaultValue){if(options===!1)return!1;return isNullish(options)||options===!0?defaultValue:options}var isError=(value)=>value instanceof Error,isBaseError=(value)=>value instanceof BaseError,isAbortError=(error)=>error instanceof DOMException&&error.name==="AbortError",isErrorLike=(value)=>isObject(value)&&isKeysOf(value,"name")&&isString(value.name);var createAbortError=(message="This operation was aborted",name="AbortError")=>new DOMException(message,name),createTimeoutError=(message="The operation was aborted due to a timeout",name="TimeoutError")=>createAbortError(message,name);function createAbortController(timeout,timeoutError){let controller=new AbortController;if(notNullish(timeout)&&timeout>0&&timeout<=Number.MAX_SAFE_INTEGER){let timeoutId,cleanup=()=>{clearTimeout(timeoutId),controller.signal.removeEventListener("abort",cleanup)};controller.signal.addEventListener("abort",cleanup),timeoutId=setTimeout(()=>controller.abort(ensureError(timeoutError??createTimeoutError())),timeout)}return controller}function ensureError(input,ctor){if(typeof input==="string")return ctor?new ctor(input):Error(input);if(typeof input==="function")return ensureError(input(),ctor);return input}function fromErrorLike({cause,message,name,stack,...properties},ctor){let error=new(ctor??Error)(message,{cause});Object.defineProperty(error,"name",{configurable:!0,enumerable:!1,value:name,writable:!0}),Object.defineProperty(error,"stack",{configurable:!0,enumerable:!1,value:stack,writable:!0});for(let[key,value]of Object.entries(properties))Object.defineProperty(error,key,Object.getOwnPropertyDescriptor(properties,key)??{configurable:!0,enumerable:!0,value,writable:!0});return error}function normalizeError(error,{defaultMessage="Unknown error",errorConstructor}={}){let errorClass=errorConstructor??Error;if(error instanceof errorClass)return error;if(isString(error))return ensureError(error,errorConstructor);if(isErrorLike(error))return fromErrorLike(error,errorConstructor);return new errorClass(defaultMessage,{cause:error})}function combineSignals(...signals){let validSignals=signals.filter(notNullish);if(validSignals.length===0)return new AbortController().signal;if(validSignals.length===1)return validSignals[0];return AbortSignal.any(validSignals)}var DEFAULT_STRINGIFY_FORMATTERS={code:(value)=>`[${value}]`,message:(value)=>value,name:(value)=>`${value}:`};function collectCauses(error,depth,indent,state){let childIndent=indent+" ".repeat(state.causeIndent),pointers=[];if(error instanceof AggregateError&&error.errors.length>0)for(let subError of error.errors)pointers.push(stringifyErrorNode(subError,depth-1,childIndent,state.causePrefix,state));if(isObject(error.cause)||isString(error.cause))pointers.push(stringifyErrorNode(error.cause,depth-1,childIndent,state.causePrefix,state));return pointers}function appendCauses(parts,error,error_,depth,indent,state){if(!state.includeCause||depth<=0||error!==error_&&error.cause===error_)return;let pointers=collectCauses(error,depth,indent,state);if(pointers.length>0)parts.push(`
|
|
2
2
|
${pointers.join(`
|
|
3
|
-
`)}`)}function buildErrorParts(error,state){let parts=[];if(state.includeCode&&"code"in error&¬Nullish(error.code))parts.push(state.formatters.code(String(error.code)));if(state.includeName)parts.push(state.formatters.name(error.name));return parts.push(state.formatters.message(error.message||state.defaultMessage)),parts}function stringifyErrorNode(error_,depth,indent,prefix,state){if(state.visited.has(error_))return`${indent}${prefix}${state.circularReferenceMessage}`;if(error_ instanceof Error)state.visited.add(error_);if(error_ instanceof Error&&error_.toString!==Error.prototype.toString){let parts2=[error_.toString()];return appendCauses(parts2,error_,error_,depth,indent,state),indent+prefix+parts2.join(" ")}let error=normalizeError(error_,{...state.normalizeOptions,defaultMessage:state.defaultMessage});state.visited.add(error);let parts=buildErrorParts(error,state);return appendCauses(parts,error,error_,depth,indent,state),indent+prefix+parts.join(" ")}function stringifyError(error,options={}){let{causeIndent=2,causePrefix="-> ",circularReferenceMessage="[Circular Reference]",defaultMessage="Unknown error",formatters:formatters_={},includeCause=!0,includeCode=!0,includeName=!0,maxCauseDepth=Number.POSITIVE_INFINITY,...normalizeOptions}=options,state={causeIndent,causePrefix,circularReferenceMessage,defaultMessage,formatters:{...DEFAULT_STRINGIFY_FORMATTERS,...formatters_},includeCause,includeCode,includeName,maxCauseDepth,normalizeOptions,visited:new Set};return stringifyErrorNode(error,maxCauseDepth,"","",state)}function assert(condition,message,ctor){if(!condition)throw ensureError(message,ctor)}function assertParam(condition,message,ctor){assert(condition,message,ctor??TypeError)}function isEmpty(value){if(isNullish(value))return!0;if(isArray(value))return isEmptyArray(value);if(isPrimitive(value)){if(isString(value))return value.length===0;return!1}if(isPlainObject(value))return isEmptyObject(value);if(isCollectionLike(value))return isEmptyCollection(value);return!1}function isDeepEqual(a,b){if(a===b)return!0;if(isArray(a)&&isArray(b)){if(a.length!==b.length)return!1;return a.every((item,i)=>isDeepEqual(item,b[i]))}if(isPlainObject(a)&&isPlainObject(b)){let keysA=Object.keys(a);if(keysA.length!==Object.keys(b).length)return!1;return keysA.every((key)=>isDeepEqual(a[key],b[key]))}return Object.is(a,b)}function nullToUndefined(value){if(isNullish(value))return;if(isArray(value))return value.map(nullToUndefined);if(isPlainObject(value))return map(value,(k,v)=>[k,nullToUndefined(v)]);return value}class Emitter{eventListeners;onceListeners;constructor(){this.eventListeners=new Map,this.onceListeners=new Map}listeners(eventName){let listeners=this.eventListeners.get(eventName)??[],onceListeners=this.onceListeners.get(eventName)??[];return[...listeners,...onceListeners]}listenersCount(eventName){let listeners=this.eventListeners.get(eventName),onceListeners=this.onceListeners.get(eventName);return(listeners?.size??0)+(onceListeners?.size??0)}eventNames(){return[...new Set([...this.eventListeners.keys(),...this.onceListeners.keys()])]}on(eventName,listener){return this.#addTo(this.eventListeners,eventName,listener),this}once(eventName,listener){return this.#addTo(this.onceListeners,eventName,listener),this}off(eventName,listener){return this.#removeFrom(this.eventListeners,eventName,listener),this.#removeFrom(this.onceListeners,eventName,listener),this}emit(eventName,...args){let regularSnapshot=this.#takeSnapshot(this.eventListeners.get(eventName)),onceSnapshot=this.#takeSnapshot(this.onceListeners.get(eventName));this.onceListeners.delete(eventName);let fromRegular=this.#emitSnapshot(regularSnapshot,args),fromOnce=this.#emitSnapshot(onceSnapshot,args);return fromRegular||fromOnce}removeAllListeners(eventName){if(eventName===void 0)this.eventListeners.clear(),this.onceListeners.clear();else this.eventListeners.delete(eventName),this.onceListeners.delete(eventName);return this}#addTo(map2,eventName,listener){let set=map2.get(eventName);if(!set)set=new Set,map2.set(eventName,set);set.add(listener)}#removeFrom(map2,eventName,listener){let set=map2.get(eventName);if(!set)return;if(set.delete(listener),set.size===0)map2.delete(eventName)}#takeSnapshot(set){if(!set||set.size===0)return[];return[...set]}#emitSnapshot(snapshot,args){if(snapshot.length===0)return!1;for(let listener of snapshot)listener(...args);return!0}}var isFunction=(value)=>typeof value==="function";function tap(value,callback){return callback(value),value}var transform=(value,callback)=>callback(value);function tryCatch(fn,fallback){try{return fn()}catch(error){return isFunction(fallback)?fallback(error):fallback}}var createTimerState=()=>({lastArgs:void 0,lastResult:void 0,lastThis:void 0,timeoutId:void 0});function invokeTimer(state,fn){let{lastArgs:args,lastThis:thisArg}=state;state.timeoutId=void 0,state.lastArgs=void 0,state.lastResult=fn.apply(thisArg,args)}function flushTimer(state,invoke){if(state.timeoutId!==void 0)clearTimeout(state.timeoutId),invoke();return state.lastResult}function debounce(fn,wait){let state=createTimerState(),invoke=()=>invokeTimer(state,fn),debounced=function(...args){if(state.lastArgs=args,state.lastThis=this,state.timeoutId!==void 0)clearTimeout(state.timeoutId);state.timeoutId=setTimeout(invoke,wait)};return debounced.cancel=()=>{if(state.timeoutId!==void 0)clearTimeout(state.timeoutId),state.timeoutId=void 0,state.lastArgs=void 0},debounced.flush=()=>{return flushTimer(state,invoke)},debounced}var noop=()=>{return},invoke=(fn)=>fn();function invokes(functions){for(let fn of functions)fn?.()}function memoize(fn,{cache=new Map,resolver}={}){let memoized=function(...args){let key=resolver?resolver(...args):args[0];if(cache.has(key))return cache.get(key);let result=fn.apply(this,args);return cache.set(key,result),result};return memoized.cache=cache,memoized}function once(fn){let called=!1,result,error,cb=(...args)=>{if(called){if(error)throw normalizeError(error);return result}called=!0;try{return result=fn(...args)}catch(error_){throw error=normalizeError(error_)}};return cb.reset=()=>{called=!1,error=void 0},cb}function pipe(...fns){if(!isNonEmptyArray(fns))return;let result=fns[0]();for(let i=1;i<fns.length;i++)result=fns[i](result);return result}function throttle(fn,wait){let state=createTimerState(),lastCallTime,invoke2=()=>{lastCallTime=Date.now(),invokeTimer(state,fn)},throttled=function(...args){let now=Date.now();if(state.lastArgs=args,state.lastThis=this,lastCallTime===void 0){lastCallTime=now,state.lastResult=fn.apply(this,args);return}let remaining=wait-(now-lastCallTime);if(remaining<=0){if(state.timeoutId!==void 0)clearTimeout(state.timeoutId),state.timeoutId=void 0;lastCallTime=now,state.lastResult=fn.apply(this,args)}else state.timeoutId??=setTimeout(invoke2,remaining)};return throttled.cancel=()=>{if(state.timeoutId!==void 0)clearTimeout(state.timeoutId),state.timeoutId=void 0;state.lastArgs=void 0,lastCallTime=void 0},throttled.flush=()=>{return flushTimer(state,invoke2)},throttled}var JsonRpcErrorCode;((JsonRpcErrorCode2)=>{JsonRpcErrorCode2[JsonRpcErrorCode2.ParseError=-32700]="ParseError";JsonRpcErrorCode2[JsonRpcErrorCode2.InternalError=-32603]="InternalError";JsonRpcErrorCode2[JsonRpcErrorCode2.InvalidParams=-32602]="InvalidParams";JsonRpcErrorCode2[JsonRpcErrorCode2.MethodNotFound=-32601]="MethodNotFound";JsonRpcErrorCode2[JsonRpcErrorCode2.InvalidRequest=-32600]="InvalidRequest"})(JsonRpcErrorCode||={});var JSON_RPC_ERROR_MESSAGES={[-32603]:"Internal error",[-32602]:"Invalid params",[-32600]:"Invalid request",[-32601]:"Method not found",[-32700]:"Parse error"};var createJsonRpcNotifyMessage=(method,params)=>({jsonrpc:"2.0",method,...notUndefined(params)?{params}:{}}),createJsonRpcRequestMessage=(id,method,params)=>({id,jsonrpc:"2.0",method,...notUndefined(params)?{params}:{}}),createJsonRpcSuccessResponseMessage=(id,result)=>({id,jsonrpc:"2.0",result}),createJsonRpcErrorObject=(code,message,data)=>({code,message,...notUndefined(data)?{data}:{}}),createJsonRpcErrorResponseMessage=(id,error)=>({error,id,jsonrpc:"2.0"});var isJsonRpcMessage=(message)=>isObject(message)&&message.jsonrpc==="2.0",isValidJsonRpcId=(id)=>isString(id)||isNumber(id)||isNull(id),isJsonRpcRequestMessage=(message)=>isKeysOf(message,"id","method")&&isValidJsonRpcId(message.id)&&isString(message.method),isJsonRpcNotifyMessage=(message)=>isKeysOf(message,"method")&&isString(message.method)&&!isKeysOf(message,"id"),isJsonRpcResponseMessage=(message)=>isKeysOf(message,"id")&&isValidJsonRpcId(message.id)&&!isKeysOf(message,"method"),isJsonRpcError=(message)=>isObject(message)&&isKeysOf(message,"code","message"),isJsonRpcErrorResponseMessage=(message)=>isKeysOf(message,"error")&&isJsonRpcError(message.error),isJsonRpcSuccessResponseMessage=(message)=>isKeysOf(message,"result")&&!isKeysOf(message,"error"),isJsonRpcResponseHasNonNullableId=(response)=>notNullish(response.id),isJsonRpcBatchRequest=(value)=>isArray(value)&&value.length>0&&value.every((item)=>{if(!isJsonRpcMessage(item))return!1;return isJsonRpcRequestMessage(item)||isJsonRpcNotifyMessage(item)}),isJsonRpcBatchResponse=(value)=>isArray(value)&&value.length>0&&value.every((item)=>{if(!isJsonRpcMessage(item))return!1;return isJsonRpcResponseMessage(item)});var BigIntMath={isEven(a){return a%2n===0n},isOdd(a){return a%2n!==0n},divMod(a,b){if(b===0n)throw RangeError("Division by zero");return[a/b,a%b]},abs(a){return a<0n?-a:a},max(a,b){return a>b?a:b},min(a,b){return a<b?a:b},pow(a,b){return a**b},sign(a){return a===0n?0n:a<0n?-1n:1n},mod(a,b){return(a%b+b)%b},modPow(base,exponent,modulus){if(exponent<0n)throw RangeError("Exponent must be non-negative");if(modulus===1n)return 0n;let result=1n;base=BigIntMath.mod(base,modulus);while(exponent>0n){if(exponent%2n===1n)result=BigIntMath.mod(result*base,modulus);exponent>>=1n,base=BigIntMath.mod(base*base,modulus)}return result},gcd(a,b){a=BigIntMath.abs(a),b=BigIntMath.abs(b);while(b!==0n)[a,b]=[b,a%b];return a},lcm(a,b){return a/BigIntMath.gcd(a,b)*b},clamp(value,min,max){return BigIntMath.min(BigIntMath.max(value,min),max)},sqrt(n){if(n<0n)throw RangeError("Square root of negative bigint is undefined");if(n<2n)return n;let x=n,y=(x+1n)/2n;while(y<x)x=y,y=(x+n/x)/2n;return x},factorial(n){if(n<0n)throw RangeError("Factorial of negative bigint is undefined");if(n===0n)return 1n;let result=1n;for(let i=1n;i<=n;i++)result*=i;return result},sum(array){return array.reduce((a,b)=>a+b,0n)},avg(array){if(array.length===0)return 0n;return BigIntMath.sum(array)/BigInt(array.length)},isPrime(n){if(n<2n)return!1;if(n<4n)return!0;if(n%2n===0n||n%3n===0n)return!1;let limit=BigIntMath.sqrt(n);for(let i=5n;i<=limit;i+=6n)if(n%i===0n||n%(i+2n)===0n)return!1;return!0},compare(a,b){return a===b?0:a<b?-1:1}};var SPECIAL_NUMBER_STRINGS=new Set(["+Infinity","-Infinity","Infinity","NaN"]),SUBSCRIPT_CHARS={0:"₀",1:"₁",2:"₂",3:"₃",4:"₄",5:"₅",6:"₆",7:"₇",8:"₈",9:"₉"};var sum=(array)=>array.reduce((a,b)=>a+b,0),avg=(array)=>array.length===0?0:sum(array)/array.length,clamp=(value,min,max)=>Math.min(Math.max(value,min),max),roundTo=(value,decimals)=>transform(10**decimals,(factor)=>Math.round(value*factor)/factor),lerp=(start,end,t)=>start+(end-start)*t;function median(array){if(array.length===0)return 0;let sorted=[...array].toSorted((a,b)=>a-b),mid=Math.floor(sorted.length/2);if(sorted.length%2===0)return(sorted[mid-1]+sorted[mid])/2;return sorted[mid]}function toSubscriptDigits(input){let result="";for(let char of input.toString())result+=SUBSCRIPT_CHARS[char]??char;return result}function parseExponential(input){let str=input.toString().toLowerCase(),[mantissa,rawExp]=str.split("e");if(rawExp===void 0)return str;let[rawInt,fracPart=""]=mantissa?.split(".")??[];if(!rawInt)return str;let sign=rawInt.startsWith("-")?"-":"",intPart=sign?rawInt.slice(1):rawInt,exp=Number(rawExp);if(exp>=0){let neededZeros=Math.max(0,exp-fracPart.length),padded=fracPart+"0".repeat(neededZeros);if(padded.length>exp)return`${sign}${intPart}${padded.slice(0,exp)}.${padded.slice(exp)}`;return`${sign}${intPart}${padded}`}let absExp=-exp,digits=intPart+fracPart,totalLeadingZeros=Math.max(0,absExp-intPart.length);return`${sign}0.${"0".repeat(totalLeadingZeros)}${digits}`}function toOrdinal(n){let remainder100=Math.abs(n)%100,remainder10=remainder100%10;if(remainder100>=11&&remainder100<=13)return`${n}th`;switch(remainder10){case 1:return`${n}st`;case 2:return`${n}nd`;case 3:return`${n}rd`;default:return`${n}th`}}function toPercent(value,total,decimals){if(total===0)return 0;let result=value/total*100;if(decimals===void 0)return result;return roundTo(result,decimals)}function random(min,max){let lo=Math.min(min,max),hi=Math.max(min,max);return Math.floor(Math.random()*(hi-lo+1))+lo}function countLeadingZeros(input){let count=0;for(let i=0;i<input.length&&input[i]==="0";i++)count++;return count}function formatNumber(input,options_={}){let{formatLeadingZeros=(count)=>`0${toSubscriptDigits(count)}`,groupFractionLeadingZeros=!0,locales="en-US",maximumFractionDigits=4,...options}=options_,formatInput=(digits)=>new Intl.NumberFormat(locales,{...options,maximumFractionDigits:digits}).format(input);if(!groupFractionLeadingZeros)return formatInput(maximumFractionDigits);let numericStr=parseExponential(input),[,fractionPart=""]=numericStr.split(".",2),leadingZerosCount=countLeadingZeros(fractionPart);if(leadingZerosCount<=1)return formatInput(maximumFractionDigits);let replaceFractionZeros=(part)=>{if(part.type==="fraction")return`${formatLeadingZeros(leadingZerosCount)}${part.value.slice(leadingZerosCount)}`;return part.value};return new Intl.NumberFormat(locales,{...options,maximumFractionDigits:maximumFractionDigits+leadingZerosCount}).formatToParts(input).map(replaceFractionZeros).join("")}var NUMERIC_PATTERN=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/iu,isSpecialNumberString=(value)=>SPECIAL_NUMBER_STRINGS.has(value);function isNumberString(value){if(isSpecialNumberString(value))return!0;return NUMERIC_PATTERN.test(value)}var isNumberish=(input)=>isNumber(input)||isBigInt(input)||isString(input)&&isNumberString(input),isPercentage=(value)=>value>=0&&value<=100;function isValidRange(start,end,inclusive=!0,min,max){if(notNullish(min)&&start<min)return!1;if(notNullish(max)&&end>max)return!1;return inclusive?start<=end:start<end}var isInRange=(value,min,max,inclusive=!0)=>inclusive?value>=min&&value<=max:value>min&&value<max;function abortable(promise,signal,error){if(!signal)return promise;let createError=()=>error?ensureError(error):signal.reason??createAbortError();if(signal.aborted)return Promise.reject(createError());return new Promise((resolve,reject)=>{let isSettled=!1,onAbort,cleanup=(afterCleanup)=>{if(!isSettled)isSettled=!0,signal.removeEventListener("abort",onAbort),afterCleanup?.()};onAbort=()=>{cleanup(()=>reject(createError()))},signal.addEventListener("abort",onAbort),promise.then((value)=>cleanup(()=>resolve(value)),(error_)=>cleanup(()=>reject(error_)))})}var pTap=(fn)=>async(value)=>{return Promise.resolve(fn(value)).then(()=>value)};pTap.catch=(fn)=>async(error)=>{throw await fn(error),error};async function tryCatchAsync(fn,fallback){try{return await fn()}catch(error){return await fallback(error)}}function cleanupAbortSignal(signal,abortHandler){if(abortHandler)signal?.removeEventListener("abort",abortHandler)}function setupAbortSignal(signal,onAbort){let abortHandler=()=>onAbort();if(signal?.aborted)onAbort();else signal?.addEventListener("abort",abortHandler);return abortHandler}function invokeSettleCallback(cb,onSettle,onCallbackError,synchronousCallbacks){let callback=()=>{try{cb()}catch(error){onCallbackError?.(error)}try{onSettle?.()}catch(error){onCallbackError?.(error)}};if(synchronousCallbacks)callback();else queueMicrotask(callback)}function createDeferred({onCallbackError,onReject,onResolve,onSettle,signal,synchronousCallbacks=!1}={}){let resolveFn,rejectFn,abortHandler,isSettled=!1,isResolved=!1,isRejected=!1,promise=new Promise((resolve,reject)=>{resolveFn=resolve,rejectFn=reject}),afterSettle=(cb)=>{cleanupAbortSignal(signal,abortHandler),invokeSettleCallback(cb,onSettle,onCallbackError,synchronousCallbacks)};return Object.defineProperty(promise,"isSettled",{enumerable:!0,get:()=>isSettled}),Object.defineProperty(promise,"isPending",{enumerable:!0,get:()=>!isSettled}),Object.defineProperty(promise,"isResolved",{enumerable:!0,get:()=>isResolved}),Object.defineProperty(promise,"isRejected",{enumerable:!0,get:()=>isRejected}),promise.resolve=(value)=>{if(isSettled)return;isSettled=!0,isResolved=!0,resolveFn(value),afterSettle(()=>onResolve?.(value))},promise.reject=(reason)=>{if(isSettled)return;isSettled=!0,isRejected=!0,rejectFn(reason),afterSettle(()=>onReject?.(reason))},abortHandler=setupAbortSignal(signal,()=>{promise.reject(signal?.reason??createAbortError())}),promise}var createDeferredWithTimeout=(ms,{error,signal,...options}={})=>{let timeoutController=createAbortController(ms,error);return createDeferred({...options,onSettle(){timeoutController.abort(),options.onSettle?.()},signal:combineSignals(signal,timeoutController.signal)})};var isPromiseLike=(value)=>isObject(value)&&isFunction(value.then),isPromise=(value)=>isObject(value)&&isFunction(value.then)&&isFunction(value.catch)&&isFunction(value.finally);async function pPipe(...fns){if(!isNonEmptyArray(fns))return;let result=await fns[0]();for(let i=1;i<fns.length;i++)result=await fns[i](result);return result}var sleep=async(ms,{error,signal}={})=>abortable(new Promise((resolve)=>setTimeout(resolve,ms)),signal,error),withTimeout=(promise,ms,{error,signal}={})=>transform(createAbortController(ms,error),(controller)=>abortable(promise,combineSignals(signal,controller.signal)).finally(()=>controller.abort()));function poll(fnOrOptions,optionsOrFn={}){let fn,options;if(isFunction(fnOrOptions)&&isPlainObject(optionsOrFn))fn=fnOrOptions,options=optionsOrFn;else assertParam(isPlainObject(fnOrOptions),"options must be an object"),assertParam(isFunction(optionsOrFn),"fn must be a function"),fn=optionsOrFn,options=fnOrOptions;let{delay=0,immediately=!0,onError,stopOnError=!0}=options,abortController=createAbortController(),isActive=!0,currentTask,stop=()=>{return isActive=!1,abortController.abort(),currentTask??Promise.resolve()},startRun,run=async()=>{if(!isActive)return;try{if(await abortable(Promise.resolve(fn(abortController.signal)),abortController.signal),isActive)await sleep(delay,{signal:abortController.signal})}catch(error){if(isAbortError(error)&&!isActive)return;if(onError?.(error),stopOnError){stop();return}}setTimeout(startRun,0)};if(startRun=()=>{currentTask=run().finally(()=>{currentTask=void 0})},immediately)Promise.resolve().then(startRun);else setTimeout(startRun,delay);return stop}function getRetryDelay(attempts,{backoff=2,delay=1000,jitter=0.01,maxDelay=1e4}={}){let exponentialDelay=delay*backoff**(attempts-1),clampedDelay=clamp(exponentialDelay,0,maxDelay);if(jitter<=0)return clampedDelay;let jitterRange=clampedDelay*jitter,jitterOffset=(Math.random()-0.5)*2*jitterRange;return clamp(clampedDelay+jitterOffset,0,maxDelay)}function createRetryError(errors){if(errors.length===1)return errors[0];return AggregateError(errors,"All retry attempts failed")}function rethrowNonAbortError(error){if(!isAbortError(error))throw error}async function waitForNextRetryAttempt(attempts,delayOptions,onBeforeWaitForNextAttempt,signal,context){let delay=getRetryDelay(attempts,delayOptions);await onBeforeWaitForNextAttempt?.(delay,context),await sleep(delay,{signal}).catch(rethrowNonAbortError)}async function handleRetryFailure(error,errors,retriesLeft,shouldRetry,onFailedAttempt,context){if(isAbortError(error))throw error;if(errors.push(error),retriesLeft<=0)throw createRetryError(errors);if(shouldRetry&&!await shouldRetry(error,context))throw createRetryError(errors);await onFailedAttempt?.(error,context)}async function handleRetrySuccess(result,errors,retriesLeft,shouldRetryOnSuccess,onSuccessAttempt,context){if(!shouldRetryOnSuccess||!await shouldRetryOnSuccess(result,context))return!0;if(retriesLeft<=0)throw createRetryError(errors);return await onSuccessAttempt?.(result,context),!1}async function withRetry(fn,{maxAttempts=3,onBeforeWaitForNextAttempt,onFailedAttempt,onSuccessAttempt,shouldRetry,shouldRetryOnSuccess,signal,...delayOptions}={}){if(maxAttempts<1)throw RangeError("maxAttempts must be at least 1");if(signal)signal.throwIfAborted();let attempts=0,result,errors=[];while(attempts<maxAttempts){let retriesLeft=maxAttempts-(attempts+++1),context={attempts,retriesLeft,signal};try{if(signal)signal.throwIfAborted();result=await abortable(Promise.resolve(fn(signal)),signal)}catch(error){await handleRetryFailure(error,errors,retriesLeft,shouldRetry,onFailedAttempt,context),await waitForNextRetryAttempt(attempts,delayOptions,onBeforeWaitForNextAttempt,signal,context);continue}if(await handleRetrySuccess(result,errors,retriesLeft,shouldRetryOnSuccess,onSuccessAttempt,context))return result;await waitForNextRetryAttempt(attempts,delayOptions,onBeforeWaitForNextAttempt,signal,context)}throw createRetryError(errors)}var SERIALIZE=Symbol.for("serialize.custom"),GENERATOR_PATTERNS=/\bfunction\s*\*|^async\s+function\s*\*|\*\s*\[|^\*\s/u,OMIT_SENTINEL=Symbol("omit");function createSymbolKeySerializer(){let cache=new Map,usedKeys=new Set,counter=0;return(symbol)=>{let cached=cache.get(symbol);if(cached!==void 0)return cached;let desc=symbol.description,base=desc?.length?desc:`@@${++counter}`,key=`[Symbol(${base})]`;while(usedKeys.has(key))key=`[Symbol(${base}@@${++counter})]`;return usedKeys.add(key),cache.set(symbol,key),key}}var DEFAULT_REPLACER=(value)=>({...value,__serialized__:!0});function createContext(options={}){let{maxDepth=Number.POSITIVE_INFINITY,onUnserializable=!1,replacer=DEFAULT_REPLACER}=options,onCircularRef="placeholder",onMaxDepth="placeholder",onPropertyAccess="placeholder";if(typeof options.onError==="string")onCircularRef=options.onError,onMaxDepth=options.onError,onPropertyAccess=options.onError;else if(typeof options.onError==="object"&&options.onError!=null)onCircularRef=options.onError.circularRef??"placeholder",onMaxDepth=options.onError.maxDepth??"placeholder",onPropertyAccess=options.onError.propertyAccess??"placeholder";return{depth:0,maxDepth,onCircularRef,onMaxDepth,onPropertyAccess,onUnserializable,replacer,symbolRegistry:createSymbolKeySerializer(),visited:new Set}}function serializeArrayEntry(entry,ctx,serializeValue){let serializedValue=serializeValue(entry,ctx);return serializedValue===OMIT_SENTINEL?null:serializedValue}var serializeArray=(value,ctx,serializeValue)=>value.map((entry)=>serializeArrayEntry(entry,ctx,serializeValue)),serializeIterableEntries=(value,ctx,serializeValue)=>Array.from(value,(entry)=>serializeArrayEntry(entry,ctx,serializeValue));function serializeBinary(value,ctx){if(ArrayBuffer.isView(value)&&!(value instanceof DataView)){let typed=value;return ctx.replacer({metadata:{byteLength:typed.byteLength,byteOffset:typed.byteOffset},type:typed[Symbol.toStringTag]?.toLowerCase()??"typedarray",value:Array.from({length:typed.length},(_,index)=>value[index])})}if(value instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&value instanceof SharedArrayBuffer)return ctx.replacer({metadata:{byteLength:value.byteLength},type:"arraybuffer",value:[...new Uint8Array(value)]});if(value instanceof DataView)return ctx.replacer({metadata:{byteLength:value.byteLength,byteOffset:value.byteOffset},type:"dataview",value:null});return}function serializeBlob(value,ctx){if(typeof Blob>"u"||!(value instanceof Blob))return;let metadata={size:value.size,type:value.type};if(typeof File<"u"&&value instanceof File)return metadata.name=value.name,ctx.replacer({metadata,type:"file",value:null});return ctx.replacer({metadata,type:"blob",value:null})}function serializeCollection(value,ctx,serializeValue){if(isCollectionLike(value)){let name=value.constructor?.name,metadata={size:value.size};if(name)metadata.name=name;if(isMapLike(value))return ctx.replacer({metadata,type:"map",value:serializeIterableEntries(value.entries(),ctx,serializeValue)});if(isSetLike(value))return ctx.replacer({metadata,type:"set",value:serializeIterableEntries(value,ctx,serializeValue)})}return}function handlePropertyAccessError(error,strategy,key,ctx){if(strategy==="throw")throw error;if(strategy==="omit")return OMIT_SENTINEL;return ctx.replacer({type:"property-access-error",value:`[Property Access Error: ${String(key)}]`})}function safeAccess(obj,key,strategy,ctx){try{return obj[key]}catch(error){return handlePropertyAccessError(error,strategy,key,ctx)}}function serializeObject(obj,ctx,serializeValue){let result={},{onPropertyAccess,symbolRegistry}=ctx;for(let key of Object.keys(obj)){let value=safeAccess(obj,key,onPropertyAccess,ctx);if(value===OMIT_SENTINEL)continue;let serializedValue=serializeValue(value,ctx);if(serializedValue===OMIT_SENTINEL)continue;result[key]=serializedValue}for(let sym of Object.getOwnPropertySymbols(obj)){let value=safeAccess(obj,sym,onPropertyAccess,ctx);if(value===OMIT_SENTINEL)continue;let serializedValue=serializeValue(value,ctx);if(serializedValue===OMIT_SENTINEL)continue;result[symbolRegistry(sym)]=serializedValue}return result}var isUsableValue=(value)=>value!==void 0&&value!==OMIT_SENTINEL;function readProperty(error,key,ctx,serializeValue){try{let value=error[key];if(value===void 0)return;return serializeValue(value,ctx)}catch(error_){return handlePropertyAccessError(error_,ctx.onPropertyAccess,key,ctx)}}function serializeErrorCoreFields(error,ctx,serializeValue){let result={name:error.name},serializedMessage=readProperty(error,"message",ctx,serializeValue),serializedStack=readProperty(error,"stack",ctx,serializeValue),serializedCause=readProperty(error,"cause",ctx,serializeValue);if(typeof serializedMessage==="string"&&serializedMessage.length>0)result.message=serializedMessage;if(typeof serializedStack==="string"&&serializedStack.length>0)result.stack=serializedStack;if(isUsableValue(serializedCause))result.cause=serializedCause;if(error instanceof AggregateError){let serializedErrors=readProperty(error,"errors",ctx,serializeValue);if(isUsableValue(serializedErrors))result.errors=serializedErrors}return result}function serializeError(error,ctx,serializeValue){let result=serializeErrorCoreFields(error,ctx,serializeValue);for(let key of Object.keys(error))if(!(key in result)){let serializedValue=readProperty(error,key,ctx,serializeValue);if(isUsableValue(serializedValue))result[key]=serializedValue}for(let sym of Object.getOwnPropertySymbols(error)){let serializedValue=readProperty(error,sym,ctx,serializeValue);if(isUsableValue(serializedValue))result[ctx.symbolRegistry(sym)]=serializedValue}return result}function serializeFunction(fn,ctx){let metadata={},str=fn.toString();return metadata.async=str.startsWith("async"),metadata.generator=GENERATOR_PATTERNS.test(str),ctx.replacer({metadata,type:"function",value:{length:fn.length,name:fn.name||"anonymous"}})}function serializeOpaque(value,ctx){if(typeof value==="function")return serializeFunction(value,ctx);if(value instanceof Promise)return ctx.replacer({type:"promise",value:"[Promise]"});if(value instanceof WeakMap)return ctx.replacer({type:"weakmap",value:"[WeakMap]"});if(value instanceof WeakSet)return ctx.replacer({type:"weakset",value:"[WeakSet]"});if(typeof WeakRef<"u"&&value instanceof WeakRef)return ctx.replacer({type:"weakref",value:"[WeakRef]"});if(typeof ReadableStream<"u"&&value instanceof ReadableStream)return ctx.replacer({type:"readablestream",value:"[ReadableStream]"});if(isGenerator(value))return ctx.replacer({type:"generator",value:"[Generator]"});return}function serializeCompound(value,ctx,serializeValue){let customSerialize=value[SERIALIZE];if(typeof customSerialize==="function")return serializeValue(customSerialize(),ctx);if(isArray(value))return serializeArray(value,ctx,serializeValue);let collection=serializeCollection(value,ctx,serializeValue);if(collection!==void 0)return collection;let binary=serializeBinary(value,ctx);if(binary!==void 0)return binary;let blob=serializeBlob(value,ctx);if(blob!==void 0)return blob;if(value instanceof Error)return ctx.replacer({type:"error",value:serializeError(value,ctx,serializeValue)});if(isPlainObject(value))return serializeObject(value,ctx,serializeValue);let opaque=serializeOpaque(value,ctx);if(opaque!==void 0)return opaque;if(typeof value.toJSON==="function")return serializeValue(value.toJSON(),ctx);if(isIterable(value)){let name=value.constructor?.name,metadata={};if(name)metadata.name=name;return ctx.replacer({metadata,type:"iterable",value:serializeIterableEntries(value,ctx,serializeValue)})}if(ctx.onUnserializable)return ctx.onUnserializable(value);return ctx.replacer({type:typeOf(value),value:`[${value.constructor?.name??typeOf(value)}]`})}function serializeLeafObject(value,ctx){if(value instanceof Date)return ctx.replacer({type:"date",value:value.toISOString()});if(value instanceof RegExp)return ctx.replacer({type:"regexp",value:value.toString()});if(value instanceof URL)return ctx.replacer({type:"url",value:value.href});return}function serializeNumber(value,ctx){if(Number.isNaN(value))return ctx.replacer({type:"number",value:"NaN"});if(!Number.isFinite(value))return ctx.replacer({type:"number",value:value>0?"Infinity":"-Infinity"});return value}function serializePrimitive(value,ctx){if(value===null)return null;if(value===void 0)return ctx.replacer({type:"undefined",value:null});if(isNumber(value))return serializeNumber(value,ctx);if(isJsonablePrimitive(value))return value;if(isBigInt(value))return ctx.replacer({type:"bigint",value:value.toString()});if(isSymbol(value))return ctx.replacer({type:"symbol",value:ctx.symbolRegistry(value)});return}function handleError(strategy,type,placeholder,ctx){if(strategy==="throw")throw Error(placeholder);if(strategy==="omit")return OMIT_SENTINEL;return ctx.replacer({type,value:placeholder})}function serialize(value,options){let ctx=createContext(options),serializedValue=serializeValue(value,ctx);if(serializedValue===OMIT_SENTINEL)return null;return serializedValue}function serializeValue(value,ctx){let primitive=serializePrimitive(value,ctx);if(primitive!==void 0)return primitive;let leaf=serializeLeafObject(value,ctx);if(leaf!==void 0)return leaf;if(ctx.visited.has(value))return handleError(ctx.onCircularRef,"circular-ref","[Circular]",ctx);if(ctx.depth>=ctx.maxDepth)return handleError(ctx.onMaxDepth,"max-depth","[Max Depth]",ctx);ctx.visited.add(value),ctx.depth++;try{return serializeCompound(value,ctx,serializeValue)}finally{ctx.depth--,ctx.visited.delete(value)}}var WHITESPACE_CHARACTERS=new Set([" ",`
|
|
4
|
-
`,"\r","\t","\v","\f"]);function randomStr(length=16,characters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"){let result="";for(let i=0;i<length;i++)result+=characters.charAt(Math.floor(Math.random()*characters.length));return result}var isEmptyString=(value)=>value.length===0;function isValidProtocol({protocol},protocols){if(!protocols?.length)return!0;return protocols.some((x)=>`${x.toLowerCase()}:`===protocol)}function isValidUrl(url,protocols){if(url instanceof URL)return isValidProtocol(url,protocols);return tryCatch(()=>isValidProtocol(new URL(url),protocols),!1)}var isWebSocketUrl=(url,wsProtocols=["ws","wss"])=>isValidUrl(url,wsProtocols),isHttpUrl=(url,httpProtocols=["http","https"])=>isValidUrl(url,httpProtocols),isStringEquals=(str,...others)=>others.length>0&&others.every((other)=>str===other),isStringEqualsIgnoreCase=(str,...others)=>others.length>0&&transform(str.toLowerCase(),(x)=>others.every((other)=>x===other.toLowerCase())),isIncludesAll=(str,search)=>search.every((s)=>str.includes(s)),isIncludesAny=(str,search)=>search.some((s)=>str.includes(s)),isIncludes=(str,search,type="all")=>type==="all"?isIncludesAll(str,wrap(search)):isIncludesAny(str,wrap(search));function isHexString(value,length){let len=length?`{${length*2}}`:"+";return new RegExp(`^(?:0x)?[0-9a-f]${len}$`,"iu").test(value)}var isStrictHexString=(value,length)=>value.startsWith("0x")&&isHexString(value,length);var ensurePrefix=(str,prefix)=>str.startsWith(prefix)?str:prefix+str,ensureSuffix=(str,suffix)=>str.endsWith(suffix)?str:str+suffix,stripPrefix=(str,prefix)=>str.startsWith(prefix)?str.slice(prefix.length):str,stripSuffix=(str,suffix)=>suffix.length>0&&str.endsWith(suffix)?str.slice(0,-suffix.length):str,capitalize=(str)=>str.charAt(0).toUpperCase()+str.slice(1),escapeRegExp=(input)=>input.replaceAll(/[$()*+.?[\\\]^{|}]/gu,String.raw`\$&`).replaceAll("-",String.raw`\x2d`);function*chunkStr(str,size){if(size<=0)throw RangeError(`chunk size must be a positive number, got ${size}`);let len=str.length;for(let i=0;i<len;i+=size)yield str.slice(i,i+size)}var padStart=(str,targetLength,padString=" ")=>str.padStart(targetLength,padString),padZeroStart=(num,targetLength)=>padStart(num.toString(),targetLength,"0");function truncate(str,maxLength,omission="..."){if(str.length<=maxLength)return str;if(omission.length>=maxLength)return omission.slice(0,maxLength);return str.slice(0,maxLength-omission.length)+omission}function truncateMiddle(str,maxLength,omission="..."){if(str.length<=maxLength)return str;if(omission.length>=maxLength)return omission.slice(0,maxLength);let left=Math.floor((maxLength-omission.length)/2),right=maxLength-omission.length-left;return str.slice(0,left)+omission+str.slice(-right)}function ltrim(str,characters=WHITESPACE_CHARACTERS){if(typeof characters==="string")characters=new Set(characters);let end=str.length,start=0;while(start<end&&characters.has(str[start]))start++;return start>0?str.slice(start,end):str}function rtrim(str,characters=WHITESPACE_CHARACTERS){if(typeof characters==="string")characters=new Set(characters);let end=str.length;while(end>0&&characters.has(str[end-1]))end--;return end<str.length?str.slice(0,end):str}var trim=(str,characters=WHITESPACE_CHARACTERS)=>ltrim(rtrim(str,characters),characters),trimRepeated=(input,target)=>input.replaceAll(new RegExp(`(?:${escapeRegExp(target)}){2,}`,"g"),target);var isInMode=(key)=>key==="development",isInDevelopment=()=>isInMode("development")||isInMode("dev"),isInDev=isInDevelopment,isInProduction=()=>isInMode("production")||isInMode("prod"),isInProd=isInProduction,isInStaging=()=>isInMode("staging")||isInMode("stage"),isInStage=isInStaging;function getEnv(key,{env=process.env,includeNonePrefix=!1,prefix}={}){let result={};for(let k of key)if(result[k]=env[prefix?`${prefix}${k}`:k],includeNonePrefix&&isUndefined(result[k]))result[k]=env[k];return result}async function fetch(request,{retry=!0,signal,timeout=1e4,...options}={}){let retryOptions={enabled:!0,...resolveOptions(retry,{})||{enabled:!1}},execute=async(retrySignal)=>{let controller=createAbortController(timeout),fetchSignal=combineSignals(controller.signal,signal,retrySignal);return globalThis.fetch(request,{...options,signal:fetchSignal}).finally(()=>controller.abort())};return retryOptions.enabled?await withRetry(execute,{...retryOptions,signal}):await execute()}var exitTasks=new Map;function addExitHandler(handler,maxWaitTime=3000){return exitTasks.set(handler,maxWaitTime),()=>{exitTasks.delete(handler)}}var _isExiting=!1,_exitPromise,isExiting=()=>{return _isExiting};function gracefulExit(exitCode=0,maxWaitTime=3000){if(_exitPromise)return _exitPromise;if(_isExiting=!0,exitTasks.size===0)process.exit(exitCode);let promises=[];for(let[handler,wait]of exitTasks)promises.push(Promise.resolve().then(()=>handler(exitCode))),maxWaitTime=Math.max(maxWaitTime,wait);let timer=setTimeout(()=>process.exit(exitCode),maxWaitTime);function finish(){clearTimeout(timer),process.exit(exitCode)}return _exitPromise=Promise.allSettled(promises).then(finish)}import{dirname,join}from"node:path";import{fileURLToPath}from"node:url";var pathToString=(path)=>isBufferLike(path)?bufferToString(path):path.toString(),pwd=(importMeta,...path)=>join(dirname(fileURLToPath(importMeta.url)),...path.map(pathToString));var MS_PER_SECOND=1000,MS_PER_MINUTE=60000,MS_PER_HOUR=3600000,MS_PER_DAY=86400000,MS_PER_MONTH=2592000000,MS_PER_YEAR=31536000000;var toUnixTimestamp=(date)=>Math.floor(date.getTime()/1000),fromUnixTimestamp=(timestamp)=>new Date(timestamp*1000),FORMAT_TOKEN_REGEX=/y{4}|S{3}|MM|dd|HH|mm|ss/gu,pad2=(n)=>padZeroStart(n,2);function formatDate(date,format="HH:mm:ss.SSS dd/MM/yyyy"){if(Number.isNaN(date.getTime()))throw TypeError("Invalid Date");let tokens={dd:()=>pad2(date.getDate()),HH:()=>pad2(date.getHours()),MM:()=>pad2(date.getMonth()+1),mm:()=>pad2(date.getMinutes()),ss:()=>pad2(date.getSeconds()),SSS:()=>padZeroStart(date.getMilliseconds(),3),yyyy:()=>padZeroStart(date.getFullYear(),4)};return format.replaceAll(FORMAT_TOKEN_REGEX,(match)=>tokens[match]())}var NANOSECOND_UNITS=[["h",3600000000000n],["m",60000000000n],["s",1000000000n],["ms",1000000n],["μs",1000n],["ns",1n]];function humanizeNanoseconds(ns){if(isString(ns)&&isSpecialNumberString(ns))return ns;let remaining;try{remaining=BigInt(ns)}catch{return ns.toString()}if(remaining===0n)return"0ns";let sign=remaining<0n?"-":"",parts=[];remaining=BigIntMath.abs(remaining);for(let[label,value]of NANOSECOND_UNITS)if(remaining>=value)parts.push(`${remaining/value}${label}`),remaining%=value;return sign+parts.join(" ")}function humanizeWithMultiplier(value,multiplier){if(isString(value)&&isSpecialNumberString(value))return value;try{return humanizeNanoseconds(BigInt(value)*multiplier)}catch{return value.toString()}}var humanizeMilliseconds=(ms)=>humanizeWithMultiplier(ms,1000000n),humanizeSeconds=(s)=>humanizeWithMultiplier(s,1000000000n);var timestamp=()=>toUnixTimestamp(new Date);var isValidDate=(value)=>value instanceof Date&&!Number.isNaN(value.getTime());var startOfDay=(date)=>tap(new Date(date),(r)=>{r.setHours(0,0,0,0)}),endOfDay=(date)=>tap(new Date(date),(r)=>{r.setHours(23,59,59,999)});export{wrap,withTimeout,withRetry,waitForNextRetryAttempt,uniqueBy,unique,typeOf,tryCatchAsync,tryCatch,truncateMiddle,truncate,trimRepeated,trim,transform,toUnixTimestamp,toUint8Array,toSubscriptDigits,toString,toPercent,toOrdinal,toArray,timestamp,throttle,tap,symmetricDiff,sum,stripSuffix,stripPrefix,stringifyErrorNode,stringifyError,startOfDay,sortBy,sleep,shuffle,setupAbortSignal,serializeValue,serializePrimitive,serializeOpaque,serializeObject,serializeNumber,serializeLeafObject,serializeIterableEntries,serializeFunction,serializeErrorCoreFields,serializeError,serializeCompound,serializeCollection,serializeBlob,serializeBinary,serializeArrayEntry,serializeArray,serialize,sample,safeAccess,rtrim,roundTo,rethrowNonAbortError,resolveOptions,readProperty,range,randomStr,random,pwd,poll,pipe,pick,pathToString,partition,parseExponential,padZeroStart,padStart,pTap,pPipe,once,omit,nullToUndefined,nth,notUndefined,notNullish,notNull,normalizeError,noop,merge,memoize,median,map,ltrim,lerp,last,keyBy,isWebSocketUrl,isValidUrl,isValidRange,isValidProtocol,isValidJsonRpcId,isValidDate,isUsableValue,isUndefined,isTrueLike,isSymbol,isStringEqualsIgnoreCase,isStringEquals,isString,isStrictHexString,isSpecialNumberString,isSharedArrayBuffer,isSetLike,isPromiseLike,isPromise,isPrimitive,isPlainObject,isPercentage,isObject,isNumberish,isNumberString,isNumber,isNullish,isNull,isNonEmptyArray,isMapLike,isKeysOf,isKeyOf,isJsonablePrimitive,isJsonRpcSuccessResponseMessage,isJsonRpcResponseMessage,isJsonRpcResponseHasNonNullableId,isJsonRpcRequestMessage,isJsonRpcNotifyMessage,isJsonRpcMessage,isJsonRpcErrorResponseMessage,isJsonRpcError,isJsonRpcBatchResponse,isJsonRpcBatchRequest,isIterable,isIncludesAny,isIncludesAll,isIncludes,isInStaging,isInStage,isInRange,isInProduction,isInProd,isInMode,isInDevelopment,isInDev,isHttpUrl,isHexString,isGenerator,isFunction,isExiting,isErrorLike,isError,isEmptyString,isEmptyObject,isEmptyCollection,isEmptyArray,isEmpty,isDeepEqual,isDate,isCollectionLike,isBufferLike,isBuffer,isBoolean,isBigInt,isBaseError,isArrayBufferView,isArrayBuffer,isArray,isAbortError,invokes,invokeTimer,invokeSettleCallback,invoke,intersection,humanizeWithMultiplier,humanizeSeconds,humanizeNanoseconds,humanizeMilliseconds,handleRetrySuccess,handleRetryFailure,handlePropertyAccessError,handleError,groupBy,gracefulExit,getRetryDelay,getEnv,fromUnixTimestamp,fromErrorLike,formatNumber,formatDate,flushTimer,flatten,first,filterByValue,filter,fetch,escapeRegExp,entries,ensureSuffix,ensurePrefix,ensureError,endOfDay,diff,deepMerge,debounce,createTimerState,createTimeoutError,createSymbolKeySerializer,createRetryError,createJsonRpcSuccessResponseMessage,createJsonRpcRequestMessage,createJsonRpcNotifyMessage,createJsonRpcErrorResponseMessage,createJsonRpcErrorObject,createDeferredWithTimeout,createDeferred,createContext,createArray,createAbortError,createAbortController,countLeadingZeros,concatBuffers,compact,combineSignals,collectCauses,cleanupAbortSignal,clamp,chunkStr,chunk,capitalize,buildErrorParts,bufferToString,bufferEquals,avg,assertParam,assert,appendCauses,addExitHandler,abortable,WHITESPACE_CHARACTERS,SUBSCRIPT_CHARS,SPECIAL_NUMBER_STRINGS,SERIALIZE,OMIT_SENTINEL,MS_PER_YEAR,MS_PER_SECOND,MS_PER_MONTH,MS_PER_MINUTE,MS_PER_HOUR,MS_PER_DAY,LruSet,LruMap,LinkedSet,LinkedMap,LinkedBase,JsonRpcErrorCode,JSON_RPC_ERROR_MESSAGES,GENERATOR_PATTERNS,FifoSet,FifoMap,Emitter,DEFAULT_TRUE_STRINGS,DEFAULT_STRINGIFY_FORMATTERS,DEFAULT_REPLACER,BigIntMath,BaseError};
|
|
3
|
+
`)}`)}function buildErrorParts(error,state){let parts=[];if(state.includeCode&&"code"in error&¬Nullish(error.code))parts.push(state.formatters.code(String(error.code)));if(state.includeName)parts.push(state.formatters.name(error.name));return parts.push(state.formatters.message(error.message||state.defaultMessage)),parts}function stringifyErrorNode(error_,depth,indent,prefix,state){if(state.visited.has(error_))return`${indent}${prefix}${state.circularReferenceMessage}`;if(error_ instanceof Error)state.visited.add(error_);if(error_ instanceof Error&&error_.toString!==Error.prototype.toString){let parts2=[error_.toString()];return appendCauses(parts2,error_,error_,depth,indent,state),indent+prefix+parts2.join(" ")}let error=normalizeError(error_,{...state.normalizeOptions,defaultMessage:state.defaultMessage});state.visited.add(error);let parts=buildErrorParts(error,state);return appendCauses(parts,error,error_,depth,indent,state),indent+prefix+parts.join(" ")}function stringifyError(error,options={}){let{causeIndent=2,causePrefix="-> ",circularReferenceMessage="[Circular Reference]",defaultMessage="Unknown error",formatters:formatters_={},includeCause=!0,includeCode=!0,includeName=!0,maxCauseDepth=Number.POSITIVE_INFINITY,...normalizeOptions}=options,state={causeIndent,causePrefix,circularReferenceMessage,defaultMessage,formatters:{...DEFAULT_STRINGIFY_FORMATTERS,...formatters_},includeCause,includeCode,includeName,maxCauseDepth,normalizeOptions,visited:new Set};return stringifyErrorNode(error,maxCauseDepth,"","",state)}function assert(condition,message,ctor){if(!condition)throw ensureError(message,ctor)}function assertParam(condition,message,ctor){assert(condition,message,ctor??TypeError)}function isEmpty(value){if(isNullish(value))return!0;if(isArray(value))return isEmptyArray(value);if(isPrimitive(value)){if(isString(value))return value.length===0;return!1}if(isPlainObject(value))return isEmptyObject(value);if(isCollectionLike(value))return isEmptyCollection(value);return!1}function isDeepEqual(a,b){if(a===b)return!0;if(isArray(a)&&isArray(b)){if(a.length!==b.length)return!1;return a.every((item,i)=>isDeepEqual(item,b[i]))}if(isPlainObject(a)&&isPlainObject(b)){let keysA=Object.keys(a);if(keysA.length!==Object.keys(b).length)return!1;return keysA.every((key)=>isDeepEqual(a[key],b[key]))}return Object.is(a,b)}function nullToUndefined(value){if(isNullish(value))return;if(isArray(value))return value.map(nullToUndefined);if(isPlainObject(value))return map(value,(k,v)=>[k,nullToUndefined(v)]);return value}class Emitter{eventListeners;onceListeners;constructor(){this.eventListeners=new Map,this.onceListeners=new Map}listeners(eventName){let listeners=this.eventListeners.get(eventName)??[],onceListeners=this.onceListeners.get(eventName)??[];return[...listeners,...onceListeners]}listenersCount(eventName){let listeners=this.eventListeners.get(eventName),onceListeners=this.onceListeners.get(eventName);return(listeners?.size??0)+(onceListeners?.size??0)}eventNames(){return[...new Set([...this.eventListeners.keys(),...this.onceListeners.keys()])]}on(eventName,listener){return this.#addTo(this.eventListeners,eventName,listener),this}once(eventName,listener){return this.#addTo(this.onceListeners,eventName,listener),this}off(eventName,listener){return this.#removeFrom(this.eventListeners,eventName,listener),this.#removeFrom(this.onceListeners,eventName,listener),this}emit(eventName,...args){let regularSnapshot=this.#takeSnapshot(this.eventListeners.get(eventName)),onceSnapshot=this.#takeSnapshot(this.onceListeners.get(eventName));this.onceListeners.delete(eventName);let fromRegular=this.#emitSnapshot(regularSnapshot,args),fromOnce=this.#emitSnapshot(onceSnapshot,args);return fromRegular||fromOnce}removeAllListeners(eventName){if(eventName===void 0)this.eventListeners.clear(),this.onceListeners.clear();else this.eventListeners.delete(eventName),this.onceListeners.delete(eventName);return this}#addTo(map2,eventName,listener){let set=map2.get(eventName);if(!set)set=new Set,map2.set(eventName,set);set.add(listener)}#removeFrom(map2,eventName,listener){let set=map2.get(eventName);if(!set)return;if(set.delete(listener),set.size===0)map2.delete(eventName)}#takeSnapshot(set){if(!set||set.size===0)return[];return[...set]}#emitSnapshot(snapshot,args){if(snapshot.length===0)return!1;for(let listener of snapshot)listener(...args);return!0}}var isFunction=(value)=>typeof value==="function";function tap(value,callback){return callback(value),value}var transform=(value,callback)=>callback(value);function tryCatch(fn,fallback){try{return fn()}catch(error){return isFunction(fallback)?fallback(error):fallback}}var createTimerState=()=>({lastArgs:void 0,lastResult:void 0,lastThis:void 0,timeoutId:void 0});function invokeTimer(state,fn){let{lastArgs:args,lastThis:thisArg}=state;state.timeoutId=void 0,state.lastArgs=void 0,state.lastResult=fn.apply(thisArg,args)}function flushTimer(state,invoke){if(state.timeoutId!==void 0)clearTimeout(state.timeoutId),invoke();return state.lastResult}function debounce(fn,wait){let state=createTimerState(),invoke=()=>invokeTimer(state,fn),debounced=function(...args){if(state.lastArgs=args,state.lastThis=this,state.timeoutId!==void 0)clearTimeout(state.timeoutId);state.timeoutId=setTimeout(invoke,wait)};return debounced.cancel=()=>{if(state.timeoutId!==void 0)clearTimeout(state.timeoutId),state.timeoutId=void 0,state.lastArgs=void 0},debounced.flush=()=>{return flushTimer(state,invoke)},debounced}var noop=()=>{return},invoke=(fn)=>fn();function invokes(functions){for(let fn of functions)fn?.()}function memoize(fn,{cache=new Map,resolver}={}){let memoized=function(...args){let key=resolver?resolver(...args):args[0];if(cache.has(key))return cache.get(key);let result=fn.apply(this,args);return cache.set(key,result),result};return memoized.cache=cache,memoized}function once(fn){let called=!1,result,error,cb=(...args)=>{if(called){if(error)throw normalizeError(error);return result}called=!0;try{return result=fn(...args)}catch(error_){throw error=normalizeError(error_)}};return cb.reset=()=>{called=!1,error=void 0},cb}function pipe(...fns){if(!isNonEmptyArray(fns))return;let result=fns[0]();for(let i=1;i<fns.length;i++)result=fns[i](result);return result}function throttle(fn,wait){let state=createTimerState(),lastCallTime,invoke2=()=>{lastCallTime=Date.now(),invokeTimer(state,fn)},throttled=function(...args){let now=Date.now();if(state.lastArgs=args,state.lastThis=this,lastCallTime===void 0){lastCallTime=now,state.lastResult=fn.apply(this,args);return}let remaining=wait-(now-lastCallTime);if(remaining<=0){if(state.timeoutId!==void 0)clearTimeout(state.timeoutId),state.timeoutId=void 0;lastCallTime=now,state.lastResult=fn.apply(this,args)}else state.timeoutId??=setTimeout(invoke2,remaining)};return throttled.cancel=()=>{if(state.timeoutId!==void 0)clearTimeout(state.timeoutId),state.timeoutId=void 0;state.lastArgs=void 0,lastCallTime=void 0},throttled.flush=()=>{return flushTimer(state,invoke2)},throttled}var JsonRpcErrorCode;((JsonRpcErrorCode2)=>{JsonRpcErrorCode2[JsonRpcErrorCode2.ParseError=-32700]="ParseError";JsonRpcErrorCode2[JsonRpcErrorCode2.InternalError=-32603]="InternalError";JsonRpcErrorCode2[JsonRpcErrorCode2.InvalidParams=-32602]="InvalidParams";JsonRpcErrorCode2[JsonRpcErrorCode2.MethodNotFound=-32601]="MethodNotFound";JsonRpcErrorCode2[JsonRpcErrorCode2.InvalidRequest=-32600]="InvalidRequest"})(JsonRpcErrorCode||={});var JSON_RPC_ERROR_MESSAGES={[-32603]:"Internal error",[-32602]:"Invalid params",[-32600]:"Invalid request",[-32601]:"Method not found",[-32700]:"Parse error"};var createJsonRpcNotifyMessage=(method,params)=>({jsonrpc:"2.0",method,...notUndefined(params)?{params}:{}}),createJsonRpcRequestMessage=(id,method,params)=>({id,jsonrpc:"2.0",method,...notUndefined(params)?{params}:{}}),createJsonRpcSuccessResponseMessage=(id,result)=>({id,jsonrpc:"2.0",result}),createJsonRpcErrorObject=(code,message,data)=>({code,message,...notUndefined(data)?{data}:{}}),createJsonRpcErrorResponseMessage=(id,error)=>({error,id,jsonrpc:"2.0"});var isJsonRpcMessage=(message)=>isObject(message)&&message.jsonrpc==="2.0",isValidJsonRpcId=(id)=>isString(id)||isNumber(id)||isNull(id),isJsonRpcRequestMessage=(message)=>isKeysOf(message,"id","method")&&isValidJsonRpcId(message.id)&&isString(message.method),isJsonRpcNotifyMessage=(message)=>isKeysOf(message,"method")&&isString(message.method)&&!isKeysOf(message,"id"),isJsonRpcResponseMessage=(message)=>isKeysOf(message,"id")&&isValidJsonRpcId(message.id)&&!isKeysOf(message,"method"),isJsonRpcError=(message)=>isObject(message)&&isKeysOf(message,"code","message"),isJsonRpcErrorResponseMessage=(message)=>isKeysOf(message,"error")&&isJsonRpcError(message.error),isJsonRpcSuccessResponseMessage=(message)=>isKeysOf(message,"result")&&!isKeysOf(message,"error"),isJsonRpcResponseHasNonNullableId=(response)=>notNullish(response.id),isJsonRpcBatchRequest=(value)=>isArray(value)&&value.length>0&&value.every((item)=>{if(!isJsonRpcMessage(item))return!1;return isJsonRpcRequestMessage(item)||isJsonRpcNotifyMessage(item)}),isJsonRpcBatchResponse=(value)=>isArray(value)&&value.length>0&&value.every((item)=>{if(!isJsonRpcMessage(item))return!1;return isJsonRpcResponseMessage(item)});var BigIntMath={isEven(a){return a%2n===0n},isOdd(a){return a%2n!==0n},divMod(a,b){if(b===0n)throw RangeError("Division by zero");return[a/b,a%b]},abs(a){return a<0n?-a:a},max(a,b){return a>b?a:b},min(a,b){return a<b?a:b},pow(a,b){return a**b},sign(a){return a===0n?0n:a<0n?-1n:1n},mod(a,b){return(a%b+b)%b},modPow(base,exponent,modulus){if(exponent<0n)throw RangeError("Exponent must be non-negative");if(modulus===1n)return 0n;let result=1n;base=BigIntMath.mod(base,modulus);while(exponent>0n){if(exponent%2n===1n)result=BigIntMath.mod(result*base,modulus);exponent>>=1n,base=BigIntMath.mod(base*base,modulus)}return result},gcd(a,b){a=BigIntMath.abs(a),b=BigIntMath.abs(b);while(b!==0n)[a,b]=[b,a%b];return a},lcm(a,b){return a/BigIntMath.gcd(a,b)*b},clamp(value,min,max){return BigIntMath.min(BigIntMath.max(value,min),max)},sqrt(n){if(n<0n)throw RangeError("Square root of negative bigint is undefined");if(n<2n)return n;let x=n,y=(x+1n)/2n;while(y<x)x=y,y=(x+n/x)/2n;return x},factorial(n){if(n<0n)throw RangeError("Factorial of negative bigint is undefined");if(n===0n)return 1n;let result=1n;for(let i=1n;i<=n;i++)result*=i;return result},sum(array){return array.reduce((a,b)=>a+b,0n)},avg(array){if(array.length===0)return 0n;return BigIntMath.sum(array)/BigInt(array.length)},isPrime(n){if(n<2n)return!1;if(n<4n)return!0;if(n%2n===0n||n%3n===0n)return!1;let limit=BigIntMath.sqrt(n);for(let i=5n;i<=limit;i+=6n)if(n%i===0n||n%(i+2n)===0n)return!1;return!0},compare(a,b){return a===b?0:a<b?-1:1}};var SPECIAL_NUMBER_STRINGS=new Set(["+Infinity","-Infinity","Infinity","NaN"]),SUBSCRIPT_CHARS={0:"₀",1:"₁",2:"₂",3:"₃",4:"₄",5:"₅",6:"₆",7:"₇",8:"₈",9:"₉"};var sum=(array)=>array.reduce((a,b)=>a+b,0),avg=(array)=>array.length===0?0:sum(array)/array.length,clamp=(value,min,max)=>Math.min(Math.max(value,min),max),roundTo=(value,decimals)=>transform(10**decimals,(factor)=>Math.round(value*factor)/factor),lerp=(start,end,t)=>start+(end-start)*t;function median(array){if(array.length===0)return 0;let sorted=[...array].toSorted((a,b)=>a-b),mid=Math.floor(sorted.length/2);if(sorted.length%2===0)return(sorted[mid-1]+sorted[mid])/2;return sorted[mid]}function toSubscriptDigits(input){let result="";for(let char of input.toString())result+=SUBSCRIPT_CHARS[char]??char;return result}function parseExponential(input){let str=input.toString().toLowerCase(),[mantissa,rawExp]=str.split("e");if(rawExp===void 0)return str;let[rawInt,fracPart=""]=mantissa?.split(".")??[];if(!rawInt)return str;let sign=rawInt.startsWith("-")?"-":"",intPart=sign?rawInt.slice(1):rawInt,exp=Number(rawExp);if(exp>=0){let neededZeros=Math.max(0,exp-fracPart.length),padded=fracPart+"0".repeat(neededZeros);if(padded.length>exp)return`${sign}${intPart}${padded.slice(0,exp)}.${padded.slice(exp)}`;return`${sign}${intPart}${padded}`}let absExp=-exp,digits=intPart+fracPart,totalLeadingZeros=Math.max(0,absExp-intPart.length);return`${sign}0.${"0".repeat(totalLeadingZeros)}${digits}`}function toOrdinal(n){let remainder100=Math.abs(n)%100,remainder10=remainder100%10;if(remainder100>=11&&remainder100<=13)return`${n}th`;switch(remainder10){case 1:return`${n}st`;case 2:return`${n}nd`;case 3:return`${n}rd`;default:return`${n}th`}}function toPercent(value,total,decimals){if(total===0)return 0;let result=value/total*100;if(decimals===void 0)return result;return roundTo(result,decimals)}function random(min,max){let lo=Math.min(min,max),hi=Math.max(min,max);return Math.floor(Math.random()*(hi-lo+1))+lo}function countLeadingZeros(input){let count=0;for(let i=0;i<input.length&&input[i]==="0";i++)count++;return count}function formatNumber(input,options_={}){let{formatLeadingZeros=(count)=>`0${toSubscriptDigits(count)}`,groupFractionLeadingZeros=!0,locales="en-US",maximumFractionDigits=4,...options}=options_,formatInput=(digits)=>new Intl.NumberFormat(locales,{...options,maximumFractionDigits:digits}).format(input);if(!groupFractionLeadingZeros)return formatInput(maximumFractionDigits);let numericStr=parseExponential(input),[,fractionPart=""]=numericStr.split(".",2),leadingZerosCount=countLeadingZeros(fractionPart);if(leadingZerosCount<=1)return formatInput(maximumFractionDigits);let replaceFractionZeros=(part)=>{if(part.type==="fraction")return`${formatLeadingZeros(leadingZerosCount)}${part.value.slice(leadingZerosCount)}`;return part.value};return new Intl.NumberFormat(locales,{...options,maximumFractionDigits:maximumFractionDigits+leadingZerosCount}).formatToParts(input).map(replaceFractionZeros).join("")}var NUMERIC_PATTERN=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/iu,isSpecialNumberString=(value)=>SPECIAL_NUMBER_STRINGS.has(value);function isNumberString(value){if(isSpecialNumberString(value))return!0;return NUMERIC_PATTERN.test(value)}var isNumberish=(input)=>isNumber(input)||isBigInt(input)||isString(input)&&isNumberString(input),isPercentage=(value)=>value>=0&&value<=100;function isValidRange(start,end,inclusive=!0,min,max){if(notNullish(min)&&start<min)return!1;if(notNullish(max)&&end>max)return!1;return inclusive?start<=end:start<end}var isInRange=(value,min,max,inclusive=!0)=>inclusive?value>=min&&value<=max:value>min&&value<max;function abortable(promise,signal,error){if(!signal)return promise;let createError=()=>error?ensureError(error):signal.reason??createAbortError();if(signal.aborted)return Promise.reject(createError());return new Promise((resolve,reject)=>{let isSettled=!1,onAbort,cleanup=(afterCleanup)=>{if(!isSettled)isSettled=!0,signal.removeEventListener("abort",onAbort),afterCleanup?.()};onAbort=()=>{cleanup(()=>reject(createError()))},signal.addEventListener("abort",onAbort),promise.then((value)=>cleanup(()=>resolve(value)),(error_)=>cleanup(()=>reject(error_)))})}var pTap=(fn)=>async(value)=>{return Promise.resolve(fn(value)).then(()=>value)};pTap.catch=(fn)=>async(error)=>{throw await fn(error),error};async function tryCatchAsync(fn,fallback){try{return await fn()}catch(error){return await fallback(error)}}function cleanupAbortSignal(signal,abortHandler){if(abortHandler)signal?.removeEventListener("abort",abortHandler)}function setupAbortSignal(signal,onAbort){let abortHandler=()=>onAbort();if(signal?.aborted)onAbort();else signal?.addEventListener("abort",abortHandler);return abortHandler}function invokeSettleCallback(cb,onSettle,onCallbackError,synchronousCallbacks){let callback=()=>{try{cb()}catch(error){onCallbackError?.(error)}try{onSettle?.()}catch(error){onCallbackError?.(error)}};if(synchronousCallbacks)callback();else queueMicrotask(callback)}function createDeferred({onCallbackError,onReject,onResolve,onSettle,signal,synchronousCallbacks=!1}={}){let resolveFn,rejectFn,abortHandler,isSettled=!1,isResolved=!1,isRejected=!1,promise=new Promise((resolve,reject)=>{resolveFn=resolve,rejectFn=reject}),afterSettle=(cb)=>{cleanupAbortSignal(signal,abortHandler),invokeSettleCallback(cb,onSettle,onCallbackError,synchronousCallbacks)};return Object.defineProperty(promise,"isSettled",{enumerable:!0,get:()=>isSettled}),Object.defineProperty(promise,"isPending",{enumerable:!0,get:()=>!isSettled}),Object.defineProperty(promise,"isResolved",{enumerable:!0,get:()=>isResolved}),Object.defineProperty(promise,"isRejected",{enumerable:!0,get:()=>isRejected}),promise.resolve=(value)=>{if(isSettled)return;isSettled=!0,isResolved=!0,resolveFn(value),afterSettle(()=>onResolve?.(value))},promise.reject=(reason)=>{if(isSettled)return;isSettled=!0,isRejected=!0,rejectFn(reason),afterSettle(()=>onReject?.(reason))},abortHandler=setupAbortSignal(signal,()=>{promise.reject(signal?.reason??createAbortError())}),promise}var createDeferredWithTimeout=(ms,{error,signal,...options}={})=>{let timeoutController=createAbortController(ms,error);return createDeferred({...options,onSettle(){timeoutController.abort(),options.onSettle?.()},signal:combineSignals(signal,timeoutController.signal)})};var isPromiseLike=(value)=>isObject(value)&&isFunction(value.then),isPromise=(value)=>isObject(value)&&isFunction(value.then)&&isFunction(value.catch)&&isFunction(value.finally);async function pPipe(...fns){if(!isNonEmptyArray(fns))return;let result=await fns[0]();for(let i=1;i<fns.length;i++)result=await fns[i](result);return result}var sleep=async(ms,{error,signal}={})=>abortable(new Promise((resolve)=>setTimeout(resolve,ms)),signal,error),withTimeout=(promise,ms,{error,signal}={})=>transform(createAbortController(ms,error),(controller)=>abortable(promise,combineSignals(signal,controller.signal)).finally(()=>controller.abort()));function poll(fnOrOptions,optionsOrFn={}){let fn,options;if(isFunction(fnOrOptions)&&isPlainObject(optionsOrFn))fn=fnOrOptions,options=optionsOrFn;else assertParam(isPlainObject(fnOrOptions),"options must be an object"),assertParam(isFunction(optionsOrFn),"fn must be a function"),fn=optionsOrFn,options=fnOrOptions;let{delay=0,immediately=!0,onError,stopOnError=!0}=options,abortController=createAbortController(),isActive=!0,currentTask,stop=()=>{return isActive=!1,abortController.abort(),currentTask??Promise.resolve()},startRun,run=async()=>{if(!isActive)return;try{if(await abortable(Promise.resolve(fn(abortController.signal)),abortController.signal),isActive)await sleep(delay,{signal:abortController.signal})}catch(error){if(isAbortError(error)&&!isActive)return;if(onError?.(error),stopOnError){stop();return}}setTimeout(startRun,0)};if(startRun=()=>{currentTask=run().finally(()=>{currentTask=void 0})},immediately)Promise.resolve().then(startRun);else setTimeout(startRun,delay);return stop}function getRetryDelay(attempts,{backoff=2,delay=1000,jitter=0.01,maxDelay=1e4}={}){let exponentialDelay=delay*backoff**(attempts-1),clampedDelay=clamp(exponentialDelay,0,maxDelay);if(jitter<=0)return clampedDelay;let jitterRange=clampedDelay*jitter,jitterOffset=(Math.random()-0.5)*2*jitterRange;return clamp(clampedDelay+jitterOffset,0,maxDelay)}function createRetryError(errors){if(errors.length===1)return errors[0];return AggregateError(errors,"All retry attempts failed")}function rethrowNonAbortError(error){if(!isAbortError(error))throw error}async function waitForNextRetryAttempt(attempts,delayOptions,onBeforeWaitForNextAttempt,signal,context){let delay=getRetryDelay(attempts,delayOptions);await onBeforeWaitForNextAttempt?.(delay,context),await sleep(delay,{signal}).catch(rethrowNonAbortError)}async function handleRetryFailure(error,errors,retriesLeft,shouldRetry,onFailedAttempt,context){if(isAbortError(error))throw error;if(errors.push(error),retriesLeft<=0)throw createRetryError(errors);if(shouldRetry&&!await shouldRetry(error,context))throw createRetryError(errors);await onFailedAttempt?.(error,context)}async function handleRetrySuccess(result,errors,retriesLeft,shouldRetryOnSuccess,onSuccessAttempt,context){if(!shouldRetryOnSuccess||!await shouldRetryOnSuccess(result,context))return!0;if(retriesLeft<=0)throw createRetryError(errors);return await onSuccessAttempt?.(result,context),!1}async function withRetry(fn,{maxAttempts=3,onBeforeWaitForNextAttempt,onFailedAttempt,onSuccessAttempt,shouldRetry,shouldRetryOnSuccess,signal,...delayOptions}={}){if(maxAttempts<1)throw RangeError("maxAttempts must be at least 1");if(signal)signal.throwIfAborted();let attempts=0,result,errors=[];while(attempts<maxAttempts){let retriesLeft=maxAttempts-(attempts+++1),context={attempts,retriesLeft,signal};try{if(signal)signal.throwIfAborted();result=await abortable(Promise.resolve(fn(signal)),signal)}catch(error){await handleRetryFailure(error,errors,retriesLeft,shouldRetry,onFailedAttempt,context),await waitForNextRetryAttempt(attempts,delayOptions,onBeforeWaitForNextAttempt,signal,context);continue}if(await handleRetrySuccess(result,errors,retriesLeft,shouldRetryOnSuccess,onSuccessAttempt,context))return result;await waitForNextRetryAttempt(attempts,delayOptions,onBeforeWaitForNextAttempt,signal,context)}throw createRetryError(errors)}var SERIALIZE=Symbol.for("serialize.custom"),GENERATOR_PATTERNS=/\bfunction\s*\*|^async\s+function\s*\*|\*\s*\[|^\*\s/u,OMIT_SENTINEL=Symbol("omit");function createSymbolKeySerializer(){let cache=new Map,usedKeys=new Set,counter=0;return(symbol)=>{let cached=cache.get(symbol);if(cached!==void 0)return cached;let desc2=symbol.description,base=desc2?.length?desc2:`@@${++counter}`,key=`[Symbol(${base})]`;while(usedKeys.has(key))key=`[Symbol(${base}@@${++counter})]`;return usedKeys.add(key),cache.set(symbol,key),key}}var DEFAULT_REPLACER=(value)=>({...value,__serialized__:!0});function createContext(options={}){let{maxDepth=Number.POSITIVE_INFINITY,onUnserializable=!1,replacer=DEFAULT_REPLACER}=options,onCircularRef="placeholder",onMaxDepth="placeholder",onPropertyAccess="placeholder";if(typeof options.onError==="string")onCircularRef=options.onError,onMaxDepth=options.onError,onPropertyAccess=options.onError;else if(typeof options.onError==="object"&&options.onError!=null)onCircularRef=options.onError.circularRef??"placeholder",onMaxDepth=options.onError.maxDepth??"placeholder",onPropertyAccess=options.onError.propertyAccess??"placeholder";return{depth:0,maxDepth,onCircularRef,onMaxDepth,onPropertyAccess,onUnserializable,replacer,symbolRegistry:createSymbolKeySerializer(),visited:new Set}}function serializeArrayEntry(entry,ctx,serializeValue){let serializedValue=serializeValue(entry,ctx);return serializedValue===OMIT_SENTINEL?null:serializedValue}var serializeArray=(value,ctx,serializeValue)=>value.map((entry)=>serializeArrayEntry(entry,ctx,serializeValue)),serializeIterableEntries=(value,ctx,serializeValue)=>Array.from(value,(entry)=>serializeArrayEntry(entry,ctx,serializeValue));function serializeBinary(value,ctx){if(ArrayBuffer.isView(value)&&!(value instanceof DataView)){let typed=value;return ctx.replacer({metadata:{byteLength:typed.byteLength,byteOffset:typed.byteOffset},type:typed[Symbol.toStringTag]?.toLowerCase()??"typedarray",value:Array.from({length:typed.length},(_,index)=>value[index])})}if(value instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&value instanceof SharedArrayBuffer)return ctx.replacer({metadata:{byteLength:value.byteLength},type:"arraybuffer",value:[...new Uint8Array(value)]});if(value instanceof DataView)return ctx.replacer({metadata:{byteLength:value.byteLength,byteOffset:value.byteOffset},type:"dataview",value:null});return}function serializeBlob(value,ctx){if(typeof Blob>"u"||!(value instanceof Blob))return;let metadata={size:value.size,type:value.type};if(typeof File<"u"&&value instanceof File)return metadata.name=value.name,ctx.replacer({metadata,type:"file",value:null});return ctx.replacer({metadata,type:"blob",value:null})}function serializeCollection(value,ctx,serializeValue){if(isCollectionLike(value)){let name=value.constructor?.name,metadata={size:value.size};if(name)metadata.name=name;if(isMapLike(value))return ctx.replacer({metadata,type:"map",value:serializeIterableEntries(value.entries(),ctx,serializeValue)});if(isSetLike(value))return ctx.replacer({metadata,type:"set",value:serializeIterableEntries(value,ctx,serializeValue)})}return}function handlePropertyAccessError(error,strategy,key,ctx){if(strategy==="throw")throw error;if(strategy==="omit")return OMIT_SENTINEL;return ctx.replacer({type:"property-access-error",value:`[Property Access Error: ${String(key)}]`})}function safeAccess(obj,key,strategy,ctx){try{return obj[key]}catch(error){return handlePropertyAccessError(error,strategy,key,ctx)}}function serializeObject(obj,ctx,serializeValue){let result={},{onPropertyAccess,symbolRegistry}=ctx;for(let key of Object.keys(obj)){let value=safeAccess(obj,key,onPropertyAccess,ctx);if(value===OMIT_SENTINEL)continue;let serializedValue=serializeValue(value,ctx);if(serializedValue===OMIT_SENTINEL)continue;result[key]=serializedValue}for(let sym of Object.getOwnPropertySymbols(obj)){let value=safeAccess(obj,sym,onPropertyAccess,ctx);if(value===OMIT_SENTINEL)continue;let serializedValue=serializeValue(value,ctx);if(serializedValue===OMIT_SENTINEL)continue;result[symbolRegistry(sym)]=serializedValue}return result}var isUsableValue=(value)=>value!==void 0&&value!==OMIT_SENTINEL;function readProperty(error,key,ctx,serializeValue){try{let value=error[key];if(value===void 0)return;return serializeValue(value,ctx)}catch(error_){return handlePropertyAccessError(error_,ctx.onPropertyAccess,key,ctx)}}function serializeErrorCoreFields(error,ctx,serializeValue){let result={name:error.name},serializedMessage=readProperty(error,"message",ctx,serializeValue),serializedStack=readProperty(error,"stack",ctx,serializeValue),serializedCause=readProperty(error,"cause",ctx,serializeValue);if(typeof serializedMessage==="string"&&serializedMessage.length>0)result.message=serializedMessage;if(typeof serializedStack==="string"&&serializedStack.length>0)result.stack=serializedStack;if(isUsableValue(serializedCause))result.cause=serializedCause;if(error instanceof AggregateError){let serializedErrors=readProperty(error,"errors",ctx,serializeValue);if(isUsableValue(serializedErrors))result.errors=serializedErrors}return result}function serializeError(error,ctx,serializeValue){let result=serializeErrorCoreFields(error,ctx,serializeValue);for(let key of Object.keys(error))if(!(key in result)){let serializedValue=readProperty(error,key,ctx,serializeValue);if(isUsableValue(serializedValue))result[key]=serializedValue}for(let sym of Object.getOwnPropertySymbols(error)){let serializedValue=readProperty(error,sym,ctx,serializeValue);if(isUsableValue(serializedValue))result[ctx.symbolRegistry(sym)]=serializedValue}return result}function serializeFunction(fn,ctx){let metadata={},str=fn.toString();return metadata.async=str.startsWith("async"),metadata.generator=GENERATOR_PATTERNS.test(str),ctx.replacer({metadata,type:"function",value:{length:fn.length,name:fn.name||"anonymous"}})}function serializeOpaque(value,ctx){if(typeof value==="function")return serializeFunction(value,ctx);if(value instanceof Promise)return ctx.replacer({type:"promise",value:"[Promise]"});if(value instanceof WeakMap)return ctx.replacer({type:"weakmap",value:"[WeakMap]"});if(value instanceof WeakSet)return ctx.replacer({type:"weakset",value:"[WeakSet]"});if(typeof WeakRef<"u"&&value instanceof WeakRef)return ctx.replacer({type:"weakref",value:"[WeakRef]"});if(typeof ReadableStream<"u"&&value instanceof ReadableStream)return ctx.replacer({type:"readablestream",value:"[ReadableStream]"});if(isGenerator(value))return ctx.replacer({type:"generator",value:"[Generator]"});return}function serializeCompound(value,ctx,serializeValue){let customSerialize=value[SERIALIZE];if(typeof customSerialize==="function")return serializeValue(customSerialize(),ctx);if(isArray(value))return serializeArray(value,ctx,serializeValue);let collection=serializeCollection(value,ctx,serializeValue);if(collection!==void 0)return collection;let binary=serializeBinary(value,ctx);if(binary!==void 0)return binary;let blob=serializeBlob(value,ctx);if(blob!==void 0)return blob;if(value instanceof Error)return ctx.replacer({type:"error",value:serializeError(value,ctx,serializeValue)});if(isPlainObject(value))return serializeObject(value,ctx,serializeValue);let opaque=serializeOpaque(value,ctx);if(opaque!==void 0)return opaque;if(typeof value.toJSON==="function")return serializeValue(value.toJSON(),ctx);if(isIterable(value)){let name=value.constructor?.name,metadata={};if(name)metadata.name=name;return ctx.replacer({metadata,type:"iterable",value:serializeIterableEntries(value,ctx,serializeValue)})}if(ctx.onUnserializable)return ctx.onUnserializable(value);return ctx.replacer({type:typeOf(value),value:`[${value.constructor?.name??typeOf(value)}]`})}function serializeLeafObject(value,ctx){if(value instanceof Date)return ctx.replacer({type:"date",value:value.toISOString()});if(value instanceof RegExp)return ctx.replacer({type:"regexp",value:value.toString()});if(value instanceof URL)return ctx.replacer({type:"url",value:value.href});return}function serializeNumber(value,ctx){if(Number.isNaN(value))return ctx.replacer({type:"number",value:"NaN"});if(!Number.isFinite(value))return ctx.replacer({type:"number",value:value>0?"Infinity":"-Infinity"});return value}function serializePrimitive(value,ctx){if(value===null)return null;if(value===void 0)return ctx.replacer({type:"undefined",value:null});if(isNumber(value))return serializeNumber(value,ctx);if(isJsonablePrimitive(value))return value;if(isBigInt(value))return ctx.replacer({type:"bigint",value:value.toString()});if(isSymbol(value))return ctx.replacer({type:"symbol",value:ctx.symbolRegistry(value)});return}function handleError(strategy,type,placeholder,ctx){if(strategy==="throw")throw Error(placeholder);if(strategy==="omit")return OMIT_SENTINEL;return ctx.replacer({type,value:placeholder})}function serialize(value,options){let ctx=createContext(options),serializedValue=serializeValue(value,ctx);if(serializedValue===OMIT_SENTINEL)return null;return serializedValue}function serializeValue(value,ctx){let primitive=serializePrimitive(value,ctx);if(primitive!==void 0)return primitive;let leaf=serializeLeafObject(value,ctx);if(leaf!==void 0)return leaf;if(ctx.visited.has(value))return handleError(ctx.onCircularRef,"circular-ref","[Circular]",ctx);if(ctx.depth>=ctx.maxDepth)return handleError(ctx.onMaxDepth,"max-depth","[Max Depth]",ctx);ctx.visited.add(value),ctx.depth++;try{return serializeCompound(value,ctx,serializeValue)}finally{ctx.depth--,ctx.visited.delete(value)}}var WHITESPACE_CHARACTERS=new Set([" ",`
|
|
4
|
+
`,"\r","\t","\v","\f"]);function randomStr(length=16,characters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"){let result="";for(let i=0;i<length;i++)result+=characters.charAt(Math.floor(Math.random()*characters.length));return result}var isEmptyString=(value)=>value.length===0;function isValidProtocol({protocol},protocols){if(!protocols?.length)return!0;return protocols.some((x)=>`${x.toLowerCase()}:`===protocol)}function isValidUrl(url,protocols){if(url instanceof URL)return isValidProtocol(url,protocols);return tryCatch(()=>isValidProtocol(new URL(url),protocols),!1)}var isWebSocketUrl=(url,wsProtocols=["ws","wss"])=>isValidUrl(url,wsProtocols),isHttpUrl=(url,httpProtocols=["http","https"])=>isValidUrl(url,httpProtocols),isStringEquals=(str,...others)=>others.length>0&&others.every((other)=>str===other),isStringEqualsIgnoreCase=(str,...others)=>others.length>0&&transform(str.toLowerCase(),(x)=>others.every((other)=>x===other.toLowerCase())),isIncludesAll=(str,search)=>search.every((s)=>str.includes(s)),isIncludesAny=(str,search)=>search.some((s)=>str.includes(s)),isIncludes=(str,search,type="all")=>type==="all"?isIncludesAll(str,wrap(search)):isIncludesAny(str,wrap(search));function isHexString(value,length){let len=length?`{${length*2}}`:"+";return new RegExp(`^(?:0x)?[0-9a-f]${len}$`,"iu").test(value)}var isStrictHexString=(value,length)=>value.startsWith("0x")&&isHexString(value,length);var ensurePrefix=(str,prefix)=>str.startsWith(prefix)?str:prefix+str,ensureSuffix=(str,suffix)=>str.endsWith(suffix)?str:str+suffix,stripPrefix=(str,prefix)=>str.startsWith(prefix)?str.slice(prefix.length):str,stripSuffix=(str,suffix)=>suffix.length>0&&str.endsWith(suffix)?str.slice(0,-suffix.length):str,capitalize=(str)=>str.charAt(0).toUpperCase()+str.slice(1),escapeRegExp=(input)=>input.replaceAll(/[$()*+.?[\\\]^{|}]/gu,String.raw`\$&`).replaceAll("-",String.raw`\x2d`);function*chunkStr(str,size){if(size<=0)throw RangeError(`chunk size must be a positive number, got ${size}`);let len=str.length;for(let i=0;i<len;i+=size)yield str.slice(i,i+size)}var padStart=(str,targetLength,padString=" ")=>str.padStart(targetLength,padString),padZeroStart=(num,targetLength)=>padStart(num.toString(),targetLength,"0");function truncate(str,maxLength,omission="..."){if(str.length<=maxLength)return str;if(omission.length>=maxLength)return omission.slice(0,maxLength);return str.slice(0,maxLength-omission.length)+omission}function truncateMiddle(str,maxLength,omission="..."){if(str.length<=maxLength)return str;if(omission.length>=maxLength)return omission.slice(0,maxLength);let left=Math.floor((maxLength-omission.length)/2),right=maxLength-omission.length-left;return str.slice(0,left)+omission+str.slice(-right)}function ltrim(str,characters=WHITESPACE_CHARACTERS){if(typeof characters==="string")characters=new Set(characters);let end=str.length,start=0;while(start<end&&characters.has(str[start]))start++;return start>0?str.slice(start,end):str}function rtrim(str,characters=WHITESPACE_CHARACTERS){if(typeof characters==="string")characters=new Set(characters);let end=str.length;while(end>0&&characters.has(str[end-1]))end--;return end<str.length?str.slice(0,end):str}var trim=(str,characters=WHITESPACE_CHARACTERS)=>ltrim(rtrim(str,characters),characters),trimRepeated=(input,target)=>input.replaceAll(new RegExp(`(?:${escapeRegExp(target)}){2,}`,"g"),target);function indent(str,count,trim2=!1){let pad=" ".repeat(count);if(trim2)return str.split(`
|
|
5
|
+
`).map((line)=>pad+ltrim(line)).join(`
|
|
6
|
+
`);return pad+str.replaceAll(`
|
|
7
|
+
`,`
|
|
8
|
+
${pad}`)}function unindent(str,...values){let lines=(typeof str==="string"?str:String.raw({raw:str},...values)).split(`
|
|
9
|
+
`),head=0,tail=lines.length;while(head<tail&&lines[head].trim()==="")head++;while(tail>head&&lines[tail-1].trim()==="")tail--;let trimmed=lines.slice(head,tail),minIndent=1/0;for(let line of trimmed){if(line.trim()==="")continue;minIndent=Math.min(minIndent,/^[ \t]*/u.exec(line)[0].length)}if(minIndent===0||minIndent===1/0)return trimmed.join(`
|
|
10
|
+
`);return trimmed.map((line)=>line.slice(minIndent)).join(`
|
|
11
|
+
`)}var ANSI_REGEX=/\u001B(?:\[[\d;]*[A-Za-z]|\].*?(?:\u0007|\u001B\\)|\([A-Za-z]|[A-Z])/gu;function stripAnsi(str){if(ANSI_REGEX.lastIndex=0,!ANSI_REGEX.test(str))return str;return ANSI_REGEX.lastIndex=0,str.replace(ANSI_REGEX,"")}var isInMode=(key)=>key==="development",isInDevelopment=()=>isInMode("development")||isInMode("dev"),isInDev=isInDevelopment,isInProduction=()=>isInMode("production")||isInMode("prod"),isInProd=isInProduction,isInStaging=()=>isInMode("staging")||isInMode("stage"),isInStage=isInStaging;function getEnv(key,{env=process.env,includeNonePrefix=!1,prefix}={}){let result={};for(let k of key)if(result[k]=env[prefix?`${prefix}${k}`:k],includeNonePrefix&&isUndefined(result[k]))result[k]=env[k];return result}async function fetch(request,{retry=!0,signal,timeout=1e4,...options}={}){let retryOptions={enabled:!0,...resolveOptions(retry,{})||{enabled:!1}},execute=async(retrySignal)=>{let controller=createAbortController(timeout),fetchSignal=combineSignals(controller.signal,signal,retrySignal);return globalThis.fetch(request,{...options,signal:fetchSignal}).finally(()=>controller.abort())};return retryOptions.enabled?await withRetry(execute,{...retryOptions,signal}):await execute()}var exitTasks=new Map;function addExitHandler(handler,maxWaitTime=3000){return exitTasks.set(handler,maxWaitTime),()=>{exitTasks.delete(handler)}}var _isExiting=!1,_exitPromise,isExiting=()=>{return _isExiting};function gracefulExit(exitCode=0,maxWaitTime=3000){if(_exitPromise)return _exitPromise;if(_isExiting=!0,exitTasks.size===0)process.exit(exitCode);let promises=[];for(let[handler,wait]of exitTasks)promises.push(Promise.resolve().then(()=>handler(exitCode))),maxWaitTime=Math.max(maxWaitTime,wait);let timer=setTimeout(()=>process.exit(exitCode),maxWaitTime);function finish(){clearTimeout(timer),process.exit(exitCode)}return _exitPromise=Promise.allSettled(promises).then(finish)}import{dirname,join}from"node:path";import{fileURLToPath}from"node:url";var pathToString=(path)=>isBufferLike(path)?bufferToString(path):path.toString(),pwd=(importMeta,...path)=>join(dirname(fileURLToPath(importMeta.url)),...path.map(pathToString));var MS_PER_SECOND=1000,MS_PER_MINUTE=60000,MS_PER_HOUR=3600000,MS_PER_DAY=86400000,MS_PER_MONTH=2592000000,MS_PER_YEAR=31536000000;var toUnixTimestamp=(date)=>Math.floor(date.getTime()/1000),fromUnixTimestamp=(timestamp)=>new Date(timestamp*1000),FORMAT_TOKEN_REGEX=/y{4}|S{3}|MM|dd|HH|mm|ss/gu,pad2=(n)=>padZeroStart(n,2);function formatDate(date,format="HH:mm:ss.SSS dd/MM/yyyy"){if(Number.isNaN(date.getTime()))throw TypeError("Invalid Date");let tokens={dd:()=>pad2(date.getDate()),HH:()=>pad2(date.getHours()),MM:()=>pad2(date.getMonth()+1),mm:()=>pad2(date.getMinutes()),ss:()=>pad2(date.getSeconds()),SSS:()=>padZeroStart(date.getMilliseconds(),3),yyyy:()=>padZeroStart(date.getFullYear(),4)};return format.replaceAll(FORMAT_TOKEN_REGEX,(match)=>tokens[match]())}var NANOSECOND_UNITS=[["h",3600000000000n],["m",60000000000n],["s",1000000000n],["ms",1000000n],["μs",1000n],["ns",1n]];function humanizeNanoseconds(ns){if(isString(ns)&&isSpecialNumberString(ns))return ns;let remaining;try{remaining=BigInt(ns)}catch{return ns.toString()}if(remaining===0n)return"0ns";let sign=remaining<0n?"-":"",parts=[];remaining=BigIntMath.abs(remaining);for(let[label,value]of NANOSECOND_UNITS)if(remaining>=value)parts.push(`${remaining/value}${label}`),remaining%=value;return sign+parts.join(" ")}function humanizeWithMultiplier(value,multiplier){if(isString(value)&&isSpecialNumberString(value))return value;try{return humanizeNanoseconds(BigInt(value)*multiplier)}catch{return value.toString()}}var humanizeMilliseconds=(ms)=>humanizeWithMultiplier(ms,1000000n),humanizeSeconds=(s)=>humanizeWithMultiplier(s,1000000000n);var timestamp=()=>toUnixTimestamp(new Date);var isValidDate=(value)=>value instanceof Date&&!Number.isNaN(value.getTime());var startOfDay=(date)=>tap(new Date(date),(r)=>{r.setHours(0,0,0,0)}),endOfDay=(date)=>tap(new Date(date),(r)=>{r.setHours(23,59,59,999)});export{wrap,withTimeout,withRetry,waitForNextRetryAttempt,uniqueBy,unique,unindent,typeOf,tryCatchAsync,tryCatch,truncateMiddle,truncate,trimRepeated,trim,transform,toUnixTimestamp,toUint8Array,toSubscriptDigits,toString,toPercent,toOrdinal,toArray,timestamp,throttle,tap,symmetricDiff,sum,stripSuffix,stripPrefix,stripAnsi,stringifyErrorNode,stringifyError,startOfDay,sortBy,sleep,shuffle,setupAbortSignal,serializeValue,serializePrimitive,serializeOpaque,serializeObject,serializeNumber,serializeLeafObject,serializeIterableEntries,serializeFunction,serializeErrorCoreFields,serializeError,serializeCompound,serializeCollection,serializeBlob,serializeBinary,serializeArrayEntry,serializeArray,serialize,sample,safeAccess,rtrim,roundTo,rethrowNonAbortError,resolveOptions,readProperty,range,randomStr,random,pwd,poll,pipe,pick,pathToString,partition,parseExponential,padZeroStart,padStart,pTap,pPipe,once,omit,nullToUndefined,nth,notUndefined,notNullish,notNull,normalizeError,noop,merge,memoize,median,map,ltrim,lerp,last,keyBy,isWebSocketUrl,isValidUrl,isValidRange,isValidProtocol,isValidJsonRpcId,isValidDate,isUsableValue,isUndefined,isTrueLike,isSymbol,isStringEqualsIgnoreCase,isStringEquals,isString,isStrictHexString,isSpecialNumberString,isSharedArrayBuffer,isSetLike,isPromiseLike,isPromise,isPrimitive,isPlainObject,isPercentage,isObject,isNumberish,isNumberString,isNumber,isNullish,isNull,isNonEmptyArray,isMapLike,isKeysOf,isKeyOf,isJsonablePrimitive,isJsonRpcSuccessResponseMessage,isJsonRpcResponseMessage,isJsonRpcResponseHasNonNullableId,isJsonRpcRequestMessage,isJsonRpcNotifyMessage,isJsonRpcMessage,isJsonRpcErrorResponseMessage,isJsonRpcError,isJsonRpcBatchResponse,isJsonRpcBatchRequest,isIterable,isIncludesAny,isIncludesAll,isIncludes,isInStaging,isInStage,isInRange,isInProduction,isInProd,isInMode,isInDevelopment,isInDev,isHttpUrl,isHexString,isGenerator,isFunction,isExiting,isErrorLike,isError,isEmptyString,isEmptyObject,isEmptyCollection,isEmptyArray,isEmpty,isDeepEqual,isDate,isCollectionLike,isBufferLike,isBuffer,isBoolean,isBigInt,isBaseError,isArrayBufferView,isArrayBuffer,isArray,isAbortError,invokes,invokeTimer,invokeSettleCallback,invoke,intersection,indent,humanizeWithMultiplier,humanizeSeconds,humanizeNanoseconds,humanizeMilliseconds,handleRetrySuccess,handleRetryFailure,handlePropertyAccessError,handleError,groupBy,gracefulExit,getRetryDelay,getEnv,fromUnixTimestamp,fromErrorLike,formatNumber,formatDate,flushTimer,flatten,first,filterByValue,filter,fetch,escapeRegExp,entries,ensureSuffix,ensurePrefix,ensureError,endOfDay,diff,desc,deepMerge,debounce,createTimerState,createTimeoutError,createSymbolKeySerializer,createRetryError,createJsonRpcSuccessResponseMessage,createJsonRpcRequestMessage,createJsonRpcNotifyMessage,createJsonRpcErrorResponseMessage,createJsonRpcErrorObject,createDeferredWithTimeout,createDeferred,createContext,createArray,createAbortError,createAbortController,countLeadingZeros,concatBuffers,compact,combineSignals,collectCauses,cleanupAbortSignal,clamp,chunkStr,chunk,capitalize,buildErrorParts,bufferToString,bufferEquals,avg,assertParam,assert,asc,appendCauses,addExitHandler,abortable,WHITESPACE_CHARACTERS,SUBSCRIPT_CHARS,SPECIAL_NUMBER_STRINGS,SERIALIZE,OMIT_SENTINEL,MS_PER_YEAR,MS_PER_SECOND,MS_PER_MONTH,MS_PER_MINUTE,MS_PER_HOUR,MS_PER_DAY,LruSet,LruMap,LinkedSet,LinkedMap,LinkedBase,JsonRpcErrorCode,JSON_RPC_ERROR_MESSAGES,GENERATOR_PATTERNS,FifoSet,FifoMap,Emitter,DEFAULT_TRUE_STRINGS,DEFAULT_STRINGIFY_FORMATTERS,DEFAULT_REPLACER,BigIntMath,BaseError};
|
|
5
12
|
|
|
6
|
-
//# debugId=
|
|
13
|
+
//# debugId=4676614AFBBD98A764756E2164756E21
|
|
7
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/arrays/accessors.ts", "../src/collections/linked-base.ts", "../src/collections/linked-map.ts", "../src/collections/fifo-map.ts", "../src/collections/linked-set.ts", "../src/collections/fifo-set.ts", "../src/collections/guards.ts", "../src/collections/lru-map.ts", "../src/collections/lru-set.ts", "../src/core/constants.ts", "../src/core/conversions.ts", "../src/core/guards.ts", "../src/arrays/guards.ts", "../src/arrays/conversions.ts", "../src/arrays/factories.ts", "../src/arrays/operations.ts", "../src/arrays/set-operations.ts", "../src/buffers/guards.ts", "../src/buffers/conversions.ts", "../src/buffers/operations.ts", "../src/errors/base-error.ts", "../src/objects/guards.ts", "../src/objects/deep-merge.ts", "../src/objects/transformations.ts", "../src/errors/guards.ts", "../src/errors/factories.ts", "../src/errors/operations.ts", "../src/errors/stringify.ts", "../src/common/assertions.ts", "../src/common/guards.ts", "../src/common/transformations.ts", "../src/events/emitter.ts", "../src/functions/guards.ts", "../src/functions/compositions.ts", "../src/functions/timer-state.ts", "../src/functions/debounce.ts", "../src/functions/executions.ts", "../src/functions/memoize.ts", "../src/functions/once.ts", "../src/functions/pipe.ts", "../src/functions/throttle.ts", "../src/json-rpc/constants.ts", "../src/json-rpc/factories.ts", "../src/json-rpc/guards.ts", "../src/numbers/bigint-math.ts", "../src/numbers/constants.ts", "../src/numbers/maths.ts", "../src/numbers/conversions.ts", "../src/numbers/factories.ts", "../src/numbers/formats.ts", "../src/numbers/guards.ts", "../src/numbers/ranges.ts", "../src/promises/abortable.ts", "../src/promises/compositions.ts", "../src/promises/deferred.ts", "../src/promises/guards.ts", "../src/promises/pipe.ts", "../src/promises/timers.ts", "../src/promises/poll.ts", "../src/promises/retry.ts", "../src/serializer/constants.ts", "../src/serializer/symbol-registry.ts", "../src/serializer/context.ts", "../src/serializer/serializers/array.ts", "../src/serializer/serializers/binary.ts", "../src/serializer/serializers/blob.ts", "../src/serializer/serializers/collection.ts", "../src/serializer/serializers/object.ts", "../src/serializer/serializers/error.ts", "../src/serializer/serializers/function.ts", "../src/serializer/serializers/opaque.ts", "../src/serializer/serializers/compound.ts", "../src/serializer/serializers/leaf-object.ts", "../src/serializer/serializers/number.ts", "../src/serializer/serializers/primitive.ts", "../src/serializer/utils.ts", "../src/serializer/serialize.ts", "../src/strings/constants.ts", "../src/strings/factories.ts", "../src/strings/guards.ts", "../src/strings/manipulations.ts", "../src/system/env.ts", "../src/system/fetch.ts", "../src/system/graceful-exit.ts", "../src/system/path.ts", "../src/times/constants.ts", "../src/times/conversions.ts", "../src/times/factories.ts", "../src/times/guards.ts", "../src/times/operations.ts"],
|
|
3
|
+
"sources": ["../src/arrays/accessors.ts", "../src/arrays/comparators.ts", "../src/collections/linked-base.ts", "../src/collections/linked-map.ts", "../src/collections/fifo-map.ts", "../src/collections/linked-set.ts", "../src/collections/fifo-set.ts", "../src/collections/guards.ts", "../src/collections/lru-map.ts", "../src/collections/lru-set.ts", "../src/core/constants.ts", "../src/core/conversions.ts", "../src/core/guards.ts", "../src/arrays/guards.ts", "../src/arrays/conversions.ts", "../src/arrays/factories.ts", "../src/arrays/operations.ts", "../src/arrays/set-operations.ts", "../src/buffers/guards.ts", "../src/buffers/conversions.ts", "../src/buffers/operations.ts", "../src/errors/base-error.ts", "../src/objects/guards.ts", "../src/objects/deep-merge.ts", "../src/objects/transformations.ts", "../src/errors/guards.ts", "../src/errors/factories.ts", "../src/errors/operations.ts", "../src/errors/stringify.ts", "../src/common/assertions.ts", "../src/common/guards.ts", "../src/common/transformations.ts", "../src/events/emitter.ts", "../src/functions/guards.ts", "../src/functions/compositions.ts", "../src/functions/timer-state.ts", "../src/functions/debounce.ts", "../src/functions/executions.ts", "../src/functions/memoize.ts", "../src/functions/once.ts", "../src/functions/pipe.ts", "../src/functions/throttle.ts", "../src/json-rpc/constants.ts", "../src/json-rpc/factories.ts", "../src/json-rpc/guards.ts", "../src/numbers/bigint-math.ts", "../src/numbers/constants.ts", "../src/numbers/maths.ts", "../src/numbers/conversions.ts", "../src/numbers/factories.ts", "../src/numbers/formats.ts", "../src/numbers/guards.ts", "../src/numbers/ranges.ts", "../src/promises/abortable.ts", "../src/promises/compositions.ts", "../src/promises/deferred.ts", "../src/promises/guards.ts", "../src/promises/pipe.ts", "../src/promises/timers.ts", "../src/promises/poll.ts", "../src/promises/retry.ts", "../src/serializer/constants.ts", "../src/serializer/symbol-registry.ts", "../src/serializer/context.ts", "../src/serializer/serializers/array.ts", "../src/serializer/serializers/binary.ts", "../src/serializer/serializers/blob.ts", "../src/serializer/serializers/collection.ts", "../src/serializer/serializers/object.ts", "../src/serializer/serializers/error.ts", "../src/serializer/serializers/function.ts", "../src/serializer/serializers/opaque.ts", "../src/serializer/serializers/compound.ts", "../src/serializer/serializers/leaf-object.ts", "../src/serializer/serializers/number.ts", "../src/serializer/serializers/primitive.ts", "../src/serializer/utils.ts", "../src/serializer/serialize.ts", "../src/strings/constants.ts", "../src/strings/factories.ts", "../src/strings/guards.ts", "../src/strings/manipulations.ts", "../src/strings/strip-ansi.ts", "../src/system/env.ts", "../src/system/fetch.ts", "../src/system/graceful-exit.ts", "../src/system/path.ts", "../src/times/constants.ts", "../src/times/conversions.ts", "../src/times/factories.ts", "../src/times/guards.ts", "../src/times/operations.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type { EmptyArray, NonEmptyArray } from './types'\n\nexport function nth(array: EmptyArray, index: number): undefined\nexport function nth<T>(array: NonEmptyArray<T>, index: number): T\nexport function nth<T>(array: T[], index: number): T | undefined\n\nexport function nth<T>(array: T[], index: number): T | undefined {\n return array.at(index)\n}\n\nexport function first(array: EmptyArray): undefined\nexport function first<T>(array: NonEmptyArray<T>): T\nexport function first<T>(array: T[]): T | undefined\n\nexport function first<T>(array: T[]): T | undefined {\n return nth(array, 0)\n}\n\nexport function last(array: EmptyArray): undefined\nexport function last<T>(array: NonEmptyArray<T>): T\nexport function last<T>(array: T[]): T | undefined\n\nexport function last<T>(array: T[]): T | undefined {\n return nth(array, -1)\n}\n",
|
|
6
|
+
"export type StringSortType = 'alphabetical' | 'length' | 'natural'\n\ntype Sortable = bigint | number | string\n\nconst COLLATOR_NATURAL = new Intl.Collator(undefined, { numeric: true, sensitivity: 'variant' })\n\nfunction createStringComparator(direction: -1 | 1, type: StringSortType) {\n if (type === 'natural') {\n const cmp = COLLATOR_NATURAL.compare\n\n return (a: string, b: string) => direction * cmp(a, b)\n }\n\n if (type === 'length') {\n return (a: string, b: string) => direction * (a.length - b.length)\n }\n\n return (a: string, b: string) => direction * a.localeCompare(b)\n}\n\nconst createGenericComparator = (direction: -1 | 1) => <T extends Sortable>(a: T, b: T) => {\n if (a < b) {\n return -direction as -1 | 1\n }\n\n if (a > b) {\n return direction\n }\n\n return 0 as const\n}\n\nexport function asc(type: StringSortType): (a: string, b: string) => number\nexport function asc(): <T extends Sortable>(a: T, b: T) => number\n\nexport function asc(type?: StringSortType) {\n if (type) {\n return createStringComparator(1, type)\n }\n\n return createGenericComparator(1)\n}\n\nexport function desc(type: StringSortType): (a: string, b: string) => number\nexport function desc(): <T extends Sortable>(a: T, b: T) => number\n\nexport function desc(type?: StringSortType) {\n if (type) {\n return createStringComparator(-1, type)\n }\n\n return createGenericComparator(-1)\n}\n",
|
|
6
7
|
"export interface LinkedBaseNode {\n next: LinkedBaseNode | null\n prev: LinkedBaseNode | null\n}\n\nexport abstract class LinkedBase<NodeKey, N extends LinkedBaseNode> {\n protected readonly nodeMap = new Map<NodeKey, N>()\n\n protected currentSize = 0\n protected head: N | null = null\n protected tail: N | null = null\n\n public constructor(public readonly maxSize?: number) {\n if (maxSize != null && (maxSize < 1 || !Number.isInteger(maxSize))) {\n throw new RangeError('maxSize must be a positive integer')\n }\n }\n\n public get size() {\n return this.currentSize\n }\n\n public get [Symbol.toStringTag]() {\n return this.constructor.name\n }\n\n public clear() {\n this.nodeMap.clear()\n this.head = null\n this.tail = null\n this.currentSize = 0\n }\n\n protected abstract getNodeKey(node: N): NodeKey\n\n protected addToHead(node: N) {\n node.prev = null\n node.next = this.head\n\n if (this.head) {\n this.head.prev = node\n } else {\n this.tail = node\n }\n\n this.head = node\n }\n\n protected addToTail(node: N) {\n node.next = null\n node.prev = this.tail\n\n if (this.tail) {\n this.tail.next = node\n } else {\n this.head = node\n }\n\n this.tail = node\n }\n\n protected deleteByKey(key: NodeKey) {\n const node = this.nodeMap.get(key)\n\n if (!node) {\n return false\n }\n\n this.nodeMap.delete(key)\n this.removeNode(node)\n this.currentSize--\n\n return true\n }\n\n protected moveToHead(node: N) {\n this.removeNode(node)\n this.addToHead(node)\n }\n\n protected removeHead() {\n if (!this.head) {\n return\n }\n\n this.nodeMap.delete(this.getNodeKey(this.head))\n this.removeNode(this.head)\n this.currentSize--\n }\n\n protected removeNode(node: N) {\n if (node.prev) {\n node.prev.next = node.next\n } else {\n this.head = node.next as N | null\n }\n\n if (node.next) {\n node.next.prev = node.prev\n } else {\n this.tail = node.prev as N | null\n }\n\n node.prev = null\n node.next = null\n }\n\n protected removeTail() {\n if (!this.tail) {\n return\n }\n\n this.nodeMap.delete(this.getNodeKey(this.tail))\n this.removeNode(this.tail)\n this.currentSize--\n }\n}\n",
|
|
7
8
|
"import type { MapLike } from './types'\nimport { LinkedBase, type LinkedBaseNode } from './linked-base'\n\nexport interface LinkedMapNode<K, V> extends LinkedBaseNode {\n key: K\n next: LinkedMapNode<K, V> | null\n prev: LinkedMapNode<K, V> | null\n value: V\n}\n\nexport abstract class LinkedMap<K, V> extends LinkedBase<K, LinkedMapNode<K, V>> implements MapLike<K, V> {\n public delete(key: K) {\n return this.deleteByKey(key)\n }\n\n public * entries(): IterableIterator<[K, V]> {\n let current = this.head\n\n while (current) {\n yield [current.key, current.value]\n current = current.next\n }\n }\n\n public forEach(callback: (value: V, key: K, map: this) => void) {\n for (const [key, value] of this.entries()) {\n callback(value, key, this)\n }\n }\n\n public get(key: K) {\n return this.nodeMap.get(key)?.value\n }\n\n public has(key: K) {\n return this.nodeMap.has(key)\n }\n\n public * keys(): IterableIterator<K> {\n let current = this.head\n\n while (current) {\n yield current.key\n current = current.next\n }\n }\n\n public peekNewest(): [K, V] | undefined {\n return this.head ? [this.head.key, this.head.value] : undefined\n }\n\n public peekOldest(): [K, V] | undefined {\n return this.tail ? [this.tail.key, this.tail.value] : undefined\n }\n\n public abstract set(key: K, value: V): this\n\n public [Symbol.iterator](): IterableIterator<[K, V]> {\n return this.entries()\n }\n\n public toJSON(): Array<[K, V]> {\n return [...this.entries()]\n }\n\n public * values(): IterableIterator<V> {\n let current = this.head\n\n while (current) {\n yield current.value\n current = current.next\n }\n }\n\n protected createNode(key: K, value: V): LinkedMapNode<K, V> {\n return { key, next: null, prev: null, value }\n }\n\n protected getNodeKey(node: LinkedMapNode<K, V>) {\n return node.key\n }\n}\n",
|
|
8
9
|
"import { LinkedMap } from './linked-map'\n\nexport class FifoMap<K, V> extends LinkedMap<K, V> {\n public override peekNewest(): [K, V] | undefined {\n return this.tail ? [this.tail.key, this.tail.value] : undefined\n }\n\n public override peekOldest(): [K, V] | undefined {\n return this.head ? [this.head.key, this.head.value] : undefined\n }\n\n public set(key: K, value: V): this {\n const existingNode = this.nodeMap.get(key)\n\n if (existingNode) {\n existingNode.value = value\n\n return this\n }\n\n const newNode = this.createNode(key, value)\n\n this.nodeMap.set(key, newNode)\n this.addToTail(newNode)\n this.currentSize++\n\n if (this.maxSize && this.currentSize > this.maxSize) {\n this.removeHead()\n }\n\n return this\n }\n}\n",
|
|
@@ -82,7 +83,8 @@
|
|
|
82
83
|
"export const WHITESPACE_CHARACTERS = new Set([' ', '\\n', '\\r', '\\t', '\\v', '\\f'])\n",
|
|
83
84
|
"export function randomStr(length = 16, characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') {\n let result = ''\n\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * characters.length))\n }\n\n return result\n}\n",
|
|
84
85
|
"import type { Nullish } from '../core'\nimport type { HexString, UrlLike } from './types'\nimport { wrap } from '../arrays'\nimport { transform, tryCatch } from '../functions'\n\nexport const isEmptyString = (value: string) => value.length === 0\n\nexport function isValidProtocol({ protocol }: URL, protocols?: Nullish<string[]>) {\n if (!protocols?.length) {\n return true\n }\n\n return protocols.some((x) => `${x.toLowerCase()}:` === protocol)\n}\n\nexport function isValidUrl(url: UrlLike, protocols?: Nullish<string[]>) {\n if (url instanceof URL) {\n return isValidProtocol(url, protocols)\n }\n\n return tryCatch(() => isValidProtocol(new URL(url), protocols), false)\n}\n\nexport const isWebSocketUrl = (url: UrlLike, wsProtocols = ['ws', 'wss']) => isValidUrl(url, wsProtocols)\n\nexport const isHttpUrl = (url: UrlLike, httpProtocols = ['http', 'https']) => isValidUrl(url, httpProtocols)\n\nexport const isStringEquals = (str: string, ...others: string[]) => others.length > 0 && others.every((other) => str === other)\n\nexport const isStringEqualsIgnoreCase = (str: string, ...others: string[]) => (\n others.length > 0 && transform(str.toLowerCase(), (x) => others.every((other) => x === other.toLowerCase()))\n)\n\nexport const isIncludesAll = (str: string, search: string[]) => search.every((s) => str.includes(s))\n\nexport const isIncludesAny = (str: string, search: string[]) => search.some((s) => str.includes(s))\n\nexport const isIncludes = (str: string, search: string[] | string, type: 'all' | 'any' = 'all') => (\n type === 'all' ? isIncludesAll(str, wrap(search)) : isIncludesAny(str, wrap(search))\n)\n\nexport function isHexString(value: string, length?: number) {\n const len = length ? `{${length * 2}}` : '+'\n const regex = new RegExp(`^(?:0x)?[0-9a-f]${len}$`, 'iu')\n\n return regex.test(value)\n}\n\nexport const isStrictHexString = (value: string, length?: number): value is HexString => (\n value.startsWith('0x') && isHexString(value, length)\n)\n",
|
|
85
|
-
"import type { Numberish } from '../numbers'\nimport { WHITESPACE_CHARACTERS } from './constants'\n\nexport const ensurePrefix = (str: string, prefix: string) => (str.startsWith(prefix) ? str : prefix + str)\n\nexport const ensureSuffix = (str: string, suffix: string) => (str.endsWith(suffix) ? str : str + suffix)\n\nexport const stripPrefix = (str: string, prefix: string) => (str.startsWith(prefix) ? str.slice(prefix.length) : str)\n\nexport const stripSuffix = (str: string, suffix: string) => (suffix.length > 0 && str.endsWith(suffix) ? str.slice(0, -suffix.length) : str)\n\nexport const capitalize = (str: string) => str.charAt(0).toUpperCase() + str.slice(1)\n\nexport const escapeRegExp = (input: string) => (\n input.replaceAll(/[$()*+.?[\\\\\\]^{|}]/gu, String.raw`\\$&`).replaceAll('-', String.raw`\\x2d`)\n)\n\nexport function * chunkStr(str: string, size: number) {\n if (size <= 0) {\n throw new RangeError(`chunk size must be a positive number, got ${size}`)\n }\n\n const len = str.length\n\n for (let i = 0; i < len; i += size) {\n yield str.slice(i, i + size)\n }\n}\n\nexport const padStart = (str: string, targetLength: number, padString = ' ') => (\n str.padStart(targetLength, padString)\n)\n\nexport const padZeroStart = (num: Numberish | string, targetLength: number) => padStart(num.toString(), targetLength, '0')\n\nexport function truncate(str: string, maxLength: number, omission = '...') {\n if (str.length <= maxLength) {\n return str\n }\n\n if (omission.length >= maxLength) {\n return omission.slice(0, maxLength)\n }\n\n return str.slice(0, maxLength - omission.length) + omission\n}\n\nexport function truncateMiddle(str: string, maxLength: number, omission = '...') {\n if (str.length <= maxLength) {\n return str\n }\n\n if (omission.length >= maxLength) {\n return omission.slice(0, maxLength)\n }\n\n const left = Math.floor((maxLength - omission.length) / 2)\n const right = maxLength - omission.length - left\n\n return str.slice(0, left) + omission + str.slice(-right)\n}\n\nexport function ltrim(str: string, characters: Set<string> | string = WHITESPACE_CHARACTERS) {\n if (typeof characters === 'string') {\n characters = new Set(characters)\n }\n\n const end = str.length\n\n let start = 0\n\n while (start < end && characters.has(str[start]!)) {\n start++\n }\n\n return start > 0 ? str.slice(start, end) : str\n}\n\nexport function rtrim(str: string, characters: Set<string> | string = WHITESPACE_CHARACTERS) {\n if (typeof characters === 'string') {\n characters = new Set(characters)\n }\n\n let end = str.length\n\n while (end > 0 && characters.has(str[end - 1]!)) {\n end--\n }\n\n return end < str.length ? str.slice(0, end) : str\n}\n\nexport const trim = (str: string, characters: Set<string> | string = WHITESPACE_CHARACTERS) => (\n ltrim(rtrim(str, characters), characters)\n)\n\nexport const trimRepeated = (input: string, target: string) => (\n input.replaceAll(new RegExp(`(?:${escapeRegExp(target)}){2,}`, 'g'), target)\n)\n",
|
|
86
|
+
"import type { Numberish } from '../numbers'\nimport { WHITESPACE_CHARACTERS } from './constants'\n\nexport const ensurePrefix = (str: string, prefix: string) => (str.startsWith(prefix) ? str : prefix + str)\n\nexport const ensureSuffix = (str: string, suffix: string) => (str.endsWith(suffix) ? str : str + suffix)\n\nexport const stripPrefix = (str: string, prefix: string) => (str.startsWith(prefix) ? str.slice(prefix.length) : str)\n\nexport const stripSuffix = (str: string, suffix: string) => (suffix.length > 0 && str.endsWith(suffix) ? str.slice(0, -suffix.length) : str)\n\nexport const capitalize = (str: string) => str.charAt(0).toUpperCase() + str.slice(1)\n\nexport const escapeRegExp = (input: string) => (\n input.replaceAll(/[$()*+.?[\\\\\\]^{|}]/gu, String.raw`\\$&`).replaceAll('-', String.raw`\\x2d`)\n)\n\nexport function * chunkStr(str: string, size: number) {\n if (size <= 0) {\n throw new RangeError(`chunk size must be a positive number, got ${size}`)\n }\n\n const len = str.length\n\n for (let i = 0; i < len; i += size) {\n yield str.slice(i, i + size)\n }\n}\n\nexport const padStart = (str: string, targetLength: number, padString = ' ') => (\n str.padStart(targetLength, padString)\n)\n\nexport const padZeroStart = (num: Numberish | string, targetLength: number) => padStart(num.toString(), targetLength, '0')\n\nexport function truncate(str: string, maxLength: number, omission = '...') {\n if (str.length <= maxLength) {\n return str\n }\n\n if (omission.length >= maxLength) {\n return omission.slice(0, maxLength)\n }\n\n return str.slice(0, maxLength - omission.length) + omission\n}\n\nexport function truncateMiddle(str: string, maxLength: number, omission = '...') {\n if (str.length <= maxLength) {\n return str\n }\n\n if (omission.length >= maxLength) {\n return omission.slice(0, maxLength)\n }\n\n const left = Math.floor((maxLength - omission.length) / 2)\n const right = maxLength - omission.length - left\n\n return str.slice(0, left) + omission + str.slice(-right)\n}\n\nexport function ltrim(str: string, characters: Set<string> | string = WHITESPACE_CHARACTERS) {\n if (typeof characters === 'string') {\n characters = new Set(characters)\n }\n\n const end = str.length\n\n let start = 0\n\n while (start < end && characters.has(str[start]!)) {\n start++\n }\n\n return start > 0 ? str.slice(start, end) : str\n}\n\nexport function rtrim(str: string, characters: Set<string> | string = WHITESPACE_CHARACTERS) {\n if (typeof characters === 'string') {\n characters = new Set(characters)\n }\n\n let end = str.length\n\n while (end > 0 && characters.has(str[end - 1]!)) {\n end--\n }\n\n return end < str.length ? str.slice(0, end) : str\n}\n\nexport const trim = (str: string, characters: Set<string> | string = WHITESPACE_CHARACTERS) => (\n ltrim(rtrim(str, characters), characters)\n)\n\nexport const trimRepeated = (input: string, target: string) => (\n input.replaceAll(new RegExp(`(?:${escapeRegExp(target)}){2,}`, 'g'), target)\n)\n\nexport function indent(str: string, count: number, trim = false) {\n const pad = ' '.repeat(count)\n\n if (trim) {\n return str.split('\\n').map((line) => pad + ltrim(line)).join('\\n')\n }\n\n return pad + str.replaceAll('\\n', `\\n${pad}`)\n}\n\nexport function unindent(str: TemplateStringsArray | string, ...values: unknown[]) {\n const raw = typeof str === 'string' ? str : String.raw({ raw: str }, ...values)\n const lines = raw.split('\\n')\n\n // Trim leading/trailing empty lines via slice (immutable)\n let head = 0\n let tail = lines.length\n\n while (head < tail && lines[head]!.trim() === '') {\n head++\n }\n\n while (tail > head && lines[tail - 1]!.trim() === '') {\n tail--\n }\n\n const trimmed = lines.slice(head, tail)\n\n // Find minimum indent across non-empty lines\n let minIndent = Infinity\n\n for (const line of trimmed) {\n if (line.trim() === '') {\n continue\n }\n\n minIndent = Math.min(minIndent, /^[ \\t]*/u.exec(line)![0].length)\n }\n\n if (minIndent === 0 || minIndent === Infinity) {\n return trimmed.join('\\n')\n }\n\n return trimmed.map((line) => line.slice(minIndent)).join('\\n')\n}\n",
|
|
87
|
+
"// eslint-disable-next-line no-control-regex, regexp/no-control-character, sonarjs/no-control-regex -- ANSI stripping requires matching control characters\nconst ANSI_REGEX = /\\u001B(?:\\[[\\d;]*[A-Za-z]|\\].*?(?:\\u0007|\\u001B\\\\)|\\([A-Za-z]|[A-Z])/gu\n\nexport function stripAnsi(str: string) {\n ANSI_REGEX.lastIndex = 0\n\n if (!ANSI_REGEX.test(str)) {\n return str\n }\n\n ANSI_REGEX.lastIndex = 0\n\n return str.replace(ANSI_REGEX, '')\n}\n",
|
|
86
88
|
"import { isUndefined } from '../core'\n\nexport const isInMode = (key: string) => process.env.NODE_ENV === key\n\nexport const isInDevelopment = () => isInMode('development') || isInMode('dev')\nexport const isInDev = isInDevelopment\n\nexport const isInProduction = () => isInMode('production') || isInMode('prod')\nexport const isInProd = isInProduction\n\nexport const isInStaging = () => isInMode('staging') || isInMode('stage')\nexport const isInStage = isInStaging\n\nexport interface GetEnvOptions {\n env?: NodeJS.ProcessEnv\n includeNonePrefix?: boolean\n prefix?: string\n}\n\nexport function getEnv<T extends string>(key: T[], { env = process.env, includeNonePrefix = false, prefix }: GetEnvOptions = {}) {\n const result: Record<string, string | undefined> = {}\n\n for (const k of key) {\n result[k] = env[prefix ? `${prefix}${k}` : k]\n\n if (includeNonePrefix && isUndefined(result[k])) {\n result[k] = env[k]\n }\n }\n\n return result as Record<T, string | undefined>\n}\n",
|
|
87
89
|
"import type { UrlLike } from '../strings'\nimport { combineSignals, createAbortController } from '../errors'\nimport { resolveOptions } from '../objects'\nimport { withRetry, type WithRetryOptions } from '../promises'\n\nexport interface FetchOptions extends Omit<RequestInit, 'signal'> {\n retry?: Omit<WithRetryOptions<Response>, 'signal'> & { enabled?: boolean } | boolean\n signal?: AbortSignal\n timeout?: number\n}\n\nexport async function fetch(request: RequestInfo | UrlLike, { retry = true, signal, timeout = 10_000, ...options }: FetchOptions = {}) {\n const retryOptions = { enabled: true, ...(resolveOptions(retry, {}) || { enabled: false }) }\n\n const execute = async (retrySignal?: AbortSignal) => {\n const controller = createAbortController(timeout)\n const fetchSignal = combineSignals(controller.signal, signal, retrySignal)\n\n return globalThis.fetch(request, { ...options, signal: fetchSignal }).finally(() => controller.abort())\n }\n\n return retryOptions.enabled ? await withRetry(execute, { ...retryOptions, signal }) : await execute()\n}\n",
|
|
88
90
|
"export type ExitHandler = (exitCode?: number) => Promise<void>\n\nconst exitTasks = new Map<ExitHandler, number>()\n\nexport function addExitHandler(handler: ExitHandler, maxWaitTime = 3000) {\n exitTasks.set(handler, maxWaitTime)\n\n return () => {\n exitTasks.delete(handler)\n }\n}\n\nlet _isExiting = false\nlet _exitPromise: Promise<never> | undefined\n\nexport const isExiting = () => {\n return _isExiting\n}\n\nexport function gracefulExit(exitCode = 0, maxWaitTime = 3000): Promise<never> {\n if (_exitPromise) {\n return _exitPromise\n }\n\n _isExiting = true\n\n if (exitTasks.size === 0) {\n process.exit(exitCode)\n }\n\n const promises: Array<Promise<void>> = []\n\n for (const [handler, wait] of exitTasks) {\n promises.push(Promise.resolve().then(() => handler(exitCode)))\n maxWaitTime = Math.max(maxWaitTime, wait)\n }\n\n const timer = setTimeout(() => process.exit(exitCode), maxWaitTime)\n\n function finish(): never {\n clearTimeout(timer)\n process.exit(exitCode)\n }\n\n return _exitPromise = Promise.allSettled(promises).then(finish)\n}\n",
|
|
@@ -93,7 +95,7 @@
|
|
|
93
95
|
"export const isValidDate = (value: unknown): value is Date => (\n value instanceof Date && !Number.isNaN(value.getTime())\n)\n",
|
|
94
96
|
"import { tap } from '../functions'\n\nexport const startOfDay = (date: Date) => tap(new Date(date), (r) => {\n r.setHours(0, 0, 0, 0)\n})\n\nexport const endOfDay = (date: Date) => tap(new Date(date), (r) => {\n r.setHours(23, 59, 59, 999)\n})\n"
|
|
95
97
|
],
|
|
96
|
-
"mappings": "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",
|
|
97
|
-
"debugId": "
|
|
98
|
+
"mappings": "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",
|
|
99
|
+
"debugId": "4676614AFBBD98A764756E2164756E21",
|
|
98
100
|
"names": []
|
|
99
101
|
}
|
package/dist/strings/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/strings/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/strings/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAE5B,mBAAmB,SAAS,CAAA"}
|
|
@@ -14,4 +14,6 @@ export declare function ltrim(str: string, characters?: Set<string> | string): s
|
|
|
14
14
|
export declare function rtrim(str: string, characters?: Set<string> | string): string;
|
|
15
15
|
export declare const trim: (str: string, characters?: Set<string> | string) => string;
|
|
16
16
|
export declare const trimRepeated: (input: string, target: string) => string;
|
|
17
|
+
export declare function indent(str: string, count: number, trim?: boolean): string;
|
|
18
|
+
export declare function unindent(str: TemplateStringsArray | string, ...values: unknown[]): string;
|
|
17
19
|
//# sourceMappingURL=manipulations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manipulations.d.ts","sourceRoot":"","sources":["../../src/strings/manipulations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAG3C,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,WAAkD,CAAA;AAE1G,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,WAAgD,CAAA;AAExG,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,WAA8D,CAAA;AAErH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,WAAqF,CAAA;AAE5I,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,WAA+C,CAAA;AAErF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,WAEzC,CAAA;AAED,wBAAkB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oCAUnD;AAED,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,EAAE,cAAc,MAAM,EAAE,kBAAe,WAE1E,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,SAAS,GAAG,MAAM,EAAE,cAAc,MAAM,WAAgD,CAAA;AAE1H,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAQ,UAUxE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAQ,UAa9E;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAA8B,UAc1F;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAA8B,UAY1F;AAED,eAAO,MAAM,IAAI,GAAI,KAAK,MAAM,EAAE,aAAY,GAAG,CAAC,MAAM,CAAC,GAAG,MAA8B,WAEzF,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,WAEzD,CAAA"}
|
|
1
|
+
{"version":3,"file":"manipulations.d.ts","sourceRoot":"","sources":["../../src/strings/manipulations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAG3C,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,WAAkD,CAAA;AAE1G,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,WAAgD,CAAA;AAExG,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,WAA8D,CAAA;AAErH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,WAAqF,CAAA;AAE5I,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,WAA+C,CAAA;AAErF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,WAEzC,CAAA;AAED,wBAAkB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oCAUnD;AAED,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,EAAE,cAAc,MAAM,EAAE,kBAAe,WAE1E,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,SAAS,GAAG,MAAM,EAAE,cAAc,MAAM,WAAgD,CAAA;AAE1H,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAQ,UAUxE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAQ,UAa9E;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAA8B,UAc1F;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAA8B,UAY1F;AAED,eAAO,MAAM,IAAI,GAAI,KAAK,MAAM,EAAE,aAAY,GAAG,CAAC,MAAM,CAAC,GAAG,MAA8B,WAEzF,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,WAEzD,CAAA;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,UAAQ,UAQ9D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,oBAAoB,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,UAkChF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strip-ansi.d.ts","sourceRoot":"","sources":["../../src/strings/strip-ansi.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,UAUpC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export type StringSortType = 'alphabetical' | 'length' | 'natural'
|
|
2
|
+
|
|
3
|
+
type Sortable = bigint | number | string
|
|
4
|
+
|
|
5
|
+
const COLLATOR_NATURAL = new Intl.Collator(undefined, { numeric: true, sensitivity: 'variant' })
|
|
6
|
+
|
|
7
|
+
function createStringComparator(direction: -1 | 1, type: StringSortType) {
|
|
8
|
+
if (type === 'natural') {
|
|
9
|
+
const cmp = COLLATOR_NATURAL.compare
|
|
10
|
+
|
|
11
|
+
return (a: string, b: string) => direction * cmp(a, b)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (type === 'length') {
|
|
15
|
+
return (a: string, b: string) => direction * (a.length - b.length)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return (a: string, b: string) => direction * a.localeCompare(b)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const createGenericComparator = (direction: -1 | 1) => <T extends Sortable>(a: T, b: T) => {
|
|
22
|
+
if (a < b) {
|
|
23
|
+
return -direction as -1 | 1
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (a > b) {
|
|
27
|
+
return direction
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return 0 as const
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function asc(type: StringSortType): (a: string, b: string) => number
|
|
34
|
+
export function asc(): <T extends Sortable>(a: T, b: T) => number
|
|
35
|
+
|
|
36
|
+
export function asc(type?: StringSortType) {
|
|
37
|
+
if (type) {
|
|
38
|
+
return createStringComparator(1, type)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return createGenericComparator(1)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function desc(type: StringSortType): (a: string, b: string) => number
|
|
45
|
+
export function desc(): <T extends Sortable>(a: T, b: T) => number
|
|
46
|
+
|
|
47
|
+
export function desc(type?: StringSortType) {
|
|
48
|
+
if (type) {
|
|
49
|
+
return createStringComparator(-1, type)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return createGenericComparator(-1)
|
|
53
|
+
}
|
package/src/arrays/index.ts
CHANGED
package/src/strings/index.ts
CHANGED
|
@@ -97,3 +97,49 @@ export const trim = (str: string, characters: Set<string> | string = WHITESPACE_
|
|
|
97
97
|
export const trimRepeated = (input: string, target: string) => (
|
|
98
98
|
input.replaceAll(new RegExp(`(?:${escapeRegExp(target)}){2,}`, 'g'), target)
|
|
99
99
|
)
|
|
100
|
+
|
|
101
|
+
export function indent(str: string, count: number, trim = false) {
|
|
102
|
+
const pad = ' '.repeat(count)
|
|
103
|
+
|
|
104
|
+
if (trim) {
|
|
105
|
+
return str.split('\n').map((line) => pad + ltrim(line)).join('\n')
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return pad + str.replaceAll('\n', `\n${pad}`)
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export function unindent(str: TemplateStringsArray | string, ...values: unknown[]) {
|
|
112
|
+
const raw = typeof str === 'string' ? str : String.raw({ raw: str }, ...values)
|
|
113
|
+
const lines = raw.split('\n')
|
|
114
|
+
|
|
115
|
+
// Trim leading/trailing empty lines via slice (immutable)
|
|
116
|
+
let head = 0
|
|
117
|
+
let tail = lines.length
|
|
118
|
+
|
|
119
|
+
while (head < tail && lines[head]!.trim() === '') {
|
|
120
|
+
head++
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
while (tail > head && lines[tail - 1]!.trim() === '') {
|
|
124
|
+
tail--
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const trimmed = lines.slice(head, tail)
|
|
128
|
+
|
|
129
|
+
// Find minimum indent across non-empty lines
|
|
130
|
+
let minIndent = Infinity
|
|
131
|
+
|
|
132
|
+
for (const line of trimmed) {
|
|
133
|
+
if (line.trim() === '') {
|
|
134
|
+
continue
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
minIndent = Math.min(minIndent, /^[ \t]*/u.exec(line)![0].length)
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if (minIndent === 0 || minIndent === Infinity) {
|
|
141
|
+
return trimmed.join('\n')
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return trimmed.map((line) => line.slice(minIndent)).join('\n')
|
|
145
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// eslint-disable-next-line no-control-regex, regexp/no-control-character, sonarjs/no-control-regex -- ANSI stripping requires matching control characters
|
|
2
|
+
const ANSI_REGEX = /\u001B(?:\[[\d;]*[A-Za-z]|\].*?(?:\u0007|\u001B\\)|\([A-Za-z]|[A-Z])/gu
|
|
3
|
+
|
|
4
|
+
export function stripAnsi(str: string) {
|
|
5
|
+
ANSI_REGEX.lastIndex = 0
|
|
6
|
+
|
|
7
|
+
if (!ANSI_REGEX.test(str)) {
|
|
8
|
+
return str
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
ANSI_REGEX.lastIndex = 0
|
|
12
|
+
|
|
13
|
+
return str.replace(ANSI_REGEX, '')
|
|
14
|
+
}
|