@ceschiatti/redistail 0.0.9 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/redistail.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{createRequire}from"node:module";var __defProp=Object.defineProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0,configurable:!0,set:(newValue)=>all[name]=()=>newValue})};var __require=createRequire(import.meta.url);var isFunction=(input)=>typeof input==="function",dual=function(arity,body){if(typeof arity==="function")return function(){if(arity(arguments))return body.apply(this,arguments);return(self)=>body(self,...arguments)};switch(arity){case 0:case 1:throw RangeError(`Invalid arity ${arity}`);case 2:return function(a,b){if(arguments.length>=2)return body(a,b);return function(self){return body(self,a)}};case 3:return function(a,b,c){if(arguments.length>=3)return body(a,b,c);return function(self){return body(self,a,b)}};case 4:return function(a,b,c,d){if(arguments.length>=4)return body(a,b,c,d);return function(self){return body(self,a,b,c)}};case 5:return function(a,b,c,d,e){if(arguments.length>=5)return body(a,b,c,d,e);return function(self){return body(self,a,b,c,d)}};default:return function(){if(arguments.length>=arity)return body.apply(this,arguments);let args=arguments;return function(self){return body(self,...args)}}}};var identity=(a)=>a;var constant=(value)=>()=>value,constTrue=constant(!0),constFalse=constant(!1);var constUndefined=constant(void 0),constVoid=constUndefined;function pipe(a,ab,bc,cd,de,ef,fg,gh,hi){switch(arguments.length){case 1:return a;case 2:return ab(a);case 3:return bc(ab(a));case 4:return cd(bc(ab(a)));case 5:return de(cd(bc(ab(a))));case 6:return ef(de(cd(bc(ab(a)))));case 7:return fg(ef(de(cd(bc(ab(a))))));case 8:return gh(fg(ef(de(cd(bc(ab(a)))))));case 9:return hi(gh(fg(ef(de(cd(bc(ab(a))))))));default:{let ret=arguments[0];for(let i=1;i<arguments.length;i++)ret=arguments[i](ret);return ret}}}var make=(isEquivalent)=>(self,that)=>self===that||isEquivalent(self,that),isStrictEquivalent=(x,y)=>x===y,strict=()=>isStrictEquivalent;var number=strict();var mapInput=dual(2,(self,f)=>make((x,y)=>self(f(x),f(y))));var array=(item)=>make((self,that)=>{if(self.length!==that.length)return!1;for(let i=0;i<self.length;i++)if(!item(self[i],that[i]))return!1;return!0});var let_=(map)=>dual(3,(self,name,f)=>map(self,(a)=>({...a,[name]:f(a)}))),bindTo=(map)=>dual(2,(self,name)=>map(self,(a)=>({[name]:a}))),bind=(map,flatMap)=>dual(3,(self,name,f)=>flatMap(self,(a)=>map(f(a),(b)=>({...a,[name]:b}))));var globalStore,globalValue=(id,compute)=>{if(!globalStore)globalThis["effect/GlobalValue"]??=new Map,globalStore=globalThis["effect/GlobalValue"];if(!globalStore.has(id))globalStore.set(id,compute());return globalStore.get(id)};var isString=(input)=>typeof input==="string",isNumber=(input)=>typeof input==="number",isBoolean=(input)=>typeof input==="boolean",isBigInt=(input)=>typeof input==="bigint",isSymbol=(input)=>typeof input==="symbol";var isFunction2=isFunction;var isRecordOrArray=(input)=>typeof input==="object"&&input!==null,isObject=(input)=>isRecordOrArray(input)||isFunction2(input),hasProperty=dual(2,(self,property)=>isObject(self)&&(property in self)),isTagged=dual(2,(self,tag)=>hasProperty(self,"_tag")&&self._tag===tag),isNullable=(input)=>input===null||input===void 0;var isDate=(input)=>input instanceof Date,isIterable=(input)=>typeof input==="string"||hasProperty(input,Symbol.iterator);var isPromiseLike=(input)=>hasProperty(input,"then")&&isFunction2(input.then);var getBugErrorMessage=(message)=>`BUG: ${message} - please report an issue at https://github.com/Effect-TS/effect/issues`;class SingleShotGen{self;called=!1;constructor(self){this.self=self}next(a){return this.called?{value:a,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(a){return{value:a,done:!0}}throw(e){throw e}[Symbol.iterator](){return new SingleShotGen(this.self)}}var defaultIncHi=335903614,defaultIncLo=4150755663,MUL_HI=1481765933,MUL_LO=1284865837,BIT_53=9007199254740992,BIT_27=134217728;class PCGRandom{_state;constructor(seedHi,seedLo,incHi,incLo){if(isNullable(seedLo)&&isNullable(seedHi))seedLo=Math.random()*4294967295>>>0,seedHi=0;else if(isNullable(seedLo))seedLo=seedHi,seedHi=0;if(isNullable(incLo)&&isNullable(incHi))incLo=this._state?this._state[3]:defaultIncLo,incHi=this._state?this._state[2]:defaultIncHi;else if(isNullable(incLo))incLo=incHi,incHi=0;return this._state=new Int32Array([0,0,incHi>>>0,((incLo||0)|1)>>>0]),this._next(),add64(this._state,this._state[0],this._state[1],seedHi>>>0,seedLo>>>0),this._next(),this}getState(){return[this._state[0],this._state[1],this._state[2],this._state[3]]}setState(state){this._state[0]=state[0],this._state[1]=state[1],this._state[2]=state[2],this._state[3]=state[3]|1}integer(max){return Math.round(this.number()*Number.MAX_SAFE_INTEGER)%max}number(){let hi=(this._next()&67108863)*1,lo=(this._next()&134217727)*1;return(hi*BIT_27+lo)/BIT_53}_next(){let oldHi=this._state[0]>>>0,oldLo=this._state[1]>>>0;mul64(this._state,oldHi,oldLo,MUL_HI,MUL_LO),add64(this._state,this._state[0],this._state[1],this._state[2],this._state[3]);let xsHi=oldHi>>>18,xsLo=(oldLo>>>18|oldHi<<14)>>>0;xsHi=(xsHi^oldHi)>>>0,xsLo=(xsLo^oldLo)>>>0;let xorshifted=(xsLo>>>27|xsHi<<5)>>>0,rot=oldHi>>>27,rot2=(-rot>>>0&31)>>>0;return(xorshifted>>>rot|xorshifted<<rot2)>>>0}}function mul64(out,aHi,aLo,bHi,bLo){let c1=(aLo>>>16)*(bLo&65535)>>>0,c0=(aLo&65535)*(bLo>>>16)>>>0,lo=(aLo&65535)*(bLo&65535)>>>0,hi=(aLo>>>16)*(bLo>>>16)+((c0>>>16)+(c1>>>16))>>>0;if(c0=c0<<16>>>0,lo=lo+c0>>>0,lo>>>0<c0>>>0)hi=hi+1>>>0;if(c1=c1<<16>>>0,lo=lo+c1>>>0,lo>>>0<c1>>>0)hi=hi+1>>>0;hi=hi+Math.imul(aLo,bHi)>>>0,hi=hi+Math.imul(aHi,bLo)>>>0,out[0]=hi,out[1]=lo}function add64(out,aHi,aLo,bHi,bLo){let hi=aHi+bHi>>>0,lo=aLo+bLo>>>0;if(lo>>>0<aLo>>>0)hi=hi+1|0;out[0]=hi,out[1]=lo}var YieldWrapTypeId=Symbol.for("effect/Utils/YieldWrap");class YieldWrap{#value;constructor(value){this.#value=value}[YieldWrapTypeId](){return this.#value}}function yieldWrapGet(self){if(typeof self==="object"&&self!==null&&YieldWrapTypeId in self)return self[YieldWrapTypeId]();throw Error(getBugErrorMessage("yieldWrapGet"))}var structuralRegionState=globalValue("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var standard={effect_internal_function:(body)=>{return body()}},forced={effect_internal_function:(body)=>{try{return body()}finally{}}},isNotOptimizedAway=standard.effect_internal_function(()=>Error().stack)?.includes("effect_internal_function")===!0,internalCall=isNotOptimizedAway?standard.effect_internal_function:forced.effect_internal_function,genConstructor=function*(){}.constructor,isGeneratorFunction=(u)=>isObject(u)&&u.constructor===genConstructor;var randomHashCache=globalValue(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),symbol=Symbol.for("effect/Hash"),hash=(self)=>{if(structuralRegionState.enabled===!0)return 0;switch(typeof self){case"number":return number2(self);case"bigint":return string(self.toString(10));case"boolean":return string(String(self));case"symbol":return string(String(self));case"string":return string(self);case"undefined":return string("undefined");case"function":case"object":if(self===null)return string("null");else if(self instanceof Date){if(Number.isNaN(self.getTime()))return string("Invalid Date");return hash(self.toISOString())}else if(self instanceof URL)return hash(self.href);else if(isHash(self))return self[symbol]();else return random(self);default:throw Error(`BUG: unhandled typeof ${typeof self} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},random=(self)=>{if(!randomHashCache.has(self))randomHashCache.set(self,number2(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return randomHashCache.get(self)},combine=(b)=>(self)=>self*53^b,optimize=(n)=>n&3221225471|n>>>1&1073741824,isHash=(u)=>hasProperty(u,symbol),number2=(n)=>{if(n!==n||n===1/0)return 0;let h=n|0;if(h!==n)h^=n*4294967295;while(n>4294967295)h^=n/=4294967295;return optimize(h)},string=(str)=>{let h=5381,i=str.length;while(i)h=h*33^str.charCodeAt(--i);return optimize(h)},structureKeys=(o,keys)=>{let h=12289;for(let i=0;i<keys.length;i++)h^=pipe(string(keys[i]),combine(hash(o[keys[i]])));return optimize(h)},structure=(o)=>structureKeys(o,Object.keys(o)),array2=(arr)=>{let h=6151;for(let i=0;i<arr.length;i++)h=pipe(h,combine(hash(arr[i])));return optimize(h)},cached=function(){if(arguments.length===1){let self2=arguments[0];return function(hash3){return Object.defineProperty(self2,symbol,{value(){return hash3},enumerable:!1}),hash3}}let self=arguments[0],hash2=arguments[1];return Object.defineProperty(self,symbol,{value(){return hash2},enumerable:!1}),hash2};var symbol2=Symbol.for("effect/Equal");function equals(){if(arguments.length===1)return(self)=>compareBoth(self,arguments[0]);return compareBoth(arguments[0],arguments[1])}function compareBoth(self,that){if(self===that)return!0;let selfType=typeof self;if(selfType!==typeof that)return!1;if(selfType==="object"||selfType==="function"){if(self!==null&&that!==null){if(isEqual(self)&&isEqual(that))if(hash(self)===hash(that)&&self[symbol2](that))return!0;else return structuralRegionState.enabled&&structuralRegionState.tester?structuralRegionState.tester(self,that):!1;else if(self instanceof Date&&that instanceof Date){let t1=self.getTime(),t2=that.getTime();return t1===t2||Number.isNaN(t1)&&Number.isNaN(t2)}else if(self instanceof URL&&that instanceof URL)return self.href===that.href}if(structuralRegionState.enabled){if(Array.isArray(self)&&Array.isArray(that))return self.length===that.length&&self.every((v,i)=>compareBoth(v,that[i]));if(Object.getPrototypeOf(self)===Object.prototype&&Object.getPrototypeOf(self)===Object.prototype){let keysSelf=Object.keys(self),keysThat=Object.keys(that);if(keysSelf.length===keysThat.length){for(let key of keysSelf)if(!((key in that)&&compareBoth(self[key],that[key])))return structuralRegionState.tester?structuralRegionState.tester(self,that):!1;return!0}}return structuralRegionState.tester?structuralRegionState.tester(self,that):!1}}return structuralRegionState.enabled&&structuralRegionState.tester?structuralRegionState.tester(self,that):!1}var isEqual=(u)=>hasProperty(u,symbol2),equivalence=()=>equals;var NodeInspectSymbol=Symbol.for("nodejs.util.inspect.custom"),toJSON=(x)=>{try{if(hasProperty(x,"toJSON")&&isFunction2(x.toJSON)&&x.toJSON.length===0)return x.toJSON();else if(Array.isArray(x))return x.map(toJSON)}catch{return{}}return redact(x)},CIRCULAR="[Circular]";function formatDate(date){try{return date.toISOString()}catch{return"Invalid Date"}}function safeToString(input){try{let s=input.toString();return typeof s==="string"?s:String(s)}catch{return"[toString threw]"}}function formatPropertyKey(name){return isString(name)?JSON.stringify(name):String(name)}function formatUnknown(input,options){let space=options?.space??0,seen=new WeakSet,gap=!space?"":isNumber(space)?" ".repeat(space):space,ind=(d)=>gap.repeat(d),wrap=(v,body)=>{let ctor=v?.constructor;return ctor&&ctor!==Object.prototype.constructor&&ctor.name?`${ctor.name}(${body})`:body},ownKeys=(o)=>{try{return Reflect.ownKeys(o)}catch{return["[ownKeys threw]"]}};function go(v,d=0){if(Array.isArray(v)){if(seen.has(v))return CIRCULAR;if(seen.add(v),!gap||v.length<=1)return`[${v.map((x)=>go(x,d)).join(",")}]`;let inner=v.map((x)=>go(x,d+1)).join(`,
|
|
1
|
+
import{createRequire}from"node:module";var __defProp=Object.defineProperty;var __commonJS=(cb,mod)=>()=>(mod||cb((mod={exports:{}}).exports,mod),mod.exports);var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0,configurable:!0,set:(newValue)=>all[name]=()=>newValue})};var __require=createRequire(import.meta.url);var require_package=__commonJS((exports,module)=>{module.exports={name:"effect",version:"3.19.14",description:"The missing standard library for TypeScript, for writing production-grade software.",license:"MIT",repository:{type:"git",url:"https://github.com/Effect-TS/effect.git",directory:"packages/effect"},sideEffects:[],homepage:"https://effect.website",dependencies:{"@standard-schema/spec":"^1.0.0","fast-check":"^3.23.1"},publishConfig:{provenance:!0},main:"./dist/cjs/index.js",module:"./dist/esm/index.js",types:"./dist/dts/index.d.ts",exports:{"./package.json":"./package.json",".":{types:"./dist/dts/index.d.ts",import:"./dist/esm/index.js",default:"./dist/cjs/index.js"},"./.index":{types:"./dist/dts/.index.d.ts",import:"./dist/esm/.index.js",default:"./dist/cjs/.index.js"},"./Arbitrary":{types:"./dist/dts/Arbitrary.d.ts",import:"./dist/esm/Arbitrary.js",default:"./dist/cjs/Arbitrary.js"},"./Array":{types:"./dist/dts/Array.d.ts",import:"./dist/esm/Array.js",default:"./dist/cjs/Array.js"},"./BigDecimal":{types:"./dist/dts/BigDecimal.d.ts",import:"./dist/esm/BigDecimal.js",default:"./dist/cjs/BigDecimal.js"},"./BigInt":{types:"./dist/dts/BigInt.d.ts",import:"./dist/esm/BigInt.js",default:"./dist/cjs/BigInt.js"},"./Boolean":{types:"./dist/dts/Boolean.d.ts",import:"./dist/esm/Boolean.js",default:"./dist/cjs/Boolean.js"},"./Brand":{types:"./dist/dts/Brand.d.ts",import:"./dist/esm/Brand.js",default:"./dist/cjs/Brand.js"},"./Cache":{types:"./dist/dts/Cache.d.ts",import:"./dist/esm/Cache.js",default:"./dist/cjs/Cache.js"},"./Cause":{types:"./dist/dts/Cause.d.ts",import:"./dist/esm/Cause.js",default:"./dist/cjs/Cause.js"},"./Channel":{types:"./dist/dts/Channel.d.ts",import:"./dist/esm/Channel.js",default:"./dist/cjs/Channel.js"},"./ChildExecutorDecision":{types:"./dist/dts/ChildExecutorDecision.d.ts",import:"./dist/esm/ChildExecutorDecision.js",default:"./dist/cjs/ChildExecutorDecision.js"},"./Chunk":{types:"./dist/dts/Chunk.d.ts",import:"./dist/esm/Chunk.js",default:"./dist/cjs/Chunk.js"},"./Clock":{types:"./dist/dts/Clock.d.ts",import:"./dist/esm/Clock.js",default:"./dist/cjs/Clock.js"},"./Config":{types:"./dist/dts/Config.d.ts",import:"./dist/esm/Config.js",default:"./dist/cjs/Config.js"},"./ConfigError":{types:"./dist/dts/ConfigError.d.ts",import:"./dist/esm/ConfigError.js",default:"./dist/cjs/ConfigError.js"},"./ConfigProvider":{types:"./dist/dts/ConfigProvider.d.ts",import:"./dist/esm/ConfigProvider.js",default:"./dist/cjs/ConfigProvider.js"},"./ConfigProviderPathPatch":{types:"./dist/dts/ConfigProviderPathPatch.d.ts",import:"./dist/esm/ConfigProviderPathPatch.js",default:"./dist/cjs/ConfigProviderPathPatch.js"},"./Console":{types:"./dist/dts/Console.d.ts",import:"./dist/esm/Console.js",default:"./dist/cjs/Console.js"},"./Context":{types:"./dist/dts/Context.d.ts",import:"./dist/esm/Context.js",default:"./dist/cjs/Context.js"},"./Cron":{types:"./dist/dts/Cron.d.ts",import:"./dist/esm/Cron.js",default:"./dist/cjs/Cron.js"},"./Data":{types:"./dist/dts/Data.d.ts",import:"./dist/esm/Data.js",default:"./dist/cjs/Data.js"},"./DateTime":{types:"./dist/dts/DateTime.d.ts",import:"./dist/esm/DateTime.js",default:"./dist/cjs/DateTime.js"},"./DefaultServices":{types:"./dist/dts/DefaultServices.d.ts",import:"./dist/esm/DefaultServices.js",default:"./dist/cjs/DefaultServices.js"},"./Deferred":{types:"./dist/dts/Deferred.d.ts",import:"./dist/esm/Deferred.js",default:"./dist/cjs/Deferred.js"},"./Differ":{types:"./dist/dts/Differ.d.ts",import:"./dist/esm/Differ.js",default:"./dist/cjs/Differ.js"},"./Duration":{types:"./dist/dts/Duration.d.ts",import:"./dist/esm/Duration.js",default:"./dist/cjs/Duration.js"},"./Effect":{types:"./dist/dts/Effect.d.ts",import:"./dist/esm/Effect.js",default:"./dist/cjs/Effect.js"},"./Effectable":{types:"./dist/dts/Effectable.d.ts",import:"./dist/esm/Effectable.js",default:"./dist/cjs/Effectable.js"},"./Either":{types:"./dist/dts/Either.d.ts",import:"./dist/esm/Either.js",default:"./dist/cjs/Either.js"},"./Encoding":{types:"./dist/dts/Encoding.d.ts",import:"./dist/esm/Encoding.js",default:"./dist/cjs/Encoding.js"},"./Equal":{types:"./dist/dts/Equal.d.ts",import:"./dist/esm/Equal.js",default:"./dist/cjs/Equal.js"},"./Equivalence":{types:"./dist/dts/Equivalence.d.ts",import:"./dist/esm/Equivalence.js",default:"./dist/cjs/Equivalence.js"},"./ExecutionPlan":{types:"./dist/dts/ExecutionPlan.d.ts",import:"./dist/esm/ExecutionPlan.js",default:"./dist/cjs/ExecutionPlan.js"},"./ExecutionStrategy":{types:"./dist/dts/ExecutionStrategy.d.ts",import:"./dist/esm/ExecutionStrategy.js",default:"./dist/cjs/ExecutionStrategy.js"},"./Exit":{types:"./dist/dts/Exit.d.ts",import:"./dist/esm/Exit.js",default:"./dist/cjs/Exit.js"},"./FastCheck":{types:"./dist/dts/FastCheck.d.ts",import:"./dist/esm/FastCheck.js",default:"./dist/cjs/FastCheck.js"},"./Fiber":{types:"./dist/dts/Fiber.d.ts",import:"./dist/esm/Fiber.js",default:"./dist/cjs/Fiber.js"},"./FiberHandle":{types:"./dist/dts/FiberHandle.d.ts",import:"./dist/esm/FiberHandle.js",default:"./dist/cjs/FiberHandle.js"},"./FiberId":{types:"./dist/dts/FiberId.d.ts",import:"./dist/esm/FiberId.js",default:"./dist/cjs/FiberId.js"},"./FiberMap":{types:"./dist/dts/FiberMap.d.ts",import:"./dist/esm/FiberMap.js",default:"./dist/cjs/FiberMap.js"},"./FiberRef":{types:"./dist/dts/FiberRef.d.ts",import:"./dist/esm/FiberRef.js",default:"./dist/cjs/FiberRef.js"},"./FiberRefs":{types:"./dist/dts/FiberRefs.d.ts",import:"./dist/esm/FiberRefs.js",default:"./dist/cjs/FiberRefs.js"},"./FiberRefsPatch":{types:"./dist/dts/FiberRefsPatch.d.ts",import:"./dist/esm/FiberRefsPatch.js",default:"./dist/cjs/FiberRefsPatch.js"},"./FiberSet":{types:"./dist/dts/FiberSet.d.ts",import:"./dist/esm/FiberSet.js",default:"./dist/cjs/FiberSet.js"},"./FiberStatus":{types:"./dist/dts/FiberStatus.d.ts",import:"./dist/esm/FiberStatus.js",default:"./dist/cjs/FiberStatus.js"},"./Function":{types:"./dist/dts/Function.d.ts",import:"./dist/esm/Function.js",default:"./dist/cjs/Function.js"},"./GlobalValue":{types:"./dist/dts/GlobalValue.d.ts",import:"./dist/esm/GlobalValue.js",default:"./dist/cjs/GlobalValue.js"},"./Graph":{types:"./dist/dts/Graph.d.ts",import:"./dist/esm/Graph.js",default:"./dist/cjs/Graph.js"},"./GroupBy":{types:"./dist/dts/GroupBy.d.ts",import:"./dist/esm/GroupBy.js",default:"./dist/cjs/GroupBy.js"},"./HKT":{types:"./dist/dts/HKT.d.ts",import:"./dist/esm/HKT.js",default:"./dist/cjs/HKT.js"},"./Hash":{types:"./dist/dts/Hash.d.ts",import:"./dist/esm/Hash.js",default:"./dist/cjs/Hash.js"},"./HashMap":{types:"./dist/dts/HashMap.d.ts",import:"./dist/esm/HashMap.js",default:"./dist/cjs/HashMap.js"},"./HashRing":{types:"./dist/dts/HashRing.d.ts",import:"./dist/esm/HashRing.js",default:"./dist/cjs/HashRing.js"},"./HashSet":{types:"./dist/dts/HashSet.d.ts",import:"./dist/esm/HashSet.js",default:"./dist/cjs/HashSet.js"},"./Inspectable":{types:"./dist/dts/Inspectable.d.ts",import:"./dist/esm/Inspectable.js",default:"./dist/cjs/Inspectable.js"},"./Iterable":{types:"./dist/dts/Iterable.d.ts",import:"./dist/esm/Iterable.js",default:"./dist/cjs/Iterable.js"},"./JSONSchema":{types:"./dist/dts/JSONSchema.d.ts",import:"./dist/esm/JSONSchema.js",default:"./dist/cjs/JSONSchema.js"},"./KeyedPool":{types:"./dist/dts/KeyedPool.d.ts",import:"./dist/esm/KeyedPool.js",default:"./dist/cjs/KeyedPool.js"},"./Layer":{types:"./dist/dts/Layer.d.ts",import:"./dist/esm/Layer.js",default:"./dist/cjs/Layer.js"},"./LayerMap":{types:"./dist/dts/LayerMap.d.ts",import:"./dist/esm/LayerMap.js",default:"./dist/cjs/LayerMap.js"},"./List":{types:"./dist/dts/List.d.ts",import:"./dist/esm/List.js",default:"./dist/cjs/List.js"},"./LogLevel":{types:"./dist/dts/LogLevel.d.ts",import:"./dist/esm/LogLevel.js",default:"./dist/cjs/LogLevel.js"},"./LogSpan":{types:"./dist/dts/LogSpan.d.ts",import:"./dist/esm/LogSpan.js",default:"./dist/cjs/LogSpan.js"},"./Logger":{types:"./dist/dts/Logger.d.ts",import:"./dist/esm/Logger.js",default:"./dist/cjs/Logger.js"},"./Mailbox":{types:"./dist/dts/Mailbox.d.ts",import:"./dist/esm/Mailbox.js",default:"./dist/cjs/Mailbox.js"},"./ManagedRuntime":{types:"./dist/dts/ManagedRuntime.d.ts",import:"./dist/esm/ManagedRuntime.js",default:"./dist/cjs/ManagedRuntime.js"},"./Match":{types:"./dist/dts/Match.d.ts",import:"./dist/esm/Match.js",default:"./dist/cjs/Match.js"},"./MergeDecision":{types:"./dist/dts/MergeDecision.d.ts",import:"./dist/esm/MergeDecision.js",default:"./dist/cjs/MergeDecision.js"},"./MergeState":{types:"./dist/dts/MergeState.d.ts",import:"./dist/esm/MergeState.js",default:"./dist/cjs/MergeState.js"},"./MergeStrategy":{types:"./dist/dts/MergeStrategy.d.ts",import:"./dist/esm/MergeStrategy.js",default:"./dist/cjs/MergeStrategy.js"},"./Metric":{types:"./dist/dts/Metric.d.ts",import:"./dist/esm/Metric.js",default:"./dist/cjs/Metric.js"},"./MetricBoundaries":{types:"./dist/dts/MetricBoundaries.d.ts",import:"./dist/esm/MetricBoundaries.js",default:"./dist/cjs/MetricBoundaries.js"},"./MetricHook":{types:"./dist/dts/MetricHook.d.ts",import:"./dist/esm/MetricHook.js",default:"./dist/cjs/MetricHook.js"},"./MetricKey":{types:"./dist/dts/MetricKey.d.ts",import:"./dist/esm/MetricKey.js",default:"./dist/cjs/MetricKey.js"},"./MetricKeyType":{types:"./dist/dts/MetricKeyType.d.ts",import:"./dist/esm/MetricKeyType.js",default:"./dist/cjs/MetricKeyType.js"},"./MetricLabel":{types:"./dist/dts/MetricLabel.d.ts",import:"./dist/esm/MetricLabel.js",default:"./dist/cjs/MetricLabel.js"},"./MetricPair":{types:"./dist/dts/MetricPair.d.ts",import:"./dist/esm/MetricPair.js",default:"./dist/cjs/MetricPair.js"},"./MetricPolling":{types:"./dist/dts/MetricPolling.d.ts",import:"./dist/esm/MetricPolling.js",default:"./dist/cjs/MetricPolling.js"},"./MetricRegistry":{types:"./dist/dts/MetricRegistry.d.ts",import:"./dist/esm/MetricRegistry.js",default:"./dist/cjs/MetricRegistry.js"},"./MetricState":{types:"./dist/dts/MetricState.d.ts",import:"./dist/esm/MetricState.js",default:"./dist/cjs/MetricState.js"},"./Micro":{types:"./dist/dts/Micro.d.ts",import:"./dist/esm/Micro.js",default:"./dist/cjs/Micro.js"},"./ModuleVersion":{types:"./dist/dts/ModuleVersion.d.ts",import:"./dist/esm/ModuleVersion.js",default:"./dist/cjs/ModuleVersion.js"},"./MutableHashMap":{types:"./dist/dts/MutableHashMap.d.ts",import:"./dist/esm/MutableHashMap.js",default:"./dist/cjs/MutableHashMap.js"},"./MutableHashSet":{types:"./dist/dts/MutableHashSet.d.ts",import:"./dist/esm/MutableHashSet.js",default:"./dist/cjs/MutableHashSet.js"},"./MutableList":{types:"./dist/dts/MutableList.d.ts",import:"./dist/esm/MutableList.js",default:"./dist/cjs/MutableList.js"},"./MutableQueue":{types:"./dist/dts/MutableQueue.d.ts",import:"./dist/esm/MutableQueue.js",default:"./dist/cjs/MutableQueue.js"},"./MutableRef":{types:"./dist/dts/MutableRef.d.ts",import:"./dist/esm/MutableRef.js",default:"./dist/cjs/MutableRef.js"},"./NonEmptyIterable":{types:"./dist/dts/NonEmptyIterable.d.ts",import:"./dist/esm/NonEmptyIterable.js",default:"./dist/cjs/NonEmptyIterable.js"},"./Number":{types:"./dist/dts/Number.d.ts",import:"./dist/esm/Number.js",default:"./dist/cjs/Number.js"},"./Option":{types:"./dist/dts/Option.d.ts",import:"./dist/esm/Option.js",default:"./dist/cjs/Option.js"},"./Order":{types:"./dist/dts/Order.d.ts",import:"./dist/esm/Order.js",default:"./dist/cjs/Order.js"},"./Ordering":{types:"./dist/dts/Ordering.d.ts",import:"./dist/esm/Ordering.js",default:"./dist/cjs/Ordering.js"},"./ParseResult":{types:"./dist/dts/ParseResult.d.ts",import:"./dist/esm/ParseResult.js",default:"./dist/cjs/ParseResult.js"},"./PartitionedSemaphore":{types:"./dist/dts/PartitionedSemaphore.d.ts",import:"./dist/esm/PartitionedSemaphore.js",default:"./dist/cjs/PartitionedSemaphore.js"},"./Pipeable":{types:"./dist/dts/Pipeable.d.ts",import:"./dist/esm/Pipeable.js",default:"./dist/cjs/Pipeable.js"},"./Pool":{types:"./dist/dts/Pool.d.ts",import:"./dist/esm/Pool.js",default:"./dist/cjs/Pool.js"},"./Predicate":{types:"./dist/dts/Predicate.d.ts",import:"./dist/esm/Predicate.js",default:"./dist/cjs/Predicate.js"},"./Pretty":{types:"./dist/dts/Pretty.d.ts",import:"./dist/esm/Pretty.js",default:"./dist/cjs/Pretty.js"},"./PrimaryKey":{types:"./dist/dts/PrimaryKey.d.ts",import:"./dist/esm/PrimaryKey.js",default:"./dist/cjs/PrimaryKey.js"},"./PubSub":{types:"./dist/dts/PubSub.d.ts",import:"./dist/esm/PubSub.js",default:"./dist/cjs/PubSub.js"},"./Queue":{types:"./dist/dts/Queue.d.ts",import:"./dist/esm/Queue.js",default:"./dist/cjs/Queue.js"},"./Random":{types:"./dist/dts/Random.d.ts",import:"./dist/esm/Random.js",default:"./dist/cjs/Random.js"},"./RateLimiter":{types:"./dist/dts/RateLimiter.d.ts",import:"./dist/esm/RateLimiter.js",default:"./dist/cjs/RateLimiter.js"},"./RcMap":{types:"./dist/dts/RcMap.d.ts",import:"./dist/esm/RcMap.js",default:"./dist/cjs/RcMap.js"},"./RcRef":{types:"./dist/dts/RcRef.d.ts",import:"./dist/esm/RcRef.js",default:"./dist/cjs/RcRef.js"},"./Readable":{types:"./dist/dts/Readable.d.ts",import:"./dist/esm/Readable.js",default:"./dist/cjs/Readable.js"},"./Record":{types:"./dist/dts/Record.d.ts",import:"./dist/esm/Record.js",default:"./dist/cjs/Record.js"},"./RedBlackTree":{types:"./dist/dts/RedBlackTree.d.ts",import:"./dist/esm/RedBlackTree.js",default:"./dist/cjs/RedBlackTree.js"},"./Redacted":{types:"./dist/dts/Redacted.d.ts",import:"./dist/esm/Redacted.js",default:"./dist/cjs/Redacted.js"},"./Ref":{types:"./dist/dts/Ref.d.ts",import:"./dist/esm/Ref.js",default:"./dist/cjs/Ref.js"},"./RegExp":{types:"./dist/dts/RegExp.d.ts",import:"./dist/esm/RegExp.js",default:"./dist/cjs/RegExp.js"},"./Reloadable":{types:"./dist/dts/Reloadable.d.ts",import:"./dist/esm/Reloadable.js",default:"./dist/cjs/Reloadable.js"},"./Request":{types:"./dist/dts/Request.d.ts",import:"./dist/esm/Request.js",default:"./dist/cjs/Request.js"},"./RequestBlock":{types:"./dist/dts/RequestBlock.d.ts",import:"./dist/esm/RequestBlock.js",default:"./dist/cjs/RequestBlock.js"},"./RequestResolver":{types:"./dist/dts/RequestResolver.d.ts",import:"./dist/esm/RequestResolver.js",default:"./dist/cjs/RequestResolver.js"},"./Resource":{types:"./dist/dts/Resource.d.ts",import:"./dist/esm/Resource.js",default:"./dist/cjs/Resource.js"},"./Runtime":{types:"./dist/dts/Runtime.d.ts",import:"./dist/esm/Runtime.js",default:"./dist/cjs/Runtime.js"},"./RuntimeFlags":{types:"./dist/dts/RuntimeFlags.d.ts",import:"./dist/esm/RuntimeFlags.js",default:"./dist/cjs/RuntimeFlags.js"},"./RuntimeFlagsPatch":{types:"./dist/dts/RuntimeFlagsPatch.d.ts",import:"./dist/esm/RuntimeFlagsPatch.js",default:"./dist/cjs/RuntimeFlagsPatch.js"},"./STM":{types:"./dist/dts/STM.d.ts",import:"./dist/esm/STM.js",default:"./dist/cjs/STM.js"},"./Schedule":{types:"./dist/dts/Schedule.d.ts",import:"./dist/esm/Schedule.js",default:"./dist/cjs/Schedule.js"},"./ScheduleDecision":{types:"./dist/dts/ScheduleDecision.d.ts",import:"./dist/esm/ScheduleDecision.js",default:"./dist/cjs/ScheduleDecision.js"},"./ScheduleInterval":{types:"./dist/dts/ScheduleInterval.d.ts",import:"./dist/esm/ScheduleInterval.js",default:"./dist/cjs/ScheduleInterval.js"},"./ScheduleIntervals":{types:"./dist/dts/ScheduleIntervals.d.ts",import:"./dist/esm/ScheduleIntervals.js",default:"./dist/cjs/ScheduleIntervals.js"},"./Scheduler":{types:"./dist/dts/Scheduler.d.ts",import:"./dist/esm/Scheduler.js",default:"./dist/cjs/Scheduler.js"},"./Schema":{types:"./dist/dts/Schema.d.ts",import:"./dist/esm/Schema.js",default:"./dist/cjs/Schema.js"},"./SchemaAST":{types:"./dist/dts/SchemaAST.d.ts",import:"./dist/esm/SchemaAST.js",default:"./dist/cjs/SchemaAST.js"},"./Scope":{types:"./dist/dts/Scope.d.ts",import:"./dist/esm/Scope.js",default:"./dist/cjs/Scope.js"},"./ScopedCache":{types:"./dist/dts/ScopedCache.d.ts",import:"./dist/esm/ScopedCache.js",default:"./dist/cjs/ScopedCache.js"},"./ScopedRef":{types:"./dist/dts/ScopedRef.d.ts",import:"./dist/esm/ScopedRef.js",default:"./dist/cjs/ScopedRef.js"},"./Secret":{types:"./dist/dts/Secret.d.ts",import:"./dist/esm/Secret.js",default:"./dist/cjs/Secret.js"},"./SingleProducerAsyncInput":{types:"./dist/dts/SingleProducerAsyncInput.d.ts",import:"./dist/esm/SingleProducerAsyncInput.js",default:"./dist/cjs/SingleProducerAsyncInput.js"},"./Sink":{types:"./dist/dts/Sink.d.ts",import:"./dist/esm/Sink.js",default:"./dist/cjs/Sink.js"},"./SortedMap":{types:"./dist/dts/SortedMap.d.ts",import:"./dist/esm/SortedMap.js",default:"./dist/cjs/SortedMap.js"},"./SortedSet":{types:"./dist/dts/SortedSet.d.ts",import:"./dist/esm/SortedSet.js",default:"./dist/cjs/SortedSet.js"},"./Stream":{types:"./dist/dts/Stream.d.ts",import:"./dist/esm/Stream.js",default:"./dist/cjs/Stream.js"},"./StreamEmit":{types:"./dist/dts/StreamEmit.d.ts",import:"./dist/esm/StreamEmit.js",default:"./dist/cjs/StreamEmit.js"},"./StreamHaltStrategy":{types:"./dist/dts/StreamHaltStrategy.d.ts",import:"./dist/esm/StreamHaltStrategy.js",default:"./dist/cjs/StreamHaltStrategy.js"},"./Streamable":{types:"./dist/dts/Streamable.d.ts",import:"./dist/esm/Streamable.js",default:"./dist/cjs/Streamable.js"},"./String":{types:"./dist/dts/String.d.ts",import:"./dist/esm/String.js",default:"./dist/cjs/String.js"},"./Struct":{types:"./dist/dts/Struct.d.ts",import:"./dist/esm/Struct.js",default:"./dist/cjs/Struct.js"},"./Subscribable":{types:"./dist/dts/Subscribable.d.ts",import:"./dist/esm/Subscribable.js",default:"./dist/cjs/Subscribable.js"},"./SubscriptionRef":{types:"./dist/dts/SubscriptionRef.d.ts",import:"./dist/esm/SubscriptionRef.js",default:"./dist/cjs/SubscriptionRef.js"},"./Supervisor":{types:"./dist/dts/Supervisor.d.ts",import:"./dist/esm/Supervisor.js",default:"./dist/cjs/Supervisor.js"},"./Symbol":{types:"./dist/dts/Symbol.d.ts",import:"./dist/esm/Symbol.js",default:"./dist/cjs/Symbol.js"},"./SynchronizedRef":{types:"./dist/dts/SynchronizedRef.d.ts",import:"./dist/esm/SynchronizedRef.js",default:"./dist/cjs/SynchronizedRef.js"},"./TArray":{types:"./dist/dts/TArray.d.ts",import:"./dist/esm/TArray.js",default:"./dist/cjs/TArray.js"},"./TDeferred":{types:"./dist/dts/TDeferred.d.ts",import:"./dist/esm/TDeferred.js",default:"./dist/cjs/TDeferred.js"},"./TMap":{types:"./dist/dts/TMap.d.ts",import:"./dist/esm/TMap.js",default:"./dist/cjs/TMap.js"},"./TPriorityQueue":{types:"./dist/dts/TPriorityQueue.d.ts",import:"./dist/esm/TPriorityQueue.js",default:"./dist/cjs/TPriorityQueue.js"},"./TPubSub":{types:"./dist/dts/TPubSub.d.ts",import:"./dist/esm/TPubSub.js",default:"./dist/cjs/TPubSub.js"},"./TQueue":{types:"./dist/dts/TQueue.d.ts",import:"./dist/esm/TQueue.js",default:"./dist/cjs/TQueue.js"},"./TRandom":{types:"./dist/dts/TRandom.d.ts",import:"./dist/esm/TRandom.js",default:"./dist/cjs/TRandom.js"},"./TReentrantLock":{types:"./dist/dts/TReentrantLock.d.ts",import:"./dist/esm/TReentrantLock.js",default:"./dist/cjs/TReentrantLock.js"},"./TRef":{types:"./dist/dts/TRef.d.ts",import:"./dist/esm/TRef.js",default:"./dist/cjs/TRef.js"},"./TSemaphore":{types:"./dist/dts/TSemaphore.d.ts",import:"./dist/esm/TSemaphore.js",default:"./dist/cjs/TSemaphore.js"},"./TSet":{types:"./dist/dts/TSet.d.ts",import:"./dist/esm/TSet.js",default:"./dist/cjs/TSet.js"},"./TSubscriptionRef":{types:"./dist/dts/TSubscriptionRef.d.ts",import:"./dist/esm/TSubscriptionRef.js",default:"./dist/cjs/TSubscriptionRef.js"},"./Take":{types:"./dist/dts/Take.d.ts",import:"./dist/esm/Take.js",default:"./dist/cjs/Take.js"},"./TestAnnotation":{types:"./dist/dts/TestAnnotation.d.ts",import:"./dist/esm/TestAnnotation.js",default:"./dist/cjs/TestAnnotation.js"},"./TestAnnotationMap":{types:"./dist/dts/TestAnnotationMap.d.ts",import:"./dist/esm/TestAnnotationMap.js",default:"./dist/cjs/TestAnnotationMap.js"},"./TestAnnotations":{types:"./dist/dts/TestAnnotations.d.ts",import:"./dist/esm/TestAnnotations.js",default:"./dist/cjs/TestAnnotations.js"},"./TestClock":{types:"./dist/dts/TestClock.d.ts",import:"./dist/esm/TestClock.js",default:"./dist/cjs/TestClock.js"},"./TestConfig":{types:"./dist/dts/TestConfig.d.ts",import:"./dist/esm/TestConfig.js",default:"./dist/cjs/TestConfig.js"},"./TestContext":{types:"./dist/dts/TestContext.d.ts",import:"./dist/esm/TestContext.js",default:"./dist/cjs/TestContext.js"},"./TestLive":{types:"./dist/dts/TestLive.d.ts",import:"./dist/esm/TestLive.js",default:"./dist/cjs/TestLive.js"},"./TestServices":{types:"./dist/dts/TestServices.d.ts",import:"./dist/esm/TestServices.js",default:"./dist/cjs/TestServices.js"},"./TestSized":{types:"./dist/dts/TestSized.d.ts",import:"./dist/esm/TestSized.js",default:"./dist/cjs/TestSized.js"},"./Tracer":{types:"./dist/dts/Tracer.d.ts",import:"./dist/esm/Tracer.js",default:"./dist/cjs/Tracer.js"},"./Trie":{types:"./dist/dts/Trie.d.ts",import:"./dist/esm/Trie.js",default:"./dist/cjs/Trie.js"},"./Tuple":{types:"./dist/dts/Tuple.d.ts",import:"./dist/esm/Tuple.js",default:"./dist/cjs/Tuple.js"},"./Types":{types:"./dist/dts/Types.d.ts",import:"./dist/esm/Types.js",default:"./dist/cjs/Types.js"},"./Unify":{types:"./dist/dts/Unify.d.ts",import:"./dist/esm/Unify.js",default:"./dist/cjs/Unify.js"},"./UpstreamPullRequest":{types:"./dist/dts/UpstreamPullRequest.d.ts",import:"./dist/esm/UpstreamPullRequest.js",default:"./dist/cjs/UpstreamPullRequest.js"},"./UpstreamPullStrategy":{types:"./dist/dts/UpstreamPullStrategy.d.ts",import:"./dist/esm/UpstreamPullStrategy.js",default:"./dist/cjs/UpstreamPullStrategy.js"},"./Utils":{types:"./dist/dts/Utils.d.ts",import:"./dist/esm/Utils.js",default:"./dist/cjs/Utils.js"},"./index":{types:"./dist/dts/index.d.ts",import:"./dist/esm/index.js",default:"./dist/cjs/index.js"}},typesVersions:{"*":{".index":["./dist/dts/.index.d.ts"],Arbitrary:["./dist/dts/Arbitrary.d.ts"],Array:["./dist/dts/Array.d.ts"],BigDecimal:["./dist/dts/BigDecimal.d.ts"],BigInt:["./dist/dts/BigInt.d.ts"],Boolean:["./dist/dts/Boolean.d.ts"],Brand:["./dist/dts/Brand.d.ts"],Cache:["./dist/dts/Cache.d.ts"],Cause:["./dist/dts/Cause.d.ts"],Channel:["./dist/dts/Channel.d.ts"],ChildExecutorDecision:["./dist/dts/ChildExecutorDecision.d.ts"],Chunk:["./dist/dts/Chunk.d.ts"],Clock:["./dist/dts/Clock.d.ts"],Config:["./dist/dts/Config.d.ts"],ConfigError:["./dist/dts/ConfigError.d.ts"],ConfigProvider:["./dist/dts/ConfigProvider.d.ts"],ConfigProviderPathPatch:["./dist/dts/ConfigProviderPathPatch.d.ts"],Console:["./dist/dts/Console.d.ts"],Context:["./dist/dts/Context.d.ts"],Cron:["./dist/dts/Cron.d.ts"],Data:["./dist/dts/Data.d.ts"],DateTime:["./dist/dts/DateTime.d.ts"],DefaultServices:["./dist/dts/DefaultServices.d.ts"],Deferred:["./dist/dts/Deferred.d.ts"],Differ:["./dist/dts/Differ.d.ts"],Duration:["./dist/dts/Duration.d.ts"],Effect:["./dist/dts/Effect.d.ts"],Effectable:["./dist/dts/Effectable.d.ts"],Either:["./dist/dts/Either.d.ts"],Encoding:["./dist/dts/Encoding.d.ts"],Equal:["./dist/dts/Equal.d.ts"],Equivalence:["./dist/dts/Equivalence.d.ts"],ExecutionPlan:["./dist/dts/ExecutionPlan.d.ts"],ExecutionStrategy:["./dist/dts/ExecutionStrategy.d.ts"],Exit:["./dist/dts/Exit.d.ts"],FastCheck:["./dist/dts/FastCheck.d.ts"],Fiber:["./dist/dts/Fiber.d.ts"],FiberHandle:["./dist/dts/FiberHandle.d.ts"],FiberId:["./dist/dts/FiberId.d.ts"],FiberMap:["./dist/dts/FiberMap.d.ts"],FiberRef:["./dist/dts/FiberRef.d.ts"],FiberRefs:["./dist/dts/FiberRefs.d.ts"],FiberRefsPatch:["./dist/dts/FiberRefsPatch.d.ts"],FiberSet:["./dist/dts/FiberSet.d.ts"],FiberStatus:["./dist/dts/FiberStatus.d.ts"],Function:["./dist/dts/Function.d.ts"],GlobalValue:["./dist/dts/GlobalValue.d.ts"],Graph:["./dist/dts/Graph.d.ts"],GroupBy:["./dist/dts/GroupBy.d.ts"],HKT:["./dist/dts/HKT.d.ts"],Hash:["./dist/dts/Hash.d.ts"],HashMap:["./dist/dts/HashMap.d.ts"],HashRing:["./dist/dts/HashRing.d.ts"],HashSet:["./dist/dts/HashSet.d.ts"],Inspectable:["./dist/dts/Inspectable.d.ts"],Iterable:["./dist/dts/Iterable.d.ts"],JSONSchema:["./dist/dts/JSONSchema.d.ts"],KeyedPool:["./dist/dts/KeyedPool.d.ts"],Layer:["./dist/dts/Layer.d.ts"],LayerMap:["./dist/dts/LayerMap.d.ts"],List:["./dist/dts/List.d.ts"],LogLevel:["./dist/dts/LogLevel.d.ts"],LogSpan:["./dist/dts/LogSpan.d.ts"],Logger:["./dist/dts/Logger.d.ts"],Mailbox:["./dist/dts/Mailbox.d.ts"],ManagedRuntime:["./dist/dts/ManagedRuntime.d.ts"],Match:["./dist/dts/Match.d.ts"],MergeDecision:["./dist/dts/MergeDecision.d.ts"],MergeState:["./dist/dts/MergeState.d.ts"],MergeStrategy:["./dist/dts/MergeStrategy.d.ts"],Metric:["./dist/dts/Metric.d.ts"],MetricBoundaries:["./dist/dts/MetricBoundaries.d.ts"],MetricHook:["./dist/dts/MetricHook.d.ts"],MetricKey:["./dist/dts/MetricKey.d.ts"],MetricKeyType:["./dist/dts/MetricKeyType.d.ts"],MetricLabel:["./dist/dts/MetricLabel.d.ts"],MetricPair:["./dist/dts/MetricPair.d.ts"],MetricPolling:["./dist/dts/MetricPolling.d.ts"],MetricRegistry:["./dist/dts/MetricRegistry.d.ts"],MetricState:["./dist/dts/MetricState.d.ts"],Micro:["./dist/dts/Micro.d.ts"],ModuleVersion:["./dist/dts/ModuleVersion.d.ts"],MutableHashMap:["./dist/dts/MutableHashMap.d.ts"],MutableHashSet:["./dist/dts/MutableHashSet.d.ts"],MutableList:["./dist/dts/MutableList.d.ts"],MutableQueue:["./dist/dts/MutableQueue.d.ts"],MutableRef:["./dist/dts/MutableRef.d.ts"],NonEmptyIterable:["./dist/dts/NonEmptyIterable.d.ts"],Number:["./dist/dts/Number.d.ts"],Option:["./dist/dts/Option.d.ts"],Order:["./dist/dts/Order.d.ts"],Ordering:["./dist/dts/Ordering.d.ts"],ParseResult:["./dist/dts/ParseResult.d.ts"],PartitionedSemaphore:["./dist/dts/PartitionedSemaphore.d.ts"],Pipeable:["./dist/dts/Pipeable.d.ts"],Pool:["./dist/dts/Pool.d.ts"],Predicate:["./dist/dts/Predicate.d.ts"],Pretty:["./dist/dts/Pretty.d.ts"],PrimaryKey:["./dist/dts/PrimaryKey.d.ts"],PubSub:["./dist/dts/PubSub.d.ts"],Queue:["./dist/dts/Queue.d.ts"],Random:["./dist/dts/Random.d.ts"],RateLimiter:["./dist/dts/RateLimiter.d.ts"],RcMap:["./dist/dts/RcMap.d.ts"],RcRef:["./dist/dts/RcRef.d.ts"],Readable:["./dist/dts/Readable.d.ts"],Record:["./dist/dts/Record.d.ts"],RedBlackTree:["./dist/dts/RedBlackTree.d.ts"],Redacted:["./dist/dts/Redacted.d.ts"],Ref:["./dist/dts/Ref.d.ts"],RegExp:["./dist/dts/RegExp.d.ts"],Reloadable:["./dist/dts/Reloadable.d.ts"],Request:["./dist/dts/Request.d.ts"],RequestBlock:["./dist/dts/RequestBlock.d.ts"],RequestResolver:["./dist/dts/RequestResolver.d.ts"],Resource:["./dist/dts/Resource.d.ts"],Runtime:["./dist/dts/Runtime.d.ts"],RuntimeFlags:["./dist/dts/RuntimeFlags.d.ts"],RuntimeFlagsPatch:["./dist/dts/RuntimeFlagsPatch.d.ts"],STM:["./dist/dts/STM.d.ts"],Schedule:["./dist/dts/Schedule.d.ts"],ScheduleDecision:["./dist/dts/ScheduleDecision.d.ts"],ScheduleInterval:["./dist/dts/ScheduleInterval.d.ts"],ScheduleIntervals:["./dist/dts/ScheduleIntervals.d.ts"],Scheduler:["./dist/dts/Scheduler.d.ts"],Schema:["./dist/dts/Schema.d.ts"],SchemaAST:["./dist/dts/SchemaAST.d.ts"],Scope:["./dist/dts/Scope.d.ts"],ScopedCache:["./dist/dts/ScopedCache.d.ts"],ScopedRef:["./dist/dts/ScopedRef.d.ts"],Secret:["./dist/dts/Secret.d.ts"],SingleProducerAsyncInput:["./dist/dts/SingleProducerAsyncInput.d.ts"],Sink:["./dist/dts/Sink.d.ts"],SortedMap:["./dist/dts/SortedMap.d.ts"],SortedSet:["./dist/dts/SortedSet.d.ts"],Stream:["./dist/dts/Stream.d.ts"],StreamEmit:["./dist/dts/StreamEmit.d.ts"],StreamHaltStrategy:["./dist/dts/StreamHaltStrategy.d.ts"],Streamable:["./dist/dts/Streamable.d.ts"],String:["./dist/dts/String.d.ts"],Struct:["./dist/dts/Struct.d.ts"],Subscribable:["./dist/dts/Subscribable.d.ts"],SubscriptionRef:["./dist/dts/SubscriptionRef.d.ts"],Supervisor:["./dist/dts/Supervisor.d.ts"],Symbol:["./dist/dts/Symbol.d.ts"],SynchronizedRef:["./dist/dts/SynchronizedRef.d.ts"],TArray:["./dist/dts/TArray.d.ts"],TDeferred:["./dist/dts/TDeferred.d.ts"],TMap:["./dist/dts/TMap.d.ts"],TPriorityQueue:["./dist/dts/TPriorityQueue.d.ts"],TPubSub:["./dist/dts/TPubSub.d.ts"],TQueue:["./dist/dts/TQueue.d.ts"],TRandom:["./dist/dts/TRandom.d.ts"],TReentrantLock:["./dist/dts/TReentrantLock.d.ts"],TRef:["./dist/dts/TRef.d.ts"],TSemaphore:["./dist/dts/TSemaphore.d.ts"],TSet:["./dist/dts/TSet.d.ts"],TSubscriptionRef:["./dist/dts/TSubscriptionRef.d.ts"],Take:["./dist/dts/Take.d.ts"],TestAnnotation:["./dist/dts/TestAnnotation.d.ts"],TestAnnotationMap:["./dist/dts/TestAnnotationMap.d.ts"],TestAnnotations:["./dist/dts/TestAnnotations.d.ts"],TestClock:["./dist/dts/TestClock.d.ts"],TestConfig:["./dist/dts/TestConfig.d.ts"],TestContext:["./dist/dts/TestContext.d.ts"],TestLive:["./dist/dts/TestLive.d.ts"],TestServices:["./dist/dts/TestServices.d.ts"],TestSized:["./dist/dts/TestSized.d.ts"],Tracer:["./dist/dts/Tracer.d.ts"],Trie:["./dist/dts/Trie.d.ts"],Tuple:["./dist/dts/Tuple.d.ts"],Types:["./dist/dts/Types.d.ts"],Unify:["./dist/dts/Unify.d.ts"],UpstreamPullRequest:["./dist/dts/UpstreamPullRequest.d.ts"],UpstreamPullStrategy:["./dist/dts/UpstreamPullStrategy.d.ts"],Utils:["./dist/dts/Utils.d.ts"],index:["./dist/dts/index.d.ts"]}}}});var isFunction=(input)=>typeof input==="function",dual=function(arity,body){if(typeof arity==="function")return function(){if(arity(arguments))return body.apply(this,arguments);return(self)=>body(self,...arguments)};switch(arity){case 0:case 1:throw RangeError(`Invalid arity ${arity}`);case 2:return function(a,b){if(arguments.length>=2)return body(a,b);return function(self){return body(self,a)}};case 3:return function(a,b,c){if(arguments.length>=3)return body(a,b,c);return function(self){return body(self,a,b)}};case 4:return function(a,b,c,d){if(arguments.length>=4)return body(a,b,c,d);return function(self){return body(self,a,b,c)}};case 5:return function(a,b,c,d,e){if(arguments.length>=5)return body(a,b,c,d,e);return function(self){return body(self,a,b,c,d)}};default:return function(){if(arguments.length>=arity)return body.apply(this,arguments);let args=arguments;return function(self){return body(self,...args)}}}};var identity=(a)=>a;var constant=(value)=>()=>value,constTrue=constant(!0),constFalse=constant(!1);var constUndefined=constant(void 0),constVoid=constUndefined;function pipe(a,ab,bc,cd,de,ef,fg,gh,hi){switch(arguments.length){case 1:return a;case 2:return ab(a);case 3:return bc(ab(a));case 4:return cd(bc(ab(a)));case 5:return de(cd(bc(ab(a))));case 6:return ef(de(cd(bc(ab(a)))));case 7:return fg(ef(de(cd(bc(ab(a))))));case 8:return gh(fg(ef(de(cd(bc(ab(a)))))));case 9:return hi(gh(fg(ef(de(cd(bc(ab(a))))))));default:{let ret=arguments[0];for(let i=1;i<arguments.length;i++)ret=arguments[i](ret);return ret}}}var make=(isEquivalent)=>(self,that)=>self===that||isEquivalent(self,that),isStrictEquivalent=(x,y)=>x===y,strict=()=>isStrictEquivalent;var number=strict();var mapInput=dual(2,(self,f)=>make((x,y)=>self(f(x),f(y))));var array=(item)=>make((self,that)=>{if(self.length!==that.length)return!1;for(let i=0;i<self.length;i++)if(!item(self[i],that[i]))return!1;return!0});var let_=(map)=>dual(3,(self,name,f)=>map(self,(a)=>({...a,[name]:f(a)}))),bindTo=(map)=>dual(2,(self,name)=>map(self,(a)=>({[name]:a}))),bind=(map,flatMap)=>dual(3,(self,name,f)=>flatMap(self,(a)=>map(f(a),(b)=>({...a,[name]:b}))));var globalStore,globalValue=(id,compute)=>{if(!globalStore)globalThis["effect/GlobalValue"]??=new Map,globalStore=globalThis["effect/GlobalValue"];if(!globalStore.has(id))globalStore.set(id,compute());return globalStore.get(id)};var isString=(input)=>typeof input==="string",isNumber=(input)=>typeof input==="number",isBoolean=(input)=>typeof input==="boolean",isBigInt=(input)=>typeof input==="bigint",isSymbol=(input)=>typeof input==="symbol";var isFunction2=isFunction;var isRecordOrArray=(input)=>typeof input==="object"&&input!==null,isObject=(input)=>isRecordOrArray(input)||isFunction2(input),hasProperty=dual(2,(self,property)=>isObject(self)&&(property in self)),isTagged=dual(2,(self,tag)=>hasProperty(self,"_tag")&&self._tag===tag),isNullable=(input)=>input===null||input===void 0;var isDate=(input)=>input instanceof Date,isIterable=(input)=>typeof input==="string"||hasProperty(input,Symbol.iterator);var isPromiseLike=(input)=>hasProperty(input,"then")&&isFunction2(input.then);var getBugErrorMessage=(message)=>`BUG: ${message} - please report an issue at https://github.com/Effect-TS/effect/issues`;class SingleShotGen{self;called=!1;constructor(self){this.self=self}next(a){return this.called?{value:a,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(a){return{value:a,done:!0}}throw(e){throw e}[Symbol.iterator](){return new SingleShotGen(this.self)}}var defaultIncHi=335903614,defaultIncLo=4150755663,MUL_HI=1481765933,MUL_LO=1284865837,BIT_53=9007199254740992,BIT_27=134217728;class PCGRandom{_state;constructor(seedHi,seedLo,incHi,incLo){if(isNullable(seedLo)&&isNullable(seedHi))seedLo=Math.random()*4294967295>>>0,seedHi=0;else if(isNullable(seedLo))seedLo=seedHi,seedHi=0;if(isNullable(incLo)&&isNullable(incHi))incLo=this._state?this._state[3]:defaultIncLo,incHi=this._state?this._state[2]:defaultIncHi;else if(isNullable(incLo))incLo=incHi,incHi=0;return this._state=new Int32Array([0,0,incHi>>>0,((incLo||0)|1)>>>0]),this._next(),add64(this._state,this._state[0],this._state[1],seedHi>>>0,seedLo>>>0),this._next(),this}getState(){return[this._state[0],this._state[1],this._state[2],this._state[3]]}setState(state){this._state[0]=state[0],this._state[1]=state[1],this._state[2]=state[2],this._state[3]=state[3]|1}integer(max){return Math.round(this.number()*Number.MAX_SAFE_INTEGER)%max}number(){let hi=(this._next()&67108863)*1,lo=(this._next()&134217727)*1;return(hi*BIT_27+lo)/BIT_53}_next(){let oldHi=this._state[0]>>>0,oldLo=this._state[1]>>>0;mul64(this._state,oldHi,oldLo,MUL_HI,MUL_LO),add64(this._state,this._state[0],this._state[1],this._state[2],this._state[3]);let xsHi=oldHi>>>18,xsLo=(oldLo>>>18|oldHi<<14)>>>0;xsHi=(xsHi^oldHi)>>>0,xsLo=(xsLo^oldLo)>>>0;let xorshifted=(xsLo>>>27|xsHi<<5)>>>0,rot=oldHi>>>27,rot2=(-rot>>>0&31)>>>0;return(xorshifted>>>rot|xorshifted<<rot2)>>>0}}function mul64(out,aHi,aLo,bHi,bLo){let c1=(aLo>>>16)*(bLo&65535)>>>0,c0=(aLo&65535)*(bLo>>>16)>>>0,lo=(aLo&65535)*(bLo&65535)>>>0,hi=(aLo>>>16)*(bLo>>>16)+((c0>>>16)+(c1>>>16))>>>0;if(c0=c0<<16>>>0,lo=lo+c0>>>0,lo>>>0<c0>>>0)hi=hi+1>>>0;if(c1=c1<<16>>>0,lo=lo+c1>>>0,lo>>>0<c1>>>0)hi=hi+1>>>0;hi=hi+Math.imul(aLo,bHi)>>>0,hi=hi+Math.imul(aHi,bLo)>>>0,out[0]=hi,out[1]=lo}function add64(out,aHi,aLo,bHi,bLo){let hi=aHi+bHi>>>0,lo=aLo+bLo>>>0;if(lo>>>0<aLo>>>0)hi=hi+1|0;out[0]=hi,out[1]=lo}var YieldWrapTypeId=Symbol.for("effect/Utils/YieldWrap");class YieldWrap{#value;constructor(value){this.#value=value}[YieldWrapTypeId](){return this.#value}}function yieldWrapGet(self){if(typeof self==="object"&&self!==null&&YieldWrapTypeId in self)return self[YieldWrapTypeId]();throw Error(getBugErrorMessage("yieldWrapGet"))}var structuralRegionState=globalValue("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var standard={effect_internal_function:(body)=>{return body()}},forced={effect_internal_function:(body)=>{try{return body()}finally{}}},isNotOptimizedAway=standard.effect_internal_function(()=>Error().stack)?.includes("effect_internal_function")===!0,internalCall=isNotOptimizedAway?standard.effect_internal_function:forced.effect_internal_function,genConstructor=function*(){}.constructor,isGeneratorFunction=(u)=>isObject(u)&&u.constructor===genConstructor;var randomHashCache=globalValue(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),symbol=Symbol.for("effect/Hash"),hash=(self)=>{if(structuralRegionState.enabled===!0)return 0;switch(typeof self){case"number":return number2(self);case"bigint":return string(self.toString(10));case"boolean":return string(String(self));case"symbol":return string(String(self));case"string":return string(self);case"undefined":return string("undefined");case"function":case"object":if(self===null)return string("null");else if(self instanceof Date){if(Number.isNaN(self.getTime()))return string("Invalid Date");return hash(self.toISOString())}else if(self instanceof URL)return hash(self.href);else if(isHash(self))return self[symbol]();else return random(self);default:throw Error(`BUG: unhandled typeof ${typeof self} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},random=(self)=>{if(!randomHashCache.has(self))randomHashCache.set(self,number2(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return randomHashCache.get(self)},combine=(b)=>(self)=>self*53^b,optimize=(n)=>n&3221225471|n>>>1&1073741824,isHash=(u)=>hasProperty(u,symbol),number2=(n)=>{if(n!==n||n===1/0)return 0;let h=n|0;if(h!==n)h^=n*4294967295;while(n>4294967295)h^=n/=4294967295;return optimize(h)},string=(str)=>{let h=5381,i=str.length;while(i)h=h*33^str.charCodeAt(--i);return optimize(h)},structureKeys=(o,keys)=>{let h=12289;for(let i=0;i<keys.length;i++)h^=pipe(string(keys[i]),combine(hash(o[keys[i]])));return optimize(h)},structure=(o)=>structureKeys(o,Object.keys(o)),array2=(arr)=>{let h=6151;for(let i=0;i<arr.length;i++)h=pipe(h,combine(hash(arr[i])));return optimize(h)},cached=function(){if(arguments.length===1){let self2=arguments[0];return function(hash3){return Object.defineProperty(self2,symbol,{value(){return hash3},enumerable:!1}),hash3}}let self=arguments[0],hash2=arguments[1];return Object.defineProperty(self,symbol,{value(){return hash2},enumerable:!1}),hash2};var symbol2=Symbol.for("effect/Equal");function equals(){if(arguments.length===1)return(self)=>compareBoth(self,arguments[0]);return compareBoth(arguments[0],arguments[1])}function compareBoth(self,that){if(self===that)return!0;let selfType=typeof self;if(selfType!==typeof that)return!1;if(selfType==="object"||selfType==="function"){if(self!==null&&that!==null){if(isEqual(self)&&isEqual(that))if(hash(self)===hash(that)&&self[symbol2](that))return!0;else return structuralRegionState.enabled&&structuralRegionState.tester?structuralRegionState.tester(self,that):!1;else if(self instanceof Date&&that instanceof Date){let t1=self.getTime(),t2=that.getTime();return t1===t2||Number.isNaN(t1)&&Number.isNaN(t2)}else if(self instanceof URL&&that instanceof URL)return self.href===that.href}if(structuralRegionState.enabled){if(Array.isArray(self)&&Array.isArray(that))return self.length===that.length&&self.every((v,i)=>compareBoth(v,that[i]));if(Object.getPrototypeOf(self)===Object.prototype&&Object.getPrototypeOf(self)===Object.prototype){let keysSelf=Object.keys(self),keysThat=Object.keys(that);if(keysSelf.length===keysThat.length){for(let key of keysSelf)if(!((key in that)&&compareBoth(self[key],that[key])))return structuralRegionState.tester?structuralRegionState.tester(self,that):!1;return!0}}return structuralRegionState.tester?structuralRegionState.tester(self,that):!1}}return structuralRegionState.enabled&&structuralRegionState.tester?structuralRegionState.tester(self,that):!1}var isEqual=(u)=>hasProperty(u,symbol2),equivalence=()=>equals;var NodeInspectSymbol=Symbol.for("nodejs.util.inspect.custom"),toJSON=(x)=>{try{if(hasProperty(x,"toJSON")&&isFunction2(x.toJSON)&&x.toJSON.length===0)return x.toJSON();else if(Array.isArray(x))return x.map(toJSON)}catch{return{}}return redact(x)},CIRCULAR="[Circular]";function formatDate(date){try{return date.toISOString()}catch{return"Invalid Date"}}function safeToString(input){try{let s=input.toString();return typeof s==="string"?s:String(s)}catch{return"[toString threw]"}}function formatPropertyKey(name){return isString(name)?JSON.stringify(name):String(name)}function formatUnknown(input,options){let space=options?.space??0,seen=new WeakSet,gap=!space?"":isNumber(space)?" ".repeat(space):space,ind=(d)=>gap.repeat(d),wrap=(v,body)=>{let ctor=v?.constructor;return ctor&&ctor!==Object.prototype.constructor&&ctor.name?`${ctor.name}(${body})`:body},ownKeys=(o)=>{try{return Reflect.ownKeys(o)}catch{return["[ownKeys threw]"]}};function go(v,d=0){if(Array.isArray(v)){if(seen.has(v))return CIRCULAR;if(seen.add(v),!gap||v.length<=1)return`[${v.map((x)=>go(x,d)).join(",")}]`;let inner=v.map((x)=>go(x,d+1)).join(`,
|
|
2
2
|
`+ind(d+1));return`[
|
|
3
3
|
${ind(d+1)}${inner}
|
|
4
4
|
${ind(d)}]`}if(isDate(v))return formatDate(v);if(!options?.ignoreToString&&hasProperty(v,"toString")&&isFunction2(v.toString)&&v.toString!==Object.prototype.toString&&v.toString!==Array.prototype.toString){let s=safeToString(v);if(v instanceof Error&&v.cause)return`${s} (cause: ${go(v.cause,d)})`;return s}if(isString(v))return JSON.stringify(v);if(isNumber(v)||v==null||isBoolean(v)||isSymbol(v))return String(v);if(isBigInt(v))return String(v)+"n";if(v instanceof Set||v instanceof Map){if(seen.has(v))return CIRCULAR;return seen.add(v),`${v.constructor.name}(${go(Array.from(v),d)})`}if(isObject(v)){if(seen.has(v))return CIRCULAR;seen.add(v);let keys=ownKeys(v);if(!gap||keys.length<=1){let body2=`{${keys.map((k)=>`${formatPropertyKey(k)}:${go(v[k],d)}`).join(",")}}`;return wrap(v,body2)}let body=`{
|
|
@@ -38,7 +38,7 @@ ${endStackCall}`,cache}},opts=options.spanOptions&&"captureStackTrace"in options
|
|
|
38
38
|
`,from);else stringBuilder=stringBuilder+"\r";midCRLF=!1}while(indexOfCR!==-1||indexOfLF!==-1)if(indexOfCR===-1||indexOfLF!==-1&&indexOfLF<indexOfCR){if(stringBuilder.length===0)chunkBuilder.push(str.substring(from,indexOfLF));else chunkBuilder.push(stringBuilder+str.substring(from,indexOfLF)),stringBuilder="";from=indexOfLF+1,indexOfLF=str.indexOf(`
|
|
39
39
|
`,from)}else if(str.length===indexOfCR+1)midCRLF=!0,indexOfCR=-1;else if(indexOfLF===indexOfCR+1){if(stringBuilder.length===0)chunkBuilder.push(str.substring(from,indexOfCR));else stringBuilder=stringBuilder+str.substring(from,indexOfCR),chunkBuilder.push(stringBuilder),stringBuilder="";from=indexOfCR+2,indexOfCR=str.indexOf("\r",from),indexOfLF=str.indexOf(`
|
|
40
40
|
`,from)}else indexOfCR=str.indexOf("\r",indexOfCR+1);if(midCRLF)stringBuilder=stringBuilder+str.substring(from,str.length-1);else stringBuilder=stringBuilder+str.substring(from,str.length)}}),unsafeFromArray(chunkBuilder)},loop3=readWithCause({onInput:(input)=>{let out=splitLinesChunk(input);return isEmpty(out)?loop3:flatMap13(write(out),()=>loop3)},onFailure:(cause3)=>stringBuilder.length===0?failCause10(cause3):flatMap13(write(of2(stringBuilder)),()=>failCause10(cause3)),onDone:(done8)=>stringBuilder.length===0?succeed12(done8):flatMap13(write(of2(stringBuilder)),()=>succeed12(done8))});return loop3}),toPubSub=(pubsub)=>toQueue(pubsub),toPull=(self)=>flatMap11(scope3,(scope5)=>toPullIn(self,scope5)),toPullIn=dual(2,(self,scope5)=>zip5(sync4(()=>new ChannelExecutor(self,void 0,identity)),runtime3()).pipe(tap3(([executor,runtime4])=>addFinalizerExit(scope5,(exit3)=>{let finalizer=executor.close(exit3);return finalizer!==void 0?provide2(finalizer,runtime4):_void})),uninterruptible2,map16(([executor])=>suspend3(()=>interpretToPull(executor.run(),executor))))),interpretToPull=(channelState,exec)=>{let state=channelState;switch(state._tag){case OP_DONE3:return match9(exec.getDone(),{onFailure:failCause8,onSuccess:(done8)=>succeed9(left2(done8))});case OP_EMIT2:return succeed9(right2(exec.getEmit()));case OP_FROM_EFFECT3:return pipe(state.effect,flatMap11(()=>interpretToPull(exec.run(),exec)));case OP_READ2:return readUpstream(state,()=>interpretToPull(exec.run(),exec),(cause3)=>failCause8(cause3))}},toQueue=(queue)=>suspend5(()=>toQueueInternal(queue)),toQueueInternal=(queue)=>{return readWithCause({onInput:(elem)=>flatMap13(fromEffect4(offer3(queue,right2(elem))),()=>toQueueInternal(queue)),onFailure:(cause3)=>fromEffect4(offer3(queue,left2(failCause3(cause3)))),onDone:(done8)=>fromEffect4(offer3(queue,left2(succeed3(done8))))})},unwrap=(channel)=>flatten10(fromEffect4(channel)),unwrapScoped3=(self)=>concatAllWith(scoped4(self),(d,_)=>d,(d,_)=>d),unwrapScopedWith=(f)=>concatAllWith(scopedWith3(f),(d,_)=>d,(d,_)=>d);var withSpan5=function(){let dataFirst=typeof arguments[0]!=="string",name=dataFirst?arguments[1]:arguments[0],options=addSpanStackTrace(dataFirst?arguments[2]:arguments[1]),acquire=all5([makeSpan2(name,options),context3(),clock2,get13(currentTracerTimingEnabled2)]);if(dataFirst){let self=arguments[0];return acquireUseRelease3(acquire,([span4,context5])=>provideContext5(self,add4(context5,spanTag,span4)),([span4,,clock3,timingEnabled],exit3)=>endSpan(span4,exit3,clock3,timingEnabled))}return(self)=>acquireUseRelease3(acquire,([span4,context5])=>provideContext5(self,add4(context5,spanTag,span4)),([span4,,clock3,timingEnabled],exit3)=>endSpan(span4,exit3,clock3,timingEnabled))},writeAll=(...outs)=>writeChunk(fromIterable2(outs)),writeChunk=(outs)=>writeChunkWriter(0,outs.length,outs),writeChunkWriter=(idx,len,chunk2)=>{return idx===len?void_5:pipe(write(pipe(chunk2,unsafeGet2(idx))),flatMap13(()=>writeChunkWriter(idx+1,len,chunk2)))},zip6=dual((args2)=>isChannel(args2[1]),(self,that,options)=>options?.concurrent?mergeWith2(self,{other:that,onSelfDone:(exit1)=>Await((exit22)=>suspend3(()=>zip3(exit1,exit22))),onOtherDone:(exit22)=>Await((exit1)=>suspend3(()=>zip3(exit1,exit22)))}):flatMap13(self,(a)=>map19(that,(b)=>[a,b]))),zipLeft5=dual((args2)=>isChannel(args2[1]),(self,that,options)=>options?.concurrent?map19(zip6(self,that,{concurrent:!0}),(tuple2)=>tuple2[0]):flatMap13(self,(z)=>as6(that,z))),zipRight6=dual((args2)=>isChannel(args2[1]),(self,that,options)=>options?.concurrent?map19(zip6(self,that,{concurrent:!0}),(tuple2)=>tuple2[1]):flatMap13(self,()=>that)),ChannelExceptionTypeId=Symbol.for("effect/Channel/ChannelException"),ChannelException=(error2)=>({_tag:"ChannelException",[ChannelExceptionTypeId]:ChannelExceptionTypeId,error:error2}),isChannelException=(u)=>hasProperty(u,ChannelExceptionTypeId);var Done4=Done3,Await2=Await;var TypeId17=Symbol.for("effect/RcRef"),stateEmpty2={_tag:"Empty"},stateClosed={_tag:"Closed"},variance5={_A:identity,_E:identity};class RcRefImpl extends Class{acquire;context;scope;idleTimeToLive;[TypeId17]=variance5;[TypeId10]=TypeId10;state=stateEmpty2;semaphore=unsafeMakeSemaphore(1);constructor(acquire,context5,scope5,idleTimeToLive){super();this.acquire=acquire,this.context=context5,this.scope=scope5,this.idleTimeToLive=idleTimeToLive,this.get=get14(this)}get;commit(){return this.get}}var make43=(options)=>withFiberRuntime((fiber)=>{let context5=fiber.getFiberRef(currentContext),scope5=get5(context5,scopeTag),ref=new RcRefImpl(options.acquire,context5,scope5,options.idleTimeToLive?decode(options.idleTimeToLive):void 0);return as(scope5.addFinalizer(()=>ref.semaphore.withPermits(1)(suspend(()=>{let close2=ref.state._tag==="Acquired"?scopeClose(ref.state.scope,exitVoid):void_;return ref.state=stateClosed,close2}))),ref)}),get14=(self_)=>{let self=self_,isInfinite=self.idleTimeToLive&&!isFinite(self.idleTimeToLive);return uninterruptibleMask((restore)=>suspend(()=>{switch(self.state._tag){case"Closed":return interrupt2;case"Acquired":return self.state.refCount++,self.state.fiber?as(interruptFiber(self.state.fiber),self.state):succeed(self.state);case"Empty":return scopeMake().pipe(bindTo2("scope"),bind2("value",({scope:scope5})=>restore(fiberRefLocally(self.acquire,currentContext,add4(self.context,scopeTag,scope5)))),map10(({scope:scope5,value})=>{let state={_tag:"Acquired",value,scope:scope5,fiber:void 0,refCount:1};return self.state=state,state}))}})).pipe(self.semaphore.withPermits(1),bindTo2("state"),bind2("scope",()=>scopeTag),tap(({scope:scope5,state})=>scope5.addFinalizer(()=>suspend(()=>{if(state.refCount--,state.refCount>0||isInfinite)return void_;if(self.idleTimeToLive===void 0)return self.state=stateEmpty2,scopeClose(state.scope,exitVoid);return sleep3(self.idleTimeToLive).pipe(interruptible2,zipRight(suspend(()=>{if(self.state._tag==="Acquired"&&self.state.refCount===0)return self.state=stateEmpty2,scopeClose(state.scope,exitVoid);return void_})),ensuring(sync(()=>{state.fiber=void 0})),forkIn(self.scope),tap((fiber)=>{state.fiber=fiber}),self.semaphore.withPermits(1))}))),map10(({state})=>state.value))};var make44=make43,get15=get14;var runFork3=unsafeFork2;var runPromiseExit2=unsafeRunPromiseExit,defaultRuntime2=defaultRuntime;var OP_LEFT="Left",OP_RIGHT="Right",OP_BOTH="Both",OP_EITHER="Either";var Left={_tag:OP_LEFT},Right={_tag:OP_RIGHT},Both={_tag:OP_BOTH},Either={_tag:OP_EITHER},fromInput2=(input)=>{switch(input){case"left":return Left;case"right":return Right;case"both":return Both;case"either":return Either;default:return input}};var Both2=Both;var SinkTypeId2=Symbol.for("effect/Sink"),sinkVariance2={_A:(_)=>_,_In:(_)=>_,_L:(_)=>_,_E:(_)=>_,_R:(_)=>_};class SinkImpl{channel;[SinkTypeId2]=sinkVariance2;constructor(channel){this.channel=channel}pipe(){return pipeArguments(this,arguments)}}var isSink=(u)=>hasProperty(u,SinkTypeId2),suspend6=(evaluate2)=>new SinkImpl(suspend5(()=>toChannel(evaluate2())));var collectAll=()=>new SinkImpl(collectAllLoop(empty2())),collectAllLoop=(acc)=>readWithCause({onInput:(chunk2)=>collectAllLoop(pipe(acc,appendAll2(chunk2))),onFailure:failCause10,onDone:()=>succeed12(acc)}),collectAllN=(n)=>suspend6(()=>fromChannel(collectAllNLoop(n,empty2()))),collectAllNLoop=(n,acc)=>readWithCause({onInput:(chunk2)=>{let[collected,leftovers]=splitAt2(chunk2,n);if(collected.length<n)return collectAllNLoop(n-collected.length,appendAll2(acc,collected));if(isEmpty(leftovers))return succeed12(appendAll2(acc,collected));return flatMap13(write(leftovers),()=>succeed12(appendAll2(acc,collected)))},onFailure:failCause10,onDone:()=>succeed12(acc)});var collectLeftover=(self)=>new SinkImpl(pipe(collectElements(toChannel(self)),map19(([chunks,z])=>[z,flatten2(chunks)])));var drain2=new SinkImpl(drain(identityChannel()));var fail12=(e)=>new SinkImpl(fail11(e));var fold=(s,contFn,f)=>suspend6(()=>new SinkImpl(foldReader(s,contFn,f))),foldReader=(s,contFn,f)=>{if(!contFn(s))return succeedNow(s);return readWith({onInput:(input)=>{let[nextS,leftovers]=foldChunkSplit(s,input,contFn,f,0,input.length);if(isNonEmpty(leftovers))return pipe(write(leftovers),as6(nextS));return foldReader(nextS,contFn,f)},onFailure:fail11,onDone:()=>succeedNow(s)})},foldChunkSplit=(s,chunk2,contFn,f,index,length3)=>{if(index===length3)return[s,empty2()];let s1=f(s,pipe(chunk2,unsafeGet2(index)));if(contFn(s1))return foldChunkSplit(s1,chunk2,contFn,f,index+1,length3);return[s1,pipe(chunk2,drop2(index+1))]},foldSink=dual(2,(self,options)=>{let newChannel=pipe(toChannel(self),collectElements,foldChannel({onFailure:(error2)=>toChannel(options.onFailure(error2)),onSuccess:([leftovers,z])=>suspend5(()=>{let leftoversRef={ref:pipe(leftovers,filter2(isNonEmpty))},refReader=pipe(sync7(()=>{let ref=leftoversRef.ref;return leftoversRef.ref=empty2(),ref}),flatMap13((chunk2)=>writeChunk(chunk2))),passthrough5=identityChannel(),continuationSink=pipe(refReader,zipRight6(passthrough5),pipeTo(toChannel(options.onSuccess(z))));return flatMap13(collectElements(continuationSink),([newLeftovers,z1])=>pipe(succeed12(leftoversRef.ref),flatMap13(writeChunk),zipRight6(writeChunk(newLeftovers)),as6(z1)))})}));return new SinkImpl(newChannel)}),foldChunks=(s,contFn,f)=>suspend6(()=>new SinkImpl(foldChunksReader(s,contFn,f))),foldChunksReader=(s,contFn,f)=>{if(!contFn(s))return succeedNow(s);return readWith({onInput:(input)=>foldChunksReader(f(s,input),contFn,f),onFailure:fail11,onDone:()=>succeedNow(s)})};var foldEffect=(s,contFn,f)=>suspend6(()=>new SinkImpl(foldEffectReader(s,contFn,f))),foldEffectReader=(s,contFn,f)=>{if(!contFn(s))return succeedNow(s);return readWith({onInput:(input)=>pipe(fromEffect4(foldChunkSplitEffect(s,input,contFn,f)),flatMap13(([nextS,leftovers])=>pipe(leftovers,match2({onNone:()=>foldEffectReader(nextS,contFn,f),onSome:(leftover)=>pipe(write(leftover),as6(nextS))})))),onFailure:fail11,onDone:()=>succeedNow(s)})},foldChunkSplitEffect=(s,chunk2,contFn,f)=>foldChunkSplitEffectInternal(s,chunk2,0,chunk2.length,contFn,f),foldChunkSplitEffectInternal=(s,chunk2,index,length3,contFn,f)=>{if(index===length3)return succeed9([s,none2()]);return pipe(f(s,pipe(chunk2,unsafeGet2(index))),flatMap11((s1)=>contFn(s1)?foldChunkSplitEffectInternal(s1,chunk2,index+1,length3,contFn,f):succeed9([s1,some2(pipe(chunk2,drop2(index+1)))])))};var foldLeftChunks=(s,f)=>foldChunks(s,constTrue,f);var flatMap14=dual(2,(self,f)=>foldSink(self,{onFailure:fail12,onSuccess:f})),forEach7=(f)=>{let process2=readWithCause({onInput:(input)=>pipe(fromEffect4(forEach6(input,(v)=>f(v),{discard:!0})),flatMap13(()=>process2)),onFailure:failCause10,onDone:()=>void_5});return new SinkImpl(process2)},forEachChunk=(f)=>{let process2=readWithCause({onInput:(input)=>pipe(fromEffect4(f(input)),flatMap13(()=>process2)),onFailure:failCause10,onDone:()=>void_5});return new SinkImpl(process2)},forEachWhile=(f)=>{let process2=readWithCause({onInput:(input)=>forEachWhileReader(f,input,0,input.length,process2),onFailure:failCause10,onDone:()=>void_5});return new SinkImpl(process2)},forEachWhileReader=(f,input,index,length3,cont)=>{if(index===length3)return cont;return pipe(fromEffect4(f(pipe(input,unsafeGet2(index)))),flatMap13((bool)=>bool?forEachWhileReader(f,input,index+1,length3,cont):write(pipe(input,drop2(index)))),catchAll5((error2)=>pipe(write(pipe(input,drop2(index))),zipRight6(fail11(error2)))))};var fromChannel=(channel)=>new SinkImpl(channel),fromEffect6=(effect3)=>new SinkImpl(fromEffect4(effect3));var head5=()=>fold(none2(),isNone2,(option3,input)=>match2(option3,{onNone:()=>some2(input),onSome:()=>option3}));var last3=()=>foldLeftChunks(none2(),(s,input)=>orElse(last2(input),()=>s));var map20=dual(2,(self,f)=>{return new SinkImpl(pipe(toChannel(self),map19(f)))});var raceWith3=dual(2,(self,options)=>{function race3(scope5){return gen2(function*(){let pubsub=yield*bounded5(options?.capacity??16),subscription1=yield*extend2(subscribe2(pubsub),scope5),subscription2=yield*extend2(subscribe2(pubsub),scope5),reader=toPubSub(pubsub),writer=fromQueue(subscription1).pipe(pipeTo(toChannel(self)),zipLeft5(fromEffect4(shutdown2(subscription1))),mergeWith2({other:fromQueue(subscription2).pipe(pipeTo(toChannel(options.other)),zipLeft5(fromEffect4(shutdown2(subscription2)))),onSelfDone:options.onSelfDone,onOtherDone:options.onOtherDone})),racedChannel=mergeWith2(reader,{other:writer,onSelfDone:()=>Await(identity),onOtherDone:(exit3)=>Done3(exit3)});return new SinkImpl(racedChannel)})}return unwrapScopedWith2(race3)});var sum2=foldLeftChunks(0,(acc,chunk2)=>acc+reduce2(chunk2,0,(s,a)=>s+a));var toChannel=(self)=>isEffect2(self)?toChannel(fromEffect6(self)):self.channel;var unwrapScopedWith2=(f)=>new SinkImpl(unwrapScopedWith((scope5)=>f(scope5).pipe(map16((sink)=>toChannel(sink)))));var zipRight7=dual((args2)=>isSink(args2[1]),(self,that,options)=>zipWith9(self,that,(_,z2)=>z2,options)),zipWith9=dual((args2)=>isSink(args2[1]),(self,that,f,options)=>options?.concurrent?raceWith3(self,{other:that,onSelfDone:match9({onFailure:(cause3)=>Done3(failCause8(cause3)),onSuccess:(leftZ)=>Await(match9({onFailure:failCause8,onSuccess:(rightZ)=>succeed9(f(leftZ,rightZ))}))}),onOtherDone:match9({onFailure:(cause3)=>Done3(failCause8(cause3)),onSuccess:(rightZ)=>Await(match9({onFailure:failCause8,onSuccess:(leftZ)=>succeed9(f(leftZ,rightZ))}))})}):flatMap14(self,(z)=>map20(that,(z2)=>f(z,z2))));var count4=foldLeftChunks(0,(acc,chunk2)=>acc+chunk2.length),mkString=suspend6(()=>{let strings=[];return pipe(foldLeftChunks(void 0,(_,elems)=>map4(elems,(elem)=>{strings.push(String(elem))})),map20(()=>strings.join("")))});class Versioned{value;constructor(value){this.value=value}}var make45=(ref,isNew)=>({ref,isNew,isChanged:!1,expected:ref.versioned,newValue:ref.versioned.value}),unsafeGet6=(self)=>{return self.newValue},unsafeSet=(self,value)=>{self.isChanged=!0,self.newValue=value},commit=(self)=>{self.ref.versioned=new Versioned(self.newValue)};var isInvalid=(self)=>{return self.ref.versioned!==self.expected},isChanged=(self)=>{return self.isChanged};var JournalAnalysisInvalid="Invalid",JournalAnalysisReadWrite="ReadWrite",JournalAnalysisReadOnly="ReadOnly",commitJournal=(journal)=>{for(let entry of journal)commit(entry[1])},analyzeJournal=(journal)=>{let val=JournalAnalysisReadOnly;for(let[,entry]of journal)if(val=isInvalid(entry)?JournalAnalysisInvalid:isChanged(entry)?JournalAnalysisReadWrite:val,val===JournalAnalysisInvalid)return val;return val};var collectTodos=(journal)=>{let allTodos=new Map;for(let[,entry]of journal){for(let todo of entry.ref.todos)allTodos.set(todo[0],todo[1]);entry.ref.todos=new Map}return allTodos},execTodos=(todos)=>{let todosSorted=Array.from(todos.entries()).sort((x,y)=>x[0]-y[0]);for(let[_,todo]of todosSorted)todo()},addTodo=(txnId,journal,todoEffect)=>{let added=!1;for(let[,entry]of journal)if(!entry.ref.todos.has(txnId))entry.ref.todos.set(txnId,todoEffect),added=!0;return added};var OP_WITH_STM_RUNTIME="WithSTMRuntime",OP_ON_FAILURE2="OnFailure",OP_ON_RETRY="OnRetry",OP_ON_SUCCESS2="OnSuccess",OP_PROVIDE3="Provide",OP_SYNC2="Sync",OP_SUCCEED2="Succeed",OP_RETRY="Retry",OP_FAIL4="Fail",OP_DIE2="Die",OP_INTERRUPT2="Interrupt";var OP_FAIL5="Fail",OP_DIE3="Die",OP_INTERRUPT3="Interrupt",OP_SUCCEED3="Succeed",OP_RETRY2="Retry";var OP_DONE5="Done",OP_SUSPEND3="Suspend";var OP_DONE6="Done",OP_INTERRUPTED="Interrupted",OP_RUNNING2="Running";var STMStateSymbolKey="effect/STM/State",STMStateTypeId=Symbol.for(STMStateSymbolKey),isSTMState=(u)=>hasProperty(u,STMStateTypeId),isRunning2=(self)=>{return self._tag===OP_RUNNING2},isDone6=(self)=>{return self._tag===OP_DONE6};var done8=(exit3)=>{return{[STMStateTypeId]:STMStateTypeId,_tag:OP_DONE6,exit:exit3,[symbol](){return pipe(hash(STMStateSymbolKey),combine(hash(OP_DONE6)),combine(hash(exit3)),cached(this))},[symbol2](that){return isSTMState(that)&&that._tag===OP_DONE6&&equals(exit3,that.exit)}}},interruptedHash=pipe(hash(STMStateSymbolKey),combine(hash(OP_INTERRUPTED)),combine(hash("interrupted"))),interrupted2={[STMStateTypeId]:STMStateTypeId,_tag:OP_INTERRUPTED,[symbol](){return interruptedHash},[symbol2](that){return isSTMState(that)&&that._tag===OP_INTERRUPTED}},runningHash=pipe(hash(STMStateSymbolKey),combine(hash(OP_RUNNING2)),combine(hash("running"))),running3={[STMStateTypeId]:STMStateTypeId,_tag:OP_RUNNING2,[symbol](){return runningHash},[symbol2](that){return isSTMState(that)&&that._tag===OP_RUNNING2}},fromTExit=(tExit)=>{switch(tExit._tag){case OP_FAIL5:return done8(fail4(tExit.error));case OP_DIE3:return done8(die4(tExit.defect));case OP_INTERRUPT3:return done8(interrupt4(tExit.fiberId));case OP_SUCCEED3:return done8(succeed3(tExit.value));case OP_RETRY2:throw Error("BUG: STM.STMState.fromTExit - please report an issue at https://github.com/Effect-TS/effect/issues")}};var TExitSymbolKey="effect/TExit",TExitTypeId=Symbol.for(TExitSymbolKey),variance6={_A:(_)=>_,_E:(_)=>_},isExit2=(u)=>hasProperty(u,TExitTypeId);var isSuccess4=(self)=>{return self._tag===OP_SUCCEED3},isRetry=(self)=>{return self._tag===OP_RETRY2},fail13=(error2)=>({[TExitTypeId]:variance6,_tag:OP_FAIL5,error:error2,[symbol](){return pipe(hash(TExitSymbolKey),combine(hash(OP_FAIL5)),combine(hash(error2)),cached(this))},[symbol2](that){return isExit2(that)&&that._tag===OP_FAIL5&&equals(error2,that.error)}}),die8=(defect)=>({[TExitTypeId]:variance6,_tag:OP_DIE3,defect,[symbol](){return pipe(hash(TExitSymbolKey),combine(hash(OP_DIE3)),combine(hash(defect)),cached(this))},[symbol2](that){return isExit2(that)&&that._tag===OP_DIE3&&equals(defect,that.defect)}}),interrupt8=(fiberId3)=>({[TExitTypeId]:variance6,_tag:OP_INTERRUPT3,fiberId:fiberId3,[symbol](){return pipe(hash(TExitSymbolKey),combine(hash(OP_INTERRUPT3)),combine(hash(fiberId3)),cached(this))},[symbol2](that){return isExit2(that)&&that._tag===OP_INTERRUPT3&&equals(fiberId3,that.fiberId)}}),succeed13=(value)=>({[TExitTypeId]:variance6,_tag:OP_SUCCEED3,value,[symbol](){return pipe(hash(TExitSymbolKey),combine(hash(OP_SUCCEED3)),combine(hash(value)),cached(this))},[symbol2](that){return isExit2(that)&&that._tag===OP_SUCCEED3&&equals(value,that.value)}}),retryHash=pipe(hash(TExitSymbolKey),combine(hash(OP_RETRY2)),combine(hash("retry"))),retry4={[TExitTypeId]:variance6,_tag:OP_RETRY2,[symbol](){return retryHash},[symbol2](that){return isExit2(that)&&isRetry(that)}};var done9=(exit3)=>{return{_tag:OP_DONE5,exit:exit3}},suspend7=(journal)=>{return{_tag:OP_SUSPEND3,journal}};var txnCounter={ref:0},make46=()=>{let newId=txnCounter.ref+1;return txnCounter.ref=newId,newId};var STMSymbolKey2="effect/STM",STMTypeId2=Symbol.for(STMSymbolKey2),stmVariance={_R:(_)=>_,_E:(_)=>_,_A:(_)=>_};class STMPrimitive{effect_instruction_i0;_op=OP_COMMIT;effect_instruction_i1=void 0;effect_instruction_i2=void 0;[EffectTypeId3];[StreamTypeId];[SinkTypeId2];[ChannelTypeId2];get[STMTypeId2](){return stmVariance}constructor(effect_instruction_i0){this.effect_instruction_i0=effect_instruction_i0,this[EffectTypeId3]=effectVariance,this[StreamTypeId]=stmVariance,this[SinkTypeId2]=stmVariance,this[ChannelTypeId2]=stmVariance}[symbol2](that){return this===that}[symbol](){return cached(this,random(this))}[Symbol.iterator](){return new SingleShotGen2(new YieldWrap(this))}commit(){return unsafeAtomically(this,constVoid,constVoid)}pipe(){return pipeArguments(this,arguments)}}var unsafeAtomically=(self,onDone,onInterrupt3)=>withFiberRuntime((state)=>{let fiberId3=state.id(),env=state.getFiberRef(currentContext2),scheduler=state.getFiberRef(currentScheduler2),priority=state.getFiberRef(currentSchedulingPriority2),commitResult=tryCommitSync(fiberId3,self,env,scheduler,priority);switch(commitResult._tag){case OP_DONE5:return onDone(commitResult.exit),commitResult.exit;case OP_SUSPEND3:{let txnId=make46(),state2={value:running3},effect3=async((k)=>tryCommitAsync(fiberId3,self,txnId,state2,env,scheduler,priority,k));return uninterruptibleMask3((restore)=>pipe(restore(effect3),catchAllCause3((cause3)=>{let currentState=state2.value;if(isRunning2(currentState))state2.value=interrupted2;if(currentState=state2.value,isDone6(currentState))return onDone(currentState.exit),currentState.exit;return onInterrupt3(),failCause8(cause3)})))}}}),tryCommit=(fiberId3,stm,state,env,scheduler,priority)=>{let journal=new Map,tExit=new STMDriver(stm,journal,fiberId3,env).run(),analysis=analyzeJournal(journal);if(analysis===JournalAnalysisReadWrite)commitJournal(journal);else if(analysis===JournalAnalysisInvalid)throw Error("BUG: STM.TryCommit.tryCommit - please report an issue at https://github.com/Effect-TS/effect/issues");switch(tExit._tag){case OP_SUCCEED3:return state.value=fromTExit(tExit),completeTodos(succeed3(tExit.value),journal,scheduler,priority);case OP_FAIL5:{state.value=fromTExit(tExit);let cause3=fail3(tExit.error);return completeTodos(failCause3(cause3),journal,scheduler,priority)}case OP_DIE3:{state.value=fromTExit(tExit);let cause3=die3(tExit.defect);return completeTodos(failCause3(cause3),journal,scheduler,priority)}case OP_INTERRUPT3:{state.value=fromTExit(tExit);let cause3=interrupt3(fiberId3);return completeTodos(failCause3(cause3),journal,scheduler,priority)}case OP_RETRY2:return suspend7(journal)}},tryCommitSync=(fiberId3,stm,env,scheduler,priority)=>{let journal=new Map,tExit=new STMDriver(stm,journal,fiberId3,env).run(),analysis=analyzeJournal(journal);if(analysis===JournalAnalysisReadWrite&&isSuccess4(tExit))commitJournal(journal);else if(analysis===JournalAnalysisInvalid)throw Error("BUG: STM.TryCommit.tryCommitSync - please report an issue at https://github.com/Effect-TS/effect/issues");switch(tExit._tag){case OP_SUCCEED3:return completeTodos(succeed3(tExit.value),journal,scheduler,priority);case OP_FAIL5:{let cause3=fail3(tExit.error);return completeTodos(failCause3(cause3),journal,scheduler,priority)}case OP_DIE3:{let cause3=die3(tExit.defect);return completeTodos(failCause3(cause3),journal,scheduler,priority)}case OP_INTERRUPT3:{let cause3=interrupt3(fiberId3);return completeTodos(failCause3(cause3),journal,scheduler,priority)}case OP_RETRY2:return suspend7(journal)}},tryCommitAsync=(fiberId3,self,txnId,state,context5,scheduler,priority,k)=>{if(isRunning2(state.value)){let result=tryCommit(fiberId3,self,state,context5,scheduler,priority);switch(result._tag){case OP_DONE5:{completeTryCommit(result.exit,k);break}case OP_SUSPEND3:{addTodo(txnId,result.journal,()=>tryCommitAsync(fiberId3,self,txnId,state,context5,scheduler,priority,k));break}}}},completeTodos=(exit3,journal,scheduler,priority)=>{let todos=collectTodos(journal);if(todos.size>0)scheduler.scheduleTask(()=>execTodos(todos),priority);return done9(exit3)},completeTryCommit=(exit3,k)=>{k(exit3)};class STMDriver{self;journal;fiberId;contStack=[];env;constructor(self,journal,fiberId3,r0){this.self=self,this.journal=journal,this.fiberId=fiberId3,this.env=r0}getEnv(){return this.env}pushStack(cont){this.contStack.push(cont)}popStack(){return this.contStack.pop()}nextSuccess(){let current=this.popStack();while(current!==void 0&¤t.effect_instruction_i0!==OP_ON_SUCCESS2)current=this.popStack();return current}nextFailure(){let current=this.popStack();while(current!==void 0&¤t.effect_instruction_i0!==OP_ON_FAILURE2)current=this.popStack();return current}nextRetry(){let current=this.popStack();while(current!==void 0&¤t.effect_instruction_i0!==OP_ON_RETRY)current=this.popStack();return current}run(){let curr=this.self,exit3=void 0;while(exit3===void 0&&curr!==void 0)try{let current=curr;if(current)switch(current._op){case"Tag":{curr=effect3((_,__,env)=>unsafeGet4(env,current));break}case"Left":{curr=fail14(current.left);break}case"None":{curr=fail14(new NoSuchElementException2);break}case"Right":{curr=succeed14(current.right);break}case"Some":{curr=succeed14(current.value);break}case"Commit":{switch(current.effect_instruction_i0){case OP_DIE2:{exit3=die8(internalCall(()=>current.effect_instruction_i1()));break}case OP_FAIL4:{let cont=this.nextFailure();if(cont===void 0)exit3=fail13(internalCall(()=>current.effect_instruction_i1()));else curr=internalCall(()=>cont.effect_instruction_i2(internalCall(()=>current.effect_instruction_i1())));break}case OP_RETRY:{let cont=this.nextRetry();if(cont===void 0)exit3=retry4;else curr=internalCall(()=>cont.effect_instruction_i2());break}case OP_INTERRUPT2:{exit3=interrupt8(this.fiberId);break}case OP_WITH_STM_RUNTIME:{curr=internalCall(()=>current.effect_instruction_i1(this));break}case OP_ON_SUCCESS2:case OP_ON_FAILURE2:case OP_ON_RETRY:{this.pushStack(current),curr=current.effect_instruction_i1;break}case OP_PROVIDE3:{let env=this.env;this.env=internalCall(()=>current.effect_instruction_i2(env)),curr=pipe(current.effect_instruction_i1,ensuring6(sync8(()=>this.env=env)));break}case OP_SUCCEED2:{let value=current.effect_instruction_i1,cont=this.nextSuccess();if(cont===void 0)exit3=succeed13(value);else curr=internalCall(()=>cont.effect_instruction_i2(value));break}case OP_SYNC2:{let value=internalCall(()=>current.effect_instruction_i1()),cont=this.nextSuccess();if(cont===void 0)exit3=succeed13(value);else curr=internalCall(()=>cont.effect_instruction_i2(value));break}}break}}}catch(e){curr=die9(e)}return exit3}}var catchAll6=dual(2,(self,f)=>{let stm=new STMPrimitive(OP_ON_FAILURE2);return stm.effect_instruction_i1=self,stm.effect_instruction_i2=f,stm});var die9=(defect)=>dieSync5(()=>defect);var dieSync5=(evaluate2)=>{let stm=new STMPrimitive(OP_DIE2);return stm.effect_instruction_i1=evaluate2,stm},effect3=(f)=>withSTMRuntime((_)=>succeed14(f(_.journal,_.fiberId,_.getEnv()))),ensuring6=dual(2,(self,finalizer)=>matchSTM(self,{onFailure:(e)=>zipRight8(finalizer,fail14(e)),onSuccess:(a)=>zipRight8(finalizer,succeed14(a))})),fail14=(error2)=>failSync6(()=>error2),failSync6=(evaluate2)=>{let stm=new STMPrimitive(OP_FAIL4);return stm.effect_instruction_i1=evaluate2,stm},flatMap15=dual(2,(self,f)=>{let stm=new STMPrimitive(OP_ON_SUCCESS2);return stm.effect_instruction_i1=self,stm.effect_instruction_i2=f,stm}),matchSTM=dual(2,(self,{onFailure,onSuccess})=>pipe(self,map21(right2),catchAll6((e)=>pipe(onFailure(e),map21(left2))),flatMap15((either6)=>{switch(either6._tag){case"Left":return succeed14(either6.left);case"Right":return onSuccess(either6.right)}}))),withSTMRuntime=(f)=>{let stm=new STMPrimitive(OP_WITH_STM_RUNTIME);return stm.effect_instruction_i1=f,stm};var interruptAs2=(fiberId3)=>{let stm=new STMPrimitive(OP_INTERRUPT2);return stm.effect_instruction_i1=fiberId3,stm},map21=dual(2,(self,f)=>pipe(self,flatMap15((a)=>sync8(()=>f(a)))));var retry5=new STMPrimitive(OP_RETRY),succeed14=(value)=>{let stm=new STMPrimitive(OP_SUCCEED2);return stm.effect_instruction_i1=value,stm},sync8=(evaluate2)=>{let stm=new STMPrimitive(OP_SYNC2);return stm.effect_instruction_i1=evaluate2,stm};var zipRight8=dual(2,(self,that)=>pipe(self,flatMap15(()=>that))),zipWith10=dual(3,(self,that,f)=>pipe(self,flatMap15((a)=>pipe(that,map21((b)=>f(a,b))))));var OP_BACKPRESSURE_STRATEGY="BackPressure",OP_DROPPING_STRATEGY="Dropping",OP_SLIDING_STRATEGY="Sliding";var as7=dual(2,(self,value)=>pipe(self,map21(()=>value)));var flatten11=(self)=>flatMap15(self,identity);var forEach8=dual((args2)=>isIterable(args2[0]),(iterable,f,options)=>{if(options?.discard)return pipe(sync8(()=>iterable[Symbol.iterator]()),flatMap15((iterator)=>{let loop3=suspend8(()=>{let next4=iterator.next();if(next4.done)return void_6;return pipe(f(next4.value),flatMap15(()=>loop3))});return loop3}));return suspend8(()=>fromIterable(iterable).reduce((acc,curr)=>zipWith10(acc,f(curr),(array4,elem)=>{return array4.push(elem),array4}),succeed14([])))});var all6=(input,options)=>{if(Symbol.iterator in input)return forEach8(input,identity,options);else if(options?.discard)return forEach8(Object.values(input),identity,options);return map21(forEach8(Object.entries(input),([_,e])=>map21(e,(a)=>[_,a])),(values3)=>{let res={};for(let[k,v]of values3)res[k]=v;return res})};var suspend8=(evaluate2)=>flatten11(sync8(evaluate2)),tap5=dual(2,(self,f)=>flatMap15(self,(a)=>as7(f(a),a)));var void_6=succeed14(void 0);var TRefSymbolKey="effect/TRef",TRefTypeId=Symbol.for(TRefSymbolKey),tRefVariance={_A:(_)=>_};class TRefImpl{[TRefTypeId]=tRefVariance;todos;versioned;constructor(value){this.versioned=new Versioned(value),this.todos=new Map}modify(f){return effect3((journal)=>{let entry=getOrMakeEntry(this,journal),[retValue,newValue]=f(unsafeGet6(entry));return unsafeSet(entry,newValue),retValue})}pipe(){return pipeArguments(this,arguments)}}var make47=(value)=>effect3((journal)=>{let ref=new TRefImpl(value);return journal.set(ref,make45(ref,!0)),ref}),get16=(self)=>self.modify((a)=>[a,a]),set7=dual(2,(self,value)=>self.modify(()=>[void 0,value]));var getOrMakeEntry=(self,journal)=>{if(journal.has(self))return journal.get(self);let entry=make45(self,!1);return journal.set(self,entry),entry},unsafeGet7=dual(2,(self,journal)=>unsafeGet6(getOrMakeEntry(self,journal))),unsafeSet2=dual(3,(self,value,journal)=>{let entry=getOrMakeEntry(self,journal);unsafeSet(entry,value);return});var TEnqueueSymbolKey="effect/TQueue/TEnqueue",TEnqueueTypeId=Symbol.for(TEnqueueSymbolKey),TDequeueSymbolKey="effect/TQueue/TDequeue",TDequeueTypeId=Symbol.for(TDequeueSymbolKey);var tDequeueVariance={_Out:(_)=>_},tEnqueueVariance={_In:(_)=>_};class TQueueImpl{ref;requestedCapacity;strategy;[TDequeueTypeId]=tDequeueVariance;[TEnqueueTypeId]=tEnqueueVariance;constructor(ref,requestedCapacity,strategy){this.ref=ref,this.requestedCapacity=requestedCapacity,this.strategy=strategy}capacity(){return this.requestedCapacity}size=withSTMRuntime((runtime4)=>{let queue=unsafeGet7(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);return succeed14(queue.length)});isFull=map21(this.size,(size12)=>size12===this.requestedCapacity);isEmpty=map21(this.size,(size12)=>size12===0);shutdown=withSTMRuntime((runtime4)=>{return unsafeSet2(this.ref,void 0,runtime4.journal),void_6});isShutdown=effect3((journal)=>{return unsafeGet7(this.ref,journal)===void 0});awaitShutdown=flatMap15(this.isShutdown,(isShutdown4)=>isShutdown4?void_6:retry5);offer(value){return withSTMRuntime((runtime4)=>{let queue=pipe(this.ref,unsafeGet7(runtime4.journal));if(queue===void 0)return interruptAs2(runtime4.fiberId);if(queue.length<this.requestedCapacity)return queue.push(value),unsafeSet2(this.ref,queue,runtime4.journal),succeed14(!0);switch(this.strategy._tag){case OP_BACKPRESSURE_STRATEGY:return retry5;case OP_DROPPING_STRATEGY:return succeed14(!1);case OP_SLIDING_STRATEGY:{if(queue.length===0)return succeed14(!0);return queue.shift(),queue.push(value),unsafeSet2(this.ref,queue,runtime4.journal),succeed14(!0)}}})}offerAll(iterable){return withSTMRuntime((runtime4)=>{let as8=Array.from(iterable),queue=unsafeGet7(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);if(queue.length+as8.length<=this.requestedCapacity)return unsafeSet2(this.ref,[...queue,...as8],runtime4.journal),succeed14(!0);switch(this.strategy._tag){case OP_BACKPRESSURE_STRATEGY:return retry5;case OP_DROPPING_STRATEGY:{let forQueue=as8.slice(0,this.requestedCapacity-queue.length);return unsafeSet2(this.ref,[...queue,...forQueue],runtime4.journal),succeed14(!1)}case OP_SLIDING_STRATEGY:{let forQueue=as8.slice(0,this.requestedCapacity-queue.length),toDrop=queue.length+forQueue.length-this.requestedCapacity,newQueue=queue.slice(toDrop);return unsafeSet2(this.ref,[...newQueue,...forQueue],runtime4.journal),succeed14(!0)}}})}peek=withSTMRuntime((runtime4)=>{let queue=unsafeGet7(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);if(queue.length===0)return retry5;return succeed14(queue[0])});peekOption=withSTMRuntime((runtime4)=>{let queue=unsafeGet7(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);return succeed14(fromNullable(queue[0]))});take=withSTMRuntime((runtime4)=>{let queue=unsafeGet7(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);if(queue.length===0)return retry5;let dequeued=queue.shift();return unsafeSet2(this.ref,queue,runtime4.journal),succeed14(dequeued)});takeAll=withSTMRuntime((runtime4)=>{let queue=unsafeGet7(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);return unsafeSet2(this.ref,[],runtime4.journal),succeed14(queue)});takeUpTo(max6){return withSTMRuntime((runtime4)=>{let queue=unsafeGet7(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);let[toTake,remaining]=splitAt2(unsafeFromArray(queue),max6);return unsafeSet2(this.ref,Array.from(remaining),runtime4.journal),succeed14(Array.from(toTake))})}}var isShutdown4=(self)=>self.isShutdown;var shutdown5=(self)=>self.shutdown;var take4=(self)=>self.take;var TPubSubSymbolKey="effect/TPubSub",TPubSubTypeId=Symbol.for(TPubSubSymbolKey),AbsentValue2=Symbol.for("effect/TPubSub/AbsentValue"),makeNode2=(head6,subscribers,tail)=>({head:head6,subscribers,tail});class TPubSubImpl{pubsubSize;publisherHead;publisherTail;requestedCapacity;strategy;subscriberCount;subscribers;[TPubSubTypeId]={_A:(_)=>_};[TEnqueueTypeId]=tEnqueueVariance;constructor(pubsubSize,publisherHead,publisherTail,requestedCapacity,strategy,subscriberCount,subscribers){this.pubsubSize=pubsubSize,this.publisherHead=publisherHead,this.publisherTail=publisherTail,this.requestedCapacity=requestedCapacity,this.strategy=strategy,this.subscriberCount=subscriberCount,this.subscribers=subscribers}isShutdown=effect3((journal)=>{return unsafeGet7(this.publisherTail,journal)===void 0});awaitShutdown=flatMap15(this.isShutdown,(isShutdown5)=>isShutdown5?void_6:retry5);capacity(){return this.requestedCapacity}size=withSTMRuntime((runtime4)=>{if(unsafeGet7(this.publisherTail,runtime4.journal)===void 0)return interruptAs2(runtime4.fiberId);return succeed14(unsafeGet7(this.pubsubSize,runtime4.journal))});isEmpty=map21(this.size,(size12)=>size12===0);isFull=map21(this.size,(size12)=>size12===this.capacity());offer(value){return withSTMRuntime((runtime4)=>{let currentPublisherTail=unsafeGet7(this.publisherTail,runtime4.journal);if(currentPublisherTail===void 0)return interruptAs2(runtime4.fiberId);let currentSubscriberCount=unsafeGet7(this.subscriberCount,runtime4.journal);if(currentSubscriberCount===0)return succeed14(!0);let currentPubSubSize=unsafeGet7(this.pubsubSize,runtime4.journal);if(currentPubSubSize<this.requestedCapacity){let updatedPublisherTail=new TRefImpl(void 0),updatedNode=makeNode2(value,currentSubscriberCount,updatedPublisherTail);return unsafeSet2(currentPublisherTail,updatedNode,runtime4.journal),unsafeSet2(this.publisherTail,updatedPublisherTail,runtime4.journal),unsafeSet2(this.pubsubSize,currentPubSubSize+1,runtime4.journal),succeed14(!0)}switch(this.strategy._tag){case OP_BACKPRESSURE_STRATEGY:return retry5;case OP_DROPPING_STRATEGY:return succeed14(!1);case OP_SLIDING_STRATEGY:{if(this.requestedCapacity>0){let currentPublisherHead=unsafeGet7(this.publisherHead,runtime4.journal),loop3=!0;while(loop3){let node=unsafeGet7(currentPublisherHead,runtime4.journal);if(node===void 0)return retry5;let{head:head6,tail}=node;if(head6!==AbsentValue2){let updatedNode2=makeNode2(AbsentValue2,node.subscribers,node.tail);unsafeSet2(currentPublisherHead,updatedNode2,runtime4.journal),unsafeSet2(this.publisherHead,tail,runtime4.journal),loop3=!1}else currentPublisherHead=tail}}let updatedPublisherTail=new TRefImpl(void 0),updatedNode=makeNode2(value,currentSubscriberCount,updatedPublisherTail);return unsafeSet2(currentPublisherTail,updatedNode,runtime4.journal),unsafeSet2(this.publisherTail,updatedPublisherTail,runtime4.journal),succeed14(!0)}}})}offerAll(iterable){return map21(forEach8(iterable,(a)=>this.offer(a)),every(identity))}shutdown=effect3((journal)=>{if(unsafeGet7(this.publisherTail,journal)!==void 0){unsafeSet2(this.publisherTail,void 0,journal);let currentSubscribers=unsafeGet7(this.subscribers,journal);forEach3(currentSubscribers,(subscriber)=>{unsafeSet2(subscriber,void 0,journal)}),unsafeSet2(this.subscribers,empty5(),journal)}})}class TPubSubSubscriptionImpl{pubsubSize;publisherHead;requestedCapacity;subscriberHead;subscriberCount;subscribers;[TPubSubTypeId]=TPubSubTypeId;[TDequeueTypeId]=tDequeueVariance;constructor(pubsubSize,publisherHead,requestedCapacity,subscriberHead,subscriberCount,subscribers){this.pubsubSize=pubsubSize,this.publisherHead=publisherHead,this.requestedCapacity=requestedCapacity,this.subscriberHead=subscriberHead,this.subscriberCount=subscriberCount,this.subscribers=subscribers}isShutdown=effect3((journal)=>{return unsafeGet7(this.subscriberHead,journal)===void 0});awaitShutdown=flatMap15(this.isShutdown,(isShutdown5)=>isShutdown5?void_6:retry5);capacity(){return this.requestedCapacity}size=withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet7(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let loop3=!0,size12=0;while(loop3){let node=unsafeGet7(currentSubscriberHead,runtime4.journal);if(node===void 0)loop3=!1;else{let{head:head6,tail}=node;if(head6!==AbsentValue2){if(size12=size12+1,size12>=Number.MAX_SAFE_INTEGER)loop3=!1}currentSubscriberHead=tail}}return succeed14(size12)});isEmpty=map21(this.size,(size12)=>size12===0);isFull=map21(this.size,(size12)=>size12===this.capacity());peek=withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet7(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let value=AbsentValue2,loop3=!0;while(loop3){let node=unsafeGet7(currentSubscriberHead,runtime4.journal);if(node===void 0)return retry5;let{head:head6,tail}=node;if(head6!==AbsentValue2)value=head6,loop3=!1;else currentSubscriberHead=tail}return succeed14(value)});peekOption=withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet7(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let value=none2(),loop3=!0;while(loop3){let node=unsafeGet7(currentSubscriberHead,runtime4.journal);if(node===void 0)value=none2(),loop3=!1;else{let{head:head6,tail}=node;if(head6!==AbsentValue2)value=some2(head6),loop3=!1;else currentSubscriberHead=tail}}return succeed14(value)});shutdown=effect3((journal)=>{let currentSubscriberHead=unsafeGet7(this.subscriberHead,journal);if(currentSubscriberHead!==void 0){unsafeSet2(this.subscriberHead,void 0,journal);let loop3=!0;while(loop3){let node=unsafeGet7(currentSubscriberHead,journal);if(node===void 0)loop3=!1;else{let{head:head6,tail}=node;if(head6!==AbsentValue2){let subscribers=node.subscribers;if(subscribers===1){let size12=unsafeGet7(this.pubsubSize,journal),updatedNode=makeNode2(AbsentValue2,0,tail);unsafeSet2(currentSubscriberHead,updatedNode,journal),unsafeSet2(this.publisherHead,tail,journal),unsafeSet2(this.pubsubSize,size12-1,journal)}else{let updatedNode=makeNode2(head6,subscribers-1,tail);unsafeSet2(currentSubscriberHead,updatedNode,journal)}}currentSubscriberHead=tail}}let currentSubscriberCount=unsafeGet7(this.subscriberCount,journal);unsafeSet2(this.subscriberCount,currentSubscriberCount-1,journal),unsafeSet2(this.subscribers,remove4(unsafeGet7(this.subscribers,journal),this.subscriberHead),journal)}});take=withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet7(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let value=AbsentValue2,loop3=!0;while(loop3){let node=unsafeGet7(currentSubscriberHead,runtime4.journal);if(node===void 0)return retry5;let{head:head6,tail}=node;if(head6!==AbsentValue2){let subscribers=node.subscribers;if(subscribers===1){let size12=unsafeGet7(this.pubsubSize,runtime4.journal),updatedNode=makeNode2(AbsentValue2,0,tail);unsafeSet2(currentSubscriberHead,updatedNode,runtime4.journal),unsafeSet2(this.publisherHead,tail,runtime4.journal),unsafeSet2(this.pubsubSize,size12-1,runtime4.journal)}else{let updatedNode=makeNode2(head6,subscribers-1,tail);unsafeSet2(currentSubscriberHead,updatedNode,runtime4.journal)}unsafeSet2(this.subscriberHead,tail,runtime4.journal),value=head6,loop3=!1}else currentSubscriberHead=tail}return succeed14(value)});takeAll=this.takeUpTo(Number.POSITIVE_INFINITY);takeUpTo(max6){return withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet7(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let builder=[],n=0;while(n!==max6){let node=unsafeGet7(currentSubscriberHead,runtime4.journal);if(node===void 0)n=max6;else{let{head:head6,tail}=node;if(head6!==AbsentValue2){let subscribers=node.subscribers;if(subscribers===1){let size12=unsafeGet7(this.pubsubSize,runtime4.journal),updatedNode=makeNode2(AbsentValue2,0,tail);unsafeSet2(currentSubscriberHead,updatedNode,runtime4.journal),unsafeSet2(this.publisherHead,tail,runtime4.journal),unsafeSet2(this.pubsubSize,size12-1,runtime4.journal)}else{let updatedNode=makeNode2(head6,subscribers-1,tail);unsafeSet2(currentSubscriberHead,updatedNode,runtime4.journal)}builder.push(head6),n=n+1}currentSubscriberHead=tail}}return unsafeSet2(this.subscriberHead,currentSubscriberHead,runtime4.journal),succeed14(builder)})}}var makeSubscription2=(pubsubSize,publisherHead,publisherTail,requestedCapacity,subscriberCount,subscribers)=>pipe(get16(publisherTail),flatMap15((currentPublisherTail)=>pipe(all6([make47(currentPublisherTail),get16(subscriberCount),get16(subscribers)]),tap5(([_,currentSubscriberCount])=>pipe(subscriberCount,set7(currentSubscriberCount+1))),tap5(([subscriberHead,_,currentSubscribers])=>pipe(subscribers,set7(pipe(currentSubscribers,add2(subscriberHead))))),map21(([subscriberHead])=>new TPubSubSubscriptionImpl(pubsubSize,publisherHead,requestedCapacity,subscriberHead,subscriberCount,subscribers)))));var subscribe3=(self)=>makeSubscription2(self.pubsubSize,self.publisherHead,self.publisherTail,self.requestedCapacity,self.subscriberCount,self.subscribers),subscribeScoped=(self)=>acquireRelease2(subscribe3(self),(dequeue)=>shutdown5(dequeue));var subscribeScoped2=subscribeScoped;var isShutdown6=isShutdown4;var take5=take4;class RingBuffer{capacity;array;size=0;current=0;constructor(capacity7){this.capacity=capacity7,this.array=Array.from({length:capacity7},constUndefined)}head(){return fromNullable(this.array[this.current])}lastOrNull(){if(this.size===0)return;let index=this.current===0?this.array.length-1:this.current-1;return this.array[index]??void 0}put(value){this.array[this.current]=value,this.increment()}dropLast(){if(this.size>0)this.decrement(),this.array[this.current]=void 0}toChunk(){let begin=this.current-this.size,newArray=begin<0?[...this.array.slice(this.capacity+begin,this.capacity),...this.array.slice(0,this.current)]:this.array.slice(begin,this.current);return fromIterable2(newArray)}increment(){if(this.size<this.capacity)this.size+=1;this.current=(this.current+1)%this.capacity}decrement(){if(this.size-=1,this.current>0)this.current-=1;else this.current=this.capacity-1}}var OP_NOT_STARTED="NotStarted",OP_PREVIOUS="Previous",OP_CURRENT="Current",notStarted={_tag:"NotStarted"},previous=(fiber)=>({_tag:"Previous",fiber}),current=(fiber)=>({_tag:"Current",fiber});var make48=(emit)=>{return Object.assign(emit,{chunk(as8){return this(succeed9(as8))},die(defect){return this(die6(defect))},dieMessage(message){return this(dieMessage2(message))},done(exit3){return this(suspend3(()=>mapBoth2(exit3,{onFailure:some2,onSuccess:of2})))},end(){return this(fail9(none2()))},fail(e){return this(fail9(some2(e)))},fromEffect(effect4){return this(mapBoth4(effect4,{onFailure:some2,onSuccess:of2}))},fromEffectChunk(effect4){return this(pipe(effect4,mapError3(some2)))},halt(cause3){return this(failCause8(pipe(cause3,map11(some2))))},single(value){return this(succeed9(of2(value)))}})},makePush=(queue,scheduler)=>{let finished=!1,buffer=[],running4=!1;function array4(items){if(finished)return!1;if(items.length<=50000)buffer.push.apply(buffer,items);else for(let i=0;i<items.length;i++)buffer.push(items[0]);if(!running4)running4=!0,scheduler.scheduleTask(flush,0);return!0}function flush(){if(running4=!1,buffer.length>0)queue.unsafeOffer(buffer),buffer=[]}function done10(exit3){if(finished)return;if(finished=!0,exit3._tag==="Success")buffer.push(exit3.value);flush(),queue.unsafeOffer(exit3._tag==="Success"?void_3:exit3)}return{single(value){if(finished)return!1;if(buffer.push(value),!running4)running4=!0,scheduler.scheduleTask(flush,0);return!0},array:array4,chunk(chunk2){return array4(toReadonlyArray(chunk2))},done:done10,end(){if(finished)return;finished=!0,flush(),queue.unsafeOffer(void_3)},halt(cause3){return done10(failCause3(cause3))},fail(error2){return done10(fail4(error2))},die(defect){return done10(die4(defect))},dieMessage(message){return done10(die4(Error(message)))}}};var HandoffTypeId=Symbol.for("effect/Stream/Handoff"),OP_HANDOFF_STATE_EMPTY="Empty",OP_HANDOFF_STATE_FULL="Full",handoffStateEmpty=(notifyConsumer)=>({_tag:OP_HANDOFF_STATE_EMPTY,notifyConsumer}),handoffStateFull=(value,notifyProducer)=>({_tag:OP_HANDOFF_STATE_FULL,value,notifyProducer}),handoffStateMatch=(onEmpty,onFull)=>{return(self)=>{switch(self._tag){case OP_HANDOFF_STATE_EMPTY:return onEmpty(self.notifyConsumer);case OP_HANDOFF_STATE_FULL:return onFull(self.value,self.notifyProducer)}}},handoffVariance={_A:(_)=>_},make49=()=>pipe(make39(),flatMap11((deferred)=>make24(handoffStateEmpty(deferred))),map16((ref)=>({[HandoffTypeId]:handoffVariance,ref}))),offer5=dual(2,(self,value)=>{return flatMap11(make39(),(deferred)=>flatten8(modify4(self.ref,(state)=>pipe(state,handoffStateMatch((notifyConsumer)=>[zipRight4(succeed7(notifyConsumer,void 0),_await3(deferred)),handoffStateFull(value,deferred)],(_,notifyProducer)=>[flatMap11(_await3(notifyProducer),()=>pipe(self,offer5(value))),state])))))}),take6=(self)=>flatMap11(make39(),(deferred)=>flatten8(modify4(self.ref,(state)=>pipe(state,handoffStateMatch((notifyConsumer)=>[flatMap11(_await3(notifyConsumer),()=>take6(self)),state],(value,notifyProducer)=>[as4(succeed7(notifyProducer,void 0),value),handoffStateEmpty(deferred)])))));var OP_EMIT4="Emit",OP_HALT="Halt",OP_END="End",emit=(elements)=>({_tag:"Emit",elements}),halt=(cause3)=>({_tag:"Halt",cause:cause3}),end3=(reason)=>({_tag:"End",reason});var TakeSymbolKey="effect/Take",TakeTypeId=Symbol.for(TakeSymbolKey),takeVariance={_A:(_)=>_,_E:(_)=>_};class TakeImpl{exit;[TakeTypeId]=takeVariance;constructor(exit3){this.exit=exit3}pipe(){return pipeArguments(this,arguments)}}var chunk2=(chunk3)=>new TakeImpl(succeed3(chunk3));var done10=(self)=>suspend3(()=>self.exit),end4=new TakeImpl(fail4(none2()));var failCause11=(cause3)=>new TakeImpl(failCause3(pipe(cause3,map11(some2))));var fromPull=(pull)=>matchCause3(pull,{onFailure:(cause3)=>match2(flipCauseOption2(cause3),{onNone:()=>end4,onSome:failCause11}),onSuccess:chunk2});var match18=dual(2,(self,{onEnd,onFailure,onSuccess})=>match9(self.exit,{onFailure:(cause3)=>match2(flipCauseOption2(cause3),{onNone:onEnd,onSome:onFailure}),onSuccess}));var of5=(value)=>new TakeImpl(succeed3(of2(value)));var end5=()=>fail9(none2());var failCause12=(cause3)=>mapError3(failCause8(cause3),some2);var OP_SCHEDULE_END="ScheduleEnd",OP_UPSTREAM_END="UpstreamEnd",ScheduleEnd={_tag:"ScheduleEnd"},UpstreamEnd={_tag:"UpstreamEnd"};var OP_DRAIN_LEFT="DrainLeft",OP_DRAIN_RIGHT="DrainRight",OP_PULL_BOTH="PullBoth",OP_PULL_LEFT="PullLeft",OP_PULL_RIGHT="PullRight",DrainLeft={_tag:"DrainLeft"},DrainRight={_tag:"DrainRight"},PullBoth={_tag:"PullBoth"},PullLeft=(rightChunk)=>({_tag:"PullLeft",rightChunk}),PullRight=(leftChunk)=>({_tag:"PullRight",leftChunk});var OP_PULL_BOTH2="PullBoth",OP_PULL_LEFT2="PullLet",OP_PULL_RIGHT2="PullRight",PullBoth2={_tag:"PullBoth"},PullLeft2=(rightChunk)=>({_tag:"PullLet",rightChunk}),PullRight2=(leftChunk)=>({_tag:"PullRight",leftChunk});var StreamSymbolKey="effect/Stream",StreamTypeId2=Symbol.for(StreamSymbolKey),streamVariance={_R:(_)=>_,_E:(_)=>_,_A:(_)=>_};class StreamImpl{channel;[StreamTypeId2]=streamVariance;constructor(channel){this.channel=channel}pipe(){return pipeArguments(this,arguments)}}var isStream=(u)=>hasProperty(u,StreamTypeId2)||isEffect2(u),DefaultChunkSize=4096,accumulate=(self)=>chunks(accumulateChunks(self)),accumulateChunks=(self)=>{let accumulator=(s)=>readWith({onInput:(input)=>{let next4=appendAll2(s,input);return flatMap13(write(next4),()=>accumulator(next4))},onFailure:fail11,onDone:()=>void_5});return new StreamImpl(pipeTo(toChannel2(self),accumulator(empty2())))},acquireRelease3=(acquire,release)=>scoped5(acquireRelease2(acquire,release)),aggregate=dual(2,(self,sink)=>aggregateWithin(self,sink,forever4)),aggregateWithin=dual(3,(self,sink,schedule2)=>filterMap6(aggregateWithinEither(self,sink,schedule2),(_)=>match(_,{onLeft:none2,onRight:some2}))),aggregateWithinEither=dual(3,(self,sink,schedule2)=>{let layer=all5([make49(),make24(ScheduleEnd),make24(empty2()),driver2(schedule2),make24(!1),make24(!1)]);return fromEffect7(layer).pipe(flatMap16(([handoff,sinkEndReason,sinkLeftovers,scheduleDriver,consumed,endAfterEmit])=>{let handoffProducer=readWithCause({onInput:(input)=>flatMap13(fromEffect4(pipe(handoff,offer5(emit(input)),when2(()=>isNonEmpty(input)))),()=>handoffProducer),onFailure:(cause3)=>fromEffect4(offer5(handoff,halt(cause3))),onDone:()=>fromEffect4(offer5(handoff,end3(UpstreamEnd)))}),handoffConsumer=pipe(getAndSet2(sinkLeftovers,empty2()),flatMap11((leftovers)=>{if(isNonEmpty(leftovers))return pipe(set5(consumed,!0),zipRight4(succeed9(pipe(write(leftovers),flatMap13(()=>handoffConsumer)))));return pipe(take6(handoff),map16((signal)=>{switch(signal._tag){case OP_EMIT4:return pipe(fromEffect4(set5(consumed,!0)),zipRight6(write(signal.elements)),zipRight6(fromEffect4(get11(endAfterEmit))),flatMap13((bool)=>bool?void_5:handoffConsumer));case OP_HALT:return failCause10(signal.cause);case OP_END:{if(signal.reason._tag===OP_SCHEDULE_END)return pipe(get11(consumed),map16((bool)=>bool?fromEffect4(pipe(set5(sinkEndReason,ScheduleEnd),zipRight4(set5(endAfterEmit,!0)))):pipe(fromEffect4(pipe(set5(sinkEndReason,ScheduleEnd),zipRight4(set5(endAfterEmit,!0)))),flatMap13(()=>handoffConsumer))),unwrap);return pipe(set5(sinkEndReason,signal.reason),zipRight4(set5(endAfterEmit,!0)),fromEffect4)}}}))}),unwrap),timeout3=(lastB)=>scheduleDriver.next(lastB),scheduledAggregator=(sinkFiber,scheduleFiber,scope5)=>{let forkSink=pipe(set5(consumed,!1),zipRight4(set5(endAfterEmit,!1)),zipRight4(pipe(handoffConsumer,pipeToOrFail(toChannel(sink)),collectElements,run3,forkIn2(scope5)))),handleSide=(leftovers,b,c)=>pipe(set5(sinkLeftovers,flatten2(leftovers)),zipRight4(map16(get11(sinkEndReason),(reason)=>{switch(reason._tag){case OP_SCHEDULE_END:return pipe(all5([get11(consumed),forkSink,pipe(timeout3(some2(b)),forkIn2(scope5))]),map16(([wasConsumed,sinkFiber2,scheduleFiber2])=>{let toWrite=pipe(c,match2({onNone:()=>of2(right2(b)),onSome:(c2)=>make4(right2(b),left2(c2))}));if(wasConsumed)return pipe(write(toWrite),flatMap13(()=>scheduledAggregator(sinkFiber2,scheduleFiber2,scope5)));return scheduledAggregator(sinkFiber2,scheduleFiber2,scope5)}),unwrap);case OP_UPSTREAM_END:return pipe(get11(consumed),map16((wasConsumed)=>wasConsumed?write(of2(right2(b))):void_5),unwrap)}})),unwrap);return unwrap(raceWith2(join3(sinkFiber),join3(scheduleFiber),{onSelfDone:(sinkExit,_)=>pipe(interrupt5(scheduleFiber),zipRight4(pipe(suspend3(()=>sinkExit),map16(([leftovers,b])=>handleSide(leftovers,b,none2()))))),onOtherDone:(scheduleExit,_)=>matchCauseEffect3(suspend3(()=>scheduleExit),{onFailure:(cause3)=>match(failureOrCause2(cause3),{onLeft:()=>pipe(handoff,offer5(end3(ScheduleEnd)),forkDaemon2,zipRight4(pipe(join3(sinkFiber),map16(([leftovers,b])=>handleSide(leftovers,b,none2()))))),onRight:(cause4)=>pipe(handoff,offer5(halt(cause4)),forkDaemon2,zipRight4(pipe(join3(sinkFiber),map16(([leftovers,b])=>handleSide(leftovers,b,none2())))))}),onSuccess:(c)=>pipe(handoff,offer5(end3(ScheduleEnd)),forkDaemon2,zipRight4(pipe(join3(sinkFiber),map16(([leftovers,b])=>handleSide(leftovers,b,some2(c))))))})}))};return unwrapScopedWith3((scope5)=>pipeTo(toChannel2(self),handoffProducer).pipe(run3,forkIn2(scope5),zipRight4(pipeToOrFail(handoffConsumer,toChannel(sink)).pipe(collectElements,run3,forkIn2(scope5),flatMap11((sinkFiber)=>timeout3(none2()).pipe(forkIn2(scope5),map16((scheduleFiber)=>new StreamImpl(scheduledAggregator(sinkFiber,scheduleFiber,scope5)))))))))}))}),as8=dual(2,(self,value)=>map22(self,()=>value)),queueFromBufferOptions=(bufferSize)=>{if(bufferSize==="unbounded")return unbounded3();else if(typeof bufferSize==="number"||bufferSize===void 0)return bounded3(bufferSize??16);switch(bufferSize.strategy){case"dropping":return dropping2(bufferSize.bufferSize??16);case"sliding":return sliding2(bufferSize.bufferSize??16);default:return bounded3(bufferSize.bufferSize??16)}},_async=(register,bufferSize)=>acquireRelease2(queueFromBufferOptions(bufferSize),(queue)=>shutdown2(queue)).pipe(flatMap11((output)=>runtime3().pipe(flatMap11((runtime4)=>sync4(()=>{let runPromiseExit3=runPromiseExit2(runtime4);return register(make48((resume2)=>fromPull(resume2).pipe(flatMap11((take7)=>offer3(output,take7)),asVoid3,runPromiseExit3).then((exit3)=>{if(isFailure3(exit3)){if(!isInterrupted2(exit3.cause))throw squash(exit3.cause)}})))})),map16((value)=>{let loop3=take3(output).pipe(flatMap11((take7)=>done10(take7)),match13({onFailure:(maybeError)=>fromEffect4(shutdown2(output)).pipe(zipRight6(match2(maybeError,{onNone:()=>void_5,onSome:(error2)=>fail11(error2)}))),onSuccess:(chunk3)=>write(chunk3).pipe(flatMap13(()=>loop3))}),unwrap);return fromChannel2(loop3).pipe(ensuring7(value??_void))}))),unwrapScoped4),asyncEffect3=(register,bufferSize)=>pipe(acquireRelease2(queueFromBufferOptions(bufferSize),(queue)=>shutdown2(queue)),flatMap11((output)=>pipe(runtime3(),flatMap11((runtime4)=>pipe(register(make48((k)=>pipe(fromPull(k),flatMap11((take7)=>offer3(output,take7)),asVoid3,runPromiseExit2(runtime4)).then((exit3)=>{if(isFailure3(exit3)){if(!isInterrupted2(exit3.cause))throw squash(exit3.cause)}}))),map16(()=>{let loop3=pipe(take3(output),flatMap11(done10),match13({onFailure:(maybeError)=>pipe(fromEffect4(shutdown2(output)),zipRight6(match2(maybeError,{onNone:()=>void_5,onSome:fail11}))),onSuccess:(chunk3)=>pipe(write(chunk3),flatMap13(()=>loop3))}),unwrap);return loop3}))))),unwrapScoped3,fromChannel2),queueFromBufferOptionsPush=(options)=>{if(options?.bufferSize==="unbounded"||options?.bufferSize===void 0&&options?.strategy===void 0)return unbounded3();switch(options?.strategy){case"sliding":return sliding2(options.bufferSize??16);default:return dropping2(options?.bufferSize??16)}},asyncPush=(register,options)=>acquireRelease2(queueFromBufferOptionsPush(options),shutdown2).pipe(tap3((queue)=>getWith(currentScheduler2,(scheduler)=>register(makePush(queue,scheduler)))),map16((queue)=>{let loop3=flatMap13(take3(queue),(item)=>isExit(item)?isSuccess2(item)?void_5:failCause10(item.cause):zipRight6(write(unsafeFromArray(item)),loop3));return loop3}),unwrapScoped3,fromChannel2),asyncScoped=(register,bufferSize)=>pipe(acquireRelease2(queueFromBufferOptions(bufferSize),(queue)=>shutdown2(queue)),flatMap11((output)=>pipe(runtime3(),flatMap11((runtime4)=>pipe(register(make48((k)=>pipe(fromPull(k),flatMap11((take7)=>offer3(output,take7)),asVoid3,runPromiseExit2(runtime4)).then((exit3)=>{if(isFailure3(exit3)){if(!isInterrupted2(exit3.cause))throw squash(exit3.cause)}}))),zipRight4(make24(!1)),flatMap11((ref)=>pipe(get11(ref),map16((isDone7)=>isDone7?end5():pipe(take3(output),flatMap11(done10),onError2(()=>pipe(set5(ref,!0),zipRight4(shutdown2(output)))))))))))),scoped5,flatMap16(repeatEffectChunkOption)),branchAfter=dual(3,(self,n,f)=>suspend9(()=>{let buffering=(acc)=>readWith({onInput:(input)=>{if(acc.length+input.length>=n){let[b1,b2]=pipe(input,splitAt2(n-acc.length));return running4(pipe(acc,appendAll2(b1)),b2)}return buffering(pipe(acc,appendAll2(input)))},onFailure:fail11,onDone:()=>running4(acc,empty2())}),running4=(prefix,leftover)=>pipeTo(zipRight6(write(leftover),identityChannel()),toChannel2(f(prefix)));return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(buffering(empty2()))))})),broadcast=dual(3,(self,n,maximumLag)=>pipe(self,broadcastedQueues(n,maximumLag),map16((tuple2)=>tuple2.map((queue)=>flattenTake(fromQueue2(queue,{shutdown:!0})))))),broadcastDynamic=dual(2,(self,maximumLag)=>map16(toPubSub2(self,maximumLag),(pubsub)=>flattenTake(fromPubSub(pubsub)))),share=dual(2,(self,options)=>map16(make44({acquire:broadcastDynamic(self,options),idleTimeToLive:options.idleTimeToLive}),(rcRef)=>unwrapScoped4(get15(rcRef)))),broadcastedQueues=dual(3,(self,n,maximumLag)=>flatMap11(pubsubFromOptions(maximumLag),(pubsub)=>pipe(all5(Array.from({length:n},()=>subscribe2(pubsub))),tap3(()=>forkScoped2(runIntoPubSubScoped(self,pubsub)))))),broadcastedQueuesDynamic=dual(2,(self,maximumLag)=>map16(toPubSub2(self,maximumLag),subscribe2)),buffer=dual(2,(self,options)=>{if(options.capacity==="unbounded")return bufferUnbounded(self);else if(options.strategy==="dropping")return bufferDropping(self,options.capacity);else if(options.strategy==="sliding")return bufferSliding(self,options.capacity);let queue=toQueueOfElements(self,options);return new StreamImpl(unwrapScoped3(map16(queue,(queue2)=>{let process2=pipe(fromEffect4(take3(queue2)),flatMap13(match9({onFailure:(cause3)=>pipe(flipCauseOption2(cause3),match2({onNone:()=>void_5,onSome:failCause10})),onSuccess:(value)=>flatMap13(write(of2(value)),()=>process2)})));return process2})))}),bufferChunks=dual(2,(self,options)=>{if(options.strategy==="dropping")return bufferChunksDropping(self,options.capacity);else if(options.strategy==="sliding")return bufferChunksSliding(self,options.capacity);let queue=toQueue2(self,options);return new StreamImpl(unwrapScoped3(map16(queue,(queue2)=>{let process2=pipe(fromEffect4(take3(queue2)),flatMap13(match18({onEnd:()=>void_5,onFailure:failCause10,onSuccess:(value)=>pipe(write(value),flatMap13(()=>process2))})));return process2})))}),bufferChunksDropping=dual(2,(self,capacity7)=>{let queue=acquireRelease2(dropping2(capacity7),(queue2)=>shutdown2(queue2));return new StreamImpl(bufferSignal(queue,toChannel2(self)))}),bufferChunksSliding=dual(2,(self,capacity7)=>{let queue=acquireRelease2(sliding2(capacity7),(queue2)=>shutdown2(queue2));return new StreamImpl(bufferSignal(queue,toChannel2(self)))}),bufferDropping=dual(2,(self,capacity7)=>{let queue=acquireRelease2(dropping2(capacity7),(queue2)=>shutdown2(queue2));return new StreamImpl(bufferSignal(queue,toChannel2(rechunk(1)(self))))}),bufferSliding=dual(2,(self,capacity7)=>{let queue=acquireRelease2(sliding2(capacity7),(queue2)=>shutdown2(queue2));return new StreamImpl(bufferSignal(queue,toChannel2(pipe(self,rechunk(1)))))}),bufferUnbounded=(self)=>{let queue=toQueue2(self,{strategy:"unbounded"});return new StreamImpl(unwrapScoped3(map16(queue,(queue2)=>{let process2=pipe(fromEffect4(take3(queue2)),flatMap13(match18({onEnd:()=>void_5,onFailure:failCause10,onSuccess:(value)=>flatMap13(write(value),()=>process2)})));return process2})))},bufferSignal=(scoped5,bufferChannel)=>{let producer=(queue,ref)=>{let terminate=(take7)=>pipe(get11(ref),tap3(_await3),zipRight4(make39()),flatMap11((deferred)=>pipe(offer3(queue,[take7,deferred]),zipRight4(set5(ref,deferred)),zipRight4(_await3(deferred)))),asVoid3,fromEffect4);return readWithCause({onInput:(input)=>pipe(make39(),flatMap11((deferred)=>pipe(offer3(queue,[chunk2(input),deferred]),flatMap11((added)=>pipe(set5(ref,deferred),when2(()=>added))))),asVoid3,fromEffect4,flatMap13(()=>producer(queue,ref))),onFailure:(error2)=>terminate(failCause11(error2)),onDone:()=>terminate(end4)})},consumer=(queue)=>{let process2=pipe(fromEffect4(take3(queue)),flatMap13(([take7,deferred])=>zipRight6(fromEffect4(succeed7(deferred,void 0)),match18(take7,{onEnd:()=>void_5,onFailure:failCause10,onSuccess:(value)=>pipe(write(value),flatMap13(()=>process2))}))));return process2};return unwrapScoped3(pipe(scoped5,flatMap11((queue)=>pipe(make39(),tap3((start3)=>succeed7(start3,void 0)),flatMap11((start3)=>pipe(make24(start3),flatMap11((ref)=>pipe(bufferChannel,pipeTo(producer(queue,ref)),runScoped,forkScoped2)),as4(consumer(queue))))))))},catchAll7=dual(2,(self,f)=>catchAllCause6(self,(cause3)=>match(failureOrCause2(cause3),{onLeft:f,onRight:failCause13}))),catchAllCause6=dual(2,(self,f)=>new StreamImpl(pipe(toChannel2(self),catchAllCause5((cause3)=>toChannel2(f(cause3)))))),catchSome3=dual(2,(self,pf)=>pipe(self,catchAll7((error2)=>pipe(pf(error2),getOrElse(()=>fail15(error2)))))),catchSomeCause3=dual(2,(self,pf)=>pipe(self,catchAllCause6((cause3)=>pipe(pf(cause3),getOrElse(()=>failCause13(cause3)))))),catchTag3=dual(3,(self,k,f)=>catchAll7(self,(e)=>{if("_tag"in e&&e._tag===k)return f(e);return fail15(e)})),catchTags3=dual(2,(self,cases)=>catchAll7(self,(e)=>{let keys3=Object.keys(cases);if("_tag"in e&&keys3.includes(e._tag))return cases[e._tag](e);return fail15(e)})),changes=(self)=>pipe(self,changesWith((x,y)=>equals(y)(x))),changesWith=dual(2,(self,f)=>{let writer=(last4)=>readWithCause({onInput:(input)=>{let[newLast,newChunk]=reduce2(input,[last4,empty2()],([option3,outputs],output)=>{if(isSome2(option3)&&f(option3.value,output))return[some2(output),outputs];return[some2(output),pipe(outputs,append2(output))]});return flatMap13(write(newChunk),()=>writer(newLast))},onFailure:failCause10,onDone:()=>void_5});return new StreamImpl(pipe(toChannel2(self),pipeTo(writer(none2()))))}),changesWithEffect=dual(2,(self,f)=>{let writer=(last4)=>readWithCause({onInput:(input)=>pipe(input,reduce11([last4,empty2()],([option3,outputs],output)=>{if(isSome2(option3))return pipe(f(option3.value,output),map16((bool)=>bool?[some2(output),outputs]:[some2(output),pipe(outputs,append2(output))]));return succeed9([some2(output),pipe(outputs,append2(output))])}),fromEffect4,flatMap13(([newLast,newChunk])=>pipe(write(newChunk),flatMap13(()=>writer(newLast))))),onFailure:failCause10,onDone:()=>void_5});return new StreamImpl(pipe(toChannel2(self),pipeTo(writer(none2()))))}),chunks=(self)=>pipe(self,mapChunks(of2)),chunksWith=dual(2,(self,f)=>flattenChunks(f(chunks(self)))),unsome=(effect4)=>catchAll3(asSome2(effect4),(o)=>o._tag==="None"?succeedNone2:fail9(o.value)),combine9=dual(4,(self,that,s,f)=>{function producer(handoff,latch){return fromEffect4(take6(latch)).pipe(zipRight6(readWithCause({onInput:(input)=>flatMap13(fromEffect4(offer5(handoff,succeed3(input))),()=>producer(handoff,latch)),onFailure:(cause3)=>fromEffect4(offer5(handoff,failCause3(pipe(cause3,map11(some2))))),onDone:()=>flatMap13(fromEffect4(offer5(handoff,fail4(none2()))),()=>producer(handoff,latch))})))}return new StreamImpl(unwrapScopedWith((scope5)=>all5([make49(),make49(),make49(),make49()]).pipe(tap3(([left3,_,latchL])=>toChannel2(self).pipe(concatMap(writeChunk),pipeTo(producer(left3,latchL)),runIn(scope5),forkIn2(scope5))),tap3(([,right3,_,rightL])=>toChannel2(that).pipe(concatMap(writeChunk),pipeTo(producer(right3,rightL)),runIn(scope5),forkIn2(scope5))),map16(([left3,right3,latchL,latchR])=>{let pullLeft=offer5(latchL,void 0).pipe(zipRight4(take6(left3).pipe(flatMap11(identity)))),pullRight=offer5(latchR,void 0).pipe(zipRight4(take6(right3).pipe(flatMap11(identity))));return toChannel2(unfoldEffect(s,(s2)=>flatMap11(f(s2,pullLeft,pullRight),unsome)))}))))}),combineChunks=dual(4,(self,that,s,f)=>{let producer=(handoff,latch)=>zipRight6(fromEffect4(take6(latch)),readWithCause({onInput:(input)=>flatMap13(fromEffect4(pipe(handoff,offer5(chunk2(input)))),()=>producer(handoff,latch)),onFailure:(cause3)=>fromEffect4(offer5(handoff,failCause11(cause3))),onDone:()=>fromEffect4(offer5(handoff,end4))}));return new StreamImpl(unwrapScopedWith((scope5)=>all5([make49(),make49(),make49(),make49()]).pipe(tap3(([left3,_,latchL])=>pipeTo(toChannel2(self),producer(left3,latchL)).pipe(runIn(scope5),forkIn2(scope5))),tap3(([_,right3,__,latchR])=>pipeTo(toChannel2(that),producer(right3,latchR)).pipe(runIn(scope5),forkIn2(scope5))),map16(([left3,right3,latchL,latchR])=>{let pullLeft=offer5(latchL,void 0).pipe(zipRight4(take6(left3).pipe(flatMap11(done10)))),pullRight=offer5(latchR,void 0).pipe(zipRight4(take6(right3).pipe(flatMap11(done10))));return toChannel2(unfoldChunkEffect(s,(s2)=>flatMap11(f(s2,pullLeft,pullRight),unsome)))}))))}),concat2=dual(2,(self,that)=>new StreamImpl(pipe(toChannel2(self),zipRight6(toChannel2(that))))),concatAll2=(streams)=>suspend9(()=>pipe(streams,reduce2(empty29,(x,y)=>concat2(y)(x)))),cross=dual(2,(left3,right3)=>pipe(left3,crossWith(right3,(a,a2)=>[a,a2]))),crossLeft=dual(2,(left3,right3)=>pipe(left3,crossWith(right3,(a,_)=>a))),crossRight=dual(2,(left3,right3)=>flatMap16(left3,()=>right3)),crossWith=dual(3,(left3,right3,f)=>pipe(left3,flatMap16((a)=>pipe(right3,map22((b)=>f(a,b)))))),debounce=dual(2,(self,duration3)=>unwrapScopedWith3((scope5)=>gen2(function*(){let handoff=yield*make49();function enqueue(last4){return sleep2(duration3).pipe(as4(last4),forkIn2(scope5),map16((fiber)=>consumer(previous(fiber))))}let producer=readWithCause({onInput:(input)=>match2(last2(input),{onNone:()=>producer,onSome:(elem)=>fromEffect4(offer5(handoff,emit(of2(elem)))).pipe(flatMap13(()=>producer))}),onFailure:(cause3)=>fromEffect4(offer5(handoff,halt(cause3))),onDone:()=>fromEffect4(offer5(handoff,end3(UpstreamEnd)))});function consumer(state){switch(state._tag){case OP_NOT_STARTED:return unwrap(take6(handoff).pipe(map16((signal)=>{switch(signal._tag){case OP_EMIT4:return unwrap(enqueue(signal.elements));case OP_HALT:return failCause10(signal.cause);case OP_END:return void_5}})));case OP_PREVIOUS:return unwrap(take6(handoff).pipe(forkIn2(scope5),flatMap11((handoffFiber)=>raceWith2(join3(state.fiber),join3(handoffFiber),{onSelfDone:(leftExit,current2)=>match9(leftExit,{onFailure:(cause3)=>interrupt5(current2).pipe(as4(failCause10(cause3))),onSuccess:(chunk3)=>interrupt5(current2).pipe(zipRight4(succeed9(write(chunk3).pipe(flatMap13(()=>consumer(current(handoffFiber)))))))}),onOtherDone:(rightExit,previous2)=>match9(rightExit,{onFailure:(cause3)=>interrupt5(previous2).pipe(as4(failCause10(cause3))),onSuccess:(signal)=>{switch(signal._tag){case OP_EMIT4:return interrupt5(previous2).pipe(zipRight4(enqueue(signal.elements)));case OP_HALT:return interrupt5(previous2).pipe(as4(failCause10(signal.cause)));case OP_END:return join3(previous2).pipe(map16((chunk3)=>write(chunk3).pipe(zipRight6(void_5))))}}})}))));case OP_CURRENT:return unwrap(join3(state.fiber).pipe(map16((signal)=>{switch(signal._tag){case OP_EMIT4:return unwrap(enqueue(signal.elements));case OP_HALT:return failCause10(signal.cause);case OP_END:return void_5}})))}}return scopedWith4((scope6)=>pipeTo(toChannel2(self),producer).pipe(runIn(scope6),forkIn2(scope6))).pipe(crossRight(new StreamImpl(consumer(notStarted))))}))),die10=(defect)=>fromEffect7(die6(defect)),dieSync6=(evaluate2)=>fromEffect7(dieSync3(evaluate2)),dieMessage4=(message)=>fromEffect7(dieMessage2(message)),distributedWith=dual(2,(self,options)=>pipe(make39(),flatMap11((deferred)=>pipe(self,distributedWithDynamic({maximumLag:options.maximumLag,decide:(a)=>flatMap11(_await3(deferred),(f)=>f(a))}),flatMap11((next4)=>pipe(all5(map4(range(0,options.size-1),(id2)=>map16(next4,([key,queue])=>[[key,id2],queue]))),map16(unsafeFromArray),flatMap11((entries2)=>{let[mappings,queues]=reduceRight2(entries2,[new Map,empty2()],([mappings2,queues2],[mapping,queue])=>[mappings2.set(mapping[0],mapping[1]),pipe(queues2,prepend2(queue))]);return pipe(succeed7(deferred,(a)=>map16(options.decide(a),(f)=>(key)=>f(mappings.get(key)))),as4(Array.from(queues)))}))))))),distributedWithDynamicId={ref:0},newDistributedWithDynamicId=()=>{let current2=distributedWithDynamicId.ref;return distributedWithDynamicId.ref=current2+1,current2},distributedWithDynamic=dual(2,(self,options)=>distributedWithDynamicCallback(self,options.maximumLag,options.decide,()=>_void)),distributedWithDynamicCallback=dual(4,(self,maximumLag,decide,done11)=>pipe(acquireRelease2(make24(new Map),(ref,_)=>pipe(get11(ref),flatMap11((queues)=>pipe(queues.values(),forEach6(shutdown2))))),flatMap11((queuesRef)=>gen2(function*(){let offer6=(a)=>pipe(decide(a),flatMap11((shouldProcess)=>pipe(get11(queuesRef),flatMap11((queues)=>pipe(queues.entries(),reduce11(empty2(),(acc,[id2,queue])=>{if(shouldProcess(id2))return pipe(offer3(queue,succeed3(a)),matchCauseEffect3({onFailure:(cause3)=>isInterrupted2(cause3)?succeed9(pipe(acc,prepend2(id2))):failCause8(cause3),onSuccess:()=>succeed9(acc)}));return succeed9(acc)}),flatMap11((ids3)=>{if(isNonEmpty(ids3))return update3(queuesRef,(map22)=>{for(let id2 of ids3)map22.delete(id2);return map22});return _void}))))),asVoid3),queuesLock=yield*makeSemaphore2(1),newQueue=yield*make24(pipe(bounded3(maximumLag),flatMap11((queue)=>{let id2=newDistributedWithDynamicId();return pipe(update3(queuesRef,(map22)=>map22.set(id2,queue)),as4([id2,queue]))}))),finalize=(endTake)=>queuesLock.withPermits(1)(pipe(set5(newQueue,pipe(bounded3(1),tap3((queue)=>offer3(queue,endTake)),flatMap11((queue)=>{let id2=newDistributedWithDynamicId();return pipe(update3(queuesRef,(map22)=>map22.set(id2,queue)),as4(make3(id2,queue)))}))),zipRight4(pipe(get11(queuesRef),flatMap11((map22)=>pipe(fromIterable2(map22.values()),forEach6((queue)=>pipe(offer3(queue,endTake),catchSomeCause2((cause3)=>isInterrupted2(cause3)?some2(_void):none2()))))))),zipRight4(done11(endTake)),asVoid3));return yield*pipe(self,runForEachScoped(offer6),matchCauseEffect3({onFailure:(cause3)=>finalize(failCause3(pipe(cause3,map11(some2)))),onSuccess:()=>finalize(fail4(none2()))}),forkScoped2),queuesLock.withPermits(1)(flatten8(get11(newQueue)))})))),drain3=(self)=>new StreamImpl(drain(toChannel2(self))),drainFork=dual(2,(self,that)=>fromEffect7(make39()).pipe(flatMap16((backgroundDied)=>scopedWith4((scope5)=>toChannel2(that).pipe(drain,runIn(scope5),catchAllCause3((cause3)=>failCause6(backgroundDied,cause3)),forkIn2(scope5))).pipe(crossRight(interruptWhenDeferred2(self,backgroundDied)))))),drop3=dual(2,(self,n)=>{let loop3=(r)=>readWith({onInput:(input)=>{let dropped=pipe(input,drop2(r)),leftover=Math.max(0,r-input.length);if(isEmpty(input)||leftover>0)return loop3(leftover);return pipe(write(dropped),zipRight6(identityChannel()))},onFailure:fail11,onDone:()=>void_5});return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(loop3(n))))}),dropRight=dual(2,(self,n)=>{if(n<=0)return identityStream();return suspend9(()=>{let queue=new RingBuffer(n),reader=readWith({onInput:(input)=>{let outputs=pipe(input,filterMap2((elem)=>{let head6=queue.head();return queue.put(elem),head6}));return pipe(write(outputs),flatMap13(()=>reader))},onFailure:fail11,onDone:()=>void_5});return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(reader)))})}),dropUntil3=dual(2,(self,predicate)=>drop3(dropWhile4(self,(a)=>!predicate(a)),1)),dropUntilEffect=dual(2,(self,predicate)=>{let loop3=readWith({onInput:(input)=>pipe(dropUntil2(input,predicate),map16(unsafeFromArray),map16((leftover)=>{if(isEmpty(leftover))return suspend5(()=>loop3);return pipe(write(leftover),zipRight6(identityChannel()))}),unwrap),onFailure:fail11,onDone:()=>void_5});return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(loop3)))}),dropWhile4=dual(2,(self,predicate)=>{let loop3=readWith({onInput:(input)=>{let output=dropWhile(input,predicate);if(isEmpty(output))return suspend5(()=>loop3);return zipRight6(write(output),identityChannel())},onFailure:fail11,onDone:succeedNow});return new StreamImpl(pipeToOrFail(toChannel2(self),loop3))}),dropWhileEffect=dual(2,(self,predicate)=>{let loop3=readWith({onInput:(input)=>pipe(dropWhile3(input,predicate),map16(unsafeFromArray),map16((leftover)=>{if(isEmpty(leftover))return suspend5(()=>loop3);return zipRight6(write(leftover),identityChannel())}),unwrap),onFailure:fail11,onDone:()=>void_5});return new StreamImpl(pipeToOrFail(toChannel2(self),loop3))}),either6=(self)=>pipe(self,map22(right2),catchAll7((error2)=>make50(left2(error2)))),empty29=new StreamImpl(void_5),ensuring7=dual(2,(self,finalizer)=>new StreamImpl(pipe(toChannel2(self),ensuring5(finalizer)))),ensuringWith2=dual(2,(self,finalizer)=>new StreamImpl(ensuringWith(toChannel2(self),finalizer))),context5=()=>fromEffect7(context3()),contextWith3=(f)=>pipe(context5(),map22(f)),contextWithEffect3=(f)=>pipe(context5(),mapEffectSequential(f)),contextWithStream=(f)=>pipe(context5(),flatMap16(f)),execute=(effect4)=>drain3(fromEffect7(effect4)),fail15=(error2)=>fromEffectOption(fail9(some2(error2))),failSync7=(evaluate2)=>fromEffectOption(failSync3(()=>some2(evaluate2()))),failCause13=(cause3)=>fromEffect7(failCause8(cause3)),failCauseSync6=(evaluate2)=>fromEffect7(failCauseSync3(evaluate2)),filter8=dual(2,(self,predicate)=>mapChunks(self,filter2(predicate))),filterEffect=dual(2,(self,f)=>{let loop3=(iterator)=>{let next4=iterator.next();if(next4.done)return readWithCause({onInput:(input)=>loop3(input[Symbol.iterator]()),onFailure:failCause10,onDone:succeed12});else return pipe(f(next4.value),map16((bool)=>bool?pipe(write(of2(next4.value)),flatMap13(()=>loop3(iterator))):loop3(iterator)),unwrap)};return new StreamImpl(suspend5(()=>pipe(toChannel2(self),pipeTo(loop3(empty2()[Symbol.iterator]())))))}),filterMap6=dual(2,(self,pf)=>mapChunks(self,filterMap2(pf))),filterMapEffect=dual(2,(self,pf)=>suspend9(()=>{let loop3=(iterator)=>{let next4=iterator.next();if(next4.done)return readWithCause({onInput:(input)=>loop3(input[Symbol.iterator]()),onFailure:failCause10,onDone:succeed12});else return pipe(pf(next4.value),match2({onNone:()=>sync4(()=>loop3(iterator)),onSome:map16((a2)=>flatMap13(write(of2(a2)),()=>loop3(iterator)))}),unwrap)};return new StreamImpl(pipe(toChannel2(self),pipeTo(loop3(empty2()[Symbol.iterator]()))))})),filterMapWhile3=dual(2,(self,pf)=>{let loop3=readWith({onInput:(input)=>{let mapped=filterMapWhile2(input,pf);if(mapped.length===input.length)return pipe(write(mapped),flatMap13(()=>loop3));return write(mapped)},onFailure:fail11,onDone:succeed12});return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(loop3)))}),filterMapWhileEffect=dual(2,(self,pf)=>suspend9(()=>{let loop3=(iterator)=>{let next4=iterator.next();if(next4.done)return readWithCause({onInput:(input)=>loop3(input[Symbol.iterator]()),onFailure:failCause10,onDone:succeed12});else return unwrap(match2(pf(next4.value),{onNone:()=>succeed9(void_5),onSome:map16((a2)=>flatMap13(write(of2(a2)),()=>loop3(iterator)))}))};return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(loop3(empty2()[Symbol.iterator]()))))})),finalizer=(finalizer2)=>acquireRelease3(_void,()=>finalizer2),find2=dual(2,(self,predicate)=>{let loop3=readWith({onInput:(input)=>match2(findFirst3(input,predicate),{onNone:()=>loop3,onSome:(n)=>write(of2(n))}),onFailure:fail11,onDone:()=>void_5});return new StreamImpl(pipe(toChannel2(self),pipeTo(loop3)))}),findEffect=dual(2,(self,predicate)=>{let loop3=readWith({onInput:(input)=>pipe(findFirst6(input,predicate),map16(match2({onNone:()=>loop3,onSome:(n)=>write(of2(n))})),unwrap),onFailure:fail11,onDone:()=>void_5});return new StreamImpl(pipe(toChannel2(self),pipeTo(loop3)))}),flatMap16=dual((args2)=>isStream(args2[0]),(self,f,options)=>{let bufferSize=options?.bufferSize??16;if(options?.switch)return matchConcurrency(options?.concurrency,()=>flatMapParSwitchBuffer(self,1,bufferSize,f),(n)=>flatMapParSwitchBuffer(self,n,bufferSize,f));return matchConcurrency(options?.concurrency,()=>new StreamImpl(concatMap(toChannel2(self),(as9)=>pipe(as9,map4((a)=>toChannel2(f(a))),reduce2(void_5,(left3,right3)=>pipe(left3,zipRight6(right3)))))),(_)=>new StreamImpl(pipe(toChannel2(self),concatMap(writeChunk),mergeMap((out)=>toChannel2(f(out)),options))))}),matchConcurrency=(concurrency,sequential4,bounded8)=>{switch(concurrency){case void 0:return sequential4();case"unbounded":return bounded8(Number.MAX_SAFE_INTEGER);default:return concurrency>1?bounded8(concurrency):sequential4()}},flatMapParSwitchBuffer=dual(4,(self,n,bufferSize,f)=>new StreamImpl(pipe(toChannel2(self),concatMap(writeChunk),mergeMap((out)=>toChannel2(f(out)),{concurrency:n,mergeStrategy:BufferSliding(),bufferSize})))),flatten12=dual((args2)=>isStream(args2[0]),(self,options)=>flatMap16(self,identity,options)),flattenChunks=(self)=>{let flatten13=readWithCause({onInput:(chunks2)=>flatMap13(writeChunk(chunks2),()=>flatten13),onFailure:failCause10,onDone:()=>void_5});return new StreamImpl(pipe(toChannel2(self),pipeTo(flatten13)))},flattenEffect=dual((args2)=>isStream(args2[0]),(self,options)=>options?.unordered?flatMap16(self,(a)=>fromEffect7(a),{concurrency:options.concurrency}):matchConcurrency(options?.concurrency,()=>mapEffectSequential(self,identity),(n)=>new StreamImpl(pipe(toChannel2(self),concatMap(writeChunk),mapOutEffectPar(identity,n),mapOut(of2))))),flattenExitOption=(self)=>{let processChunk=(chunk3,cont)=>{let[toEmit,rest]=pipe(chunk3,splitWhere((exit3)=>!isSuccess2(exit3))),next4=pipe(head2(rest),match2({onNone:()=>cont,onSome:match9({onFailure:(cause3)=>match2(flipCauseOption2(cause3),{onNone:()=>void_5,onSome:failCause10}),onSuccess:()=>void_5})}));return pipe(write(pipe(toEmit,filterMap2((exit3)=>isSuccess2(exit3)?some2(exit3.value):none2()))),flatMap13(()=>next4))},process2=readWithCause({onInput:(chunk3)=>processChunk(chunk3,process2),onFailure:(cause3)=>failCause10(cause3),onDone:()=>void_5});return new StreamImpl(pipe(toChannel2(self),pipeTo(process2)))},flattenIterables=(self)=>pipe(self,map22(fromIterable2),flattenChunks),flattenTake=(self)=>flattenChunks(flattenExitOption(pipe(self,map22((take7)=>take7.exit)))),forever5=(self)=>new StreamImpl(repeated(toChannel2(self))),fromAsyncIterable=(iterable,onError3)=>pipe(acquireRelease2(sync4(()=>iterable[Symbol.asyncIterator]()),(iterator)=>iterator.return?promise2(async()=>iterator.return()):_void),map16((iterator)=>repeatEffectOption(pipe(tryPromise2({try:async()=>iterator.next(),catch:(reason)=>some2(onError3(reason))}),flatMap11((result)=>result.done?fail9(none2()):succeed9(result.value))))),unwrapScoped4),fromChannel2=(channel)=>new StreamImpl(channel),toChannel2=(stream)=>{if("channel"in stream)return stream.channel;else if(isEffect2(stream))return toChannel2(fromEffect7(stream));else throw TypeError("Expected a Stream.")},fromChunk=(chunk3)=>new StreamImpl(isEmpty(chunk3)?void_5:write(chunk3)),fromChunkPubSub=(pubsub,options)=>{if(options?.scoped){let effect4=map16(subscribe2(pubsub),fromChunkQueue);return options.shutdown?map16(effect4,ensuring7(shutdown4(pubsub))):effect4}let stream=flatMap16(scoped5(subscribe2(pubsub)),fromChunkQueue);return options?.shutdown?ensuring7(stream,shutdown4(pubsub)):stream},fromChunkQueue=(queue,options)=>pipe(take3(queue),catchAllCause3((cause3)=>pipe(isShutdown2(queue),flatMap11((isShutdown7)=>isShutdown7&&isInterrupted2(cause3)?end5():failCause12(cause3)))),repeatEffectChunkOption,options?.shutdown?ensuring7(shutdown2(queue)):identity),fromChunks=(...chunks2)=>pipe(fromIterable9(chunks2),flatMap16(fromChunk)),fromEffect7=(effect4)=>pipe(effect4,mapError3(some2),fromEffectOption),fromEffectOption=(effect4)=>new StreamImpl(unwrap(match13(effect4,{onFailure:match2({onNone:()=>void_5,onSome:fail11}),onSuccess:(a)=>write(of2(a))}))),fromPubSub=(pubsub,options)=>{let maxChunkSize=options?.maxChunkSize??DefaultChunkSize;if(options?.scoped){let effect4=map16(subscribe2(pubsub),(queue)=>fromQueue2(queue,{maxChunkSize,shutdown:!0}));return options.shutdown?map16(effect4,ensuring7(shutdown4(pubsub))):effect4}let stream=flatMap16(scoped5(subscribe2(pubsub)),(queue)=>fromQueue2(queue,{maxChunkSize}));return options?.shutdown?ensuring7(stream,shutdown4(pubsub)):stream},fromTPubSub=(pubsub)=>{return unwrapScoped4(map16(subscribeScoped2(pubsub),(queue)=>fromTQueue(queue)))},fromIterable9=(iterable)=>suspend9(()=>isChunk(iterable)?fromChunk(iterable):fromIteratorSucceed(iterable[Symbol.iterator]())),fromIterableEffect=(effect4)=>pipe(effect4,map16(fromIterable9),unwrap2),fromIteratorSucceed=(iterator,maxChunkSize=DefaultChunkSize)=>{return pipe(sync4(()=>{let builder=[],loop3=(iterator2)=>pipe(sync4(()=>{let next4=iterator2.next();if(maxChunkSize===1){if(next4.done)return void_5;return pipe(write(of2(next4.value)),flatMap13(()=>loop3(iterator2)))}builder=[];let count5=0;while(next4.done===!1){if(builder.push(next4.value),count5=count5+1,count5>=maxChunkSize)break;next4=iterator2.next()}if(count5>0)return pipe(write(unsafeFromArray(builder)),flatMap13(()=>loop3(iterator2)));return void_5}),unwrap);return new StreamImpl(loop3(iterator))}),unwrap2)},fromPull2=(effect4)=>pipe(effect4,map16(repeatEffectChunkOption),unwrapScoped4),fromQueue2=(queue,options)=>pipe(takeBetween2(queue,1,options?.maxChunkSize??DefaultChunkSize),catchAllCause3((cause3)=>pipe(isShutdown2(queue),flatMap11((isShutdown7)=>isShutdown7&&isInterrupted2(cause3)?end5():failCause12(cause3)))),repeatEffectChunkOption,options?.shutdown?ensuring7(shutdown2(queue)):identity),fromTQueue=(queue)=>pipe(take5(queue),map16(of2),catchAllCause3((cause3)=>pipe(isShutdown6(queue),flatMap11((isShutdown7)=>isShutdown7&&isInterrupted2(cause3)?end5():failCause12(cause3)))),repeatEffectChunkOption),fromSchedule=(schedule2)=>pipe(driver2(schedule2),map16((driver3)=>repeatEffectOption(driver3.next(void 0))),unwrap2),fromReadableStream=(...args2)=>{let evaluate2=args2.length===1?args2[0].evaluate:args2[0],onError3=args2.length===1?args2[0].onError:args2[1],releaseLockOnEnd=args2.length===1?args2[0].releaseLockOnEnd===!0:!1;return unwrapScoped4(map16(acquireRelease2(sync4(()=>evaluate2().getReader()),(reader)=>releaseLockOnEnd?sync4(()=>reader.releaseLock()):promise2(()=>reader.cancel())),(reader)=>repeatEffectOption(flatMap11(tryPromise2({try:()=>reader.read(),catch:(reason)=>some2(onError3(reason))}),({done:done11,value})=>done11?fail9(none2()):succeed9(value)))))},fromReadableStreamByob=(...args2)=>{let evaluate2=args2.length===1?args2[0].evaluate:args2[0],onError3=args2.length===1?args2[0].onError:args2[1],allocSize=(args2.length===1?args2[0].bufferSize:args2[2])??4096,releaseLockOnEnd=args2.length===1?args2[0].releaseLockOnEnd===!0:!1;return unwrapScoped4(map16(acquireRelease2(sync4(()=>evaluate2().getReader({mode:"byob"})),(reader)=>releaseLockOnEnd?sync4(()=>reader.releaseLock()):promise2(()=>reader.cancel())),(reader)=>catchAll7(forever5(readChunkStreamByobReader(reader,onError3,allocSize)),(error2)=>error2===EOF?empty29:fail15(error2))))},EOF=Symbol.for("effect/Stream/EOF"),readChunkStreamByobReader=(reader,onError3,size14)=>{let buffer2=new ArrayBuffer(size14);return paginateEffect(0,(offset)=>flatMap11(tryPromise2({try:()=>reader.read(new Uint8Array(buffer2,offset,buffer2.byteLength-offset)),catch:(reason)=>onError3(reason)}),({done:done11,value})=>{if(done11)return fail9(EOF);let newOffset=offset+value.byteLength;return succeed9([value,newOffset>=buffer2.byteLength?none2():some2(newOffset)])}))},groupAdjacentBy=dual(2,(self,f)=>{let groupAdjacentByChunk=(state,chunk3)=>{if(isEmpty(chunk3))return[state,empty2()];let builder=[],from=0,until=0,key=void 0,previousChunk=empty2();switch(state._tag){case"Some":{let tuple2=state.value;key=tuple2[0];let loop3=!0;while(loop3&&until<chunk3.length){let input=unsafeGet2(chunk3,until),updatedKey=f(input);if(!equals(key,updatedKey)){let previousChunk2=tuple2[1],additionalChunk=unsafeFromArray(Array.from(chunk3).slice(from,until)),group2=appendAll2(previousChunk2,additionalChunk);builder.push([key,group2]),key=updatedKey,from=until,loop3=!1}until=until+1}if(loop3)previousChunk=tuple2[1];break}case"None":{key=f(unsafeGet2(chunk3,until)),until=until+1;break}}while(until<chunk3.length){let input=unsafeGet2(chunk3,until),updatedKey=f(input);if(!equals(key,updatedKey))builder.push([key,unsafeFromArray(Array.from(chunk3).slice(from,until))]),key=updatedKey,from=until;until=until+1}let nonEmptyChunk=appendAll2(previousChunk,unsafeFromArray(Array.from(chunk3).slice(from,until))),output=unsafeFromArray(builder);return[some2([key,nonEmptyChunk]),output]},groupAdjacent=(state)=>readWithCause({onInput:(input)=>{let[updatedState,output]=groupAdjacentByChunk(state,input);return isEmpty(output)?groupAdjacent(updatedState):flatMap13(write(output),()=>groupAdjacent(updatedState))},onFailure:(cause3)=>match2(state,{onNone:()=>failCause10(cause3),onSome:(output)=>flatMap13(write(of2(output)),()=>failCause10(cause3))}),onDone:(done11)=>match2(state,{onNone:()=>succeedNow(done11),onSome:(output)=>flatMap13(write(of2(output)),()=>succeedNow(done11))})});return new StreamImpl(pipeToOrFail(toChannel2(self),groupAdjacent(none2())))}),grouped=dual(2,(self,chunkSize)=>pipe(self,rechunk(chunkSize),chunks)),groupedWithin=dual(3,(self,chunkSize,duration3)=>aggregateWithin(self,collectAllN(chunkSize),spaced2(duration3))),haltWhen=dual(2,(self,effect4)=>{let writer=(fiber)=>pipe(poll2(fiber),map16(match2({onNone:()=>readWith({onInput:(input)=>flatMap13(write(input),()=>writer(fiber)),onFailure:fail11,onDone:()=>void_5}),onSome:match9({onFailure:failCause10,onSuccess:()=>void_5})})),unwrap);return new StreamImpl(unwrapScopedWith((scope5)=>effect4.pipe(forkIn2(scope5),map16((fiber)=>toChannel2(self).pipe(pipeTo(writer(fiber)))))))}),haltAfter=dual(2,(self,duration3)=>pipe(self,haltWhen(sleep2(duration3)))),haltWhenDeferred=dual(2,(self,deferred)=>{let writer=pipe(poll3(deferred),map16(match2({onNone:()=>readWith({onInput:(input)=>pipe(write(input),flatMap13(()=>writer)),onFailure:fail11,onDone:()=>void_5}),onSome:(effect4)=>unwrap(match13(effect4,{onFailure:fail11,onSuccess:()=>void_5}))})),unwrap);return new StreamImpl(pipe(toChannel2(self),pipeTo(writer)))}),identityStream=()=>new StreamImpl(identityChannel()),interleave=dual(2,(self,that)=>pipe(self,interleaveWith(that,forever5(make50(!0,!1))))),interleaveWith=dual(3,(self,that,decider)=>{let producer=(handoff)=>readWithCause({onInput:(value)=>flatMap13(fromEffect4(offer5(handoff,of5(value))),()=>producer(handoff)),onFailure:(cause3)=>fromEffect4(offer5(handoff,failCause11(cause3))),onDone:()=>fromEffect4(offer5(handoff,end4))});return new StreamImpl(unwrapScopedWith((scope5)=>pipe(make49(),zip5(make49()),tap3(([left3])=>toChannel2(self).pipe(concatMap(writeChunk),pipeTo(producer(left3)),runIn(scope5),forkIn2(scope5))),tap3(([_,right3])=>toChannel2(that).pipe(concatMap(writeChunk),pipeTo(producer(right3)),runIn(scope5),forkIn2(scope5))),map16(([left3,right3])=>{let process2=(leftDone,rightDone)=>readWithCause({onInput:(bool)=>{if(bool&&!leftDone)return pipe(fromEffect4(take6(left3)),flatMap13(match18({onEnd:()=>rightDone?void_5:process2(!0,rightDone),onFailure:failCause10,onSuccess:(chunk3)=>pipe(write(chunk3),flatMap13(()=>process2(leftDone,rightDone)))})));if(!bool&&!rightDone)return pipe(fromEffect4(take6(right3)),flatMap13(match18({onEnd:()=>leftDone?void_5:process2(leftDone,!0),onFailure:failCause10,onSuccess:(chunk3)=>pipe(write(chunk3),flatMap13(()=>process2(leftDone,rightDone)))})));return process2(leftDone,rightDone)},onFailure:failCause10,onDone:()=>void_5});return pipe(toChannel2(decider),concatMap(writeChunk),pipeTo(process2(!1,!1)))}))))}),intersperse=dual(2,(self,element)=>new StreamImpl(pipe(toChannel2(self),pipeToOrFail(suspend5(()=>{let writer=(isFirst)=>readWithCause({onInput:(chunk3)=>{let builder=[],flagResult=isFirst;for(let output of chunk3)if(flagResult)flagResult=!1,builder.push(output);else builder.push(element),builder.push(output);return pipe(write(unsafeFromArray(builder)),flatMap13(()=>writer(flagResult)))},onFailure:failCause10,onDone:()=>void_5});return writer(!0)}))))),intersperseAffixes=dual(2,(self,{end:end6,middle,start:start3})=>pipe(make50(start3),concat2(pipe(self,intersperse(middle))),concat2(make50(end6)))),interruptAfter=dual(2,(self,duration3)=>pipe(self,interruptWhen2(sleep2(duration3)))),interruptWhen2=dual(2,(self,effect4)=>new StreamImpl(pipe(toChannel2(self),interruptWhen(effect4)))),interruptWhenDeferred2=dual(2,(self,deferred)=>new StreamImpl(pipe(toChannel2(self),interruptWhenDeferred(deferred)))),iterate3=(value,next4)=>unfold4(value,(a)=>some2([a,next4(a)])),make50=(...as9)=>fromIterable9(as9),map22=dual(2,(self,f)=>new StreamImpl(pipe(toChannel2(self),mapOut(map4(f))))),mapAccum5=dual(3,(self,s,f)=>{let accumulator=(s2)=>readWith({onInput:(input)=>{let[nextS,chunk3]=mapAccum2(input,s2,f);return flatMap13(write(chunk3),()=>accumulator(nextS))},onFailure:fail11,onDone:()=>void_5});return new StreamImpl(pipe(toChannel2(self),pipeTo(accumulator(s))))}),mapAccumEffect=dual(3,(self,s,f)=>suspend9(()=>{let accumulator=(s2)=>readWith({onInput:(input)=>pipe(suspend3(()=>{let outputs=[],emit2=(output)=>sync4(()=>{outputs.push(output)});return pipe(input,reduce11(s2,(s3,a)=>pipe(f(s3,a),flatMap11(([s4,a2])=>pipe(emit2(a2),as4(s4))))),match13({onFailure:(error2)=>{if(outputs.length!==0)return zipRight6(write(unsafeFromArray(outputs)),fail11(error2));return fail11(error2)},onSuccess:(s3)=>flatMap13(write(unsafeFromArray(outputs)),()=>accumulator(s3))}))}),unwrap),onFailure:fail11,onDone:()=>void_5});return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(accumulator(s))))})),mapBoth6=dual(2,(self,options)=>pipe(self,mapError6(options.onFailure),map22(options.onSuccess))),mapChunks=dual(2,(self,f)=>new StreamImpl(pipe(toChannel2(self),mapOut(f)))),mapChunksEffect=dual(2,(self,f)=>new StreamImpl(pipe(toChannel2(self),mapOutEffect(f)))),mapConcat=dual(2,(self,f)=>pipe(self,mapConcatChunk((a)=>fromIterable2(f(a))))),mapConcatChunk=dual(2,(self,f)=>pipe(self,mapChunks(flatMap3(f)))),mapConcatChunkEffect=dual(2,(self,f)=>pipe(self,mapEffectSequential(f),mapConcatChunk(identity))),mapConcatEffect=dual(2,(self,f)=>pipe(self,mapEffectSequential((a)=>pipe(f(a),map16(fromIterable2))),mapConcatChunk(identity))),mapEffectSequential=dual(2,(self,f)=>{let loop3=(iterator)=>{let next4=iterator.next();if(next4.done)return readWithCause({onInput:(elem)=>loop3(elem[Symbol.iterator]()),onFailure:failCause10,onDone:succeed12});else{let value=next4.value;return unwrap(map16(f(value),(a2)=>flatMap13(write(of2(a2)),()=>loop3(iterator))))}};return new StreamImpl(pipe(toChannel2(self),pipeTo(suspend5(()=>loop3(empty2()[Symbol.iterator]())))))}),mapEffectPar=dual(3,(self,n,f)=>new StreamImpl(pipe(toChannel2(self),concatMap(writeChunk),mapOutEffectPar(f,n),mapOut(of2)))),mapError6=dual(2,(self,f)=>new StreamImpl(pipe(toChannel2(self),mapError5(f)))),mapErrorCause4=dual(2,(self,f)=>new StreamImpl(pipe(toChannel2(self),mapErrorCause3(f)))),merge9=dual((args2)=>isStream(args2[1]),(self,that,options)=>mergeWith3(self,that,{onSelf:identity,onOther:identity,haltStrategy:options?.haltStrategy})),mergeAll8=dual((args2)=>(Symbol.iterator in args2[0]),(streams,options)=>flatten12(fromIterable9(streams),options)),mergeWithTag=dual(2,(streams,options)=>{let values3=Object.keys(streams).map((key)=>streams[key].pipe(map22((value)=>({_tag:key,value}))));return mergeAll8(values3,options)}),mergeEither=dual(2,(self,that)=>mergeWith3(self,that,{onSelf:left2,onOther:right2})),mergeLeft=dual(2,(left3,right3)=>pipe(left3,merge9(drain3(right3)))),mergeRight=dual(2,(left3,right3)=>pipe(drain3(left3),merge9(right3))),mergeWith3=dual(3,(self,other,options)=>{let strategy=options.haltStrategy?fromInput2(options.haltStrategy):Both2,handler=(terminate)=>(exit3)=>terminate||!isSuccess2(exit3)?Done4(suspend3(()=>exit3)):Await2((exit4)=>suspend3(()=>exit4));return new StreamImpl(mergeWith2(toChannel2(map22(self,options.onSelf)),{other:toChannel2(map22(other,options.onOther)),onSelfDone:handler(strategy._tag==="Either"||strategy._tag==="Left"),onOtherDone:handler(strategy._tag==="Either"||strategy._tag==="Right")}))}),mkString2=(self)=>run4(self,mkString),never4=fromEffect7(never3),onEnd=dual(2,(self,effect4)=>concat2(self,drain3(fromEffect7(effect4)))),onError3=dual(2,(self,cleanup)=>pipe(self,catchAllCause6((cause3)=>fromEffect7(pipe(cleanup(cause3),zipRight4(failCause8(cause3))))))),onDone=dual(2,(self,cleanup)=>new StreamImpl(pipe(toChannel2(self),ensuringWith((exit3)=>isSuccess2(exit3)?cleanup():_void)))),onStart=dual(2,(self,effect4)=>unwrap2(as4(effect4,self))),orDie5=(self)=>pipe(self,orDieWith4(identity)),orDieWith4=dual(2,(self,f)=>new StreamImpl(pipe(toChannel2(self),orDieWith3(f)))),orElse8=dual(2,(self,that)=>new StreamImpl(pipe(toChannel2(self),orElse7(()=>toChannel2(that()))))),orElseEither3=dual(2,(self,that)=>pipe(self,map22(left2),orElse8(()=>pipe(that(),map22(right2))))),orElseFail3=dual(2,(self,error2)=>pipe(self,orElse8(()=>failSync7(error2)))),orElseIfEmpty=dual(2,(self,element)=>pipe(self,orElseIfEmptyChunk(()=>of2(element())))),orElseIfEmptyChunk=dual(2,(self,chunk3)=>pipe(self,orElseIfEmptyStream(()=>new StreamImpl(write(chunk3()))))),orElseIfEmptyStream=dual(2,(self,stream)=>{let writer=readWith({onInput:(input)=>{if(isEmpty(input))return suspend5(()=>writer);return pipe(write(input),zipRight6(identityChannel()))},onFailure:fail11,onDone:()=>suspend5(()=>toChannel2(stream()))});return new StreamImpl(pipe(toChannel2(self),pipeTo(writer)))}),orElseSucceed3=dual(2,(self,value)=>pipe(self,orElse8(()=>sync9(value)))),paginate=(s,f)=>paginateChunk(s,(s2)=>{let page=f(s2);return[of2(page[0]),page[1]]}),paginateChunk=(s,f)=>{let loop3=(s2)=>{let page=f(s2);return match2(page[1],{onNone:()=>zipRight6(write(page[0]),void_5),onSome:(s3)=>flatMap13(write(page[0]),()=>loop3(s3))})};return new StreamImpl(suspend5(()=>loop3(s)))},paginateChunkEffect=(s,f)=>{let loop3=(s2)=>unwrap(map16(f(s2),([chunk3,option3])=>match2(option3,{onNone:()=>zipRight6(write(chunk3),void_5),onSome:(s3)=>flatMap13(write(chunk3),()=>loop3(s3))})));return new StreamImpl(suspend5(()=>loop3(s)))},paginateEffect=(s,f)=>paginateChunkEffect(s,(s2)=>pipe(f(s2),map16(([a,s3])=>[of2(a),s3]))),peel=dual(2,(self,sink)=>{return pipe(make39(),flatMap11((deferred)=>pipe(make49(),map16((handoff)=>{let consumer=foldSink(collectLeftover(sink),{onFailure:(error2)=>zipRight7(fromEffect6(fail7(deferred,error2)),fail12(error2)),onSuccess:([z,leftovers])=>{let loop3=readWithCause({onInput:(elements)=>flatMap13(fromEffect4(offer5(handoff,{_tag:"Emit",elements})),()=>loop3),onFailure:(cause3)=>zipRight6(fromEffect4(offer5(handoff,{_tag:"Halt",cause:cause3})),failCause10(cause3)),onDone:(_)=>zipRight6(fromEffect4(offer5(handoff,{_tag:"End"})),void_5)});return fromChannel(pipe(fromEffect4(succeed7(deferred,z)),zipRight6(fromEffect4(pipe(handoff,offer5({_tag:"Emit",elements:leftovers})))),zipRight6(loop3)))}}),producer=pipe(take6(handoff),map16((signal)=>{switch(signal._tag){case"Emit":return pipe(write(signal.elements),flatMap13(()=>producer));case"Halt":return failCause10(signal.cause);case"End":return void_5}}),unwrap);return pipe(self,tapErrorCause5((cause3)=>failCause6(deferred,cause3)),run4(consumer),forkScoped2,zipRight4(_await3(deferred)),map16((z)=>[z,new StreamImpl(producer)]))}))),flatten8)}),partition5=dual((args2)=>typeof args2[1]==="function",(self,predicate,options)=>partitionEither(self,(a)=>succeed9(predicate(a)?right2(a):left2(a)),options)),partitionEither=dual((args2)=>typeof args2[1]==="function",(self,predicate,options)=>pipe(mapEffectSequential(self,predicate),distributedWith({size:2,maximumLag:options?.bufferSize??16,decide:match({onLeft:()=>succeed9((n)=>n===0),onRight:()=>succeed9((n)=>n===1)})}),flatMap11(([queue1,queue2])=>succeed9([filterMap6(flattenExitOption(fromQueue2(queue1,{shutdown:!0})),(_)=>match(_,{onLeft:some2,onRight:none2})),filterMap6(flattenExitOption(fromQueue2(queue2,{shutdown:!0})),(_)=>match(_,{onLeft:none2,onRight:some2}))])))),pipeThrough=dual(2,(self,sink)=>new StreamImpl(pipe(toChannel2(self),pipeToOrFail(toChannel(sink))))),pipeThroughChannel=dual(2,(self,channel)=>new StreamImpl(pipeTo(toChannel2(self),channel))),pipeThroughChannelOrFail=dual(2,(self,chan)=>new StreamImpl(pipe(toChannel2(self),pipeToOrFail(chan)))),prepend4=dual(2,(self,values3)=>new StreamImpl(zipRight6(write(values3),toChannel2(self)))),provideContext6=dual(2,(self,context6)=>new StreamImpl(pipe(toChannel2(self),provideContext5(context6)))),provideSomeContext2=dual(2,(self,context6)=>mapInputContext6(self,merge3(context6))),provideLayer=dual(2,(self,layer)=>new StreamImpl(unwrapScopedWith((scope5)=>buildWithScope2(layer,scope5).pipe(map16((env)=>pipe(toChannel2(self),provideContext5(env))))))),provideService6=dual(3,(self,tag,resource)=>provideServiceEffect3(self,tag,succeed9(resource))),provideServiceEffect3=dual(3,(self,tag,effect4)=>provideServiceStream(self,tag,fromEffect7(effect4))),provideServiceStream=dual(3,(self,tag,stream)=>contextWithStream((env)=>flatMap16(stream,(service3)=>pipe(self,provideContext6(add4(env,tag,service3)))))),mapInputContext6=dual(2,(self,f)=>contextWithStream((env)=>pipe(self,provideContext6(f(env))))),provideSomeLayer2=dual(2,(self,layer)=>pipe(self,provideLayer(pipe(context4(),merge8(layer))))),range2=(min4,max6,chunkSize=DefaultChunkSize)=>suspend9(()=>{if(min4>max6)return empty29;let go=(min5,max7,chunkSize2)=>{let remaining=max7-min5+1;if(remaining>chunkSize2)return pipe(write(range(min5,min5+chunkSize2-1)),flatMap13(()=>go(min5+chunkSize2,max7,chunkSize2)));return write(range(min5,min5+remaining-1))};return new StreamImpl(go(min4,max6,chunkSize))}),race3=dual(2,(left3,right3)=>raceAll3(left3,right3)),raceAll3=(...streams)=>make39().pipe(map16((halt2)=>{let winner=null;return mergeAll8(streams.map((stream,index)=>stream.pipe(takeWhile4(()=>{if(winner===null)return winner=index,unsafeDone(halt2,void_3),!0;return winner===index}),interruptWhen2(_await3(halt2).pipe(flatMap11(()=>winner===index?never3:_void))))),{concurrency:streams.length})}),unwrap2),rechunk=dual(2,(self,n)=>suspend9(()=>{let target=Math.max(n,1),process2=rechunkProcess(new StreamRechunker(target),target);return new StreamImpl(pipe(toChannel2(self),pipeTo(process2)))})),rechunkProcess=(rechunker,target)=>readWithCause({onInput:(chunk3)=>{if(chunk3.length===target&&rechunker.isEmpty())return flatMap13(write(chunk3),()=>rechunkProcess(rechunker,target));if(chunk3.length>0){let chunks2=[],result=void 0,index=0;while(index<chunk3.length){while(index<chunk3.length&&result===void 0)result=rechunker.write(pipe(chunk3,unsafeGet2(index))),index=index+1;if(result!==void 0)chunks2.push(result),result=void 0}return flatMap13(writeAll(...chunks2),()=>rechunkProcess(rechunker,target))}return suspend5(()=>rechunkProcess(rechunker,target))},onFailure:(cause3)=>zipRight6(rechunker.emitIfNotEmpty(),failCause10(cause3)),onDone:()=>rechunker.emitIfNotEmpty()});class StreamRechunker{n;builder=[];pos=0;constructor(n){this.n=n}isEmpty(){return this.pos===0}write(elem){if(this.builder.push(elem),this.pos+=1,this.pos===this.n){let result=unsafeFromArray(this.builder);return this.builder=[],this.pos=0,result}return}emitIfNotEmpty(){if(this.pos!==0)return write(unsafeFromArray(this.builder));return void_5}}var refineOrDie=dual(2,(self,pf)=>pipe(self,refineOrDieWith(pf,identity))),refineOrDieWith=dual(3,(self,pf,f)=>new StreamImpl(catchAll5(toChannel2(self),(error2)=>match2(pf(error2),{onNone:()=>failCause10(die3(f(error2))),onSome:fail11})))),repeat2=dual(2,(self,schedule2)=>filterMap6(repeatEither(self,schedule2),(_)=>match(_,{onLeft:none2,onRight:some2}))),repeatEffect=(effect4)=>repeatEffectOption(pipe(effect4,mapError3(some2))),repeatEffectChunk=(effect4)=>repeatEffectChunkOption(pipe(effect4,mapError3(some2))),repeatEffectChunkOption=(effect4)=>unfoldChunkEffect(effect4,(effect5)=>pipe(map16(effect5,(chunk3)=>some2([chunk3,effect5])),catchAll3(match2({onNone:()=>succeed9(none2()),onSome:fail9})))),repeatEffectOption=(effect4)=>repeatEffectChunkOption(pipe(effect4,map16(of2))),repeatEither=dual(2,(self,schedule2)=>repeatWith(self,schedule2,{onElement:(a)=>right2(a),onSchedule:left2})),repeatElements=dual(2,(self,schedule2)=>filterMap6(repeatElementsWith(self,schedule2,{onElement:(a)=>some2(a),onSchedule:none2}),identity)),repeatElementsWith=dual(3,(self,schedule2,options)=>{let driver3=pipe(driver2(schedule2),map16((driver4)=>{let feed=(input)=>match2(head2(input),{onNone:()=>loop3,onSome:(a)=>zipRight6(write(of2(options.onElement(a))),step4(pipe(input,drop2(1)),a))}),step4=(input,a)=>{let advance=pipe(driver4.next(a),as4(pipe(write(of2(options.onElement(a))),flatMap13(()=>step4(input,a))))),reset=pipe(driver4.last,orDie3,flatMap11((b)=>pipe(driver4.reset,map16(()=>pipe(write(of2(options.onSchedule(b))),zipRight6(feed(input)))))));return pipe(advance,orElse5(()=>reset),unwrap)},loop3=readWith({onInput:feed,onFailure:fail11,onDone:()=>void_5});return loop3}),unwrap);return new StreamImpl(pipe(toChannel2(self),pipeTo(driver3)))}),repeatValue=(value)=>new StreamImpl(repeated(write(of2(value)))),repeatWith=dual(3,(self,schedule2,options)=>{return pipe(driver2(schedule2),map16((driver3)=>{let provideLastIterationInfo=provideServiceEffect3(CurrentIterationMetadata2,get11(driver3.iterationMeta)),process2=pipe(self,provideLastIterationInfo,map22(options.onElement),toChannel2),loop3=unwrap(match13(driver3.next(void 0),{onFailure:()=>void_5,onSuccess:(output)=>flatMap13(process2,()=>zipRight6(write(of2(options.onSchedule(output))),loop3))}));return new StreamImpl(zipRight6(process2,loop3))}),unwrap2)}),repeatWithSchedule=(value,schedule2)=>repeatEffectWithSchedule(succeed9(value),schedule2),repeatEffectWithSchedule=(effect4,schedule2)=>flatMap16(fromEffect7(zip5(effect4,driver2(schedule2))),([a,driver3])=>{let provideLastIterationInfo=provideServiceEffect2(CurrentIterationMetadata2,get11(driver3.iterationMeta));return concat2(succeed15(a),unfoldEffect(a,(s)=>matchEffect2(driver3.next(s),{onFailure:succeed9,onSuccess:()=>map16(provideLastIterationInfo(effect4),(nextA)=>some2([nextA,nextA]))})))}),retry6=dual(2,(self,policy)=>driver2(policy).pipe(map16((driver3)=>{let provideLastIterationInfo=provideServiceEffect3(CurrentIterationMetadata2,get11(driver3.iterationMeta)),loop3=toChannel2(provideLastIterationInfo(self)).pipe(mapOutEffect((out)=>as4(driver3.reset,out)),catchAll5((error2)=>driver3.next(error2).pipe(match13({onFailure:()=>fail11(error2),onSuccess:()=>loop3}),unwrap)));return loop3}),unwrap,fromChannel2)),withExecutionPlan3=dual((args2)=>isStream(args2[0]),(self,policy,options)=>suspend9(()=>{let preventFallbackOnPartialStream=options?.preventFallbackOnPartialStream??!1,i=0,lastError=none2(),loop3=suspend9(()=>{let step4=policy.steps[i++];if(!step4)return fail15(getOrThrow(lastError));let nextStream=isContext2(step4.provide)?provideSomeContext2(self,step4.provide):provideSomeLayer2(self,step4.provide),receivedElements=!1;if(isSome2(lastError)){let error2=lastError.value,attempted=!1,wrapped=nextStream;nextStream=suspend9(()=>{if(attempted)return wrapped;return attempted=!0,fail15(error2)}),nextStream=scheduleDefectRefail2(retry6(nextStream,scheduleFromStep(step4,!1)))}else{let schedule2=scheduleFromStep(step4,!0);nextStream=schedule2?scheduleDefectRefail2(retry6(nextStream,schedule2)):nextStream}return catchAll7(preventFallbackOnPartialStream?mapChunks(nextStream,(chunk3)=>{return receivedElements=!0,chunk3}):nextStream,(error2)=>{if(preventFallbackOnPartialStream&&receivedElements)return fail15(error2);return lastError=some2(error2),loop3})});return loop3})),scheduleDefectRefail2=(self)=>catchAllCause6(self,(cause3)=>failCause13(scheduleDefectRefailCause(cause3))),run4=dual(2,(self,sink)=>toChannel2(self).pipe(pipeToOrFail(toChannel(sink)),runDrain)),runCollect=(self)=>run4(self,collectAll()),runCount=(self)=>run4(self,count4),runDrain2=(self)=>run4(self,drain2),runFold=dual(3,(self,s,f)=>runFoldWhile(self,s,constTrue,f)),runFoldEffect=dual(3,(self,s,f)=>runFoldWhileEffect(self,s,constTrue,f)),runFoldScoped=dual(3,(self,s,f)=>pipe(self,runFoldWhileScoped(s,constTrue,f))),runFoldScopedEffect=dual(3,(self,s,f)=>pipe(self,runFoldWhileScopedEffect(s,constTrue,f))),runFoldWhile=dual(4,(self,s,cont,f)=>run4(self,fold(s,cont,f))),runFoldWhileEffect=dual(4,(self,s,cont,f)=>run4(self,foldEffect(s,cont,f))),runFoldWhileScoped=dual(4,(self,s,cont,f)=>pipe(self,runScoped2(fold(s,cont,f)))),runFoldWhileScopedEffect=dual(4,(self,s,cont,f)=>pipe(self,runScoped2(foldEffect(s,cont,f)))),runForEach=dual(2,(self,f)=>run4(self,forEach7(f))),runForEachChunk=dual(2,(self,f)=>run4(self,forEachChunk(f))),runForEachChunkScoped=dual(2,(self,f)=>pipe(self,runScoped2(forEachChunk(f)))),runForEachScoped=dual(2,(self,f)=>pipe(self,runScoped2(forEach7(f)))),runForEachWhile=dual(2,(self,f)=>run4(self,forEachWhile(f))),runForEachWhileScoped=dual(2,(self,f)=>pipe(self,runScoped2(forEachWhile(f)))),runHead=(self)=>run4(self,head5()),runIntoPubSub=dual(2,(self,pubsub)=>pipe(self,runIntoQueue(pubsub))),runIntoPubSubScoped=dual(2,(self,pubsub)=>pipe(self,runIntoQueueScoped(pubsub))),runIntoQueue=dual(2,(self,queue)=>pipe(self,runIntoQueueScoped(queue),scoped2)),runIntoQueueElementsScoped=dual(2,(self,queue)=>{let writer=readWithCause({onInput:(input)=>flatMap13(fromEffect4(offerAll3(queue,map4(input,succeed3))),()=>writer),onFailure:(cause3)=>fromEffect4(offer3(queue,failCause3(map11(cause3,some2)))),onDone:()=>fromEffect4(offer3(queue,fail4(none2())))});return pipe(pipeTo(toChannel2(self),writer),drain,runScoped,asVoid3)}),runIntoQueueScoped=dual(2,(self,queue)=>{let writer=readWithCause({onInput:(input)=>flatMap13(write(chunk2(input)),()=>writer),onFailure:(cause3)=>write(failCause11(cause3)),onDone:()=>write(end4)});return pipe(pipeTo(toChannel2(self),writer),mapOutEffect((take7)=>offer3(queue,take7)),drain,runScoped,asVoid3)}),runLast=(self)=>run4(self,last3()),runScoped2=dual(2,(self,sink)=>pipe(toChannel2(self),pipeToOrFail(toChannel(sink)),drain,runScoped)),runSum=(self)=>run4(self,sum2),scan=dual(3,(self,s,f)=>pipe(self,scanEffect(s,(s2,a)=>succeed9(f(s2,a))))),scanReduce=dual(2,(self,f)=>pipe(self,scanReduceEffect((a2,a)=>succeed9(f(a2,a))))),scanReduceEffect=dual(2,(self,f)=>pipe(self,mapAccumEffect(none2(),(option3,a)=>{switch(option3._tag){case"None":return succeed9([some2(a),a]);case"Some":return pipe(f(option3.value,a),map16((b)=>[some2(b),b]))}}))),schedule2=dual(2,(self,schedule3)=>filterMap6(scheduleWith(self,schedule3,{onElement:some2,onSchedule:none2}),identity)),scheduleWith=dual(3,(self,schedule3,options)=>{let loop3=(driver3,iterator)=>{let next4=iterator.next();if(next4.done)return readWithCause({onInput:(chunk3)=>loop3(driver3,chunk3[Symbol.iterator]()),onFailure:failCause10,onDone:succeedNow});return unwrap(matchEffect2(driver3.next(next4.value),{onFailure:()=>pipe(driver3.last,orDie3,map16((b)=>pipe(write(make4(options.onElement(next4.value),options.onSchedule(b))),flatMap13(()=>loop3(driver3,iterator)))),zipLeft3(driver3.reset)),onSuccess:()=>succeed9(pipe(write(of2(options.onElement(next4.value))),flatMap13(()=>loop3(driver3,iterator))))}))};return new StreamImpl(pipe(fromEffect4(driver2(schedule3)),flatMap13((driver3)=>pipe(toChannel2(self),pipeTo(loop3(driver3,empty2()[Symbol.iterator]()))))))}),scanEffect=dual(3,(self,s,f)=>new StreamImpl(pipe(write(of2(s)),flatMap13(()=>toChannel2(pipe(self,mapAccumEffect(s,(s2,a)=>pipe(f(s2,a),map16((s3)=>[s3,s3]))))))))),scoped5=(effect4)=>new StreamImpl(ensuring5(scoped4(pipe(effect4,map16(of2))),_void)),scopedWith4=(f)=>new StreamImpl(scopedWith3((scope5)=>f(scope5).pipe(map16(of2)))),some5=(self)=>pipe(self,mapError6(some2),someOrFail(()=>none2())),someOrElse=dual(2,(self,fallback)=>pipe(self,map22(getOrElse(fallback)))),someOrFail=dual(2,(self,error2)=>mapEffectSequential(self,match2({onNone:()=>failSync3(error2),onSome:succeed9}))),sliding7=dual(2,(self,chunkSize)=>slidingSize(self,chunkSize,1)),slidingSize=dual(3,(self,chunkSize,stepSize)=>{if(chunkSize<=0||stepSize<=0)return die10(new IllegalArgumentException2("Invalid bounds - `chunkSize` and `stepSize` must be greater than zero"));return new StreamImpl(suspend5(()=>{let queue=new RingBuffer(chunkSize),emitOnStreamEnd=(queueSize,channelEnd)=>{if(queueSize<chunkSize){let items=queue.toChunk(),result2=isEmpty(items)?empty2():of2(items);return pipe(write(result2),flatMap13(()=>channelEnd))}let lastEmitIndex=queueSize-(queueSize-chunkSize)%stepSize;if(lastEmitIndex===queueSize)return channelEnd;let leftovers=queueSize-(lastEmitIndex-chunkSize+stepSize),lastItems=pipe(queue.toChunk(),takeRight(leftovers)),result=isEmpty(lastItems)?empty2():of2(lastItems);return pipe(write(result),flatMap13(()=>channelEnd))},reader=(queueSize)=>readWithCause({onInput:(input)=>flatMap13(write(filterMap2(input,(element,index)=>{queue.put(element);let currentIndex=queueSize+index+1;if(currentIndex<chunkSize||(currentIndex-chunkSize)%stepSize>0)return none2();return some2(queue.toChunk())})),()=>reader(queueSize+input.length)),onFailure:(cause3)=>emitOnStreamEnd(queueSize,failCause10(cause3)),onDone:()=>emitOnStreamEnd(queueSize,void_5)});return pipe(toChannel2(self),pipeTo(reader(0)))}))}),split=dual(2,(self,predicate)=>{let split2=(leftovers,input)=>{let[chunk3,remaining]=pipe(leftovers,appendAll2(input),splitWhere(predicate));if(isEmpty(chunk3)||isEmpty(remaining))return loop3(pipe(chunk3,appendAll2(pipe(remaining,drop2(1)))));return pipe(write(of2(chunk3)),flatMap13(()=>split2(empty2(),pipe(remaining,drop2(1)))))},loop3=(leftovers)=>readWith({onInput:(input)=>split2(leftovers,input),onFailure:fail11,onDone:()=>{if(isEmpty(leftovers))return void_5;if(isNone2(pipe(leftovers,findFirst3(predicate))))return zipRight6(write(of2(leftovers)),void_5);return zipRight6(split2(empty2(),leftovers),void_5)}});return new StreamImpl(pipe(toChannel2(self),pipeTo(loop3(empty2()))))}),splitOnChunk=dual(2,(self,delimiter)=>{let next4=(leftover,delimiterIndex)=>readWithCause({onInput:(inputChunk)=>{let buffer2,[carry,delimiterCursor]=pipe(inputChunk,reduce2([pipe(leftover,getOrElse(()=>empty2())),delimiterIndex],([carry2,delimiterCursor2],a)=>{let concatenated=pipe(carry2,append2(a));if(delimiterCursor2<delimiter.length&&equals(a,pipe(delimiter,unsafeGet2(delimiterCursor2)))){if(delimiterCursor2+1===delimiter.length){if(buffer2===void 0)buffer2=[];return buffer2.push(pipe(concatenated,take(concatenated.length-delimiter.length))),[empty2(),0]}return[concatenated,delimiterCursor2+1]}return[concatenated,equals(a,pipe(delimiter,unsafeGet2(0)))?1:0]})),output=buffer2===void 0?empty2():unsafeFromArray(buffer2);return flatMap13(write(output),()=>next4(isNonEmpty(carry)?some2(carry):none2(),delimiterCursor))},onFailure:(cause3)=>match2(leftover,{onNone:()=>failCause10(cause3),onSome:(chunk3)=>zipRight6(write(of2(chunk3)),failCause10(cause3))}),onDone:(done11)=>match2(leftover,{onNone:()=>succeed12(done11),onSome:(chunk3)=>zipRight6(write(of2(chunk3)),succeed12(done11))})});return new StreamImpl(pipe(toChannel2(self),pipeTo(next4(none2(),0))))}),splitLines2=(self)=>pipeThroughChannel(self,splitLines()),succeed15=(value)=>fromChunk(of2(value)),sync9=(evaluate2)=>suspend9(()=>fromChunk(of2(evaluate2()))),suspend9=(stream)=>new StreamImpl(suspend5(()=>toChannel2(stream()))),take7=dual(2,(self,n)=>{if(!Number.isInteger(n))return die10(new IllegalArgumentException2(`${n} must be an integer`));let loop3=(n2)=>readWith({onInput:(input)=>{let taken=pipe(input,take(Math.min(n2,Number.POSITIVE_INFINITY))),leftover=Math.max(0,n2-taken.length);if(leftover>0)return pipe(write(taken),flatMap13(()=>loop3(leftover)));return write(taken)},onFailure:fail11,onDone:succeed12});return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(0<n?loop3(n):void_5)))}),takeRight2=dual(2,(self,n)=>{if(n<=0)return empty29;return new StreamImpl(pipe(succeed9(new RingBuffer(n)),map16((queue)=>{let reader=readWith({onInput:(input)=>{for(let element of input)queue.put(element);return reader},onFailure:fail11,onDone:()=>pipe(write(queue.toChunk()),zipRight6(void_5))});return pipe(toChannel2(self),pipeTo(reader))}),unwrap))}),takeUntil3=dual(2,(self,predicate)=>{let loop3=readWith({onInput:(input)=>{let taken=pipe(input,takeWhile((a)=>!predicate(a))),last4=pipe(input,drop2(taken.length),take(1));if(isEmpty(last4))return pipe(write(taken),flatMap13(()=>loop3));return write(pipe(taken,appendAll2(last4)))},onFailure:fail11,onDone:succeed12});return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(loop3)))}),takeUntilEffect=dual(2,(self,predicate)=>{let loop3=(iterator)=>{let next4=iterator.next();if(next4.done)return readWithCause({onInput:(elem)=>loop3(elem[Symbol.iterator]()),onFailure:failCause10,onDone:succeed12});return pipe(predicate(next4.value),map16((bool)=>bool?write(of2(next4.value)):pipe(write(of2(next4.value)),flatMap13(()=>loop3(iterator)))),unwrap)};return new StreamImpl(pipe(toChannel2(self),pipeTo(loop3(empty2()[Symbol.iterator]()))))}),takeWhile4=dual(2,(self,predicate)=>{let loop3=readWith({onInput:(input)=>{let taken=pipe(input,takeWhile(predicate));if(taken.length===input.length)return pipe(write(taken),flatMap13(()=>loop3));return write(taken)},onFailure:fail11,onDone:succeed12});return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(loop3)))}),tap6=dual(2,(self,f)=>mapEffectSequential(self,(a)=>as4(f(a),a))),tapBoth3=dual(2,(self,options)=>pipe(self,tapError5(options.onFailure),tap6(options.onSuccess))),tapError5=dual(2,(self,f)=>catchAll7(self,(error2)=>fromEffect7(zipRight4(f(error2),fail9(error2))))),tapErrorCause5=dual(2,(self,f)=>{let loop3=readWithCause({onInput:(chunk3)=>flatMap13(write(chunk3),()=>loop3),onFailure:(cause3)=>fromEffect4(zipRight4(f(cause3),failCause8(cause3))),onDone:succeedNow});return new StreamImpl(pipe(toChannel2(self),pipeTo(loop3)))}),tapSink=dual(2,(self,sink)=>pipe(fromEffect7(all5([bounded3(1),make39()])),flatMap16(([queue,deferred])=>{let right3=flattenTake(fromQueue2(queue,{maxChunkSize:1})),loop3=readWithCause({onInput:(chunk3)=>pipe(fromEffect4(offer3(queue,chunk2(chunk3))),foldCauseChannel({onFailure:()=>flatMap13(write(chunk3),()=>identityChannel()),onSuccess:()=>flatMap13(write(chunk3),()=>loop3)})),onFailure:(cause3)=>pipe(fromEffect4(offer3(queue,failCause11(cause3))),foldCauseChannel({onFailure:()=>failCause10(cause3),onSuccess:()=>failCause10(cause3)})),onDone:()=>pipe(fromEffect4(offer3(queue,end4)),foldCauseChannel({onFailure:()=>void_5,onSuccess:()=>void_5}))});return pipe(new StreamImpl(pipe(pipeTo(toChannel2(self),loop3),ensuring5(zipRight4(forkDaemon2(offer3(queue,end4)),_await3(deferred))))),merge9(execute(pipe(run4(right3,sink),ensuring3(zipRight4(shutdown2(queue),succeed7(deferred,void 0)))))))}))),throttle=dual(2,(self,options)=>throttleEffect(self,{...options,cost:(chunk3)=>succeed9(options.cost(chunk3))})),throttleEffect=dual(2,(self,options)=>{if(options.strategy==="enforce")return throttleEnforceEffect(self,options.cost,options.units,options.duration,options.burst??0);return throttleShapeEffect(self,options.cost,options.units,options.duration,options.burst??0)}),throttleEnforceEffect=(self,cost,units,duration3,burst)=>{let loop3=(tokens,timestampMillis)=>readWithCause({onInput:(input)=>pipe(cost(input),zip5(currentTimeMillis2),map16(([weight,currentTimeMillis3])=>{let cycles=(currentTimeMillis3-timestampMillis)/toMillis(duration3),sum3=tokens+cycles*units,max6=units+burst<0?Number.POSITIVE_INFINITY:units+burst,available=sum3<0?max6:Math.min(sum3,max6);if(weight<=available)return pipe(write(input),flatMap13(()=>loop3(available-weight,currentTimeMillis3)));return loop3(tokens,timestampMillis)}),unwrap),onFailure:failCause10,onDone:()=>void_5}),throttled=pipe(currentTimeMillis2,map16((currentTimeMillis3)=>loop3(units,currentTimeMillis3)),unwrap);return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(throttled)))},throttleShapeEffect=(self,costFn,units,duration3,burst)=>{let loop3=(tokens,timestampMillis)=>readWithCause({onInput:(input)=>pipe(costFn(input),zip5(currentTimeMillis2),map16(([weight,currentTimeMillis3])=>{let cycles=(currentTimeMillis3-timestampMillis)/toMillis(duration3),sum3=tokens+cycles*units,max6=units+burst<0?Number.POSITIVE_INFINITY:units+burst,remaining=(sum3<0?max6:Math.min(sum3,max6))-weight,waitCycles=remaining>=0?0:-remaining/units,delay3=millis(Math.max(0,waitCycles*toMillis(duration3)));if(greaterThan2(delay3,zero))return pipe(fromEffect4(sleep2(delay3)),zipRight6(write(input)),flatMap13(()=>loop3(remaining,currentTimeMillis3)));return flatMap13(write(input),()=>loop3(remaining,currentTimeMillis3))}),unwrap),onFailure:failCause10,onDone:()=>void_5}),throttled=pipe(currentTimeMillis2,map16((currentTimeMillis3)=>loop3(units,currentTimeMillis3)),unwrap);return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(throttled)))},tick=(interval)=>repeatWithSchedule(void 0,spaced2(interval)),timeout3=dual(2,(self,duration3)=>pipe(toPull2(self),map16(timeoutFail2({onTimeout:()=>none2(),duration:duration3})),fromPull2)),timeoutFail3=dual(3,(self,error2,duration3)=>pipe(self,timeoutTo3(duration3,failSync7(error2)))),timeoutFailCause3=dual(3,(self,cause3,duration3)=>pipe(toPull2(self),map16(timeoutFailCause2({onTimeout:()=>map11(cause3(),some2),duration:duration3})),fromPull2)),timeoutTo3=dual(3,(self,duration3,that)=>{let StreamTimeout=new RuntimeException2("Stream Timeout");return pipe(self,timeoutFailCause3(()=>die3(StreamTimeout),duration3),catchSomeCause3((cause3)=>isDieType2(cause3)&&isRuntimeException2(cause3.defect)&&cause3.defect.message!==void 0&&cause3.defect.message==="Stream Timeout"?some2(that):none2()))}),pubsubFromOptions=(options)=>{if(typeof options==="number")return bounded5(options);else if(options.capacity==="unbounded")return unbounded5({replay:options.replay});switch(options.strategy){case"dropping":return dropping4(options);case"sliding":return sliding4(options);default:return bounded5(options)}},toPubSub2=dual(2,(self,capacity7)=>pipe(acquireRelease2(pubsubFromOptions(capacity7),(pubsub)=>shutdown4(pubsub)),tap3((pubsub)=>pipe(self,runIntoPubSubScoped(pubsub),forkScoped2)))),toPull2=(self)=>map16(toPull(toChannel2(self)),(pull)=>pipe(pull,mapError3(some2),flatMap11(match({onLeft:()=>fail9(none2()),onRight:succeed9})))),toQueue2=dual((args2)=>isStream(args2[0]),(self,options)=>tap3(acquireRelease2(options?.strategy==="unbounded"?unbounded3():options?.strategy==="dropping"?dropping2(options.capacity??2):options?.strategy==="sliding"?sliding2(options.capacity??2):bounded3(options?.capacity??2),(queue)=>shutdown2(queue)),(queue)=>forkScoped2(runIntoQueueScoped(self,queue)))),toQueueOfElements=dual((args2)=>isStream(args2[0]),(self,options)=>tap3(acquireRelease2(bounded3(options?.capacity??2),(queue)=>shutdown2(queue)),(queue)=>forkScoped2(runIntoQueueElementsScoped(self,queue)))),toReadableStream=dual((args2)=>isStream(args2[0]),(self,options)=>toReadableStreamRuntime(self,defaultRuntime2,options)),toReadableStreamEffect=dual((args2)=>isStream(args2[0]),(self,options)=>map16(runtime3(),(runtime4)=>toReadableStreamRuntime(self,runtime4,options))),toReadableStreamRuntime=dual((args2)=>isStream(args2[0]),(self,runtime4,options)=>{let runFork4=runFork3(runtime4),currentResolve=void 0,fiber=void 0,latch=unsafeMakeLatch2(!1);return new ReadableStream({start(controller){fiber=runFork4(runForEachChunk(self,(chunk3)=>{if(chunk3.length===0)return _void;return latch.whenOpen(sync4(()=>{latch.unsafeClose();for(let item of chunk3)controller.enqueue(item);currentResolve(),currentResolve=void 0}))})),fiber.addObserver((exit3)=>{try{if(exit3._tag==="Failure")controller.error(squash(exit3.cause));else controller.close()}catch{}})},pull(){return new Promise((resolve)=>{currentResolve=resolve,runSync(latch.open)})},cancel(){if(!fiber)return;return runPromise(asVoid3(interrupt5(fiber)))}},options?.strategy)}),transduce=dual(2,(self,sink)=>{let newChannel=suspend5(()=>{let leftovers={ref:empty2()},upstreamDone={ref:!1},buffer2=suspend5(()=>{let leftover=leftovers.ref;if(isEmpty(leftover))return readWith({onInput:(input)=>pipe(write(input),flatMap13(()=>buffer2)),onFailure:fail11,onDone:succeedNow});return leftovers.ref=empty2(),pipe(writeChunk(leftover),flatMap13(()=>buffer2))}),concatAndGet=(chunk3)=>{let leftover=leftovers.ref,concatenated=appendAll2(leftover,filter2(chunk3,(chunk4)=>chunk4.length!==0));return leftovers.ref=concatenated,concatenated},upstreamMarker=readWith({onInput:(input)=>flatMap13(write(input),()=>upstreamMarker),onFailure:fail11,onDone:(done11)=>zipRight6(sync7(()=>{upstreamDone.ref=!0}),succeedNow(done11))}),transducer=pipe(sink,toChannel,collectElements,flatMap13(([leftover,z])=>pipe(succeed12([upstreamDone.ref,concatAndGet(leftover)]),flatMap13(([done11,newLeftovers])=>{let nextChannel=done11&&isEmpty(newLeftovers)?void_5:transducer;return pipe(write(of2(z)),flatMap13(()=>nextChannel))}))));return pipe(toChannel2(self),pipeTo(upstreamMarker),pipeTo(buffer2),pipeToOrFail(transducer))});return new StreamImpl(newChannel)}),toAsyncIterableRuntime=dual((args2)=>isStream(args2[0]),(self,runtime4)=>{let runFork4=runFork3(runtime4);return{[Symbol.asyncIterator](){let currentResolve=void 0,currentReject=void 0,fiber=void 0,latch=unsafeMakeLatch2(!1),returned=!1;return{next(){if(!fiber)fiber=runFork4(runForEach(self,(value)=>latch.whenOpen(sync4(()=>{latch.unsafeClose(),currentResolve({done:!1,value}),currentResolve=currentReject=void 0})))),fiber.addObserver((exit3)=>{if(returned)return;fiber=runFork2(latch.whenOpen(sync4(()=>{if(exit3._tag==="Failure")currentReject(squash(exit3.cause));else currentResolve({done:!0,value:void 0});currentResolve=currentReject=void 0})))});return new Promise((resolve,reject)=>{currentResolve=resolve,currentReject=reject,latch.unsafeOpen()})},return(){if(returned=!0,!fiber)return Promise.resolve({done:!0,value:void 0});return runPromise(as4(interrupt5(fiber),{done:!0,value:void 0}))}}}}}),toAsyncIterable=(self)=>toAsyncIterableRuntime(self,defaultRuntime2),toAsyncIterableEffect=(self)=>map16(runtime3(),(runtime4)=>toAsyncIterableRuntime(self,runtime4)),unfold4=(s,f)=>unfoldChunk(s,(s2)=>pipe(f(s2),map2(([a,s3])=>[of2(a),s3]))),unfoldChunk=(s,f)=>{let loop3=(s2)=>match2(f(s2),{onNone:()=>void_5,onSome:([chunk3,s3])=>flatMap13(write(chunk3),()=>loop3(s3))});return new StreamImpl(suspend5(()=>loop3(s)))},unfoldChunkEffect=(s,f)=>suspend9(()=>{let loop3=(s2)=>unwrap(map16(f(s2),match2({onNone:()=>void_5,onSome:([chunk3,s3])=>flatMap13(write(chunk3),()=>loop3(s3))})));return new StreamImpl(loop3(s))}),unfoldEffect=(s,f)=>unfoldChunkEffect(s,(s2)=>pipe(f(s2),map16(map2(([a,s3])=>[of2(a),s3])))),void_7=succeed15(void 0);var unwrap2=(effect4)=>flatten12(fromEffect7(effect4)),unwrapScoped4=(effect4)=>flatten12(scoped5(effect4)),unwrapScopedWith3=(f)=>flatten12(scopedWith4((scope5)=>f(scope5))),updateService4=dual(3,(self,tag,f)=>pipe(self,mapInputContext6((context6)=>pipe(context6,add4(tag,f(pipe(context6,unsafeGet4(tag)))))))),when3=dual(2,(self,test)=>pipe(self,whenEffect3(sync4(test)))),whenCase=(evaluate2,pf)=>whenCaseEffect(pf)(sync4(evaluate2)),whenCaseEffect=dual(2,(self,pf)=>pipe(fromEffect7(self),flatMap16((a)=>pipe(pf(a),getOrElse(()=>empty29))))),whenEffect3=dual(2,(self,effect4)=>pipe(fromEffect7(effect4),flatMap16((bool)=>bool?self:empty29))),withSpan6=function(){let dataFirst=typeof arguments[0]!=="string",name=dataFirst?arguments[1]:arguments[0],options=addSpanStackTrace(dataFirst?arguments[2]:arguments[1]);if(dataFirst){let self=arguments[0];return new StreamImpl(withSpan5(toChannel2(self),name,options))}return(self)=>new StreamImpl(withSpan5(toChannel2(self),name,options))},zip7=dual(2,(self,that)=>pipe(self,zipWith11(that,(a,a2)=>[a,a2]))),zipFlatten=dual(2,(self,that)=>pipe(self,zipWith11(that,(a,a2)=>[...a,a2]))),zipAll=dual(2,(self,options)=>zipAllWith(self,{other:options.other,onSelf:(a)=>[a,options.defaultOther],onOther:(a2)=>[options.defaultSelf,a2],onBoth:(a,a2)=>[a,a2]})),zipAllLeft=dual(3,(self,other,defaultSelf)=>zipAllWith(self,{other,onSelf:identity,onOther:()=>defaultSelf,onBoth:(a)=>a})),zipAllRight=dual(3,(self,other,defaultRight)=>zipAllWith(self,{other,onSelf:()=>defaultRight,onOther:identity,onBoth:(_,a2)=>a2})),zipAllSortedByKey=dual(2,(self,options)=>zipAllSortedByKeyWith(self,{other:options.other,onSelf:(a)=>[a,options.defaultOther],onOther:(a2)=>[options.defaultSelf,a2],onBoth:(a,a2)=>[a,a2],order:options.order})),zipAllSortedByKeyLeft=dual(2,(self,options)=>zipAllSortedByKeyWith(self,{other:options.other,onSelf:identity,onOther:()=>options.defaultSelf,onBoth:(a)=>a,order:options.order})),zipAllSortedByKeyRight=dual(2,(self,options)=>zipAllSortedByKeyWith(self,{other:options.other,onSelf:()=>options.defaultOther,onOther:identity,onBoth:(_,a2)=>a2,order:options.order})),zipAllSortedByKeyWith=dual(2,(self,options)=>{let pull=(state,pullLeft,pullRight)=>{switch(state._tag){case OP_DRAIN_LEFT:return pipe(pullLeft,match13({onFailure:fail4,onSuccess:(leftChunk)=>succeed3([map4(leftChunk,([k,a])=>[k,options.onSelf(a)]),DrainLeft])}));case OP_DRAIN_RIGHT:return pipe(pullRight,match13({onFailure:fail4,onSuccess:(rightChunk)=>succeed3([map4(rightChunk,([k,a2])=>[k,options.onOther(a2)]),DrainRight])}));case OP_PULL_BOTH:return pipe(unsome(pullLeft),zip5(unsome(pullRight),{concurrent:!0}),matchEffect2({onFailure:(error2)=>succeed9(fail4(some2(error2))),onSuccess:([leftOption,rightOption])=>{if(isSome2(leftOption)&&isSome2(rightOption)){if(isEmpty(leftOption.value)&&isEmpty(rightOption.value))return pull(PullBoth,pullLeft,pullRight);if(isEmpty(leftOption.value))return pull(PullLeft(rightOption.value),pullLeft,pullRight);if(isEmpty(rightOption.value))return pull(PullRight(leftOption.value),pullLeft,pullRight);return succeed9(succeed3(merge10(leftOption.value,rightOption.value)))}if(isSome2(leftOption)&&isNone2(rightOption)){if(isEmpty(leftOption.value))return pull(DrainLeft,pullLeft,pullRight);return succeed9(succeed3([pipe(leftOption.value,map4(([k,a])=>[k,options.onSelf(a)])),DrainLeft]))}if(isNone2(leftOption)&&isSome2(rightOption)){if(isEmpty(rightOption.value))return pull(DrainRight,pullLeft,pullRight);return succeed9(succeed3([pipe(rightOption.value,map4(([k,a2])=>[k,options.onOther(a2)])),DrainRight]))}return succeed9(fail4(none2()))}}));case OP_PULL_LEFT:return matchEffect2(pullLeft,{onFailure:match2({onNone:()=>succeed9(succeed3([pipe(state.rightChunk,map4(([k,a2])=>[k,options.onOther(a2)])),DrainRight])),onSome:(error2)=>succeed9(fail4(some2(error2)))}),onSuccess:(leftChunk)=>isEmpty(leftChunk)?pull(PullLeft(state.rightChunk),pullLeft,pullRight):succeed9(succeed3(merge10(leftChunk,state.rightChunk)))});case OP_PULL_RIGHT:return matchEffect2(pullRight,{onFailure:match2({onNone:()=>succeed9(succeed3([map4(state.leftChunk,([k,a])=>[k,options.onSelf(a)]),DrainLeft])),onSome:(error2)=>succeed9(fail4(some2(error2)))}),onSuccess:(rightChunk)=>isEmpty(rightChunk)?pull(PullRight(state.leftChunk),pullLeft,pullRight):succeed9(succeed3(merge10(state.leftChunk,rightChunk)))})}},merge10=(leftChunk,rightChunk)=>{let hasNext=(chunk3,index)=>index<chunk3.length-1,builder=[],state=void 0,leftIndex=0,rightIndex=0,leftTuple=pipe(leftChunk,unsafeGet2(leftIndex)),rightTuple=pipe(rightChunk,unsafeGet2(rightIndex)),k1=leftTuple[0],a=leftTuple[1],k2=rightTuple[0],a2=rightTuple[1],loop3=!0;while(loop3){let compare=options.order(k1,k2);if(compare===0)if(builder.push([k1,options.onBoth(a,a2)]),hasNext(leftChunk,leftIndex)&&hasNext(rightChunk,rightIndex))leftIndex=leftIndex+1,rightIndex=rightIndex+1,leftTuple=pipe(leftChunk,unsafeGet2(leftIndex)),rightTuple=pipe(rightChunk,unsafeGet2(rightIndex)),k1=leftTuple[0],a=leftTuple[1],k2=rightTuple[0],a2=rightTuple[1];else if(hasNext(leftChunk,leftIndex))state=PullRight(pipe(leftChunk,drop2(leftIndex+1))),loop3=!1;else if(hasNext(rightChunk,rightIndex))state=PullLeft(pipe(rightChunk,drop2(rightIndex+1))),loop3=!1;else state=PullBoth,loop3=!1;else if(compare<0)if(builder.push([k1,options.onSelf(a)]),hasNext(leftChunk,leftIndex))leftIndex=leftIndex+1,leftTuple=pipe(leftChunk,unsafeGet2(leftIndex)),k1=leftTuple[0],a=leftTuple[1];else{let rightBuilder=[];rightBuilder.push(rightTuple);while(hasNext(rightChunk,rightIndex))rightIndex=rightIndex+1,rightTuple=pipe(rightChunk,unsafeGet2(rightIndex)),rightBuilder.push(rightTuple);state=PullLeft(unsafeFromArray(rightBuilder)),loop3=!1}else if(builder.push([k2,options.onOther(a2)]),hasNext(rightChunk,rightIndex))rightIndex=rightIndex+1,rightTuple=pipe(rightChunk,unsafeGet2(rightIndex)),k2=rightTuple[0],a2=rightTuple[1];else{let leftBuilder=[];leftBuilder.push(leftTuple);while(hasNext(leftChunk,leftIndex))leftIndex=leftIndex+1,leftTuple=pipe(leftChunk,unsafeGet2(leftIndex)),leftBuilder.push(leftTuple);state=PullRight(unsafeFromArray(leftBuilder)),loop3=!1}}return[unsafeFromArray(builder),state]};return combineChunks(self,options.other,PullBoth,pull)}),zipAllWith=dual(2,(self,options)=>{let pull=(state,pullLeft,pullRight)=>{switch(state._tag){case OP_DRAIN_LEFT:return matchEffect2(pullLeft,{onFailure:(error2)=>succeed9(fail4(error2)),onSuccess:(leftChunk)=>succeed9(succeed3([map4(leftChunk,options.onSelf),DrainLeft]))});case OP_DRAIN_RIGHT:return matchEffect2(pullRight,{onFailure:(error2)=>succeed9(fail4(error2)),onSuccess:(rightChunk)=>succeed9(succeed3([map4(rightChunk,options.onOther),DrainRight]))});case OP_PULL_BOTH:return pipe(unsome(pullLeft),zip5(unsome(pullRight),{concurrent:!0}),matchEffect2({onFailure:(error2)=>succeed9(fail4(some2(error2))),onSuccess:([leftOption,rightOption])=>{if(isSome2(leftOption)&&isSome2(rightOption)){if(isEmpty(leftOption.value)&&isEmpty(rightOption.value))return pull(PullBoth,pullLeft,pullRight);if(isEmpty(leftOption.value))return pull(PullLeft(rightOption.value),pullLeft,pullRight);if(isEmpty(rightOption.value))return pull(PullRight(leftOption.value),pullLeft,pullRight);return succeed9(succeed3(zip8(leftOption.value,rightOption.value,options.onBoth)))}if(isSome2(leftOption)&&isNone2(rightOption))return succeed9(succeed3([map4(leftOption.value,options.onSelf),DrainLeft]));if(isNone2(leftOption)&&isSome2(rightOption))return succeed9(succeed3([map4(rightOption.value,options.onOther),DrainRight]));return succeed9(fail4(none2()))}}));case OP_PULL_LEFT:return matchEffect2(pullLeft,{onFailure:match2({onNone:()=>succeed9(succeed3([map4(state.rightChunk,options.onOther),DrainRight])),onSome:(error2)=>succeed9(fail4(some2(error2)))}),onSuccess:(leftChunk)=>{if(isEmpty(leftChunk))return pull(PullLeft(state.rightChunk),pullLeft,pullRight);if(isEmpty(state.rightChunk))return pull(PullRight(leftChunk),pullLeft,pullRight);return succeed9(succeed3(zip8(leftChunk,state.rightChunk,options.onBoth)))}});case OP_PULL_RIGHT:return matchEffect2(pullRight,{onFailure:match2({onNone:()=>succeed9(succeed3([map4(state.leftChunk,options.onSelf),DrainLeft])),onSome:(error2)=>succeed9(fail4(some2(error2)))}),onSuccess:(rightChunk)=>{if(isEmpty(rightChunk))return pull(PullRight(state.leftChunk),pullLeft,pullRight);if(isEmpty(state.leftChunk))return pull(PullLeft(rightChunk),pullLeft,pullRight);return succeed9(succeed3(zip8(state.leftChunk,rightChunk,options.onBoth)))}})}},zip8=(leftChunk,rightChunk,f)=>{let[output,either7]=zipChunks(leftChunk,rightChunk,f);switch(either7._tag){case"Left":{if(isEmpty(either7.left))return[output,PullBoth];return[output,PullRight(either7.left)]}case"Right":{if(isEmpty(either7.right))return[output,PullBoth];return[output,PullLeft(either7.right)]}}};return combineChunks(self,options.other,PullBoth,pull)}),zipLatest=dual(2,(left3,right3)=>pipe(left3,zipLatestWith(right3,(a,a2)=>[a,a2]))),zipLatestAll=(...streams)=>{if(streams.length===0)return empty29;else if(streams.length===1)return map22(streams[0],(x)=>[x]);let[head6,...tail]=streams;return zipLatestWith(head6,zipLatestAll(...tail),(first,second)=>[first,...second])},zipLatestWith=dual(3,(left3,right3,f)=>{let pullNonEmpty=(pull)=>pipe(pull,flatMap11((chunk3)=>isEmpty(chunk3)?pullNonEmpty(pull):succeed9(chunk3)));return pipe(toPull2(left3),map16(pullNonEmpty),zip5(pipe(toPull2(right3),map16(pullNonEmpty))),flatMap11(([left4,right4])=>pipe(fromEffectOption(raceWith2(left4,right4,{onSelfDone:(leftDone,rightFiber)=>pipe(suspend3(()=>leftDone),zipWith6(join3(rightFiber),(l,r)=>[l,r,!0])),onOtherDone:(rightDone,leftFiber)=>pipe(suspend3(()=>rightDone),zipWith6(join3(leftFiber),(l,r)=>[r,l,!1]))})),flatMap16(([l,r,leftFirst])=>pipe(fromEffect7(make24([unsafeLast(l),unsafeLast(r)])),flatMap16((latest)=>pipe(fromChunk(leftFirst?pipe(r,map4((a2)=>f(unsafeLast(l),a2))):pipe(l,map4((a)=>f(a,unsafeLast(r))))),concat2(pipe(repeatEffectOption(left4),mergeEither(repeatEffectOption(right4)),mapEffectSequential(match({onLeft:(leftChunk)=>modify4(latest,([_,rightLatest])=>[pipe(leftChunk,map4((a)=>f(a,rightLatest))),[unsafeLast(leftChunk),rightLatest]]),onRight:(rightChunk)=>modify4(latest,([leftLatest,_])=>[pipe(rightChunk,map4((a2)=>f(leftLatest,a2))),[leftLatest,unsafeLast(rightChunk)]])})),flatMap16(fromChunk))))))),toPull2)),fromPull2)}),zipLeft6=dual(2,(left3,right3)=>pipe(left3,zipWithChunks(right3,(left4,right4)=>{if(left4.length>right4.length)return[pipe(left4,take(right4.length)),left2(pipe(left4,take(right4.length)))];return[left4,right2(pipe(right4,drop2(left4.length)))]}))),zipRight9=dual(2,(left3,right3)=>pipe(left3,zipWithChunks(right3,(left4,right4)=>{if(left4.length>right4.length)return[right4,left2(pipe(left4,take(right4.length)))];return[pipe(right4,take(left4.length)),right2(pipe(right4,drop2(left4.length)))]}))),zipWith11=dual(3,(left3,right3,f)=>pipe(left3,zipWithChunks(right3,(leftChunk,rightChunk)=>zipChunks(leftChunk,rightChunk,f)))),zipWithChunks=dual(3,(self,that,f)=>{let pull=(state,pullLeft,pullRight)=>{switch(state._tag){case OP_PULL_BOTH2:return pipe(unsome(pullLeft),zip5(unsome(pullRight),{concurrent:!0}),matchEffect2({onFailure:(error2)=>succeed9(fail4(some2(error2))),onSuccess:([leftOption,rightOption])=>{if(isSome2(leftOption)&&isSome2(rightOption)){if(isEmpty(leftOption.value)&&isEmpty(rightOption.value))return pull(PullBoth2,pullLeft,pullRight);if(isEmpty(leftOption.value))return pull(PullLeft2(rightOption.value),pullLeft,pullRight);if(isEmpty(rightOption.value))return pull(PullRight2(leftOption.value),pullLeft,pullRight);return succeed9(succeed3(zip8(leftOption.value,rightOption.value)))}return succeed9(fail4(none2()))}}));case OP_PULL_LEFT2:return matchEffect2(pullLeft,{onFailure:(error2)=>succeed9(fail4(error2)),onSuccess:(leftChunk)=>{if(isEmpty(leftChunk))return pull(PullLeft2(state.rightChunk),pullLeft,pullRight);if(isEmpty(state.rightChunk))return pull(PullRight2(leftChunk),pullLeft,pullRight);return succeed9(succeed3(zip8(leftChunk,state.rightChunk)))}});case OP_PULL_RIGHT2:return matchEffect2(pullRight,{onFailure:(error2)=>succeed9(fail4(error2)),onSuccess:(rightChunk)=>{if(isEmpty(rightChunk))return pull(PullRight2(state.leftChunk),pullLeft,pullRight);if(isEmpty(state.leftChunk))return pull(PullLeft2(rightChunk),pullLeft,pullRight);return succeed9(succeed3(zip8(state.leftChunk,rightChunk)))}})}},zip8=(leftChunk,rightChunk)=>{let[output,either7]=f(leftChunk,rightChunk);switch(either7._tag){case"Left":{if(isEmpty(either7.left))return[output,PullBoth2];return[output,PullRight2(either7.left)]}case"Right":{if(isEmpty(either7.right))return[output,PullBoth2];return[output,PullLeft2(either7.right)]}}};return pipe(self,combineChunks(that,PullBoth2,pull))}),zipWithIndex=(self)=>pipe(self,mapAccum5(0,(index,a)=>[index+1,[a,index]])),zipWithNext=(self)=>{let process2=(last4)=>readWithCause({onInput:(input)=>{let[newLast,chunk3]=mapAccum2(input,last4,(prev,curr)=>[some2(curr),pipe(prev,map2((a)=>[a,curr]))]),output=filterMap2(chunk3,(option3)=>isSome2(option3)?some2([option3.value[0],some2(option3.value[1])]):none2());return flatMap13(write(output),()=>process2(newLast))},onFailure:failCause10,onDone:()=>match2(last4,{onNone:()=>void_5,onSome:(value)=>zipRight6(write(of2([value,none2()])),void_5)})});return new StreamImpl(pipe(toChannel2(self),pipeToOrFail(process2(none2()))))},zipWithPrevious=(self)=>pipe(self,mapAccum5(none2(),(prev,curr)=>[some2(curr),[prev,curr]])),zipWithPreviousAndNext=(self)=>pipe(zipWithNext(zipWithPrevious(self)),map22(([[prev,curr],next4])=>[prev,curr,pipe(next4,map2((tuple2)=>tuple2[1]))])),zipChunks=(left3,right3,f)=>{if(left3.length>right3.length)return[pipe(left3,take(right3.length),zipWith2(right3,f)),left2(pipe(left3,drop2(right3.length)))];return[pipe(left3,zipWith2(pipe(right3,take(left3.length)),f)),right2(pipe(right3,drop2(left3.length)))]},Do3=succeed15({}),bind4=dual((args2)=>typeof args2[0]!=="string",(self,tag,f,options)=>flatMap16(self,(k)=>map22(f(k),(a)=>({...k,[tag]:a})),options)),bindTo4=bindTo(map22),let_4=let_(map22);var decodeText=dual((args2)=>isStream(args2[0]),(self,encoding="utf-8")=>suspend9(()=>{let decoder=new TextDecoder(encoding);return map22(self,(s)=>decoder.decode(s))})),encodeText=(self)=>suspend9(()=>{let encoder=new TextEncoder;return map22(self,(s)=>encoder.encode(s))}),fromEventListener=(target,type,options)=>asyncPush((emit2)=>acquireRelease2(sync4(()=>target.addEventListener(type,emit2.single,options)),()=>sync4(()=>target.removeEventListener(type,emit2.single,options))),{bufferSize:typeof options==="object"?options.bufferSize:void 0});var GroupBySymbolKey="effect/GroupBy",GroupByTypeId=Symbol.for(GroupBySymbolKey),groupByVariance={_R:(_)=>_,_E:(_)=>_,_K:(_)=>_,_V:(_)=>_},isGroupBy=(u)=>hasProperty(u,GroupByTypeId),evaluate2=dual((args2)=>isGroupBy(args2[0]),(self,f,options)=>flatMap16(self.grouped,([key,queue])=>f(key,flattenTake(fromQueue2(queue,{shutdown:!0}))),{concurrency:"unbounded",bufferSize:options?.bufferSize??16}));var make51=(grouped2)=>({[GroupByTypeId]:groupByVariance,pipe(){return pipeArguments(this,arguments)},grouped:grouped2}),groupBy=dual((args2)=>isStream(args2[0]),(self,f,options)=>make51(unwrapScoped4(gen2(function*(){let decider=yield*make39(),output=yield*acquireRelease2(bounded3(options?.bufferSize??16),(queue)=>shutdown2(queue)),ref=yield*make24(new Map),add5=yield*pipe(mapEffectSequential(self,f),distributedWithDynamicCallback(options?.bufferSize??16,([key,value])=>flatMap11(_await3(decider),(f2)=>f2(key,value)),(exit3)=>offer3(output,exit3)));return yield*succeed7(decider,(key,_)=>pipe(get11(ref),map16((map23)=>fromNullable(map23.get(key))),flatMap11(match2({onNone:()=>flatMap11(add5,([index,queue])=>zipRight4(update3(ref,(map23)=>map23.set(key,index)),pipe(offer3(output,succeed3([key,mapDequeue(queue,(exit3)=>new TakeImpl(pipe(exit3,map12((tuple2)=>of2(tuple2[1])))))])),as4((n)=>n===index)))),onSome:(index)=>succeed9((n)=>n===index)})))),flattenExitOption(fromQueue2(output,{shutdown:!0}))})))),mapEffectOptions=dual((args2)=>typeof args2[0]!=="function",(self,f,options)=>{if(options?.key)return evaluate2(groupByKey(self,options.key,{bufferSize:options.bufferSize}),(_,s)=>mapEffectSequential(s,f));return matchConcurrency(options?.concurrency,()=>mapEffectSequential(self,f),(n)=>options?.unordered?flatMap16(self,(a)=>fromEffect7(f(a)),{concurrency:n}):mapEffectPar(self,n,f))}),bindEffect=dual((args2)=>typeof args2[0]!=="string",(self,tag,f,options)=>mapEffectOptions(self,(k)=>map16(f(k),(a)=>({...k,[tag]:a})),options)),mapDequeue=(dequeue,f)=>new MapDequeue(dequeue,f);class MapDequeue extends Class{dequeue;f;[DequeueTypeId2]={_Out:(_)=>_};constructor(dequeue,f){super();this.dequeue=dequeue,this.f=f}capacity(){return capacity3(this.dequeue)}get size(){return size10(this.dequeue)}unsafeSize(){return this.dequeue.unsafeSize()}get awaitShutdown(){return awaitShutdown2(this.dequeue)}isActive(){return this.dequeue.isActive()}get isShutdown(){return isShutdown2(this.dequeue)}get shutdown(){return shutdown2(this.dequeue)}get isFull(){return isFull2(this.dequeue)}get isEmpty(){return isEmpty11(this.dequeue)}get take(){return pipe(take3(this.dequeue),map16((a)=>this.f(a)))}get takeAll(){return pipe(takeAll2(this.dequeue),map16(map4((a)=>this.f(a))))}takeUpTo(max6){return pipe(takeUpTo2(this.dequeue,max6),map16(map4((a)=>this.f(a))))}takeBetween(min4,max6){return pipe(takeBetween2(this.dequeue,min4,max6),map16(map4((a)=>this.f(a))))}takeN(n){return pipe(takeN2(this.dequeue,n),map16(map4((a)=>this.f(a))))}poll(){return pipe(poll6(this.dequeue),map16(map2((a)=>this.f(a))))}pipe(){return pipeArguments(this,arguments)}commit(){return this.take}}var groupByKey=dual((args2)=>typeof args2[0]!=="function",(self,f,options)=>{let loop3=(map23,outerQueue)=>readWithCause({onInput:(input)=>flatMap13(fromEffect4(forEach6(groupByIterable(input,f),([key,values3])=>{let innerQueue=map23.get(key);if(innerQueue===void 0)return pipe(bounded3(options?.bufferSize??16),flatMap11((innerQueue2)=>pipe(sync4(()=>{map23.set(key,innerQueue2)}),zipRight4(offer3(outerQueue,of5([key,innerQueue2]))),zipRight4(pipe(offer3(innerQueue2,chunk2(values3)),catchSomeCause2((cause3)=>isInterruptedOnly2(cause3)?some2(_void):none2()))))));return catchSomeCause2(offer3(innerQueue,chunk2(values3)),(cause3)=>isInterruptedOnly2(cause3)?some2(_void):none2())},{discard:!0})),()=>loop3(map23,outerQueue)),onFailure:(cause3)=>fromEffect4(offer3(outerQueue,failCause11(cause3))),onDone:()=>fromEffect4(pipe(forEach6(map23.entries(),([_,innerQueue])=>pipe(offer3(innerQueue,end4),catchSomeCause2((cause3)=>isInterruptedOnly2(cause3)?some2(_void):none2())),{discard:!0}),zipRight4(offer3(outerQueue,end4))))});return make51(unwrapScopedWith3((scope5)=>gen2(function*(){let map23=new Map,queue=yield*unbounded3();return yield*addFinalizer2(scope5,shutdown2(queue)),yield*toChannel2(self).pipe(pipeTo(loop3(map23,queue)),drain,runIn(scope5),forkIn2(scope5),as4(flattenTake(fromQueue2(queue,{shutdown:!0}))))})))}),groupByIterable=dual(2,(iterable,f)=>{let builder=[],iterator=iterable[Symbol.iterator](),map23=new Map,next4;while((next4=iterator.next())&&!next4.done){let value=next4.value,key=f(value);if(map23.has(key))map23.get(key).push(value);else{let innerBuilder=[value];builder.push([key,innerBuilder]),map23.set(key,innerBuilder)}}return unsafeFromArray(builder.map((tuple2)=>[tuple2[0],unsafeFromArray(tuple2[1])]))});var StreamTypeId3=StreamTypeId2,DefaultChunkSize2=DefaultChunkSize,accumulate2=accumulate,accumulateChunks2=accumulateChunks,acquireRelease4=acquireRelease3,aggregate2=aggregate,aggregateWithin2=aggregateWithin,aggregateWithinEither2=aggregateWithinEither,as9=as8,_async2=_async;var asyncEffect4=asyncEffect3,asyncPush2=asyncPush,asyncScoped2=asyncScoped,branchAfter2=branchAfter,broadcast2=broadcast,share2=share,broadcastDynamic2=broadcastDynamic,broadcastedQueues2=broadcastedQueues,broadcastedQueuesDynamic2=broadcastedQueuesDynamic,buffer2=buffer,bufferChunks2=bufferChunks,catchAll8=catchAll7,catchAllCause7=catchAllCause6,catchSome4=catchSome3,catchTag4=catchTag3,catchTags4=catchTags3,catchSomeCause4=catchSomeCause3,changes2=changes,changesWith2=changesWith,changesWithEffect2=changesWithEffect,chunks2=chunks,chunksWith2=chunksWith,combine10=combine9,combineChunks2=combineChunks,concat3=concat2,concatAll3=concatAll2,cross2=cross,crossLeft2=crossLeft,crossRight2=crossRight,crossWith2=crossWith,debounce2=debounce,die11=die10,dieSync7=dieSync6,dieMessage5=dieMessage4,distributedWith2=distributedWith,distributedWithDynamic2=distributedWithDynamic,drain4=drain3,drainFork2=drainFork,drop4=drop3,dropRight2=dropRight,dropUntil4=dropUntil3,dropUntilEffect2=dropUntilEffect,dropWhile5=dropWhile4,dropWhileEffect2=dropWhileEffect,either7=either6,empty30=empty29,ensuring8=ensuring7,ensuringWith3=ensuringWith2,context6=context5,contextWith4=contextWith3,contextWithEffect4=contextWithEffect3,contextWithStream2=contextWithStream,execute2=execute,fail16=fail15,failSync8=failSync7,failCause14=failCause13,failCauseSync7=failCauseSync6,filter9=filter8,filterEffect2=filterEffect,filterMap7=filterMap6,filterMapEffect2=filterMapEffect,filterMapWhile4=filterMapWhile3,filterMapWhileEffect2=filterMapWhileEffect,finalizer2=finalizer,find3=find2,findEffect2=findEffect,flatMap17=flatMap16,flatten13=flatten12,flattenChunks2=flattenChunks,flattenEffect2=flattenEffect,flattenExitOption2=flattenExitOption,flattenIterables2=flattenIterables,flattenTake2=flattenTake,forever6=forever5,fromAsyncIterable2=fromAsyncIterable,fromChannel3=fromChannel2,toChannel3=toChannel2,fromChunk2=fromChunk,fromChunkPubSub2=fromChunkPubSub,fromChunkQueue2=fromChunkQueue,fromChunks2=fromChunks,fromEffect8=fromEffect7,fromEffectOption2=fromEffectOption,fromPubSub2=fromPubSub,fromTPubSub2=fromTPubSub,fromIterable10=fromIterable9,fromIterableEffect2=fromIterableEffect,fromIteratorSucceed2=fromIteratorSucceed,fromPull3=fromPull2,fromQueue3=fromQueue2,fromTQueue2=fromTQueue,fromReadableStream2=fromReadableStream,fromReadableStreamByob2=fromReadableStreamByob,fromSchedule2=fromSchedule,groupAdjacentBy2=groupAdjacentBy,groupBy2=groupBy,groupByKey2=groupByKey,grouped2=grouped,groupedWithin2=groupedWithin,haltAfter2=haltAfter,haltWhen2=haltWhen,haltWhenDeferred2=haltWhenDeferred,identity4=identityStream,interleave2=interleave,interleaveWith2=interleaveWith,intersperse2=intersperse,intersperseAffixes2=intersperseAffixes,interruptAfter2=interruptAfter,interruptWhen3=interruptWhen2,interruptWhenDeferred3=interruptWhenDeferred2,iterate4=iterate3,make52=make50,map23=map22,mapAccum6=mapAccum5,mapAccumEffect2=mapAccumEffect,mapBoth7=mapBoth6,mapChunks2=mapChunks,mapChunksEffect2=mapChunksEffect,mapConcat2=mapConcat,mapConcatChunk2=mapConcatChunk,mapConcatChunkEffect2=mapConcatChunkEffect,mapConcatEffect2=mapConcatEffect,mapEffect5=mapEffectOptions,mapError7=mapError6,mapErrorCause5=mapErrorCause4,merge10=merge9,mergeAll9=mergeAll8,mergeWithTag2=mergeWithTag,mergeWith4=mergeWith3,mergeEither2=mergeEither,mergeLeft2=mergeLeft,mergeRight2=mergeRight,mkString3=mkString2,never5=never4,onEnd2=onEnd,onError4=onError3,onDone2=onDone,onStart2=onStart,orDie6=orDie5,orDieWith5=orDieWith4,orElse9=orElse8,orElseEither4=orElseEither3,orElseFail4=orElseFail3,orElseIfEmpty2=orElseIfEmpty,orElseIfEmptyChunk2=orElseIfEmptyChunk,orElseIfEmptyStream2=orElseIfEmptyStream,orElseSucceed4=orElseSucceed3,paginate2=paginate,paginateChunk2=paginateChunk,paginateChunkEffect2=paginateChunkEffect,paginateEffect2=paginateEffect,partition6=partition5,partitionEither2=partitionEither,peel2=peel,pipeThrough2=pipeThrough,pipeThroughChannel2=pipeThroughChannel,pipeThroughChannelOrFail2=pipeThroughChannelOrFail,prepend5=prepend4,provideContext7=provideContext6,provideSomeContext3=provideSomeContext2,provideLayer2=provideLayer,provideService7=provideService6,provideServiceEffect4=provideServiceEffect3,provideServiceStream2=provideServiceStream,mapInputContext7=mapInputContext6,provideSomeLayer3=provideSomeLayer2,race4=race3,raceAll4=raceAll3,range3=range2,rechunk2=rechunk,refineOrDie2=refineOrDie,refineOrDieWith2=refineOrDieWith,repeat3=repeat2,repeatEffect2=repeatEffect,repeatEffectChunk2=repeatEffectChunk,repeatEffectChunkOption2=repeatEffectChunkOption,repeatEffectOption2=repeatEffectOption,repeatEffectWithSchedule2=repeatEffectWithSchedule,repeatEither2=repeatEither,repeatElements2=repeatElements,repeatElementsWith2=repeatElementsWith,repeatValue2=repeatValue,repeatWith2=repeatWith,retry7=retry6,withExecutionPlan4=withExecutionPlan3,run5=run4,runCollect2=runCollect,runCount2=runCount,runDrain3=runDrain2,runFold2=runFold,runFoldEffect2=runFoldEffect,runFoldScoped2=runFoldScoped,runFoldScopedEffect2=runFoldScopedEffect,runFoldWhile2=runFoldWhile,runFoldWhileEffect2=runFoldWhileEffect,runFoldWhileScoped2=runFoldWhileScoped,runFoldWhileScopedEffect2=runFoldWhileScopedEffect,runForEach2=runForEach,runForEachChunk2=runForEachChunk,runForEachChunkScoped2=runForEachChunkScoped,runForEachScoped2=runForEachScoped,runForEachWhile2=runForEachWhile,runForEachWhileScoped2=runForEachWhileScoped,runHead2=runHead,runIntoPubSub2=runIntoPubSub,runIntoPubSubScoped2=runIntoPubSubScoped,runIntoQueue2=runIntoQueue,runIntoQueueElementsScoped2=runIntoQueueElementsScoped,runIntoQueueScoped2=runIntoQueueScoped,runLast2=runLast,runScoped3=runScoped2,runSum2=runSum,scan2=scan,scanEffect2=scanEffect,scanReduce2=scanReduce,scanReduceEffect2=scanReduceEffect,schedule3=schedule2,scheduleWith2=scheduleWith,scoped6=scoped5,scopedWith5=scopedWith4,sliding8=sliding7,slidingSize2=slidingSize,some6=some5,someOrElse2=someOrElse,someOrFail2=someOrFail,split2=split,splitOnChunk2=splitOnChunk,splitLines3=splitLines2,succeed16=succeed15,sync10=sync9,suspend10=suspend9,take8=take7,takeRight3=takeRight2,takeUntil4=takeUntil3,takeUntilEffect2=takeUntilEffect,takeWhile5=takeWhile4,tap7=tap6,tapBoth4=tapBoth3,tapError6=tapError5,tapErrorCause6=tapErrorCause5,tapSink2=tapSink,throttle2=throttle,throttleEffect2=throttleEffect,tick2=tick,timeout4=timeout3,timeoutFail4=timeoutFail3,timeoutFailCause4=timeoutFailCause3,timeoutTo4=timeoutTo3,toPubSub3=toPubSub2,toPull3=toPull2,toQueue3=toQueue2,toQueueOfElements2=toQueueOfElements,toReadableStream2=toReadableStream,toReadableStreamEffect2=toReadableStreamEffect,toReadableStreamRuntime2=toReadableStreamRuntime,toAsyncIterableRuntime2=toAsyncIterableRuntime,toAsyncIterableEffect2=toAsyncIterableEffect,toAsyncIterable2=toAsyncIterable,transduce2=transduce,unfold5=unfold4,unfoldChunk2=unfoldChunk,unfoldChunkEffect2=unfoldChunkEffect,unfoldEffect2=unfoldEffect,void_8=void_7;var unwrap3=unwrap2,unwrapScoped5=unwrapScoped4,unwrapScopedWith4=unwrapScopedWith3,updateService5=updateService4,when4=when3,whenCase2=whenCase,whenCaseEffect2=whenCaseEffect,whenEffect4=whenEffect3,withSpan7=withSpan6,zip8=zip7,zipFlatten2=zipFlatten,zipAll2=zipAll,zipAllLeft2=zipAllLeft,zipAllRight2=zipAllRight,zipAllSortedByKey2=zipAllSortedByKey,zipAllSortedByKeyLeft2=zipAllSortedByKeyLeft,zipAllSortedByKeyRight2=zipAllSortedByKeyRight,zipAllSortedByKeyWith2=zipAllSortedByKeyWith,zipAllWith2=zipAllWith,zipLatest2=zipLatest,zipLatestAll2=zipLatestAll,zipLatestWith2=zipLatestWith,zipLeft7=zipLeft6,zipRight10=zipRight9,zipWith12=zipWith11,zipWithChunks2=zipWithChunks,zipWithNext2=zipWithNext,zipWithPrevious2=zipWithPrevious,zipWithPreviousAndNext2=zipWithPreviousAndNext,zipWithIndex2=zipWithIndex,Do4=Do3,bind5=bind4,bindEffect2=bindEffect,bindTo5=bindTo4,let_5=let_4;var decodeText2=decodeText,encodeText2=encodeText,fromEventListener2=fromEventListener;var exports_Config={};__export(exports_Config,{zipWith:()=>zipWith14,zip:()=>zip10,withDescription:()=>withDescription2,withDefault:()=>withDefault2,validate:()=>validate4,url:()=>url2,unwrap:()=>unwrap5,sync:()=>sync12,suspend:()=>suspend12,succeed:()=>succeed18,string:()=>string3,secret:()=>secret2,repeat:()=>repeat5,redacted:()=>redacted2,primitive:()=>primitive2,port:()=>port2,orElseIf:()=>orElseIf2,orElse:()=>orElse11,option:()=>option4,number:()=>number5,nonEmptyString:()=>nonEmptyString2,nested:()=>nested3,mapOrFail:()=>mapOrFail2,mapAttempt:()=>mapAttempt2,map:()=>map25,logLevel:()=>logLevel2,literal:()=>literal2,isConfig:()=>isConfig2,integer:()=>integer2,hashSet:()=>hashSet3,hashMap:()=>hashMap3,fail:()=>fail18,duration:()=>duration4,date:()=>date2,chunk:()=>chunk4,branded:()=>branded2,boolean:()=>boolean2,array:()=>array5,all:()=>all8,ConfigTypeId:()=>ConfigTypeId2});var isMissingDataOnly2=isMissingDataOnly;var RedactedSymbolKey="effect/Redacted",redactedRegistry=globalValue("effect/Redacted/redactedRegistry",()=>new WeakMap),RedactedTypeId=Symbol.for(RedactedSymbolKey),proto12={[RedactedTypeId]:{_A:(_)=>_},pipe(){return pipeArguments(this,arguments)},toString(){return"<redacted>"},toJSON(){return"<redacted>"},[NodeInspectSymbol](){return"<redacted>"},[symbol](){return pipe(hash(RedactedSymbolKey),combine(hash(redactedRegistry.get(this))),cached(this))},[symbol2](that){return isRedacted(that)&&equals(redactedRegistry.get(this),redactedRegistry.get(that))}},isRedacted=(u)=>hasProperty(u,RedactedTypeId),make53=(value)=>{let redacted=Object.create(proto12);return redactedRegistry.set(redacted,value),redacted};var SecretSymbolKey="effect/Secret",SecretTypeId=Symbol.for(SecretSymbolKey);var SecretProto={...proto12,[SecretTypeId]:SecretTypeId},make54=(bytes)=>{let secret=Object.create(SecretProto);return Object.defineProperty(secret,"toString",{enumerable:!1,value(){return"Secret(<redacted>)"}}),Object.defineProperty(secret,"toJSON",{enumerable:!1,value(){return"<redacted>"}}),Object.defineProperty(secret,"raw",{enumerable:!1,value:bytes}),redactedRegistry.set(secret,bytes.map((byte)=>String.fromCharCode(byte)).join("")),secret};var fromString=(text)=>{return make54(text.split("").map((char)=>char.charCodeAt(0)))};var ConfigSymbolKey="effect/Config",ConfigTypeId=Symbol.for(ConfigSymbolKey),configVariance={_A:(_)=>_},proto13={...CommitPrototype,[ConfigTypeId]:configVariance,commit(){return config(this)}},boolean=(name)=>{let config2=primitive("a boolean property",(text)=>{switch(text){case"true":case"yes":case"on":case"1":return right2(!0);case"false":case"no":case"off":case"0":return right2(!1);default:{let error2=InvalidData([],`Expected a boolean value but received ${formatUnknown(text)}`);return left2(error2)}}});return name===void 0?config2:nested2(config2,name)},url=(name)=>{let config2=primitive("an URL property",(text)=>try_({try:()=>new URL(text),catch:(_)=>InvalidData([],`Expected an URL value but received ${formatUnknown(text)}`)}));return name===void 0?config2:nested2(config2,name)},port=(name)=>{let config2=primitive("a network port property",(text)=>{let result=Number(text);if(Number.isNaN(result)||result.toString()!==text.toString()||!Number.isInteger(result)||result<1||result>65535)return left2(InvalidData([],`Expected a network port value but received ${formatUnknown(text)}`));return right2(result)});return name===void 0?config2:nested2(config2,name)},array4=(config2,name)=>{return pipe(chunk3(config2,name),map24(toArray2))},chunk3=(config2,name)=>{return map24(name===void 0?repeat4(config2):nested2(repeat4(config2),name),unsafeFromArray)},date=(name)=>{let config2=primitive("a date property",(text)=>{let result=Date.parse(text);if(Number.isNaN(result))return left2(InvalidData([],`Expected a Date value but received ${formatUnknown(text)}`));return right2(new Date(result))});return name===void 0?config2:nested2(config2,name)},fail17=(message)=>{let fail18=Object.create(proto13);return fail18._tag=OP_FAIL2,fail18.message=message,fail18.parse=()=>left2(Unsupported([],message)),fail18},number4=(name)=>{let config2=primitive("a number property",(text)=>{let result=Number(text);if(Number.isNaN(result))return left2(InvalidData([],`Expected a number value but received ${formatUnknown(text)}`));return right2(result)});return name===void 0?config2:nested2(config2,name)},integer=(name)=>{let config2=primitive("an integer property",(text)=>{let result=Number(text);if(!Number.isInteger(result))return left2(InvalidData([],`Expected an integer value but received ${formatUnknown(text)}`));return right2(result)});return name===void 0?config2:nested2(config2,name)},literal=(...literals)=>(name)=>{let valuesString=literals.map(String).join(", "),config2=primitive(`one of (${valuesString})`,(text)=>{let found=literals.find((value)=>String(value)===text);if(found===void 0)return left2(InvalidData([],`Expected one of (${valuesString}) but received ${formatUnknown(text)}`));return right2(found)});return name===void 0?config2:nested2(config2,name)},logLevel=(name)=>{let config2=mapOrFail(string2(),(value)=>{let label=value.toUpperCase(),level=allLogLevels.find((level2)=>level2.label===label);return level===void 0?left2(InvalidData([],`Expected a log level but received ${formatUnknown(value)}`)):right2(level)});return name===void 0?config2:nested2(config2,name)},duration3=(name)=>{let config2=mapOrFail(string2(),(value)=>{let duration4=decodeUnknown(value);return fromOption2(duration4,()=>InvalidData([],`Expected a duration but received ${formatUnknown(value)}`))});return name===void 0?config2:nested2(config2,name)},map24=dual(2,(self,f)=>mapOrFail(self,(a)=>right2(f(a)))),mapAttempt=dual(2,(self,f)=>mapOrFail(self,(a)=>{try{return right2(f(a))}catch(error2){return left2(InvalidData([],error2 instanceof Error?error2.message:`${error2}`))}})),mapOrFail=dual(2,(self,f)=>{let mapOrFail2=Object.create(proto13);return mapOrFail2._tag=OP_MAP_OR_FAIL,mapOrFail2.original=self,mapOrFail2.mapOrFail=f,mapOrFail2}),nested2=dual(2,(self,name)=>{let nested3=Object.create(proto13);return nested3._tag=OP_NESTED,nested3.name=name,nested3.config=self,nested3}),orElse10=dual(2,(self,that)=>{let fallback=Object.create(proto13);return fallback._tag=OP_FALLBACK,fallback.first=self,fallback.second=suspend11(that),fallback.condition=constTrue,fallback}),orElseIf=dual(2,(self,options)=>{let fallback=Object.create(proto13);return fallback._tag=OP_FALLBACK,fallback.first=self,fallback.second=suspend11(options.orElse),fallback.condition=options.if,fallback}),option3=(self)=>{return pipe(self,map24(some2),orElseIf({orElse:()=>succeed17(none2()),if:isMissingDataOnly2}))},primitive=(description,parse2)=>{let primitive2=Object.create(proto13);return primitive2._tag=OP_PRIMITIVE,primitive2.description=description,primitive2.parse=parse2,primitive2},repeat4=(self)=>{let repeat5=Object.create(proto13);return repeat5._tag=OP_SEQUENCE,repeat5.config=self,repeat5},secret=(name)=>{let config2=primitive("a secret property",(text)=>right2(fromString(text)));return name===void 0?config2:nested2(config2,name)},redacted=(nameOrConfig)=>{let config2=isConfig(nameOrConfig)?nameOrConfig:string2(nameOrConfig);return map24(config2,make53)},branded=dual(2,(nameOrConfig,constructor)=>{let config2=isConfig(nameOrConfig)?nameOrConfig:string2(nameOrConfig);return mapOrFail(config2,(a)=>constructor.either(a).pipe(mapLeft((brandErrors)=>InvalidData([],brandErrors.map((brandError)=>brandError.message).join(`
|
|
41
|
-
`)))))}),hashSet2=(config2,name)=>{let newConfig=map24(chunk3(config2),fromIterable5);return name===void 0?newConfig:nested2(newConfig,name)},string2=(name)=>{let config2=primitive("a text property",right2);return name===void 0?config2:nested2(config2,name)},nonEmptyString=(name)=>{let config2=primitive("a non-empty text property",liftPredicate((text)=>text.length>0,()=>MissingData([],"Expected a non-empty string")));return name===void 0?config2:nested2(config2,name)},all7=(arg)=>{if(Array.isArray(arg))return tuple2(arg);else if(Symbol.iterator in arg)return tuple2([...arg]);return struct3(arg)},struct3=(r)=>{let entries2=Object.entries(r),result=pipe(entries2[0][1],map24((value)=>({[entries2[0][0]]:value})));if(entries2.length===1)return result;let rest=entries2.slice(1);for(let[key,config2]of rest)result=pipe(result,zipWith13(config2,(record,value)=>({...record,[key]:value})));return result},succeed17=(value)=>{let constant2=Object.create(proto13);return constant2._tag=OP_CONSTANT,constant2.value=value,constant2.parse=()=>right2(value),constant2},suspend11=(config2)=>{let lazy=Object.create(proto13);return lazy._tag=OP_LAZY,lazy.config=config2,lazy},sync11=(value)=>{return suspend11(()=>succeed17(value()))},hashMap2=(config2,name)=>{let table2=Object.create(proto13);return table2._tag=OP_HASHMAP,table2.valueConfig=config2,name===void 0?table2:nested2(table2,name)},isConfig=(u)=>hasProperty(u,ConfigTypeId),tuple2=(tuple3)=>{if(tuple3.length===0)return succeed17([]);if(tuple3.length===1)return map24(tuple3[0],(x)=>[x]);let result=map24(tuple3[0],(x)=>[x]);for(let i=1;i<tuple3.length;i++){let config2=tuple3[i];result=pipe(result,zipWith13(config2,(tuple4,value)=>[...tuple4,value]))}return result},unwrap4=(wrapped)=>{if(isConfig(wrapped))return wrapped;return struct3(Object.fromEntries(Object.entries(wrapped).map(([k,a])=>[k,unwrap4(a)])))},validate3=dual(2,(self,{message,validation})=>mapOrFail(self,(a)=>{if(validation(a))return right2(a);return left2(InvalidData([],message))})),withDefault=dual(2,(self,def)=>orElseIf(self,{orElse:()=>succeed17(def),if:isMissingDataOnly2})),withDescription=dual(2,(self,description)=>{let described=Object.create(proto13);return described._tag=OP_DESCRIBED,described.config=self,described.description=description,described}),zip9=dual(2,(self,that)=>zipWith13(self,that,(a,b)=>[a,b])),zipWith13=dual(3,(self,that,f)=>{let zipWith14=Object.create(proto13);return zipWith14._tag=OP_ZIP_WITH,zipWith14.left=self,zipWith14.right=that,zipWith14.zip=f,zipWith14});var ConfigTypeId2=ConfigTypeId,all8=all7,array5=array4,boolean2=boolean,port2=port,url2=url,chunk4=chunk3,date2=date,fail18=fail17,number5=number4,integer2=integer,literal2=literal,logLevel2=logLevel,duration4=duration3,isConfig2=isConfig,map25=map24,mapAttempt2=mapAttempt,mapOrFail2=mapOrFail,nested3=nested2,orElse11=orElse10,orElseIf2=orElseIf,option4=option3,primitive2=primitive,repeat5=repeat4,secret2=secret,redacted2=redacted,branded2=branded,hashSet3=hashSet2,string3=string2,nonEmptyString2=nonEmptyString,succeed18=succeed17,suspend12=suspend11,sync12=sync11,hashMap3=hashMap2,unwrap5=unwrap4,validate4=validate3,withDefault2=withDefault,withDescription2=withDescription,zip10=zip9,zipWith14=zipWith13;var exports_BunRuntime={};__export(exports_BunRuntime,{runMain:()=>runMain3});var defaultLogger2=defaultLogger;var prettyLoggerDefault2=prettyLoggerDefault;var defaultTeardown=(exit3,onExit4)=>{onExit4(isFailure3(exit3)&&!isInterruptedOnly2(exit3.cause)?1:0)},addPrettyLogger=(refs,fiberId3)=>{let loggers=getOrDefault2(refs,currentLoggers2);if(!has3(loggers,defaultLogger2))return refs;return updateAs2(refs,{fiberId:fiberId3,fiberRef:currentLoggers2,value:loggers.pipe(remove4(defaultLogger2),add2(prettyLoggerDefault2))})},makeRunMain=(f)=>dual((args2)=>isEffect2(args2[0]),(effect4,options)=>{let fiber=options?.disableErrorReporting===!0?runFork2(effect4,{updateRefs:options?.disablePrettyLogger===!0?void 0:addPrettyLogger}):runFork2(tapErrorCause3(effect4,(cause3)=>{if(isInterruptedOnly2(cause3))return _void;return logError2(cause3)}),{updateRefs:options?.disablePrettyLogger===!0?void 0:addPrettyLogger}),teardown=options?.teardown??defaultTeardown;return f({fiber,teardown})});var runMain=makeRunMain(({fiber,teardown})=>{let keepAlive=setInterval(constVoid,2147483647),receivedSignal=!1;fiber.addObserver((exit3)=>{if(!receivedSignal)process.removeListener("SIGINT",onSigint),process.removeListener("SIGTERM",onSigint);clearInterval(keepAlive),teardown(exit3,(code)=>{if(receivedSignal||code!==0)process.exit(code)})});function onSigint(){receivedSignal=!0,process.removeListener("SIGINT",onSigint),process.removeListener("SIGTERM",onSigint),fiber.unsafeInterruptAsFork(fiber.id())}process.on("SIGINT",onSigint),process.on("SIGTERM",onSigint)});var runMain2=runMain;var runMain3=runMain2;var exports_Console={};__export(exports_Console,{withTime:()=>withTime2,withGroup:()=>withGroup2,withConsole:()=>withConsole3,warn:()=>warn2,trace:()=>trace2,timeLog:()=>timeLog2,time:()=>time2,table:()=>table2,setConsole:()=>setConsole2,log:()=>log4,info:()=>info2,group:()=>group2,error:()=>error2,dirxml:()=>dirxml2,dir:()=>dir2,debug:()=>debug2,countReset:()=>countReset2,count:()=>count5,consoleWith:()=>consoleWith3,clear:()=>clear2,assert:()=>assert2,TypeId:()=>TypeId18,Console:()=>Console});var TypeId18=TypeId8,Console=consoleTag,withConsole3=withConsole,setConsole2=setConsole,consoleWith3=consoleWith,assert2=assert,clear2=clear,count5=count,countReset2=countReset,debug2=debug,dir2=dir,dirxml2=dirxml,error2=error,group2=group,info2=info,log4=log2,table2=table,time2=time,timeLog2=timeLog,trace2=trace,warn2=warn,withGroup2=withGroup,withTime2=withTime;var BUILD_COMMIT="d18b194",BUILD_VERSION="0.0.6";var CLIConfig=exports_Data.struct,RedistailConfig=exports_Data.struct,PubSubMessage=exports_Data.struct,StreamMessage=exports_Data.struct;class CLIError extends exports_Data.TaggedError("CLIError"){}class ConfigError extends exports_Data.TaggedError("ConfigError"){}class MonitoringError extends exports_Data.TaggedError("MonitoringError"){}var StreamMonitorOptions=exports_Data.struct,isValidConnectionType=(type)=>type==="pubsub"||type==="stream",isValidTopicName=(name)=>typeof name==="string"&&name.trim().length>0,createInvalidArgumentError=(message,context7)=>new CLIError({reason:"InvalidArguments",message,context:context7}),createMissingArgumentError=(message,context7)=>new CLIError({reason:"MissingArguments",message,context:context7}),createEnvironmentError=(message,cause3,context7)=>new ConfigError({reason:"InvalidEnvironment",message,cause:cause3,context:context7});var createConnectionLostError=(message,cause3)=>new MonitoringError({reason:"ConnectionLost",message,retryable:!0,cause:cause3}),createSubscriptionFailedError=(message,retryable=!0,cause3)=>new MonitoringError({reason:"SubscriptionFailed",message,retryable,cause:cause3}),createStreamReadFailedError=(message,retryable=!0,cause3)=>new MonitoringError({reason:"StreamReadFailed",message,retryable,cause:cause3}),DEFAULT_CLI_REDIS_CONFIG={host:"127.0.0.1",port:6379,timeout:5000,retryAttempts:3,retryDelay:1000},DEFAULT_DISPLAY_CONFIG={colors:!0,timestamps:!0,prettyJson:!0},DEFAULT_MONITORING_CONFIG={blockTimeout:5000,maxReconnectAttempts:5};var CLIConfigService=exports_Context.GenericTag("CLIConfigService"),redisHost=exports_Config.withDefault(exports_Config.string("REDIS_HOST"),DEFAULT_CLI_REDIS_CONFIG.host),redisPort=exports_Config.withDefault(exports_Config.integer("REDIS_PORT"),DEFAULT_CLI_REDIS_CONFIG.port),redisUrl=exports_Config.option(exports_Config.string("REDIS_URL")),redisTimeout=exports_Config.withDefault(exports_Config.integer("REDIS_TIMEOUT"),DEFAULT_CLI_REDIS_CONFIG.timeout),redisRetryAttempts=exports_Config.withDefault(exports_Config.integer("REDIS_RETRY_ATTEMPTS"),DEFAULT_CLI_REDIS_CONFIG.retryAttempts),redisRetryDelay=exports_Config.withDefault(exports_Config.integer("REDIS_RETRY_DELAY"),DEFAULT_CLI_REDIS_CONFIG.retryDelay),redistailColors=exports_Config.withDefault(exports_Config.boolean("REDISTAIL_COLORS"),DEFAULT_DISPLAY_CONFIG.colors),redistailTimestamps=exports_Config.withDefault(exports_Config.boolean("REDISTAIL_TIMESTAMPS"),DEFAULT_DISPLAY_CONFIG.timestamps),redistailPrettyJson=exports_Config.withDefault(exports_Config.boolean("REDISTAIL_PRETTY_JSON"),DEFAULT_DISPLAY_CONFIG.prettyJson),redistailBlockTimeout=exports_Config.withDefault(exports_Config.integer("REDISTAIL_BLOCK_TIMEOUT"),DEFAULT_MONITORING_CONFIG.blockTimeout),redistailMaxReconnectAttempts=exports_Config.withDefault(exports_Config.integer("REDISTAIL_MAX_RECONNECT_ATTEMPTS"),DEFAULT_MONITORING_CONFIG.maxReconnectAttempts),parseCommandLineArgs=(args2)=>exports_Effect.gen(function*(){if(args2.includes("--help")||args2.includes("-h"))return CLIConfig({connectionType:"pubsub",topicName:"",help:!0});if(args2.includes("--version")||args2.includes("-v"))return CLIConfig({connectionType:"pubsub",topicName:"",version:!0});if(args2.length<2)return yield*exports_Effect.fail(createMissingArgumentError("Missing required arguments. Usage: redistail <pubsub|stream> <topic-name>","ARGUMENT_PARSING"));let[connectionType,topicName,...extraArgs]=args2;if(!isValidConnectionType(connectionType))return yield*exports_Effect.fail(createInvalidArgumentError(`Invalid connection type: ${connectionType}. Must be 'pubsub' or 'stream'`,"ARGUMENT_PARSING"));if(!isValidTopicName(topicName))return yield*exports_Effect.fail(createInvalidArgumentError("Topic name cannot be empty","ARGUMENT_PARSING"));if(extraArgs.length>0)return yield*exports_Effect.fail(createInvalidArgumentError(`Unexpected arguments: ${extraArgs.join(", ")}. Usage: redistail <pubsub|stream> <topic-name>`,"ARGUMENT_PARSING"));return CLIConfig({connectionType,topicName:topicName.trim()})}),loadRedistailConfig=()=>exports_Effect.gen(function*(){let config2=yield*exports_Effect.all({redisHost,redisPort,redisUrl,redisTimeout,redisRetryAttempts,redisRetryDelay,redistailColors,redistailTimestamps,redistailPrettyJson,redistailBlockTimeout,redistailMaxReconnectAttempts}).pipe(exports_Effect.mapError((configError)=>createEnvironmentError("Failed to load configuration from environment",configError,"CONFIG_LOADING")));if(config2.redisPort<1||config2.redisPort>65535)return yield*exports_Effect.fail(createEnvironmentError(`Invalid REDIS_PORT: ${config2.redisPort}. Must be between 1 and 65535`,void 0,"CONFIG_VALIDATION"));if(config2.redisTimeout<0)return yield*exports_Effect.fail(createEnvironmentError(`Invalid REDIS_TIMEOUT: ${config2.redisTimeout}. Must be non-negative`,void 0,"CONFIG_VALIDATION"));if(config2.redisRetryAttempts<0)return yield*exports_Effect.fail(createEnvironmentError(`Invalid REDIS_RETRY_ATTEMPTS: ${config2.redisRetryAttempts}. Must be non-negative`,void 0,"CONFIG_VALIDATION"));if(config2.redisRetryDelay<0)return yield*exports_Effect.fail(createEnvironmentError(`Invalid REDIS_RETRY_DELAY: ${config2.redisRetryDelay}. Must be non-negative`,void 0,"CONFIG_VALIDATION"));if(config2.redistailBlockTimeout<0)return yield*exports_Effect.fail(createEnvironmentError(`Invalid REDISTAIL_BLOCK_TIMEOUT: ${config2.redistailBlockTimeout}. Must be non-negative`,void 0,"CONFIG_VALIDATION"));if(config2.redistailMaxReconnectAttempts<0)return yield*exports_Effect.fail(createEnvironmentError(`Invalid REDISTAIL_MAX_RECONNECT_ATTEMPTS: ${config2.redistailMaxReconnectAttempts}. Must be non-negative`,void 0,"CONFIG_VALIDATION"));return RedistailConfig({redis:{host:config2.redisHost,port:config2.redisPort,url:config2.redisUrl._tag==="Some"?config2.redisUrl.value:void 0,timeout:config2.redisTimeout,retryAttempts:config2.redisRetryAttempts,retryDelay:config2.redisRetryDelay},display:{colors:config2.redistailColors,timestamps:config2.redistailTimestamps,prettyJson:config2.redistailPrettyJson},monitoring:{blockTimeout:config2.redistailBlockTimeout,maxReconnectAttempts:config2.redistailMaxReconnectAttempts}})}),showHelp=()=>exports_Console.log(`
|
|
41
|
+
`)))))}),hashSet2=(config2,name)=>{let newConfig=map24(chunk3(config2),fromIterable5);return name===void 0?newConfig:nested2(newConfig,name)},string2=(name)=>{let config2=primitive("a text property",right2);return name===void 0?config2:nested2(config2,name)},nonEmptyString=(name)=>{let config2=primitive("a non-empty text property",liftPredicate((text)=>text.length>0,()=>MissingData([],"Expected a non-empty string")));return name===void 0?config2:nested2(config2,name)},all7=(arg)=>{if(Array.isArray(arg))return tuple2(arg);else if(Symbol.iterator in arg)return tuple2([...arg]);return struct3(arg)},struct3=(r)=>{let entries2=Object.entries(r),result=pipe(entries2[0][1],map24((value)=>({[entries2[0][0]]:value})));if(entries2.length===1)return result;let rest=entries2.slice(1);for(let[key,config2]of rest)result=pipe(result,zipWith13(config2,(record,value)=>({...record,[key]:value})));return result},succeed17=(value)=>{let constant2=Object.create(proto13);return constant2._tag=OP_CONSTANT,constant2.value=value,constant2.parse=()=>right2(value),constant2},suspend11=(config2)=>{let lazy=Object.create(proto13);return lazy._tag=OP_LAZY,lazy.config=config2,lazy},sync11=(value)=>{return suspend11(()=>succeed17(value()))},hashMap2=(config2,name)=>{let table2=Object.create(proto13);return table2._tag=OP_HASHMAP,table2.valueConfig=config2,name===void 0?table2:nested2(table2,name)},isConfig=(u)=>hasProperty(u,ConfigTypeId),tuple2=(tuple3)=>{if(tuple3.length===0)return succeed17([]);if(tuple3.length===1)return map24(tuple3[0],(x)=>[x]);let result=map24(tuple3[0],(x)=>[x]);for(let i=1;i<tuple3.length;i++){let config2=tuple3[i];result=pipe(result,zipWith13(config2,(tuple4,value)=>[...tuple4,value]))}return result},unwrap4=(wrapped)=>{if(isConfig(wrapped))return wrapped;return struct3(Object.fromEntries(Object.entries(wrapped).map(([k,a])=>[k,unwrap4(a)])))},validate3=dual(2,(self,{message,validation})=>mapOrFail(self,(a)=>{if(validation(a))return right2(a);return left2(InvalidData([],message))})),withDefault=dual(2,(self,def)=>orElseIf(self,{orElse:()=>succeed17(def),if:isMissingDataOnly2})),withDescription=dual(2,(self,description)=>{let described=Object.create(proto13);return described._tag=OP_DESCRIBED,described.config=self,described.description=description,described}),zip9=dual(2,(self,that)=>zipWith13(self,that,(a,b)=>[a,b])),zipWith13=dual(3,(self,that,f)=>{let zipWith14=Object.create(proto13);return zipWith14._tag=OP_ZIP_WITH,zipWith14.left=self,zipWith14.right=that,zipWith14.zip=f,zipWith14});var ConfigTypeId2=ConfigTypeId,all8=all7,array5=array4,boolean2=boolean,port2=port,url2=url,chunk4=chunk3,date2=date,fail18=fail17,number5=number4,integer2=integer,literal2=literal,logLevel2=logLevel,duration4=duration3,isConfig2=isConfig,map25=map24,mapAttempt2=mapAttempt,mapOrFail2=mapOrFail,nested3=nested2,orElse11=orElse10,orElseIf2=orElseIf,option4=option3,primitive2=primitive,repeat5=repeat4,secret2=secret,redacted2=redacted,branded2=branded,hashSet3=hashSet2,string3=string2,nonEmptyString2=nonEmptyString,succeed18=succeed17,suspend12=suspend11,sync12=sync11,hashMap3=hashMap2,unwrap5=unwrap4,validate4=validate3,withDefault2=withDefault,withDescription2=withDescription,zip10=zip9,zipWith14=zipWith13;var exports_BunRuntime={};__export(exports_BunRuntime,{runMain:()=>runMain3});var defaultLogger2=defaultLogger;var prettyLoggerDefault2=prettyLoggerDefault;var defaultTeardown=(exit3,onExit4)=>{onExit4(isFailure3(exit3)&&!isInterruptedOnly2(exit3.cause)?1:0)},addPrettyLogger=(refs,fiberId3)=>{let loggers=getOrDefault2(refs,currentLoggers2);if(!has3(loggers,defaultLogger2))return refs;return updateAs2(refs,{fiberId:fiberId3,fiberRef:currentLoggers2,value:loggers.pipe(remove4(defaultLogger2),add2(prettyLoggerDefault2))})},makeRunMain=(f)=>dual((args2)=>isEffect2(args2[0]),(effect4,options)=>{let fiber=options?.disableErrorReporting===!0?runFork2(effect4,{updateRefs:options?.disablePrettyLogger===!0?void 0:addPrettyLogger}):runFork2(tapErrorCause3(effect4,(cause3)=>{if(isInterruptedOnly2(cause3))return _void;return logError2(cause3)}),{updateRefs:options?.disablePrettyLogger===!0?void 0:addPrettyLogger}),teardown=options?.teardown??defaultTeardown;return f({fiber,teardown})});var runMain=makeRunMain(({fiber,teardown})=>{let keepAlive=setInterval(constVoid,2147483647),receivedSignal=!1;fiber.addObserver((exit3)=>{if(!receivedSignal)process.removeListener("SIGINT",onSigint),process.removeListener("SIGTERM",onSigint);clearInterval(keepAlive),teardown(exit3,(code)=>{if(receivedSignal||code!==0)process.exit(code)})});function onSigint(){receivedSignal=!0,process.removeListener("SIGINT",onSigint),process.removeListener("SIGTERM",onSigint),fiber.unsafeInterruptAsFork(fiber.id())}process.on("SIGINT",onSigint),process.on("SIGTERM",onSigint)});var runMain2=runMain;var runMain3=runMain2;var exports_Console={};__export(exports_Console,{withTime:()=>withTime2,withGroup:()=>withGroup2,withConsole:()=>withConsole3,warn:()=>warn2,trace:()=>trace2,timeLog:()=>timeLog2,time:()=>time2,table:()=>table2,setConsole:()=>setConsole2,log:()=>log4,info:()=>info2,group:()=>group2,error:()=>error2,dirxml:()=>dirxml2,dir:()=>dir2,debug:()=>debug2,countReset:()=>countReset2,count:()=>count5,consoleWith:()=>consoleWith3,clear:()=>clear2,assert:()=>assert2,TypeId:()=>TypeId18,Console:()=>Console});var TypeId18=TypeId8,Console=consoleTag,withConsole3=withConsole,setConsole2=setConsole,consoleWith3=consoleWith,assert2=assert,clear2=clear,count5=count,countReset2=countReset,debug2=debug,dir2=dir,dirxml2=dirxml,error2=error,group2=group,info2=info,log4=log2,table2=table,time2=time,timeLog2=timeLog,trace2=trace,warn2=warn,withGroup2=withGroup,withTime2=withTime;var BUILD_COMMIT="3910676",BUILD_VERSION="0.0.10";var getVersionInfo=()=>({version:"0.0.10",commit:"3910676",timestamp:"2026-01-09T22:27:43.904Z",isDev:!1,isDevTimestamp:!1});var CLIConfig=exports_Data.struct,RedistailConfig=exports_Data.struct,PubSubMessage=exports_Data.struct,StreamMessage=exports_Data.struct;class CLIError extends exports_Data.TaggedError("CLIError"){}class ConfigError extends exports_Data.TaggedError("ConfigError"){}class MonitoringError extends exports_Data.TaggedError("MonitoringError"){}var StreamMonitorOptions=exports_Data.struct,isValidConnectionType=(type)=>type==="pubsub"||type==="stream",isValidTopicName=(name)=>typeof name==="string"&&name.trim().length>0,createInvalidArgumentError=(message,context7)=>new CLIError({reason:"InvalidArguments",message,context:context7}),createMissingArgumentError=(message,context7)=>new CLIError({reason:"MissingArguments",message,context:context7}),createEnvironmentError=(message,cause3,context7)=>new ConfigError({reason:"InvalidEnvironment",message,cause:cause3,context:context7});var createConnectionLostError=(message,cause3)=>new MonitoringError({reason:"ConnectionLost",message,retryable:!0,cause:cause3}),createSubscriptionFailedError=(message,retryable=!0,cause3)=>new MonitoringError({reason:"SubscriptionFailed",message,retryable,cause:cause3}),createStreamReadFailedError=(message,retryable=!0,cause3)=>new MonitoringError({reason:"StreamReadFailed",message,retryable,cause:cause3}),DEFAULT_CLI_REDIS_CONFIG={host:"127.0.0.1",port:6379,timeout:5000,retryAttempts:3,retryDelay:1000},DEFAULT_DISPLAY_CONFIG={colors:!0,timestamps:!0,prettyJson:!0},DEFAULT_MONITORING_CONFIG={blockTimeout:5000,maxReconnectAttempts:5};var CLIConfigService=exports_Context.GenericTag("CLIConfigService"),redisHost=exports_Config.withDefault(exports_Config.string("REDIS_HOST"),DEFAULT_CLI_REDIS_CONFIG.host),redisPort=exports_Config.withDefault(exports_Config.integer("REDIS_PORT"),DEFAULT_CLI_REDIS_CONFIG.port),redisUrl=exports_Config.option(exports_Config.string("REDIS_URL")),redisTimeout=exports_Config.withDefault(exports_Config.integer("REDIS_TIMEOUT"),DEFAULT_CLI_REDIS_CONFIG.timeout),redisRetryAttempts=exports_Config.withDefault(exports_Config.integer("REDIS_RETRY_ATTEMPTS"),DEFAULT_CLI_REDIS_CONFIG.retryAttempts),redisRetryDelay=exports_Config.withDefault(exports_Config.integer("REDIS_RETRY_DELAY"),DEFAULT_CLI_REDIS_CONFIG.retryDelay),redistailColors=exports_Config.withDefault(exports_Config.boolean("REDISTAIL_COLORS"),DEFAULT_DISPLAY_CONFIG.colors),redistailTimestamps=exports_Config.withDefault(exports_Config.boolean("REDISTAIL_TIMESTAMPS"),DEFAULT_DISPLAY_CONFIG.timestamps),redistailPrettyJson=exports_Config.withDefault(exports_Config.boolean("REDISTAIL_PRETTY_JSON"),DEFAULT_DISPLAY_CONFIG.prettyJson),redistailBlockTimeout=exports_Config.withDefault(exports_Config.integer("REDISTAIL_BLOCK_TIMEOUT"),DEFAULT_MONITORING_CONFIG.blockTimeout),redistailMaxReconnectAttempts=exports_Config.withDefault(exports_Config.integer("REDISTAIL_MAX_RECONNECT_ATTEMPTS"),DEFAULT_MONITORING_CONFIG.maxReconnectAttempts),parseCommandLineArgs=(args2)=>exports_Effect.gen(function*(){if(args2.includes("--help")||args2.includes("-h"))return CLIConfig({connectionType:"pubsub",topicName:"",help:!0});if(args2.includes("--version")||args2.includes("-v"))return CLIConfig({connectionType:"pubsub",topicName:"",version:!0});if(args2.length<2)return yield*exports_Effect.fail(createMissingArgumentError("Missing required arguments. Usage: redistail <pubsub|stream> <topic-name>","ARGUMENT_PARSING"));let[connectionType,topicName,...extraArgs]=args2;if(!isValidConnectionType(connectionType))return yield*exports_Effect.fail(createInvalidArgumentError(`Invalid connection type: ${connectionType}. Must be 'pubsub' or 'stream'`,"ARGUMENT_PARSING"));if(!isValidTopicName(topicName))return yield*exports_Effect.fail(createInvalidArgumentError("Topic name cannot be empty","ARGUMENT_PARSING"));if(extraArgs.length>0)return yield*exports_Effect.fail(createInvalidArgumentError(`Unexpected arguments: ${extraArgs.join(", ")}. Usage: redistail <pubsub|stream> <topic-name>`,"ARGUMENT_PARSING"));return CLIConfig({connectionType,topicName:topicName.trim()})}),loadRedistailConfig=()=>exports_Effect.gen(function*(){let config2=yield*exports_Effect.all({redisHost,redisPort,redisUrl,redisTimeout,redisRetryAttempts,redisRetryDelay,redistailColors,redistailTimestamps,redistailPrettyJson,redistailBlockTimeout,redistailMaxReconnectAttempts}).pipe(exports_Effect.mapError((configError)=>createEnvironmentError("Failed to load configuration from environment",configError,"CONFIG_LOADING")));if(config2.redisPort<1||config2.redisPort>65535)return yield*exports_Effect.fail(createEnvironmentError(`Invalid REDIS_PORT: ${config2.redisPort}. Must be between 1 and 65535`,void 0,"CONFIG_VALIDATION"));if(config2.redisTimeout<0)return yield*exports_Effect.fail(createEnvironmentError(`Invalid REDIS_TIMEOUT: ${config2.redisTimeout}. Must be non-negative`,void 0,"CONFIG_VALIDATION"));if(config2.redisRetryAttempts<0)return yield*exports_Effect.fail(createEnvironmentError(`Invalid REDIS_RETRY_ATTEMPTS: ${config2.redisRetryAttempts}. Must be non-negative`,void 0,"CONFIG_VALIDATION"));if(config2.redisRetryDelay<0)return yield*exports_Effect.fail(createEnvironmentError(`Invalid REDIS_RETRY_DELAY: ${config2.redisRetryDelay}. Must be non-negative`,void 0,"CONFIG_VALIDATION"));if(config2.redistailBlockTimeout<0)return yield*exports_Effect.fail(createEnvironmentError(`Invalid REDISTAIL_BLOCK_TIMEOUT: ${config2.redistailBlockTimeout}. Must be non-negative`,void 0,"CONFIG_VALIDATION"));if(config2.redistailMaxReconnectAttempts<0)return yield*exports_Effect.fail(createEnvironmentError(`Invalid REDISTAIL_MAX_RECONNECT_ATTEMPTS: ${config2.redistailMaxReconnectAttempts}. Must be non-negative`,void 0,"CONFIG_VALIDATION"));return RedistailConfig({redis:{host:config2.redisHost,port:config2.redisPort,url:config2.redisUrl._tag==="Some"?config2.redisUrl.value:void 0,timeout:config2.redisTimeout,retryAttempts:config2.redisRetryAttempts,retryDelay:config2.redisRetryDelay},display:{colors:config2.redistailColors,timestamps:config2.redistailTimestamps,prettyJson:config2.redistailPrettyJson},monitoring:{blockTimeout:config2.redistailBlockTimeout,maxReconnectAttempts:config2.redistailMaxReconnectAttempts}})}),showHelp=()=>exports_Console.log(`
|
|
42
42
|
redistail - Redis message monitoring utility
|
|
43
43
|
|
|
44
44
|
USAGE:
|
|
@@ -68,12 +68,14 @@ ENVIRONMENT VARIABLES:
|
|
|
68
68
|
EXAMPLES:
|
|
69
69
|
redistail pubsub my-channel
|
|
70
70
|
redistail stream my-stream
|
|
71
|
-
|
|
71
|
+
REDIS_HOST=redis.example.com redistail pubsub notifications
|
|
72
72
|
REDIS_URL=redis://user:pass@redis.example.com:6380 redistail stream events
|
|
73
|
-
`),showVersion=()=>exports_Console.log(`redistail ${BUILD_VERSION}
|
|
74
|
-
Build: ${BUILD_COMMIT}`),cliConfigServiceImpl={parseArgs:parseCommandLineArgs,loadConfig:loadRedistailConfig,showHelp,showVersion},CLIConfigServiceLive=exports_Layer.succeed(CLIConfigService,cliConfigServiceImpl);var DisplayServiceTag=exports_Context.GenericTag("@redistail/DisplayService"),COLORS={RESET:"\x1B[0m",TIMESTAMP:"\x1B[90m",PUBSUB_CHANNEL:"\x1B[36m",STREAM_INFO:"\x1B[35m",FIELD_KEY:"\x1B[33m",CONTENT:"\x1B[37m",ERROR:"\x1B[31m"},formatTimestamp=(date3)=>date3.toISOString().replace("T"," ").replace("Z",""),tryPrettyPrintJson=(content,prettyJson)=>{if(!prettyJson)return content;try{let parsed=JSON.parse(content);return JSON.stringify(parsed,null,2)}catch{return content}},escapeNonPrintable=(content)=>{let chars=[];for(let i=0;i<=31;i++)chars.push(String.fromCharCode(i));for(let i=127;i<=159;i++)chars.push(String.fromCharCode(i));let nonPrintableRegex=new RegExp(`[${chars.join("")}]`,"g");return content.replace(nonPrintableRegex,(char)=>{return`\\x${char.charCodeAt(0).toString(16).padStart(2,"0")}`})},colorize=(text,color,enabled2)=>enabled2?`${color}${text}${COLORS.RESET}`:text,isBinaryContent=(content)=>{if(content.includes("\x00"))return!0;let chars=[];for(let i=0;i<=31;i++)chars.push(String.fromCharCode(i));for(let i=127;i<=159;i++)chars.push(String.fromCharCode(i));let nonPrintableRegex=new RegExp(`[${chars.join("")}]`,"g");return(content.match(nonPrintableRegex)||[]).length/content.length>0.1},formatContent=(content,prettyJson,colors2)=>{let safeContent=isBinaryContent(content)?escapeNonPrintable(content):content,formattedContent=tryPrettyPrintJson(safeContent,prettyJson);return colorize(formattedContent,COLORS.CONTENT,colors2)},createDisplayService=(config2)=>({formatPubSubMessage:(message)=>exports_Effect.sync(()=>{let parts2=[];if(config2.display.timestamps){let timestamp=formatTimestamp(message.timestamp);parts2.push(colorize(timestamp,COLORS.TIMESTAMP,config2.display.colors))}let channel=`[${message.channel}]`;parts2.push(colorize(channel,COLORS.PUBSUB_CHANNEL,config2.display.colors));let content=formatContent(message.content,config2.display.prettyJson,config2.display.colors);return parts2.push(content),parts2.join(" ")}),formatStreamMessage:(message)=>exports_Effect.sync(()=>{let parts2=[];if(config2.display.timestamps){let timestamp=formatTimestamp(message.timestamp);parts2.push(colorize(timestamp,COLORS.TIMESTAMP,config2.display.colors))}let streamInfo=`[${message.streamKey}:${message.entryId}]`;parts2.push(colorize(streamInfo,COLORS.STREAM_INFO,config2.display.colors));let fieldPairs=Object.entries(message.fields).map(([key,value])=>{let coloredKey=colorize(key,COLORS.FIELD_KEY,config2.display.colors),formattedValue=formatContent(value,config2.display.prettyJson,config2.display.colors);return`${coloredKey}=${formattedValue}`});if(fieldPairs.length>0)parts2.push(fieldPairs.join(" "));return parts2.join(" ")}),formatError:(error3)=>exports_Effect.sync(()=>{let errorMessage=`ERROR: ${error3.message}`;return colorize(errorMessage,COLORS.ERROR,config2.display.colors)}),outputMessage:(formatted)=>exports_Console.log(formatted),outputError:(error3)=>exports_Console.error(error3)});var DisplayServiceLive=exports_Layer.effect(DisplayServiceTag,exports_Effect.sync(()=>{let defaultConfig=RedistailConfig({redis:{host:"127.0.0.1",port:6379,timeout:5000,retryAttempts:3,retryDelay:1000},display:{colors:!0,timestamps:!0,prettyJson:!0},monitoring:{blockTimeout:5000,maxReconnectAttempts:5}});return createDisplayService(defaultConfig)})),createTestDisplayService=(config2)=>createDisplayService(config2);import{createRequire as createRequire2}from"node:module";var __create=Object.create,{getPrototypeOf:__getProtoOf,defineProperty:__defProp2,getOwnPropertyNames:__getOwnPropNames}=Object,__hasOwnProp=Object.prototype.hasOwnProperty,__toESM=(mod,isNodeMode,target)=>{target=mod!=null?__create(__getProtoOf(mod)):{};let to=isNodeMode||!mod||!mod.__esModule?__defProp2(target,"default",{value:mod,enumerable:!0}):target;for(let key of __getOwnPropNames(mod))if(!__hasOwnProp.call(to,key))__defProp2(to,key,{get:()=>mod[key],enumerable:!0});return to},__commonJS=(cb,mod)=>()=>(mod||cb((mod={exports:{}}).exports,mod),mod.exports),__export2=(target,all9)=>{for(var name in all9)__defProp2(target,name,{get:all9[name],enumerable:!0,configurable:!0,set:(newValue)=>all9[name]=()=>newValue})},__require2=createRequire2(import.meta.url),require_verbatim_string=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.VerbatimString=void 0;class VerbatimString extends String{format;constructor(format4,value){super(value);this.format=format4}}exports.VerbatimString=VerbatimString}),require_errors=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.MultiErrorReply=exports.CommandTimeoutDuringMaintenanceError=exports.SocketTimeoutDuringMaintenanceError=exports.TimeoutError=exports.BlobError=exports.SimpleError=exports.ErrorReply=exports.ReconnectStrategyError=exports.RootNodesUnavailableError=exports.SocketClosedUnexpectedlyError=exports.DisconnectsClientError=exports.ClientOfflineError=exports.ClientClosedError=exports.SocketTimeoutError=exports.ConnectionTimeoutError=exports.WatchError=exports.AbortError=void 0;class AbortError extends Error{constructor(){super("The command was aborted")}}exports.AbortError=AbortError;class WatchError extends Error{constructor(message="One (or more) of the watched keys has been changed"){super(message)}}exports.WatchError=WatchError;class ConnectionTimeoutError extends Error{constructor(){super("Connection timeout")}}exports.ConnectionTimeoutError=ConnectionTimeoutError;class SocketTimeoutError extends Error{constructor(timeout5){super(`Socket timeout timeout. Expecting data, but didn't receive any in ${timeout5}ms.`)}}exports.SocketTimeoutError=SocketTimeoutError;class ClientClosedError extends Error{constructor(){super("The client is closed")}}exports.ClientClosedError=ClientClosedError;class ClientOfflineError extends Error{constructor(){super("The client is offline")}}exports.ClientOfflineError=ClientOfflineError;class DisconnectsClientError extends Error{constructor(){super("Disconnects client")}}exports.DisconnectsClientError=DisconnectsClientError;class SocketClosedUnexpectedlyError extends Error{constructor(){super("Socket closed unexpectedly")}}exports.SocketClosedUnexpectedlyError=SocketClosedUnexpectedlyError;class RootNodesUnavailableError extends Error{constructor(){super("All the root nodes are unavailable")}}exports.RootNodesUnavailableError=RootNodesUnavailableError;class ReconnectStrategyError extends Error{originalError;socketError;constructor(originalError,socketError){super(originalError.message);this.originalError=originalError,this.socketError=socketError}}exports.ReconnectStrategyError=ReconnectStrategyError;class ErrorReply extends Error{}exports.ErrorReply=ErrorReply;class SimpleError extends ErrorReply{}exports.SimpleError=SimpleError;class BlobError extends ErrorReply{}exports.BlobError=BlobError;class TimeoutError extends Error{}exports.TimeoutError=TimeoutError;class SocketTimeoutDuringMaintenanceError extends TimeoutError{constructor(timeout5){super(`Socket timeout during maintenance. Expecting data, but didn't receive any in ${timeout5}ms.`)}}exports.SocketTimeoutDuringMaintenanceError=SocketTimeoutDuringMaintenanceError;class CommandTimeoutDuringMaintenanceError extends TimeoutError{constructor(timeout5){super(`Command timeout during maintenance. Waited to write command for more than ${timeout5}ms.`)}}exports.CommandTimeoutDuringMaintenanceError=CommandTimeoutDuringMaintenanceError;class MultiErrorReply extends ErrorReply{replies;errorIndexes;constructor(replies,errorIndexes){super(`${errorIndexes.length} commands failed, see .replies and .errorIndexes for more information`);this.replies=replies,this.errorIndexes=errorIndexes}*errors(){for(let index of this.errorIndexes)yield this.replies[index]}}exports.MultiErrorReply=MultiErrorReply}),require_decoder=__commonJS((exports)=>{var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.Decoder=exports.PUSH_TYPE_MAPPING=exports.RESP_TYPES=void 0;var verbatim_string_1=require_verbatim_string(),errors_1=require_errors();exports.RESP_TYPES={NULL:95,BOOLEAN:35,NUMBER:58,BIG_NUMBER:40,DOUBLE:44,SIMPLE_STRING:43,BLOB_STRING:36,VERBATIM_STRING:61,SIMPLE_ERROR:45,BLOB_ERROR:33,ARRAY:42,SET:126,MAP:37,PUSH:62};var ASCII={"\r":13,t:116,"+":43,"-":45,"0":48,".":46,i:105,n:110,E:69,e:101};exports.PUSH_TYPE_MAPPING={[exports.RESP_TYPES.BLOB_STRING]:Buffer};class Decoder{onReply;onErrorReply;onPush;getTypeMapping;#cursor=0;#next;constructor(config2){this.onReply=config2.onReply,this.onErrorReply=config2.onErrorReply,this.onPush=config2.onPush,this.getTypeMapping=config2.getTypeMapping}reset(){this.#cursor=0,this.#next=void 0}write(chunk32){if(this.#cursor>=chunk32.length){this.#cursor-=chunk32.length;return}if(this.#next){if(this.#next(chunk32)||this.#cursor>=chunk32.length){this.#cursor-=chunk32.length;return}}do{let type=chunk32[this.#cursor];if(++this.#cursor===chunk32.length){this.#next=this.#continueDecodeTypeValue.bind(this,type);break}if(this.#decodeTypeValue(type,chunk32))break}while(this.#cursor<chunk32.length);this.#cursor-=chunk32.length}#continueDecodeTypeValue(type,chunk32){return this.#next=void 0,this.#decodeTypeValue(type,chunk32)}#decodeTypeValue(type,chunk32){switch(type){case exports.RESP_TYPES.NULL:return this.onReply(this.#decodeNull()),!1;case exports.RESP_TYPES.BOOLEAN:return this.#handleDecodedValue(this.onReply,this.#decodeBoolean(chunk32));case exports.RESP_TYPES.NUMBER:return this.#handleDecodedValue(this.onReply,this.#decodeNumber(this.getTypeMapping()[exports.RESP_TYPES.NUMBER],chunk32));case exports.RESP_TYPES.BIG_NUMBER:return this.#handleDecodedValue(this.onReply,this.#decodeBigNumber(this.getTypeMapping()[exports.RESP_TYPES.BIG_NUMBER],chunk32));case exports.RESP_TYPES.DOUBLE:return this.#handleDecodedValue(this.onReply,this.#decodeDouble(this.getTypeMapping()[exports.RESP_TYPES.DOUBLE],chunk32));case exports.RESP_TYPES.SIMPLE_STRING:return this.#handleDecodedValue(this.onReply,this.#decodeSimpleString(this.getTypeMapping()[exports.RESP_TYPES.SIMPLE_STRING],chunk32));case exports.RESP_TYPES.BLOB_STRING:return this.#handleDecodedValue(this.onReply,this.#decodeBlobString(this.getTypeMapping()[exports.RESP_TYPES.BLOB_STRING],chunk32));case exports.RESP_TYPES.VERBATIM_STRING:return this.#handleDecodedValue(this.onReply,this.#decodeVerbatimString(this.getTypeMapping()[exports.RESP_TYPES.VERBATIM_STRING],chunk32));case exports.RESP_TYPES.SIMPLE_ERROR:return this.#handleDecodedValue(this.onErrorReply,this.#decodeSimpleError(chunk32));case exports.RESP_TYPES.BLOB_ERROR:return this.#handleDecodedValue(this.onErrorReply,this.#decodeBlobError(chunk32));case exports.RESP_TYPES.ARRAY:return this.#handleDecodedValue(this.onReply,this.#decodeArray(this.getTypeMapping(),chunk32));case exports.RESP_TYPES.SET:return this.#handleDecodedValue(this.onReply,this.#decodeSet(this.getTypeMapping(),chunk32));case exports.RESP_TYPES.MAP:return this.#handleDecodedValue(this.onReply,this.#decodeMap(this.getTypeMapping(),chunk32));case exports.RESP_TYPES.PUSH:return this.#handleDecodedValue(this.onPush,this.#decodeArray(exports.PUSH_TYPE_MAPPING,chunk32));default:throw Error(`Unknown RESP type ${type} "${String.fromCharCode(type)}"`)}}#handleDecodedValue(cb,value){if(typeof value==="function")return this.#next=this.#continueDecodeValue.bind(this,cb,value),!0;return cb(value),!1}#continueDecodeValue(cb,next4,chunk32){return this.#next=void 0,this.#handleDecodedValue(cb,next4(chunk32))}#decodeNull(){return this.#cursor+=2,null}#decodeBoolean(chunk32){let boolean3=chunk32[this.#cursor]===ASCII.t;return this.#cursor+=3,boolean3}#decodeNumber(type,chunk32){if(type===String)return this.#decodeSimpleString(String,chunk32);switch(chunk32[this.#cursor]){case ASCII["+"]:return this.#maybeDecodeNumberValue(!1,chunk32);case ASCII["-"]:return this.#maybeDecodeNumberValue(!0,chunk32);default:return this.#decodeNumberValue(!1,this.#decodeUnsingedNumber.bind(this,0),chunk32)}}#maybeDecodeNumberValue(isNegative,chunk32){let cb=this.#decodeUnsingedNumber.bind(this,0);return++this.#cursor===chunk32.length?this.#decodeNumberValue.bind(this,isNegative,cb):this.#decodeNumberValue(isNegative,cb,chunk32)}#decodeNumberValue(isNegative,numberCb,chunk32){let number32=numberCb(chunk32);return typeof number32==="function"?this.#decodeNumberValue.bind(this,isNegative,number32):isNegative?-number32:number32}#decodeUnsingedNumber(number32,chunk32){let cursor=this.#cursor;do{let byte=chunk32[cursor];if(byte===ASCII["\r"])return this.#cursor=cursor+2,number32;number32=number32*10+byte-ASCII["0"]}while(++cursor<chunk32.length);return this.#cursor=cursor,this.#decodeUnsingedNumber.bind(this,number32)}#decodeBigNumber(type,chunk32){if(type===String)return this.#decodeSimpleString(String,chunk32);switch(chunk32[this.#cursor]){case ASCII["+"]:return this.#maybeDecodeBigNumberValue(!1,chunk32);case ASCII["-"]:return this.#maybeDecodeBigNumberValue(!0,chunk32);default:return this.#decodeBigNumberValue(!1,this.#decodeUnsingedBigNumber.bind(this,0n),chunk32)}}#maybeDecodeBigNumberValue(isNegative,chunk32){let cb=this.#decodeUnsingedBigNumber.bind(this,0n);return++this.#cursor===chunk32.length?this.#decodeBigNumberValue.bind(this,isNegative,cb):this.#decodeBigNumberValue(isNegative,cb,chunk32)}#decodeBigNumberValue(isNegative,bigNumberCb,chunk32){let bigNumber=bigNumberCb(chunk32);return typeof bigNumber==="function"?this.#decodeBigNumberValue.bind(this,isNegative,bigNumber):isNegative?-bigNumber:bigNumber}#decodeUnsingedBigNumber(bigNumber,chunk32){let cursor=this.#cursor;do{let byte=chunk32[cursor];if(byte===ASCII["\r"])return this.#cursor=cursor+2,bigNumber;bigNumber=bigNumber*10n+BigInt(byte-ASCII["0"])}while(++cursor<chunk32.length);return this.#cursor=cursor,this.#decodeUnsingedBigNumber.bind(this,bigNumber)}#decodeDouble(type,chunk32){if(type===String)return this.#decodeSimpleString(String,chunk32);switch(chunk32[this.#cursor]){case ASCII.n:return this.#cursor+=5,NaN;case ASCII["+"]:return this.#maybeDecodeDoubleInteger(!1,chunk32);case ASCII["-"]:return this.#maybeDecodeDoubleInteger(!0,chunk32);default:return this.#decodeDoubleInteger(!1,0,chunk32)}}#maybeDecodeDoubleInteger(isNegative,chunk32){return++this.#cursor===chunk32.length?this.#decodeDoubleInteger.bind(this,isNegative,0):this.#decodeDoubleInteger(isNegative,0,chunk32)}#decodeDoubleInteger(isNegative,integer3,chunk32){if(chunk32[this.#cursor]===ASCII.i)return this.#cursor+=5,isNegative?-1/0:1/0;return this.#continueDecodeDoubleInteger(isNegative,integer3,chunk32)}#continueDecodeDoubleInteger(isNegative,integer3,chunk32){let cursor=this.#cursor;do{let byte=chunk32[cursor];switch(byte){case ASCII["."]:return this.#cursor=cursor+1,this.#cursor<chunk32.length?this.#decodeDoubleDecimal(isNegative,0,integer3,chunk32):this.#decodeDoubleDecimal.bind(this,isNegative,0,integer3);case ASCII.E:case ASCII.e:this.#cursor=cursor+1;let i=isNegative?-integer3:integer3;return this.#cursor<chunk32.length?this.#decodeDoubleExponent(i,chunk32):this.#decodeDoubleExponent.bind(this,i);case ASCII["\r"]:return this.#cursor=cursor+2,isNegative?-integer3:integer3;default:integer3=integer3*10+byte-ASCII["0"]}}while(++cursor<chunk32.length);return this.#cursor=cursor,this.#continueDecodeDoubleInteger.bind(this,isNegative,integer3)}static#DOUBLE_DECIMAL_MULTIPLIERS=[0.1,0.01,0.001,0.0001,0.00001,0.000001,0.0000001,0.00000001,0.000000001,0.0000000001,0.00000000001,0.000000000001,0.0000000000001,0.00000000000001,0.000000000000001,0.0000000000000001,0.00000000000000001];#decodeDoubleDecimal(isNegative,decimalIndex,double,chunk32){let cursor=this.#cursor;do{let byte=chunk32[cursor];switch(byte){case ASCII.E:case ASCII.e:this.#cursor=cursor+1;let d=isNegative?-double:double;return this.#cursor===chunk32.length?this.#decodeDoubleExponent.bind(this,d):this.#decodeDoubleExponent(d,chunk32);case ASCII["\r"]:return this.#cursor=cursor+2,isNegative?-double:double}if(decimalIndex<_a.#DOUBLE_DECIMAL_MULTIPLIERS.length)double+=(byte-ASCII["0"])*_a.#DOUBLE_DECIMAL_MULTIPLIERS[decimalIndex++]}while(++cursor<chunk32.length);return this.#cursor=cursor,this.#decodeDoubleDecimal.bind(this,isNegative,decimalIndex,double)}#decodeDoubleExponent(double,chunk32){switch(chunk32[this.#cursor]){case ASCII["+"]:return++this.#cursor===chunk32.length?this.#continueDecodeDoubleExponent.bind(this,!1,double,0):this.#continueDecodeDoubleExponent(!1,double,0,chunk32);case ASCII["-"]:return++this.#cursor===chunk32.length?this.#continueDecodeDoubleExponent.bind(this,!0,double,0):this.#continueDecodeDoubleExponent(!0,double,0,chunk32)}return this.#continueDecodeDoubleExponent(!1,double,0,chunk32)}#continueDecodeDoubleExponent(isNegative,double,exponent,chunk32){let cursor=this.#cursor;do{let byte=chunk32[cursor];if(byte===ASCII["\r"])return this.#cursor=cursor+2,double*10**(isNegative?-exponent:exponent);exponent=exponent*10+byte-ASCII["0"]}while(++cursor<chunk32.length);return this.#cursor=cursor,this.#continueDecodeDoubleExponent.bind(this,isNegative,double,exponent)}#findCRLF(chunk32,cursor){while(chunk32[cursor]!==ASCII["\r"])if(++cursor===chunk32.length)return this.#cursor=chunk32.length,-1;return this.#cursor=cursor+2,cursor}#decodeSimpleString(type,chunk32){let start3=this.#cursor,crlfIndex=this.#findCRLF(chunk32,start3);if(crlfIndex===-1)return this.#continueDecodeSimpleString.bind(this,[chunk32.subarray(start3)],type);let slice=chunk32.subarray(start3,crlfIndex);return type===Buffer?slice:slice.toString()}#continueDecodeSimpleString(chunks3,type,chunk32){let start3=this.#cursor,crlfIndex=this.#findCRLF(chunk32,start3);if(crlfIndex===-1)return chunks3.push(chunk32.subarray(start3)),this.#continueDecodeSimpleString.bind(this,chunks3,type);chunks3.push(chunk32.subarray(start3,crlfIndex));let buffer3=Buffer.concat(chunks3);return type===Buffer?buffer3:buffer3.toString()}#decodeBlobString(type,chunk32){if(chunk32[this.#cursor]===ASCII["-"])return this.#cursor+=4,null;let length3=this.#decodeUnsingedNumber(0,chunk32);if(typeof length3==="function")return this.#continueDecodeBlobStringLength.bind(this,length3,type);else if(this.#cursor>=chunk32.length)return this.#decodeBlobStringWithLength.bind(this,length3,type);return this.#decodeBlobStringWithLength(length3,type,chunk32)}#continueDecodeBlobStringLength(lengthCb,type,chunk32){let length3=lengthCb(chunk32);if(typeof length3==="function")return this.#continueDecodeBlobStringLength.bind(this,length3,type);else if(this.#cursor>=chunk32.length)return this.#decodeBlobStringWithLength.bind(this,length3,type);return this.#decodeBlobStringWithLength(length3,type,chunk32)}#decodeStringWithLength(length3,skip,type,chunk32){let end6=this.#cursor+length3;if(end6>=chunk32.length){let slice2=chunk32.subarray(this.#cursor);return this.#cursor=chunk32.length,this.#continueDecodeStringWithLength.bind(this,length3-slice2.length,[slice2],skip,type)}let slice=chunk32.subarray(this.#cursor,end6);return this.#cursor=end6+skip,type===Buffer?slice:slice.toString()}#continueDecodeStringWithLength(length3,chunks3,skip,type,chunk32){let end6=this.#cursor+length3;if(end6>=chunk32.length){let slice=chunk32.subarray(this.#cursor);return chunks3.push(slice),this.#cursor=chunk32.length,this.#continueDecodeStringWithLength.bind(this,length3-slice.length,chunks3,skip,type)}chunks3.push(chunk32.subarray(this.#cursor,end6)),this.#cursor=end6+skip;let buffer3=Buffer.concat(chunks3);return type===Buffer?buffer3:buffer3.toString()}#decodeBlobStringWithLength(length3,type,chunk32){return this.#decodeStringWithLength(length3,2,type,chunk32)}#decodeVerbatimString(type,chunk32){return this.#continueDecodeVerbatimStringLength(this.#decodeUnsingedNumber.bind(this,0),type,chunk32)}#continueDecodeVerbatimStringLength(lengthCb,type,chunk32){let length3=lengthCb(chunk32);return typeof length3==="function"?this.#continueDecodeVerbatimStringLength.bind(this,length3,type):this.#decodeVerbatimStringWithLength(length3,type,chunk32)}#decodeVerbatimStringWithLength(length3,type,chunk32){let stringLength=length3-4;if(type===verbatim_string_1.VerbatimString)return this.#decodeVerbatimStringFormat(stringLength,chunk32);return this.#cursor+=4,this.#cursor>=chunk32.length?this.#decodeBlobStringWithLength.bind(this,stringLength,type):this.#decodeBlobStringWithLength(stringLength,type,chunk32)}#decodeVerbatimStringFormat(stringLength,chunk32){let formatCb=this.#decodeStringWithLength.bind(this,3,1,String);return this.#cursor>=chunk32.length?this.#continueDecodeVerbatimStringFormat.bind(this,stringLength,formatCb):this.#continueDecodeVerbatimStringFormat(stringLength,formatCb,chunk32)}#continueDecodeVerbatimStringFormat(stringLength,formatCb,chunk32){let format4=formatCb(chunk32);return typeof format4==="function"?this.#continueDecodeVerbatimStringFormat.bind(this,stringLength,format4):this.#decodeVerbatimStringWithFormat(stringLength,format4,chunk32)}#decodeVerbatimStringWithFormat(stringLength,format4,chunk32){return this.#continueDecodeVerbatimStringWithFormat(format4,this.#decodeBlobStringWithLength.bind(this,stringLength,String),chunk32)}#continueDecodeVerbatimStringWithFormat(format4,stringCb,chunk32){let string22=stringCb(chunk32);return typeof string22==="function"?this.#continueDecodeVerbatimStringWithFormat.bind(this,format4,string22):new verbatim_string_1.VerbatimString(format4,string22)}#decodeSimpleError(chunk32){let string22=this.#decodeSimpleString(String,chunk32);return typeof string22==="function"?this.#continueDecodeSimpleError.bind(this,string22):new errors_1.SimpleError(string22)}#continueDecodeSimpleError(stringCb,chunk32){let string22=stringCb(chunk32);return typeof string22==="function"?this.#continueDecodeSimpleError.bind(this,string22):new errors_1.SimpleError(string22)}#decodeBlobError(chunk32){let string22=this.#decodeBlobString(String,chunk32);return typeof string22==="function"?this.#continueDecodeBlobError.bind(this,string22):new errors_1.BlobError(string22)}#continueDecodeBlobError(stringCb,chunk32){let string22=stringCb(chunk32);return typeof string22==="function"?this.#continueDecodeBlobError.bind(this,string22):new errors_1.BlobError(string22)}#decodeNestedType(typeMapping,chunk32){let type=chunk32[this.#cursor];return++this.#cursor===chunk32.length?this.#decodeNestedTypeValue.bind(this,type,typeMapping):this.#decodeNestedTypeValue(type,typeMapping,chunk32)}#decodeNestedTypeValue(type,typeMapping,chunk32){switch(type){case exports.RESP_TYPES.NULL:return this.#decodeNull();case exports.RESP_TYPES.BOOLEAN:return this.#decodeBoolean(chunk32);case exports.RESP_TYPES.NUMBER:return this.#decodeNumber(typeMapping[exports.RESP_TYPES.NUMBER],chunk32);case exports.RESP_TYPES.BIG_NUMBER:return this.#decodeBigNumber(typeMapping[exports.RESP_TYPES.BIG_NUMBER],chunk32);case exports.RESP_TYPES.DOUBLE:return this.#decodeDouble(typeMapping[exports.RESP_TYPES.DOUBLE],chunk32);case exports.RESP_TYPES.SIMPLE_STRING:return this.#decodeSimpleString(typeMapping[exports.RESP_TYPES.SIMPLE_STRING],chunk32);case exports.RESP_TYPES.BLOB_STRING:return this.#decodeBlobString(typeMapping[exports.RESP_TYPES.BLOB_STRING],chunk32);case exports.RESP_TYPES.VERBATIM_STRING:return this.#decodeVerbatimString(typeMapping[exports.RESP_TYPES.VERBATIM_STRING],chunk32);case exports.RESP_TYPES.SIMPLE_ERROR:return this.#decodeSimpleError(chunk32);case exports.RESP_TYPES.BLOB_ERROR:return this.#decodeBlobError(chunk32);case exports.RESP_TYPES.ARRAY:return this.#decodeArray(typeMapping,chunk32);case exports.RESP_TYPES.SET:return this.#decodeSet(typeMapping,chunk32);case exports.RESP_TYPES.MAP:return this.#decodeMap(typeMapping,chunk32);default:throw Error(`Unknown RESP type ${type} "${String.fromCharCode(type)}"`)}}#decodeArray(typeMapping,chunk32){if(chunk32[this.#cursor]===ASCII["-"])return this.#cursor+=4,null;return this.#decodeArrayWithLength(this.#decodeUnsingedNumber(0,chunk32),typeMapping,chunk32)}#decodeArrayWithLength(length3,typeMapping,chunk32){return typeof length3==="function"?this.#continueDecodeArrayLength.bind(this,length3,typeMapping):this.#decodeArrayItems(Array(length3),0,typeMapping,chunk32)}#continueDecodeArrayLength(lengthCb,typeMapping,chunk32){return this.#decodeArrayWithLength(lengthCb(chunk32),typeMapping,chunk32)}#decodeArrayItems(array42,filled,typeMapping,chunk32){for(let i=filled;i<array42.length;i++){if(this.#cursor>=chunk32.length)return this.#decodeArrayItems.bind(this,array42,i,typeMapping);let item=this.#decodeNestedType(typeMapping,chunk32);if(typeof item==="function")return this.#continueDecodeArrayItems.bind(this,array42,i,item,typeMapping);array42[i]=item}return array42}#continueDecodeArrayItems(array42,filled,itemCb,typeMapping,chunk32){let item=itemCb(chunk32);if(typeof item==="function")return this.#continueDecodeArrayItems.bind(this,array42,filled,item,typeMapping);return array42[filled++]=item,this.#decodeArrayItems(array42,filled,typeMapping,chunk32)}#decodeSet(typeMapping,chunk32){let length3=this.#decodeUnsingedNumber(0,chunk32);if(typeof length3==="function")return this.#continueDecodeSetLength.bind(this,length3,typeMapping);return this.#decodeSetItems(length3,typeMapping,chunk32)}#continueDecodeSetLength(lengthCb,typeMapping,chunk32){let length3=lengthCb(chunk32);return typeof length3==="function"?this.#continueDecodeSetLength.bind(this,length3,typeMapping):this.#decodeSetItems(length3,typeMapping,chunk32)}#decodeSetItems(length3,typeMapping,chunk32){return typeMapping[exports.RESP_TYPES.SET]===Set?this.#decodeSetAsSet(new Set,length3,typeMapping,chunk32):this.#decodeArrayItems(Array(length3),0,typeMapping,chunk32)}#decodeSetAsSet(set8,remaining,typeMapping,chunk32){while(remaining>0){if(this.#cursor>=chunk32.length)return this.#decodeSetAsSet.bind(this,set8,remaining,typeMapping);let item=this.#decodeNestedType(typeMapping,chunk32);if(typeof item==="function")return this.#continueDecodeSetAsSet.bind(this,set8,remaining,item,typeMapping);set8.add(item),--remaining}return set8}#continueDecodeSetAsSet(set8,remaining,itemCb,typeMapping,chunk32){let item=itemCb(chunk32);if(typeof item==="function")return this.#continueDecodeSetAsSet.bind(this,set8,remaining,item,typeMapping);return set8.add(item),this.#decodeSetAsSet(set8,remaining-1,typeMapping,chunk32)}#decodeMap(typeMapping,chunk32){let length3=this.#decodeUnsingedNumber(0,chunk32);if(typeof length3==="function")return this.#continueDecodeMapLength.bind(this,length3,typeMapping);return this.#decodeMapItems(length3,typeMapping,chunk32)}#continueDecodeMapLength(lengthCb,typeMapping,chunk32){let length3=lengthCb(chunk32);return typeof length3==="function"?this.#continueDecodeMapLength.bind(this,length3,typeMapping):this.#decodeMapItems(length3,typeMapping,chunk32)}#decodeMapItems(length3,typeMapping,chunk32){switch(typeMapping[exports.RESP_TYPES.MAP]){case Map:return this.#decodeMapAsMap(new Map,length3,typeMapping,chunk32);case Array:return this.#decodeArrayItems(Array(length3*2),0,typeMapping,chunk32);default:return this.#decodeMapAsObject(Object.create(null),length3,typeMapping,chunk32)}}#decodeMapAsMap(map222,remaining,typeMapping,chunk32){while(remaining>0){if(this.#cursor>=chunk32.length)return this.#decodeMapAsMap.bind(this,map222,remaining,typeMapping);let key=this.#decodeMapKey(typeMapping,chunk32);if(typeof key==="function")return this.#continueDecodeMapKey.bind(this,map222,remaining,key,typeMapping);if(this.#cursor>=chunk32.length)return this.#continueDecodeMapValue.bind(this,map222,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value=this.#decodeNestedType(typeMapping,chunk32);if(typeof value==="function")return this.#continueDecodeMapValue.bind(this,map222,remaining,key,value,typeMapping);map222.set(key,value),--remaining}return map222}#decodeMapKey(typeMapping,chunk32){let type=chunk32[this.#cursor];return++this.#cursor===chunk32.length?this.#decodeMapKeyValue.bind(this,type,typeMapping):this.#decodeMapKeyValue(type,typeMapping,chunk32)}#decodeMapKeyValue(type,typeMapping,chunk32){switch(type){case exports.RESP_TYPES.SIMPLE_STRING:return this.#decodeSimpleString(String,chunk32);case exports.RESP_TYPES.BLOB_STRING:return this.#decodeBlobString(String,chunk32);default:return this.#decodeNestedTypeValue(type,typeMapping,chunk32)}}#continueDecodeMapKey(map222,remaining,keyCb,typeMapping,chunk32){let key=keyCb(chunk32);if(typeof key==="function")return this.#continueDecodeMapKey.bind(this,map222,remaining,key,typeMapping);if(this.#cursor>=chunk32.length)return this.#continueDecodeMapValue.bind(this,map222,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value=this.#decodeNestedType(typeMapping,chunk32);if(typeof value==="function")return this.#continueDecodeMapValue.bind(this,map222,remaining,key,value,typeMapping);return map222.set(key,value),this.#decodeMapAsMap(map222,remaining-1,typeMapping,chunk32)}#continueDecodeMapValue(map222,remaining,key,valueCb,typeMapping,chunk32){let value=valueCb(chunk32);if(typeof value==="function")return this.#continueDecodeMapValue.bind(this,map222,remaining,key,value,typeMapping);return map222.set(key,value),this.#decodeMapAsMap(map222,remaining-1,typeMapping,chunk32)}#decodeMapAsObject(object,remaining,typeMapping,chunk32){while(remaining>0){if(this.#cursor>=chunk32.length)return this.#decodeMapAsObject.bind(this,object,remaining,typeMapping);let key=this.#decodeMapKey(typeMapping,chunk32);if(typeof key==="function")return this.#continueDecodeMapAsObjectKey.bind(this,object,remaining,key,typeMapping);if(this.#cursor>=chunk32.length)return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value=this.#decodeNestedType(typeMapping,chunk32);if(typeof value==="function")return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,value,typeMapping);object[key]=value,--remaining}return object}#continueDecodeMapAsObjectKey(object,remaining,keyCb,typeMapping,chunk32){let key=keyCb(chunk32);if(typeof key==="function")return this.#continueDecodeMapAsObjectKey.bind(this,object,remaining,key,typeMapping);if(this.#cursor>=chunk32.length)return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value=this.#decodeNestedType(typeMapping,chunk32);if(typeof value==="function")return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,value,typeMapping);return object[key]=value,this.#decodeMapAsObject(object,remaining-1,typeMapping,chunk32)}#continueDecodeMapAsObjectValue(object,remaining,key,valueCb,typeMapping,chunk32){let value=valueCb(chunk32);if(typeof value==="function")return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,value,typeMapping);return object[key]=value,this.#decodeMapAsObject(object,remaining-1,typeMapping,chunk32)}}exports.Decoder=Decoder,_a=Decoder}),require_lua_script=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.scriptSha1=exports.defineScript=void 0;var node_crypto_1=__require2("node:crypto");function defineScript(script){return{...script,SHA1:scriptSha1(script.SCRIPT)}}exports.defineScript=defineScript;function scriptSha1(script){return(0,node_crypto_1.createHash)("sha1").update(script).digest("hex")}exports.scriptSha1=scriptSha1}),require_ACL_CAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,categoryName){if(parser.push("ACL","CAT"),categoryName)parser.push(categoryName)},transformReply:void 0}}),require_ACL_DELUSER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,username){parser.push("ACL","DELUSER"),parser.pushVariadic(username)},transformReply:void 0}}),require_ACL_DRYRUN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,username,command){parser.push("ACL","DRYRUN",username,...command)},transformReply:void 0}}),require_ACL_GENPASS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,bits){if(parser.push("ACL","GENPASS"),bits)parser.push(bits.toString())},transformReply:void 0}}),require_ACL_GETUSER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,username){parser.push("ACL","GETUSER",username)},transformReply:{2:(reply)=>({flags:reply[1],passwords:reply[3],commands:reply[5],keys:reply[7],channels:reply[9],selectors:reply[11]?.map((selector)=>{let inferred=selector;return{commands:inferred[1],keys:inferred[3],channels:inferred[5]}})}),3:void 0}}}),require_ACL_LIST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("ACL","LIST")},transformReply:void 0}}),require_ACL_LOAD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("ACL","LOAD")},transformReply:void 0}}),require_parser=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.BasicCommandParser=void 0;class BasicCommandParser{#redisArgs=[];#keys=[];preserve;get redisArgs(){return this.#redisArgs}get keys(){return this.#keys}get firstKey(){return this.#keys[0]}get cacheKey(){let tmp=Array(this.#redisArgs.length*2);for(let i=0;i<this.#redisArgs.length;i++)tmp[i]=this.#redisArgs[i].length,tmp[i+this.#redisArgs.length]=this.#redisArgs[i];return tmp.join("_")}push(...arg){this.#redisArgs.push(...arg)}pushVariadic(vals){if(Array.isArray(vals))for(let val of vals)this.push(val);else this.push(vals)}pushVariadicWithLength(vals){if(Array.isArray(vals))this.#redisArgs.push(vals.length.toString());else this.#redisArgs.push("1");this.pushVariadic(vals)}pushVariadicNumber(vals){if(Array.isArray(vals))for(let val of vals)this.push(val.toString());else this.push(vals.toString())}pushKey(key){this.#keys.push(key),this.#redisArgs.push(key)}pushKeysLength(keys3){if(Array.isArray(keys3))this.#redisArgs.push(keys3.length.toString());else this.#redisArgs.push("1");this.pushKeys(keys3)}pushKeys(keys3){if(Array.isArray(keys3))this.#keys.push(...keys3),this.#redisArgs.push(...keys3);else this.#keys.push(keys3),this.#redisArgs.push(keys3)}}exports.BasicCommandParser=BasicCommandParser}),require_generic_transformers=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformRedisJsonNullReply=exports.transformRedisJsonReply=exports.transformRedisJsonArgument=exports.transformStreamsMessagesReplyResp3=exports.transformStreamsMessagesReplyResp2=exports.transformStreamMessagesReply=exports.transformStreamMessageNullReply=exports.transformStreamMessageReply=exports.parseArgs=exports.parseZKeysArguments=exports.transformRangeReply=exports.parseSlotRangesArguments=exports.transformFunctionListItemReply=exports.RedisFunctionFlags=exports.transformCommandReply=exports.CommandCategories=exports.CommandFlags=exports.parseOptionalVariadicArgument=exports.pushVariadicArgument=exports.pushVariadicNumberArguments=exports.pushVariadicArguments=exports.pushEvalArguments=exports.evalFirstKeyIndex=exports.transformPXAT=exports.transformEXAT=exports.transformSortedSetReply=exports.transformTuplesReply=exports.createTransformTuplesReplyFunc=exports.transformTuplesToMap=exports.transformNullableDoubleReply=exports.createTransformNullableDoubleReplyResp2Func=exports.transformDoubleArrayReply=exports.createTransformDoubleReplyResp2Func=exports.transformDoubleReply=exports.transformStringDoubleArgument=exports.transformDoubleArgument=exports.transformBooleanArrayReply=exports.transformBooleanReply=exports.isArrayReply=exports.isNullReply=void 0;var parser_1=require_parser(),decoder_1=require_decoder();function isNullReply(reply){return reply===null}exports.isNullReply=isNullReply;function isArrayReply(reply){return Array.isArray(reply)}exports.isArrayReply=isArrayReply,exports.transformBooleanReply={2:(reply)=>reply===1,3:void 0},exports.transformBooleanArrayReply={2:(reply)=>{return reply.map(exports.transformBooleanReply[2])},3:void 0};function transformDoubleArgument(num){switch(num){case 1/0:return"+inf";case-1/0:return"-inf";default:return num.toString()}}exports.transformDoubleArgument=transformDoubleArgument;function transformStringDoubleArgument(num){if(typeof num!=="number")return num;return transformDoubleArgument(num)}exports.transformStringDoubleArgument=transformStringDoubleArgument,exports.transformDoubleReply={2:(reply,preserve,typeMapping)=>{switch(typeMapping?typeMapping[decoder_1.RESP_TYPES.DOUBLE]:void 0){case String:return reply;default:{let ret;switch(reply.toString()){case"inf":case"+inf":ret=1/0;case"-inf":ret=-1/0;case"nan":ret=NaN;default:ret=Number(reply)}return ret}}},3:void 0};function createTransformDoubleReplyResp2Func(preserve,typeMapping){return(reply)=>{return exports.transformDoubleReply[2](reply,preserve,typeMapping)}}exports.createTransformDoubleReplyResp2Func=createTransformDoubleReplyResp2Func,exports.transformDoubleArrayReply={2:(reply,preserve,typeMapping)=>{return reply.map(createTransformDoubleReplyResp2Func(preserve,typeMapping))},3:void 0};function createTransformNullableDoubleReplyResp2Func(preserve,typeMapping){return(reply)=>{return exports.transformNullableDoubleReply[2](reply,preserve,typeMapping)}}exports.createTransformNullableDoubleReplyResp2Func=createTransformNullableDoubleReplyResp2Func,exports.transformNullableDoubleReply={2:(reply,preserve,typeMapping)=>{if(reply===null)return null;return exports.transformDoubleReply[2](reply,preserve,typeMapping)},3:void 0};function transformTuplesToMap(reply,func){let message=Object.create(null);for(let i=0;i<reply.length;i+=2)message[reply[i].toString()]=func(reply[i+1]);return message}exports.transformTuplesToMap=transformTuplesToMap;function createTransformTuplesReplyFunc(preserve,typeMapping){return(reply)=>{return transformTuplesReply(reply,preserve,typeMapping)}}exports.createTransformTuplesReplyFunc=createTransformTuplesReplyFunc;function transformTuplesReply(reply,preserve,typeMapping){let mapType=typeMapping?typeMapping[decoder_1.RESP_TYPES.MAP]:void 0,inferred=reply;switch(mapType){case Array:return reply;case Map:{let ret=new Map;for(let i=0;i<inferred.length;i+=2)ret.set(inferred[i].toString(),inferred[i+1]);return ret}default:{let ret=Object.create(null);for(let i=0;i<inferred.length;i+=2)ret[inferred[i].toString()]=inferred[i+1];return ret}}}exports.transformTuplesReply=transformTuplesReply,exports.transformSortedSetReply={2:(reply,preserve,typeMapping)=>{let inferred=reply,members=[];for(let i=0;i<inferred.length;i+=2)members.push({value:inferred[i],score:exports.transformDoubleReply[2](inferred[i+1],preserve,typeMapping)});return members},3:(reply)=>{return reply.map((member)=>{let[value,score]=member;return{value,score}})}};function transformEXAT(EXAT){return(typeof EXAT==="number"?EXAT:Math.floor(EXAT.getTime()/1000)).toString()}exports.transformEXAT=transformEXAT;function transformPXAT(PXAT){return(typeof PXAT==="number"?PXAT:PXAT.getTime()).toString()}exports.transformPXAT=transformPXAT;function evalFirstKeyIndex(options){return options?.keys?.[0]}exports.evalFirstKeyIndex=evalFirstKeyIndex;function pushEvalArguments(args2,options){if(options?.keys)args2.push(options.keys.length.toString(),...options.keys);else args2.push("0");if(options?.arguments)args2.push(...options.arguments);return args2}exports.pushEvalArguments=pushEvalArguments;function pushVariadicArguments(args2,value){if(Array.isArray(value))args2=args2.concat(value);else args2.push(value);return args2}exports.pushVariadicArguments=pushVariadicArguments;function pushVariadicNumberArguments(args2,value){if(Array.isArray(value))for(let item of value)args2.push(item.toString());else args2.push(value.toString());return args2}exports.pushVariadicNumberArguments=pushVariadicNumberArguments;function pushVariadicArgument(args2,value){if(Array.isArray(value))args2.push(value.length.toString(),...value);else args2.push("1",value);return args2}exports.pushVariadicArgument=pushVariadicArgument;function parseOptionalVariadicArgument(parser,name,value){if(value===void 0)return;parser.push(name),parser.pushVariadicWithLength(value)}exports.parseOptionalVariadicArgument=parseOptionalVariadicArgument;var CommandFlags;(function(CommandFlags2){CommandFlags2.WRITE="write",CommandFlags2.READONLY="readonly",CommandFlags2.DENYOOM="denyoom",CommandFlags2.ADMIN="admin",CommandFlags2.PUBSUB="pubsub",CommandFlags2.NOSCRIPT="noscript",CommandFlags2.RANDOM="random",CommandFlags2.SORT_FOR_SCRIPT="sort_for_script",CommandFlags2.LOADING="loading",CommandFlags2.STALE="stale",CommandFlags2.SKIP_MONITOR="skip_monitor",CommandFlags2.ASKING="asking",CommandFlags2.FAST="fast",CommandFlags2.MOVABLEKEYS="movablekeys"})(CommandFlags||(exports.CommandFlags=CommandFlags={}));var CommandCategories;(function(CommandCategories2){CommandCategories2.KEYSPACE="@keyspace",CommandCategories2.READ="@read",CommandCategories2.WRITE="@write",CommandCategories2.SET="@set",CommandCategories2.SORTEDSET="@sortedset",CommandCategories2.LIST="@list",CommandCategories2.HASH="@hash",CommandCategories2.STRING="@string",CommandCategories2.BITMAP="@bitmap",CommandCategories2.HYPERLOGLOG="@hyperloglog",CommandCategories2.GEO="@geo",CommandCategories2.STREAM="@stream",CommandCategories2.PUBSUB="@pubsub",CommandCategories2.ADMIN="@admin",CommandCategories2.FAST="@fast",CommandCategories2.SLOW="@slow",CommandCategories2.BLOCKING="@blocking",CommandCategories2.DANGEROUS="@dangerous",CommandCategories2.CONNECTION="@connection",CommandCategories2.TRANSACTION="@transaction",CommandCategories2.SCRIPTING="@scripting"})(CommandCategories||(exports.CommandCategories=CommandCategories={}));function transformCommandReply([name,arity,flags,firstKeyIndex,lastKeyIndex,step4,categories]){return{name,arity,flags:new Set(flags),firstKeyIndex,lastKeyIndex,step:step4,categories:new Set(categories)}}exports.transformCommandReply=transformCommandReply;var RedisFunctionFlags;(function(RedisFunctionFlags2){RedisFunctionFlags2.NO_WRITES="no-writes",RedisFunctionFlags2.ALLOW_OOM="allow-oom",RedisFunctionFlags2.ALLOW_STALE="allow-stale",RedisFunctionFlags2.NO_CLUSTER="no-cluster"})(RedisFunctionFlags||(exports.RedisFunctionFlags=RedisFunctionFlags={}));function transformFunctionListItemReply(reply){return{libraryName:reply[1],engine:reply[3],functions:reply[5].map((fn2)=>({name:fn2[1],description:fn2[3],flags:fn2[5]}))}}exports.transformFunctionListItemReply=transformFunctionListItemReply;function parseSlotRangeArguments(parser,range4){parser.push(range4.start.toString(),range4.end.toString())}function parseSlotRangesArguments(parser,ranges){if(Array.isArray(ranges))for(let range4 of ranges)parseSlotRangeArguments(parser,range4);else parseSlotRangeArguments(parser,ranges)}exports.parseSlotRangesArguments=parseSlotRangesArguments;function transformRangeReply([start3,end6]){return{start:start3,end:end6}}exports.transformRangeReply=transformRangeReply;function parseZKeysArguments(parser,keys3){if(Array.isArray(keys3)){if(parser.push(keys3.length.toString()),keys3.length)if(isPlainKeys(keys3))parser.pushKeys(keys3);else{for(let i=0;i<keys3.length;i++)parser.pushKey(keys3[i].key);parser.push("WEIGHTS");for(let i=0;i<keys3.length;i++)parser.push(transformDoubleArgument(keys3[i].weight))}}else if(parser.push("1"),isPlainKey(keys3))parser.pushKey(keys3);else parser.pushKey(keys3.key),parser.push("WEIGHTS",transformDoubleArgument(keys3.weight))}exports.parseZKeysArguments=parseZKeysArguments;function isPlainKey(key){return typeof key==="string"||key instanceof Buffer}function isPlainKeys(keys3){return isPlainKey(keys3[0])}function parseArgs(command,...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;if(parser.preserve)redisArgs.preserve=parser.preserve;return redisArgs}exports.parseArgs=parseArgs;function transformStreamMessageReply(typeMapping,reply){let[id2,message,millisElapsedFromDelivery,deliveriesCounter]=reply;return{id:id2,message:transformTuplesReply(message,void 0,typeMapping),...millisElapsedFromDelivery!==void 0?{millisElapsedFromDelivery}:{},...deliveriesCounter!==void 0?{deliveriesCounter}:{}}}exports.transformStreamMessageReply=transformStreamMessageReply;function transformStreamMessageNullReply(typeMapping,reply){return isNullReply(reply)?reply:transformStreamMessageReply(typeMapping,reply)}exports.transformStreamMessageNullReply=transformStreamMessageNullReply;function transformStreamMessagesReply(r,typeMapping){return r.map(transformStreamMessageReply.bind(void 0,typeMapping))}exports.transformStreamMessagesReply=transformStreamMessagesReply;function transformStreamsMessagesReplyResp2(reply,preserve,typeMapping){if(reply===null)return null;switch(typeMapping?typeMapping[decoder_1.RESP_TYPES.MAP]:void 0){default:{let ret=[];for(let i=0;i<reply.length;i++){let stream=reply[i];ret.push({name:stream[0],messages:transformStreamMessagesReply(stream[1])})}return ret}}}exports.transformStreamsMessagesReplyResp2=transformStreamsMessagesReplyResp2;function transformStreamsMessagesReplyResp3(reply){if(reply===null)return null;if(reply instanceof Map){let ret=new Map;for(let[n,rawMessages]of reply){let name=n;ret.set(name.toString(),transformStreamMessagesReply(rawMessages))}return ret}else if(reply instanceof Array){let ret=[];for(let i=0;i<reply.length;i+=2){let name=reply[i],rawMessages=reply[i+1];ret.push(name),ret.push(transformStreamMessagesReply(rawMessages))}return ret}else{let ret=Object.create(null);for(let[name,rawMessages]of Object.entries(reply))ret[name]=transformStreamMessagesReply(rawMessages);return ret}}exports.transformStreamsMessagesReplyResp3=transformStreamsMessagesReplyResp3;function transformRedisJsonArgument(json){return JSON.stringify(json)}exports.transformRedisJsonArgument=transformRedisJsonArgument;function transformRedisJsonReply(json){return JSON.parse(json.toString())}exports.transformRedisJsonReply=transformRedisJsonReply;function transformRedisJsonNullReply(json){return isNullReply(json)?json:transformRedisJsonReply(json)}exports.transformRedisJsonNullReply=transformRedisJsonNullReply}),require_ACL_LOG=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,count32){if(parser.push("ACL","LOG"),count32!=null)parser.push(count32.toString())},transformReply:{2:(reply,preserve,typeMapping)=>{return reply.map((item)=>{let inferred=item;return{count:inferred[1],reason:inferred[3],context:inferred[5],object:inferred[7],username:inferred[9],"age-seconds":generic_transformers_1.transformDoubleReply[2](inferred[11],preserve,typeMapping),"client-info":inferred[13],"entry-id":inferred[15],"timestamp-created":inferred[17],"timestamp-last-updated":inferred[19]}})},3:void 0}}}),require_ACL_LOG_RESET=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ACL_LOG_1=__importDefault(require_ACL_LOG());exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:ACL_LOG_1.default.IS_READ_ONLY,parseCommand(parser){parser.push("ACL","LOG","RESET")},transformReply:void 0}}),require_ACL_SAVE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("ACL","SAVE")},transformReply:void 0}}),require_ACL_SETUSER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,username,rule){parser.push("ACL","SETUSER",username),parser.pushVariadic(rule)},transformReply:void 0}}),require_ACL_USERS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("ACL","USERS")},transformReply:void 0}}),require_ACL_WHOAMI=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("ACL","WHOAMI")},transformReply:void 0}}),require_APPEND=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,value){parser.push("APPEND",key,value)},transformReply:void 0}}),require_ASKING=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.ASKING_CMD=void 0,exports.ASKING_CMD="ASKING",exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push(exports.ASKING_CMD)},transformReply:void 0}}),require_AUTH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,{username,password}){if(parser.push("AUTH"),username!==void 0)parser.push(username);parser.push(password)},transformReply:void 0}}),require_BGREWRITEAOF=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("BGREWRITEAOF")},transformReply:void 0}}),require_BGSAVE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,options){if(parser.push("BGSAVE"),options?.SCHEDULE)parser.push("SCHEDULE")},transformReply:void 0}}),require_BITCOUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,range4){if(parser.push("BITCOUNT"),parser.pushKey(key),range4){if(parser.push(range4.start.toString()),parser.push(range4.end.toString()),range4.mode)parser.push(range4.mode)}},transformReply:void 0}}),require_BITFIELD_RO=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,operations){parser.push("BITFIELD_RO"),parser.pushKey(key);for(let operation of operations)parser.push("GET"),parser.push(operation.encoding),parser.push(operation.offset.toString())},transformReply:void 0}}),require_BITFIELD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,operations){parser.push("BITFIELD"),parser.pushKey(key);for(let options of operations)switch(options.operation){case"GET":parser.push("GET",options.encoding,options.offset.toString());break;case"SET":parser.push("SET",options.encoding,options.offset.toString(),options.value.toString());break;case"INCRBY":parser.push("INCRBY",options.encoding,options.offset.toString(),options.increment.toString());break;case"OVERFLOW":parser.push("OVERFLOW",options.behavior);break}},transformReply:void 0}}),require_BITOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,operation,destKey,key){parser.push("BITOP",operation),parser.pushKey(destKey),parser.pushKeys(key)},transformReply:void 0}}),require_BITPOS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,bit,start3,end6,mode){if(parser.push("BITPOS"),parser.pushKey(key),parser.push(bit.toString()),start3!==void 0)parser.push(start3.toString());if(end6!==void 0)parser.push(end6.toString());if(mode)parser.push(mode)},transformReply:void 0}}),require_BLMOVE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,sourceSide,destinationSide,timeout5){parser.push("BLMOVE"),parser.pushKeys([source,destination]),parser.push(sourceSide,destinationSide,timeout5.toString())},transformReply:void 0}}),require_LMPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseLMPopArguments=void 0;function parseLMPopArguments(parser,keys3,side,options){if(parser.pushKeysLength(keys3),parser.push(side),options?.COUNT!==void 0)parser.push("COUNT",options.COUNT.toString())}exports.parseLMPopArguments=parseLMPopArguments,exports.default={IS_READ_ONLY:!1,parseCommand(parser,...args2){parser.push("LMPOP"),parseLMPopArguments(parser,...args2)},transformReply:void 0}}),require_BLMPOP=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var LMPOP_1=__importStar(require_LMPOP());exports.default={IS_READ_ONLY:!1,parseCommand(parser,timeout5,...args2){parser.push("BLMPOP",timeout5.toString()),(0,LMPOP_1.parseLMPopArguments)(parser,...args2)},transformReply:LMPOP_1.default.transformReply}}),require_BLPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,timeout5){parser.push("BLPOP"),parser.pushKeys(key),parser.push(timeout5.toString())},transformReply(reply){if(reply===null)return null;return{key:reply[0],element:reply[1]}}}}),require_BRPOP=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var BLPOP_1=__importDefault(require_BLPOP());exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,timeout5){parser.push("BRPOP"),parser.pushKeys(key),parser.push(timeout5.toString())},transformReply:BLPOP_1.default.transformReply}}),require_BRPOPLPUSH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,timeout5){parser.push("BRPOPLPUSH"),parser.pushKeys([source,destination]),parser.push(timeout5.toString())},transformReply:void 0}}),require_ZMPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseZMPopArguments=void 0;var generic_transformers_1=require_generic_transformers();function parseZMPopArguments(parser,keys3,side,options){if(parser.pushKeysLength(keys3),parser.push(side),options?.COUNT)parser.push("COUNT",options.COUNT.toString())}exports.parseZMPopArguments=parseZMPopArguments,exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys3,side,options){parser.push("ZMPOP"),parseZMPopArguments(parser,keys3,side,options)},transformReply:{2(reply,preserve,typeMapping){return reply===null?null:{key:reply[0],members:reply[1].map((member)=>{let[value,score]=member;return{value,score:generic_transformers_1.transformDoubleReply[2](score,preserve,typeMapping)}})}},3(reply){return reply===null?null:{key:reply[0],members:generic_transformers_1.transformSortedSetReply[3](reply[1])}}}}}),require_BZMPOP=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var ZMPOP_1=__importStar(require_ZMPOP());exports.default={IS_READ_ONLY:!1,parseCommand(parser,timeout5,...args2){parser.push("BZMPOP",timeout5.toString()),(0,ZMPOP_1.parseZMPopArguments)(parser,...args2)},transformReply:ZMPOP_1.default.transformReply}}),require_BZPOPMAX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys3,timeout5){parser.push("BZPOPMAX"),parser.pushKeys(keys3),parser.push(timeout5.toString())},transformReply:{2(reply,preserve,typeMapping){return reply===null?null:{key:reply[0],value:reply[1],score:generic_transformers_1.transformDoubleReply[2](reply[2],preserve,typeMapping)}},3(reply){return reply===null?null:{key:reply[0],value:reply[1],score:reply[2]}}}}}),require_BZPOPMIN=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var BZPOPMAX_1=__importDefault(require_BZPOPMAX());exports.default={IS_READ_ONLY:BZPOPMAX_1.default.IS_READ_ONLY,parseCommand(parser,keys3,timeout5){parser.push("BZPOPMIN"),parser.pushKeys(keys3),parser.push(timeout5.toString())},transformReply:BZPOPMAX_1.default.transformReply}}),require_CLIENT_CACHING=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,value){parser.push("CLIENT","CACHING",value?"YES":"NO")},transformReply:void 0}}),require_CLIENT_GETNAME=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLIENT","GETNAME")},transformReply:void 0}}),require_CLIENT_GETREDIR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLIENT","GETREDIR")},transformReply:void 0}}),require_CLIENT_ID=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLIENT","ID")},transformReply:void 0}}),require_CLIENT_INFO=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var CLIENT_INFO_REGEX=/([^\s=]+)=([^\s]*)/g;exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLIENT","INFO")},transformReply(rawReply){let map222={};for(let item of rawReply.toString().matchAll(CLIENT_INFO_REGEX))map222[item[1]]=item[2];let reply={id:Number(map222.id),addr:map222.addr,fd:Number(map222.fd),name:map222.name,age:Number(map222.age),idle:Number(map222.idle),flags:map222.flags,db:Number(map222.db),sub:Number(map222.sub),psub:Number(map222.psub),multi:Number(map222.multi),qbuf:Number(map222.qbuf),qbufFree:Number(map222["qbuf-free"]),argvMem:Number(map222["argv-mem"]),obl:Number(map222.obl),oll:Number(map222.oll),omem:Number(map222.omem),totMem:Number(map222["tot-mem"]),events:map222.events,cmd:map222.cmd,user:map222.user,libName:map222["lib-name"],libVer:map222["lib-ver"]};if(map222.laddr!==void 0)reply.laddr=map222.laddr;if(map222.redir!==void 0)reply.redir=Number(map222.redir);if(map222.ssub!==void 0)reply.ssub=Number(map222.ssub);if(map222["multi-mem"]!==void 0)reply.multiMem=Number(map222["multi-mem"]);if(map222.resp!==void 0)reply.resp=Number(map222.resp);return reply}}}),require_CLIENT_KILL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.CLIENT_KILL_FILTERS=void 0,exports.CLIENT_KILL_FILTERS={ADDRESS:"ADDR",LOCAL_ADDRESS:"LADDR",ID:"ID",TYPE:"TYPE",USER:"USER",SKIP_ME:"SKIPME",MAXAGE:"MAXAGE"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,filters){if(parser.push("CLIENT","KILL"),Array.isArray(filters))for(let filter11 of filters)pushFilter(parser,filter11);else pushFilter(parser,filters)},transformReply:void 0};function pushFilter(parser,filter11){if(filter11===exports.CLIENT_KILL_FILTERS.SKIP_ME){parser.push("SKIPME");return}switch(parser.push(filter11.filter),filter11.filter){case exports.CLIENT_KILL_FILTERS.ADDRESS:parser.push(filter11.address);break;case exports.CLIENT_KILL_FILTERS.LOCAL_ADDRESS:parser.push(filter11.localAddress);break;case exports.CLIENT_KILL_FILTERS.ID:parser.push(typeof filter11.id==="number"?filter11.id.toString():filter11.id);break;case exports.CLIENT_KILL_FILTERS.TYPE:parser.push(filter11.type);break;case exports.CLIENT_KILL_FILTERS.USER:parser.push(filter11.username);break;case exports.CLIENT_KILL_FILTERS.SKIP_ME:parser.push(filter11.skipMe?"yes":"no");break;case exports.CLIENT_KILL_FILTERS.MAXAGE:parser.push(filter11.maxAge.toString());break}}}),require_CLIENT_LIST=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var CLIENT_INFO_1=__importDefault(require_CLIENT_INFO());exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,filter11){if(parser.push("CLIENT","LIST"),filter11)if(filter11.TYPE!==void 0)parser.push("TYPE",filter11.TYPE);else parser.push("ID"),parser.pushVariadic(filter11.ID)},transformReply(rawReply){let split4=rawReply.toString().split(`
|
|
75
|
-
`),length3=split4.length-1,reply=[];for(let i=0;i<length3;i++)reply.push(CLIENT_INFO_1.default.transformReply(split4[i]));return reply}}}),require_CLIENT_NO_EVICT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,value){parser.push("CLIENT","NO-EVICT",value?"ON":"OFF")},transformReply:void 0}}),require_CLIENT_NO_TOUCH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,value){parser.push("CLIENT","NO-TOUCH",value?"ON":"OFF")},transformReply:void 0}}),require_CLIENT_PAUSE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,timeout5,mode){if(parser.push("CLIENT","PAUSE",timeout5.toString()),mode)parser.push(mode)},transformReply:void 0}}),require_CLIENT_SETNAME=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,name){parser.push("CLIENT","SETNAME",name)},transformReply:void 0}}),require_CLIENT_TRACKING=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,mode,options){if(parser.push("CLIENT","TRACKING",mode?"ON":"OFF"),mode){if(options?.REDIRECT)parser.push("REDIRECT",options.REDIRECT.toString());if(isBroadcast(options)){if(parser.push("BCAST"),options?.PREFIX)if(Array.isArray(options.PREFIX))for(let prefix of options.PREFIX)parser.push("PREFIX",prefix);else parser.push("PREFIX",options.PREFIX)}else if(isOptIn(options))parser.push("OPTIN");else if(isOptOut(options))parser.push("OPTOUT");if(options?.NOLOOP)parser.push("NOLOOP")}},transformReply:void 0};function isBroadcast(options){return options?.BCAST===!0}function isOptIn(options){return options?.OPTIN===!0}function isOptOut(options){return options?.OPTOUT===!0}}),require_CLIENT_TRACKINGINFO=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLIENT","TRACKINGINFO")},transformReply:{2:(reply)=>({flags:reply[1],redirect:reply[3],prefixes:reply[5]}),3:void 0}}}),require_CLIENT_UNPAUSE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLIENT","UNPAUSE")},transformReply:void 0}}),require_CLUSTER_ADDSLOTS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,slots){parser.push("CLUSTER","ADDSLOTS"),parser.pushVariadicNumber(slots)},transformReply:void 0}}),require_CLUSTER_ADDSLOTSRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,ranges){parser.push("CLUSTER","ADDSLOTSRANGE"),(0,generic_transformers_1.parseSlotRangesArguments)(parser,ranges)},transformReply:void 0}}),require_CLUSTER_BUMPEPOCH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","BUMPEPOCH")},transformReply:void 0}}),require_CLUSTER_COUNT_FAILURE_REPORTS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,nodeId){parser.push("CLUSTER","COUNT-FAILURE-REPORTS",nodeId)},transformReply:void 0}}),require_CLUSTER_COUNTKEYSINSLOT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,slot){parser.push("CLUSTER","COUNTKEYSINSLOT",slot.toString())},transformReply:void 0}}),require_CLUSTER_DELSLOTS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,slots){parser.push("CLUSTER","DELSLOTS"),parser.pushVariadicNumber(slots)},transformReply:void 0}}),require_CLUSTER_DELSLOTSRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,ranges){parser.push("CLUSTER","DELSLOTSRANGE"),(0,generic_transformers_1.parseSlotRangesArguments)(parser,ranges)},transformReply:void 0}}),require_CLUSTER_FAILOVER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.FAILOVER_MODES=void 0,exports.FAILOVER_MODES={FORCE:"FORCE",TAKEOVER:"TAKEOVER"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,options){if(parser.push("CLUSTER","FAILOVER"),options?.mode)parser.push(options.mode)},transformReply:void 0}}),require_CLUSTER_FLUSHSLOTS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","FLUSHSLOTS")},transformReply:void 0}}),require_CLUSTER_FORGET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,nodeId){parser.push("CLUSTER","FORGET",nodeId)},transformReply:void 0}}),require_CLUSTER_GETKEYSINSLOT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,slot,count32){parser.push("CLUSTER","GETKEYSINSLOT",slot.toString(),count32.toString())},transformReply:void 0}}),require_CLUSTER_INFO=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","INFO")},transformReply:void 0}}),require_CLUSTER_KEYSLOT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("CLUSTER","KEYSLOT",key)},transformReply:void 0}}),require_CLUSTER_LINKS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","LINKS")},transformReply:{2:(reply)=>reply.map((link)=>{let unwrapped=link;return{direction:unwrapped[1],node:unwrapped[3],"create-time":unwrapped[5],events:unwrapped[7],"send-buffer-allocated":unwrapped[9],"send-buffer-used":unwrapped[11]}}),3:void 0}}}),require_CLUSTER_MEET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,host,port3){parser.push("CLUSTER","MEET",host,port3.toString())},transformReply:void 0}}),require_CLUSTER_MYID=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","MYID")},transformReply:void 0}}),require_CLUSTER_MYSHARDID=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","MYSHARDID")},transformReply:void 0}}),require_CLUSTER_NODES=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","NODES")},transformReply:void 0}}),require_CLUSTER_REPLICAS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,nodeId){parser.push("CLUSTER","REPLICAS",nodeId)},transformReply:void 0}}),require_CLUSTER_REPLICATE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,nodeId){parser.push("CLUSTER","REPLICATE",nodeId)},transformReply:void 0}}),require_CLUSTER_RESET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,options){if(parser.push("CLUSTER","RESET"),options?.mode)parser.push(options.mode)},transformReply:void 0}}),require_CLUSTER_SAVECONFIG=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","SAVECONFIG")},transformReply:void 0}}),require_CLUSTER_SET_CONFIG_EPOCH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,configEpoch){parser.push("CLUSTER","SET-CONFIG-EPOCH",configEpoch.toString())},transformReply:void 0}}),require_CLUSTER_SETSLOT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.CLUSTER_SLOT_STATES=void 0,exports.CLUSTER_SLOT_STATES={IMPORTING:"IMPORTING",MIGRATING:"MIGRATING",STABLE:"STABLE",NODE:"NODE"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,slot,state,nodeId){if(parser.push("CLUSTER","SETSLOT",slot.toString(),state),nodeId)parser.push(nodeId)},transformReply:void 0}}),require_CLUSTER_SLOTS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","SLOTS")},transformReply(reply){return reply.map(([from,to,master,...replicas])=>({from,to,master:transformNode(master),replicas:replicas.map(transformNode)}))}};function transformNode(node){let[host,port3,id2]=node;return{host,port:port3,id:id2}}}),require_COMMAND_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("COMMAND","COUNT")},transformReply:void 0}}),require_COMMAND_GETKEYS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,args2){parser.push("COMMAND","GETKEYS"),parser.push(...args2)},transformReply:void 0}}),require_COMMAND_GETKEYSANDFLAGS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,args2){parser.push("COMMAND","GETKEYSANDFLAGS"),parser.push(...args2)},transformReply(reply){return reply.map((entry)=>{let[key,flags]=entry;return{key,flags}})}}}),require_COMMAND_INFO=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,commands){parser.push("COMMAND","INFO",...commands)},transformReply(reply){return reply.map((command)=>command?(0,generic_transformers_1.transformCommandReply)(command):null)}}}),require_COMMAND_LIST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.COMMAND_LIST_FILTER_BY=void 0,exports.COMMAND_LIST_FILTER_BY={MODULE:"MODULE",ACLCAT:"ACLCAT",PATTERN:"PATTERN"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,options){if(parser.push("COMMAND","LIST"),options?.FILTERBY)parser.push("FILTERBY",options.FILTERBY.type,options.FILTERBY.value)},transformReply:void 0}}),require_COMMAND=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("COMMAND")},transformReply(reply){return reply.map(generic_transformers_1.transformCommandReply)}}}),require_CONFIG_GET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,parameters){parser.push("CONFIG","GET"),parser.pushVariadic(parameters)},transformReply:{2:generic_transformers_1.transformTuplesReply,3:void 0}}}),require_CONFIG_RESETSTAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CONFIG","RESETSTAT")},transformReply:void 0}}),require_CONFIG_REWRITE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CONFIG","REWRITE")},transformReply:void 0}}),require_CONFIG_SET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,...[parameterOrConfig,value]){if(parser.push("CONFIG","SET"),typeof parameterOrConfig==="string"||parameterOrConfig instanceof Buffer)parser.push(parameterOrConfig,value);else for(let[key,value2]of Object.entries(parameterOrConfig))parser.push(key,value2)},transformReply:void 0}}),require_COPY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,options){if(parser.push("COPY"),parser.pushKeys([source,destination]),options?.DB)parser.push("DB",options.DB.toString());if(options?.REPLACE)parser.push("REPLACE")},transformReply:void 0}}),require_DBSIZE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("DBSIZE")},transformReply:void 0}}),require_DECR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key){parser.push("DECR"),parser.pushKey(key)},transformReply:void 0}}),require_DECRBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,decrement){parser.push("DECRBY"),parser.pushKey(key),parser.push(decrement.toString())},transformReply:void 0}}),require_DEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys3){parser.push("DEL"),parser.pushKeys(keys3)},transformReply:void 0}}),require_DELEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.DelexCondition=void 0,exports.DelexCondition={IFEQ:"IFEQ",IFNE:"IFNE",IFDEQ:"IFDEQ",IFDNE:"IFDNE"},exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("DELEX"),parser.pushKey(key),options)parser.push(options.condition),parser.push(options.matchValue)},transformReply:void 0}}),require_DIGEST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("DIGEST"),parser.pushKey(key)},transformReply:void 0}}),require_DUMP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("DUMP"),parser.pushKey(key)},transformReply:void 0}}),require_ECHO=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,message){parser.push("ECHO",message)},transformReply:void 0}}),require_EVAL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseEvalArguments=void 0;function parseEvalArguments(parser,script,options){if(parser.push(script),options?.keys)parser.pushKeysLength(options.keys);else parser.push("0");if(options?.arguments)parser.push(...options.arguments)}exports.parseEvalArguments=parseEvalArguments,exports.default={IS_READ_ONLY:!1,parseCommand(...args2){args2[0].push("EVAL"),parseEvalArguments(...args2)},transformReply:void 0}}),require_EVAL_RO=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var EVAL_1=__importStar(require_EVAL());exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("EVAL_RO"),(0,EVAL_1.parseEvalArguments)(...args2)},transformReply:EVAL_1.default.transformReply}}),require_EVALSHA_RO=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var EVAL_1=__importStar(require_EVAL());exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("EVALSHA_RO"),(0,EVAL_1.parseEvalArguments)(...args2)},transformReply:EVAL_1.default.transformReply}}),require_EVALSHA=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var EVAL_1=__importStar(require_EVAL());exports.default={IS_READ_ONLY:!1,parseCommand(...args2){args2[0].push("EVALSHA"),(0,EVAL_1.parseEvalArguments)(...args2)},transformReply:EVAL_1.default.transformReply}}),require_GEOADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,toAdd,options){if(parser.push("GEOADD"),parser.pushKey(key),options?.condition)parser.push(options.condition);else if(options?.NX)parser.push("NX");else if(options?.XX)parser.push("XX");if(options?.CH)parser.push("CH");if(Array.isArray(toAdd))for(let member of toAdd)pushMember(parser,member);else pushMember(parser,toAdd)},transformReply:void 0};function pushMember(parser,{longitude,latitude,member}){parser.push(longitude.toString(),latitude.toString(),member)}}),require_GEODIST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member1,member2,unit){if(parser.push("GEODIST"),parser.pushKey(key),parser.push(member1,member2),unit)parser.push(unit)},transformReply(reply){return reply===null?null:Number(reply)}}}),require_GEOHASH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("GEOHASH"),parser.pushKey(key),parser.pushVariadic(member)},transformReply:void 0}}),require_GEOPOS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("GEOPOS"),parser.pushKey(key),parser.pushVariadic(member)},transformReply(reply){return reply.map((item)=>{let unwrapped=item;return unwrapped===null?null:{longitude:unwrapped[0],latitude:unwrapped[1]}})}}}),require_GEOSEARCH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseGeoSearchOptions=exports.parseGeoSearchArguments=void 0;function parseGeoSearchArguments(parser,key,from,by,options){if(parser.pushKey(key),typeof from==="string"||from instanceof Buffer)parser.push("FROMMEMBER",from);else parser.push("FROMLONLAT",from.longitude.toString(),from.latitude.toString());if("radius"in by)parser.push("BYRADIUS",by.radius.toString(),by.unit);else parser.push("BYBOX",by.width.toString(),by.height.toString(),by.unit);parseGeoSearchOptions(parser,options)}exports.parseGeoSearchArguments=parseGeoSearchArguments;function parseGeoSearchOptions(parser,options){if(options?.SORT)parser.push(options.SORT);if(options?.COUNT){if(typeof options.COUNT==="number")parser.push("COUNT",options.COUNT.toString());else if(parser.push("COUNT",options.COUNT.value.toString()),options.COUNT.ANY)parser.push("ANY")}}exports.parseGeoSearchOptions=parseGeoSearchOptions,exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,from,by,options){parser.push("GEOSEARCH"),parseGeoSearchArguments(parser,key,from,by,options)},transformReply:void 0}}),require_GEORADIUS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseGeoRadiusArguments=void 0;var GEOSEARCH_1=require_GEOSEARCH();function parseGeoRadiusArguments(parser,key,from,radius,unit,options){parser.pushKey(key),parser.push(from.longitude.toString(),from.latitude.toString(),radius.toString(),unit),(0,GEOSEARCH_1.parseGeoSearchOptions)(parser,options)}exports.parseGeoRadiusArguments=parseGeoRadiusArguments,exports.default={IS_READ_ONLY:!1,parseCommand(...args2){return args2[0].push("GEORADIUS"),parseGeoRadiusArguments(...args2)},transformReply:void 0}}),require_GEOSEARCH_WITH=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.GEO_REPLY_WITH=void 0;var GEOSEARCH_1=__importDefault(require_GEOSEARCH());exports.GEO_REPLY_WITH={DISTANCE:"WITHDIST",HASH:"WITHHASH",COORDINATES:"WITHCOORD"},exports.default={IS_READ_ONLY:GEOSEARCH_1.default.IS_READ_ONLY,parseCommand(parser,key,from,by,replyWith,options){GEOSEARCH_1.default.parseCommand(parser,key,from,by,options),parser.push(...replyWith),parser.preserve=replyWith},transformReply(reply,replyWith){let replyWithSet=new Set(replyWith),index=0,distanceIndex=replyWithSet.has(exports.GEO_REPLY_WITH.DISTANCE)&&++index,hashIndex=replyWithSet.has(exports.GEO_REPLY_WITH.HASH)&&++index,coordinatesIndex=replyWithSet.has(exports.GEO_REPLY_WITH.COORDINATES)&&++index;return reply.map((raw)=>{let unwrapped=raw,item={member:unwrapped[0]};if(distanceIndex)item.distance=unwrapped[distanceIndex];if(hashIndex)item.hash=unwrapped[hashIndex];if(coordinatesIndex){let[longitude,latitude]=unwrapped[coordinatesIndex];item.coordinates={longitude,latitude}}return item})}}}),require_GEORADIUS_WITH=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseGeoRadiusWithArguments=void 0;var GEORADIUS_1=__importStar(require_GEORADIUS()),GEOSEARCH_WITH_1=__importDefault(require_GEOSEARCH_WITH());function parseGeoRadiusWithArguments(parser,key,from,radius,unit,replyWith,options){(0,GEORADIUS_1.parseGeoRadiusArguments)(parser,key,from,radius,unit,options),parser.pushVariadic(replyWith),parser.preserve=replyWith}exports.parseGeoRadiusWithArguments=parseGeoRadiusWithArguments,exports.default={IS_READ_ONLY:GEORADIUS_1.default.IS_READ_ONLY,parseCommand(parser,key,from,radius,unit,replyWith,options){parser.push("GEORADIUS"),parseGeoRadiusWithArguments(parser,key,from,radius,unit,replyWith,options)},transformReply:GEOSEARCH_WITH_1.default.transformReply}}),require_GEORADIUS_RO_WITH=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var GEORADIUS_WITH_1=require_GEORADIUS_WITH(),GEORADIUS_WITH_2=__importDefault(require_GEORADIUS_WITH());exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("GEORADIUS_RO"),(0,GEORADIUS_WITH_1.parseGeoRadiusWithArguments)(...args2)},transformReply:GEORADIUS_WITH_2.default.transformReply}}),require_GEORADIUS_RO=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var GEORADIUS_1=__importStar(require_GEORADIUS());exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("GEORADIUS_RO"),(0,GEORADIUS_1.parseGeoRadiusArguments)(...args2)},transformReply:GEORADIUS_1.default.transformReply}}),require_GEORADIUS_STORE=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var GEORADIUS_1=__importStar(require_GEORADIUS());exports.default={IS_READ_ONLY:GEORADIUS_1.default.IS_READ_ONLY,parseCommand(parser,key,from,radius,unit,destination,options){if(parser.push("GEORADIUS"),(0,GEORADIUS_1.parseGeoRadiusArguments)(parser,key,from,radius,unit,options),options?.STOREDIST)parser.push("STOREDIST"),parser.pushKey(destination);else parser.push("STORE"),parser.pushKey(destination)},transformReply:void 0}}),require_GEORADIUSBYMEMBER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseGeoRadiusByMemberArguments=void 0;var GEOSEARCH_1=require_GEOSEARCH();function parseGeoRadiusByMemberArguments(parser,key,from,radius,unit,options){parser.pushKey(key),parser.push(from,radius.toString(),unit),(0,GEOSEARCH_1.parseGeoSearchOptions)(parser,options)}exports.parseGeoRadiusByMemberArguments=parseGeoRadiusByMemberArguments,exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,from,radius,unit,options){parser.push("GEORADIUSBYMEMBER"),parseGeoRadiusByMemberArguments(parser,key,from,radius,unit,options)},transformReply:void 0}}),require_GEORADIUSBYMEMBER_WITH=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseGeoRadiusByMemberWithArguments=void 0;var GEORADIUSBYMEMBER_1=__importDefault(require_GEORADIUSBYMEMBER()),GEOSEARCH_1=require_GEOSEARCH(),GEOSEARCH_WITH_1=__importDefault(require_GEOSEARCH_WITH());function parseGeoRadiusByMemberWithArguments(parser,key,from,radius,unit,replyWith,options){parser.pushKey(key),parser.push(from,radius.toString(),unit),(0,GEOSEARCH_1.parseGeoSearchOptions)(parser,options),parser.push(...replyWith),parser.preserve=replyWith}exports.parseGeoRadiusByMemberWithArguments=parseGeoRadiusByMemberWithArguments,exports.default={IS_READ_ONLY:GEORADIUSBYMEMBER_1.default.IS_READ_ONLY,parseCommand(parser,key,from,radius,unit,replyWith,options){parser.push("GEORADIUSBYMEMBER"),parseGeoRadiusByMemberWithArguments(parser,key,from,radius,unit,replyWith,options)},transformReply:GEOSEARCH_WITH_1.default.transformReply}}),require_GEORADIUSBYMEMBER_RO_WITH=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var GEORADIUSBYMEMBER_WITH_1=__importStar(require_GEORADIUSBYMEMBER_WITH());exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("GEORADIUSBYMEMBER_RO"),(0,GEORADIUSBYMEMBER_WITH_1.parseGeoRadiusByMemberWithArguments)(...args2)},transformReply:GEORADIUSBYMEMBER_WITH_1.default.transformReply}}),require_GEORADIUSBYMEMBER_RO=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var GEORADIUSBYMEMBER_1=__importStar(require_GEORADIUSBYMEMBER());exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("GEORADIUSBYMEMBER_RO"),(0,GEORADIUSBYMEMBER_1.parseGeoRadiusByMemberArguments)(...args2)},transformReply:GEORADIUSBYMEMBER_1.default.transformReply}}),require_GEORADIUSBYMEMBER_STORE=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var GEORADIUSBYMEMBER_1=__importStar(require_GEORADIUSBYMEMBER());exports.default={IS_READ_ONLY:GEORADIUSBYMEMBER_1.default.IS_READ_ONLY,parseCommand(parser,key,from,radius,unit,destination,options){if(parser.push("GEORADIUSBYMEMBER"),(0,GEORADIUSBYMEMBER_1.parseGeoRadiusByMemberArguments)(parser,key,from,radius,unit,options),options?.STOREDIST)parser.push("STOREDIST"),parser.pushKey(destination);else parser.push("STORE"),parser.pushKey(destination)},transformReply:void 0}}),require_GEOSEARCHSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var GEOSEARCH_1=require_GEOSEARCH();exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,source,from,by,options){if(parser.push("GEOSEARCHSTORE"),destination!==void 0)parser.pushKey(destination);if((0,GEOSEARCH_1.parseGeoSearchArguments)(parser,source,from,by,options),options?.STOREDIST)parser.push("STOREDIST")},transformReply:void 0}}),require_GET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("GET"),parser.pushKey(key)},transformReply:void 0}}),require_GETBIT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,offset){parser.push("GETBIT"),parser.pushKey(key),parser.push(offset.toString())},transformReply:void 0}}),require_GETDEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("GETDEL"),parser.pushKey(key)},transformReply:void 0}}),require_GETEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("GETEX"),parser.pushKey(key),"type"in options)switch(options.type){case"EX":case"PX":parser.push(options.type,options.value.toString());break;case"EXAT":case"PXAT":parser.push(options.type,(0,generic_transformers_1.transformEXAT)(options.value));break;case"PERSIST":parser.push("PERSIST");break}else if("EX"in options)parser.push("EX",options.EX.toString());else if("PX"in options)parser.push("PX",options.PX.toString());else if("EXAT"in options)parser.push("EXAT",(0,generic_transformers_1.transformEXAT)(options.EXAT));else if("PXAT"in options)parser.push("PXAT",(0,generic_transformers_1.transformPXAT)(options.PXAT));else parser.push("PERSIST")},transformReply:void 0}}),require_GETRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,start3,end6){parser.push("GETRANGE"),parser.pushKey(key),parser.push(start3.toString(),end6.toString())},transformReply:void 0}}),require_GETSET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,value){parser.push("GETSET"),parser.pushKey(key),parser.push(value)},transformReply:void 0}}),require_EXISTS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("EXISTS"),parser.pushKeys(keys3)},transformReply:void 0}}),require_EXPIRE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,seconds2,mode){if(parser.push("EXPIRE"),parser.pushKey(key),parser.push(seconds2.toString()),mode)parser.push(mode)},transformReply:void 0}}),require_EXPIREAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,timestamp,mode){if(parser.push("EXPIREAT"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformEXAT)(timestamp)),mode)parser.push(mode)},transformReply:void 0}}),require_EXPIRETIME=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("EXPIRETIME"),parser.pushKey(key)},transformReply:void 0}}),require_FLUSHALL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.REDIS_FLUSH_MODES=void 0,exports.REDIS_FLUSH_MODES={ASYNC:"ASYNC",SYNC:"SYNC"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,mode){if(parser.push("FLUSHALL"),mode)parser.push(mode)},transformReply:void 0}}),require_FLUSHDB=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,mode){if(parser.push("FLUSHDB"),mode)parser.push(mode)},transformReply:void 0}}),require_FCALL=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var EVAL_1=__importStar(require_EVAL());exports.default={IS_READ_ONLY:!1,parseCommand(...args2){args2[0].push("FCALL"),(0,EVAL_1.parseEvalArguments)(...args2)},transformReply:EVAL_1.default.transformReply}}),require_FCALL_RO=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var EVAL_1=__importStar(require_EVAL());exports.default={IS_READ_ONLY:!1,parseCommand(...args2){args2[0].push("FCALL_RO"),(0,EVAL_1.parseEvalArguments)(...args2)},transformReply:EVAL_1.default.transformReply}}),require_FUNCTION_DELETE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,library){parser.push("FUNCTION","DELETE",library)},transformReply:void 0}}),require_FUNCTION_DUMP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("FUNCTION","DUMP")},transformReply:void 0}}),require_FUNCTION_FLUSH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,mode){if(parser.push("FUNCTION","FLUSH"),mode)parser.push(mode)},transformReply:void 0}}),require_FUNCTION_KILL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("FUNCTION","KILL")},transformReply:void 0}}),require_FUNCTION_LIST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,options){if(parser.push("FUNCTION","LIST"),options?.LIBRARYNAME)parser.push("LIBRARYNAME",options.LIBRARYNAME)},transformReply:{2:(reply)=>{return reply.map((library)=>{let unwrapped=library;return{library_name:unwrapped[1],engine:unwrapped[3],functions:unwrapped[5].map((fn2)=>{let unwrapped2=fn2;return{name:unwrapped2[1],description:unwrapped2[3],flags:unwrapped2[5]}})}})},3:void 0}}}),require_FUNCTION_LIST_WITHCODE=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var FUNCTION_LIST_1=__importDefault(require_FUNCTION_LIST());exports.default={NOT_KEYED_COMMAND:FUNCTION_LIST_1.default.NOT_KEYED_COMMAND,IS_READ_ONLY:FUNCTION_LIST_1.default.IS_READ_ONLY,parseCommand(...args2){FUNCTION_LIST_1.default.parseCommand(...args2),args2[0].push("WITHCODE")},transformReply:{2:(reply)=>{return reply.map((library)=>{let unwrapped=library;return{library_name:unwrapped[1],engine:unwrapped[3],functions:unwrapped[5].map((fn2)=>{let unwrapped2=fn2;return{name:unwrapped2[1],description:unwrapped2[3],flags:unwrapped2[5]}}),library_code:unwrapped[7]}})},3:void 0}}}),require_FUNCTION_LOAD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,code,options){if(parser.push("FUNCTION","LOAD"),options?.REPLACE)parser.push("REPLACE");parser.push(code)},transformReply:void 0}}),require_FUNCTION_RESTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,dump2,options){if(parser.push("FUNCTION","RESTORE",dump2),options?.mode)parser.push(options.mode)},transformReply:void 0}}),require_FUNCTION_STATS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("FUNCTION","STATS")},transformReply:{2:(reply)=>{return{running_script:transformRunningScript(reply[1]),engines:transformEngines(reply[3])}},3:void 0}};function transformRunningScript(reply){if((0,generic_transformers_1.isNullReply)(reply))return null;let unwraped=reply;return{name:unwraped[1],command:unwraped[3],duration_ms:unwraped[5]}}function transformEngines(reply){let unwraped=reply,engines=Object.create(null);for(let i=0;i<unwraped.length;i++){let name=unwraped[i],stats=unwraped[++i],unwrapedStats=stats;engines[name.toString()]={libraries_count:unwrapedStats[1],functions_count:unwrapedStats[3]}}return engines}}),require_HDEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,field){parser.push("HDEL"),parser.pushKey(key),parser.pushVariadic(field)},transformReply:void 0}}),require_HELLO=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,protover,options){if(parser.push("HELLO"),protover){if(parser.push(protover.toString()),options?.AUTH)parser.push("AUTH",options.AUTH.username,options.AUTH.password);if(options?.SETNAME)parser.push("SETNAME",options.SETNAME)}},transformReply:{2:(reply)=>({server:reply[1],version:reply[3],proto:reply[5],id:reply[7],mode:reply[9],role:reply[11],modules:reply[13]}),3:void 0}}}),require_HEXISTS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,field){parser.push("HEXISTS"),parser.pushKey(key),parser.push(field)},transformReply:void 0}}),require_HEXPIRE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.HASH_EXPIRATION=void 0,exports.HASH_EXPIRATION={FIELD_NOT_EXISTS:-2,CONDITION_NOT_MET:0,UPDATED:1,DELETED:2},exports.default={parseCommand(parser,key,fields,seconds2,mode){if(parser.push("HEXPIRE"),parser.pushKey(key),parser.push(seconds2.toString()),mode)parser.push(mode);parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HEXPIREAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,fields,timestamp,mode){if(parser.push("HEXPIREAT"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformEXAT)(timestamp)),mode)parser.push(mode);parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HEXPIRETIME=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.HASH_EXPIRATION_TIME=void 0,exports.HASH_EXPIRATION_TIME={FIELD_NOT_EXISTS:-2,NO_EXPIRATION:-1},exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,fields){parser.push("HEXPIRETIME"),parser.pushKey(key),parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HGET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,field){parser.push("HGET"),parser.pushKey(key),parser.push(field)},transformReply:void 0}}),require_HGETALL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("HGETALL"),parser.pushKey(key)},TRANSFORM_LEGACY_REPLY:!0,transformReply:{2:generic_transformers_1.transformTuplesReply,3:void 0}}}),require_HGETDEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,fields){parser.push("HGETDEL"),parser.pushKey(key),parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HGETEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,fields,options){if(parser.push("HGETEX"),parser.pushKey(key),options?.expiration)if(typeof options.expiration==="string")parser.push(options.expiration);else if(options.expiration.type==="PERSIST")parser.push("PERSIST");else parser.push(options.expiration.type,options.expiration.value.toString());parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HINCRBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,field,increment){parser.push("HINCRBY"),parser.pushKey(key),parser.push(field,increment.toString())},transformReply:void 0}}),require_HINCRBYFLOAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,field,increment){parser.push("HINCRBYFLOAT"),parser.pushKey(key),parser.push(field,increment.toString())},transformReply:void 0}}),require_HKEYS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("HKEYS"),parser.pushKey(key)},transformReply:void 0}}),require_HLEN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("HLEN"),parser.pushKey(key)},transformReply:void 0}}),require_HMGET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,fields){parser.push("HMGET"),parser.pushKey(key),parser.pushVariadic(fields)},transformReply:void 0}}),require_HPERSIST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,fields){parser.push("HPERSIST"),parser.pushKey(key),parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HPEXPIRE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,fields,ms,mode){if(parser.push("HPEXPIRE"),parser.pushKey(key),parser.push(ms.toString()),mode)parser.push(mode);parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HPEXPIREAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,fields,timestamp,mode){if(parser.push("HPEXPIREAT"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformPXAT)(timestamp)),mode)parser.push(mode);parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HPEXPIRETIME=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,fields){parser.push("HPEXPIRETIME"),parser.pushKey(key),parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HPTTL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,fields){parser.push("HPTTL"),parser.pushKey(key),parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HRANDFIELD_COUNT_WITHVALUES=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count32){parser.push("HRANDFIELD"),parser.pushKey(key),parser.push(count32.toString(),"WITHVALUES")},transformReply:{2:(rawReply)=>{let reply=[],i=0;while(i<rawReply.length)reply.push({field:rawReply[i++],value:rawReply[i++]});return reply},3:(reply)=>{return reply.map((entry)=>{let[field,value]=entry;return{field,value}})}}}}),require_HRANDFIELD_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count32){parser.push("HRANDFIELD"),parser.pushKey(key),parser.push(count32.toString())},transformReply:void 0}}),require_HRANDFIELD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("HRANDFIELD"),parser.pushKey(key)},transformReply:void 0}}),require_SCAN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.pushScanArguments=exports.parseScanArguments=void 0;function parseScanArguments(parser,cursor,options){if(parser.push(cursor),options?.MATCH)parser.push("MATCH",options.MATCH);if(options?.COUNT)parser.push("COUNT",options.COUNT.toString())}exports.parseScanArguments=parseScanArguments;function pushScanArguments(args2,cursor,options){if(args2.push(cursor.toString()),options?.MATCH)args2.push("MATCH",options.MATCH);if(options?.COUNT)args2.push("COUNT",options.COUNT.toString());return args2}exports.pushScanArguments=pushScanArguments,exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,cursor,options){if(parser.push("SCAN"),parseScanArguments(parser,cursor,options),options?.TYPE)parser.push("TYPE",options.TYPE)},transformReply([cursor,keys3]){return{cursor,keys:keys3}}}}),require_HSCAN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var SCAN_1=require_SCAN();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,cursor,options){parser.push("HSCAN"),parser.pushKey(key),(0,SCAN_1.parseScanArguments)(parser,cursor,options)},transformReply([cursor,rawEntries]){let entries2=[],i=0;while(i<rawEntries.length)entries2.push({field:rawEntries[i++],value:rawEntries[i++]});return{cursor,entries:entries2}}}}),require_HSCAN_NOVALUES=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var HSCAN_1=__importDefault(require_HSCAN());exports.default={IS_READ_ONLY:!0,parseCommand(...args2){let parser=args2[0];HSCAN_1.default.parseCommand(...args2),parser.push("NOVALUES")},transformReply([cursor,fields]){return{cursor,fields}}}}),require_HSET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,...[key,value,fieldValue]){if(parser.push("HSET"),parser.pushKey(key),typeof value==="string"||typeof value==="number"||value instanceof Buffer)parser.push(convertValue(value),convertValue(fieldValue));else if(value instanceof Map)pushMap(parser,value);else if(Array.isArray(value))pushTuples(parser,value);else pushObject(parser,value)},transformReply:void 0};function pushMap(parser,map222){for(let[key,value]of map222.entries())parser.push(convertValue(key),convertValue(value))}function pushTuples(parser,tuples){for(let tuple22 of tuples){if(Array.isArray(tuple22)){pushTuples(parser,tuple22);continue}parser.push(convertValue(tuple22))}}function pushObject(parser,object){for(let key of Object.keys(object))parser.push(convertValue(key),convertValue(object[key]))}function convertValue(value){return typeof value==="number"?value.toString():value}}),require_HSETEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var parser_1=require_parser();exports.default={parseCommand(parser,key,fields,options){if(parser.push("HSETEX"),parser.pushKey(key),options?.mode)parser.push(options.mode);if(options?.expiration)if(typeof options.expiration==="string")parser.push(options.expiration);else if(options.expiration.type==="KEEPTTL")parser.push("KEEPTTL");else parser.push(options.expiration.type,options.expiration.value.toString());if(parser.push("FIELDS"),fields instanceof Map)pushMap(parser,fields);else if(Array.isArray(fields))pushTuples(parser,fields);else pushObject(parser,fields)},transformReply:void 0};function pushMap(parser,map222){parser.push(map222.size.toString());for(let[key,value]of map222.entries())parser.push(convertValue(key),convertValue(value))}function pushTuples(parser,tuples){let tmpParser=new parser_1.BasicCommandParser;if(_pushTuples(tmpParser,tuples),tmpParser.redisArgs.length%2!=0)throw Error("invalid number of arguments, expected key value ....[key value] pairs, got key without value");parser.push((tmpParser.redisArgs.length/2).toString()),parser.push(...tmpParser.redisArgs)}function _pushTuples(parser,tuples){for(let tuple22 of tuples){if(Array.isArray(tuple22)){_pushTuples(parser,tuple22);continue}parser.push(convertValue(tuple22))}}function pushObject(parser,object){let len=Object.keys(object).length;if(len==0)throw Error("object without keys");parser.push(len.toString());for(let key of Object.keys(object))parser.push(convertValue(key),convertValue(object[key]))}function convertValue(value){return typeof value==="number"?value.toString():value}}),require_HSETNX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,field,value){parser.push("HSETNX"),parser.pushKey(key),parser.push(field,value)},transformReply:void 0}}),require_HSTRLEN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,field){parser.push("HSTRLEN"),parser.pushKey(key),parser.push(field)},transformReply:void 0}}),require_HTTL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,fields){parser.push("HTTL"),parser.pushKey(key),parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HVALS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("HVALS"),parser.pushKey(key)},transformReply:void 0}}),require_INCR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key){parser.push("INCR"),parser.pushKey(key)},transformReply:void 0}}),require_INCRBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,increment){parser.push("INCRBY"),parser.pushKey(key),parser.push(increment.toString())},transformReply:void 0}}),require_INCRBYFLOAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,increment){parser.push("INCRBYFLOAT"),parser.pushKey(key),parser.push(increment.toString())},transformReply:void 0}}),require_INFO=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,section){if(parser.push("INFO"),section)parser.push(section)},transformReply:void 0}}),require_KEYS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,pattern){parser.push("KEYS",pattern)},transformReply:void 0}}),require_LASTSAVE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("LASTSAVE")},transformReply:void 0}}),require_LATENCY_DOCTOR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("LATENCY","DOCTOR")},transformReply:void 0}}),require_LATENCY_GRAPH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.LATENCY_EVENTS=void 0,exports.LATENCY_EVENTS={ACTIVE_DEFRAG_CYCLE:"active-defrag-cycle",AOF_FSYNC_ALWAYS:"aof-fsync-always",AOF_STAT:"aof-stat",AOF_REWRITE_DIFF_WRITE:"aof-rewrite-diff-write",AOF_RENAME:"aof-rename",AOF_WRITE:"aof-write",AOF_WRITE_ACTIVE_CHILD:"aof-write-active-child",AOF_WRITE_ALONE:"aof-write-alone",AOF_WRITE_PENDING_FSYNC:"aof-write-pending-fsync",COMMAND:"command",EXPIRE_CYCLE:"expire-cycle",EVICTION_CYCLE:"eviction-cycle",EVICTION_DEL:"eviction-del",FAST_COMMAND:"fast-command",FORK:"fork",RDB_UNLINK_TEMP_FILE:"rdb-unlink-temp-file"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,event){parser.push("LATENCY","GRAPH",event)},transformReply:void 0}}),require_LATENCY_HISTORY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,event){parser.push("LATENCY","HISTORY",event)},transformReply:void 0}}),require_LATENCY_LATEST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("LATENCY","LATEST")},transformReply:void 0}}),require_LATENCY_RESET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.LATENCY_EVENTS=void 0;var LATENCY_GRAPH_1=require_LATENCY_GRAPH();Object.defineProperty(exports,"LATENCY_EVENTS",{enumerable:!0,get:function(){return LATENCY_GRAPH_1.LATENCY_EVENTS}}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,...events){let args2=["LATENCY","RESET"];if(events.length>0)args2.push(...events);parser.push(...args2)},transformReply:void 0}}),require_LCS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key1,key2){parser.push("LCS"),parser.pushKeys([key1,key2])},transformReply:void 0}}),require_LCS_IDX=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var LCS_1=__importDefault(require_LCS());exports.default={IS_READ_ONLY:LCS_1.default.IS_READ_ONLY,parseCommand(parser,key1,key2,options){if(LCS_1.default.parseCommand(parser,key1,key2),parser.push("IDX"),options?.MINMATCHLEN)parser.push("MINMATCHLEN",options.MINMATCHLEN.toString())},transformReply:{2:(reply)=>({matches:reply[1],len:reply[3]}),3:void 0}}}),require_LCS_IDX_WITHMATCHLEN=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var LCS_IDX_1=__importDefault(require_LCS_IDX());exports.default={IS_READ_ONLY:LCS_IDX_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];LCS_IDX_1.default.parseCommand(...args2),parser.push("WITHMATCHLEN")},transformReply:{2:(reply)=>({matches:reply[1],len:reply[3]}),3:void 0}}}),require_LCS_LEN=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var LCS_1=__importDefault(require_LCS());exports.default={IS_READ_ONLY:LCS_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];LCS_1.default.parseCommand(...args2),parser.push("LEN")},transformReply:void 0}}),require_LINDEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,index){parser.push("LINDEX"),parser.pushKey(key),parser.push(index.toString())},transformReply:void 0}}),require_LINSERT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,position,pivot,element){parser.push("LINSERT"),parser.pushKey(key),parser.push(position,pivot,element)},transformReply:void 0}}),require_LLEN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("LLEN"),parser.pushKey(key)},transformReply:void 0}}),require_LMOVE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,sourceSide,destinationSide){parser.push("LMOVE"),parser.pushKeys([source,destination]),parser.push(sourceSide,destinationSide)},transformReply:void 0}}),require_LOLWUT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,version,...optionalArguments){if(parser.push("LOLWUT"),version)parser.push("VERSION",version.toString()),parser.pushVariadic(optionalArguments.map(String))},transformReply:void 0}}),require_LPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key){parser.push("LPOP"),parser.pushKey(key)},transformReply:void 0}}),require_LPOP_COUNT=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var LPOP_1=__importDefault(require_LPOP());exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,count32){LPOP_1.default.parseCommand(parser,key),parser.push(count32.toString())},transformReply:void 0}}),require_LPOS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,element,options){if(parser.push("LPOS"),parser.pushKey(key),parser.push(element),options?.RANK!==void 0)parser.push("RANK",options.RANK.toString());if(options?.MAXLEN!==void 0)parser.push("MAXLEN",options.MAXLEN.toString())},transformReply:void 0}}),require_LPOS_COUNT=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var LPOS_1=__importDefault(require_LPOS());exports.default={CACHEABLE:LPOS_1.default.CACHEABLE,IS_READ_ONLY:LPOS_1.default.IS_READ_ONLY,parseCommand(parser,key,element,count32,options){LPOS_1.default.parseCommand(parser,key,element,options),parser.push("COUNT",count32.toString())},transformReply:void 0}}),require_LPUSH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,elements){parser.push("LPUSH"),parser.pushKey(key),parser.pushVariadic(elements)},transformReply:void 0}}),require_LPUSHX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,elements){parser.push("LPUSHX"),parser.pushKey(key),parser.pushVariadic(elements)},transformReply:void 0}}),require_LRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,start3,stop22){parser.push("LRANGE"),parser.pushKey(key),parser.push(start3.toString(),stop22.toString())},transformReply:void 0}}),require_LREM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count32,element){parser.push("LREM"),parser.pushKey(key),parser.push(count32.toString()),parser.push(element)},transformReply:void 0}}),require_LSET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,index,element){parser.push("LSET"),parser.pushKey(key),parser.push(index.toString(),element)},transformReply:void 0}}),require_LTRIM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,start3,stop22){parser.push("LTRIM"),parser.pushKey(key),parser.push(start3.toString(),stop22.toString())},transformReply:void 0}}),require_MEMORY_DOCTOR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("MEMORY","DOCTOR")},transformReply:void 0}}),require_MEMORY_MALLOC_STATS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("MEMORY","MALLOC-STATS")},transformReply:void 0}}),require_MEMORY_PURGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser){parser.push("MEMORY","PURGE")},transformReply:void 0}}),require_MEMORY_STATS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("MEMORY","STATS")},transformReply:{2:(rawReply,preserve,typeMapping)=>{let reply={},i=0;while(i<rawReply.length)switch(rawReply[i].toString()){case"dataset.percentage":case"peak.percentage":case"allocator-fragmentation.ratio":case"allocator-rss.ratio":case"rss-overhead.ratio":case"fragmentation":reply[rawReply[i++]]=generic_transformers_1.transformDoubleReply[2](rawReply[i++],preserve,typeMapping);break;default:reply[rawReply[i++]]=rawReply[i++]}return reply},3:void 0}}}),require_MEMORY_USAGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("MEMORY","USAGE"),parser.pushKey(key),options?.SAMPLES)parser.push("SAMPLES",options.SAMPLES.toString())},transformReply:void 0}}),require_MGET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("MGET"),parser.pushKeys(keys3)},transformReply:void 0}}),require_MIGRATE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,host,port3,key,destinationDb,timeout5,options){parser.push("MIGRATE",host,port3.toString());let isKeyArray=Array.isArray(key);if(isKeyArray)parser.push("");else parser.push(key);if(parser.push(destinationDb.toString(),timeout5.toString()),options?.COPY)parser.push("COPY");if(options?.REPLACE)parser.push("REPLACE");if(options?.AUTH)if(options.AUTH.username)parser.push("AUTH2",options.AUTH.username,options.AUTH.password);else parser.push("AUTH",options.AUTH.password);if(isKeyArray)parser.push("KEYS"),parser.pushVariadic(key)},transformReply:void 0}}),require_MODULE_LIST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("MODULE","LIST")},transformReply:{2:(reply)=>{return reply.map((module2)=>{let unwrapped=module2;return{name:unwrapped[1],ver:unwrapped[3]}})},3:void 0}}}),require_MODULE_LOAD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,path,moduleArguments){if(parser.push("MODULE","LOAD",path),moduleArguments)parser.push(...moduleArguments)},transformReply:void 0}}),require_MODULE_UNLOAD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,name){parser.push("MODULE","UNLOAD",name)},transformReply:void 0}}),require_MOVE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,db){parser.push("MOVE"),parser.pushKey(key),parser.push(db.toString())},transformReply:void 0}}),require_MSET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseMSetArguments=void 0;function parseMSetArguments(parser,toSet3){if(Array.isArray(toSet3)){if(toSet3.length==0)throw Error("empty toSet Argument");if(Array.isArray(toSet3[0]))for(let tuple22 of toSet3)parser.pushKey(tuple22[0]),parser.push(tuple22[1]);else{let arr=toSet3;for(let i=0;i<arr.length;i+=2)parser.pushKey(arr[i]),parser.push(arr[i+1])}}else for(let tuple22 of Object.entries(toSet3))parser.pushKey(tuple22[0]),parser.push(tuple22[1])}exports.parseMSetArguments=parseMSetArguments,exports.default={IS_READ_ONLY:!0,parseCommand(parser,toSet3){return parser.push("MSET"),parseMSetArguments(parser,toSet3)},transformReply:void 0}}),require_MSETEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseMSetExArguments=exports.ExpirationMode=exports.SetMode=void 0;var generic_transformers_1=require_generic_transformers();exports.SetMode={XX:"XX",NX:"NX"},exports.ExpirationMode={EX:"EX",PX:"PX",EXAT:"EXAT",PXAT:"PXAT",KEEPTTL:"KEEPTTL"};function parseMSetExArguments(parser,keyValuePairs){let tuples=[];if(Array.isArray(keyValuePairs)){if(keyValuePairs.length==0)throw Error("empty keyValuePairs Argument");if(Array.isArray(keyValuePairs[0]))tuples=keyValuePairs;else{let arr=keyValuePairs;for(let i=0;i<arr.length;i+=2)tuples.push([arr[i],arr[i+1]])}}else for(let tuple22 of Object.entries(keyValuePairs))tuples.push([tuple22[0],tuple22[1]]);parser.push(tuples.length.toString());for(let tuple22 of tuples)parser.pushKey(tuple22[0]),parser.push(tuple22[1])}exports.parseMSetExArguments=parseMSetExArguments,exports.default={parseCommand(parser,keyValuePairs,options){if(parser.push("MSETEX"),parseMSetExArguments(parser,keyValuePairs),options?.mode)parser.push(options.mode);if(options?.expiration)switch(options.expiration.type){case exports.ExpirationMode.EXAT:parser.push(exports.ExpirationMode.EXAT,(0,generic_transformers_1.transformEXAT)(options.expiration.value));break;case exports.ExpirationMode.PXAT:parser.push(exports.ExpirationMode.PXAT,(0,generic_transformers_1.transformPXAT)(options.expiration.value));break;case exports.ExpirationMode.KEEPTTL:parser.push(exports.ExpirationMode.KEEPTTL);break;case exports.ExpirationMode.EX:case exports.ExpirationMode.PX:parser.push(options.expiration.type,options.expiration.value?.toString());break}},transformReply:void 0}}),require_MSETNX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var MSET_1=require_MSET();exports.default={IS_READ_ONLY:!0,parseCommand(parser,toSet3){return parser.push("MSETNX"),(0,MSET_1.parseMSetArguments)(parser,toSet3)},transformReply:void 0}}),require_OBJECT_ENCODING=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("OBJECT","ENCODING"),parser.pushKey(key)},transformReply:void 0}}),require_OBJECT_FREQ=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("OBJECT","FREQ"),parser.pushKey(key)},transformReply:void 0}}),require_OBJECT_IDLETIME=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("OBJECT","IDLETIME"),parser.pushKey(key)},transformReply:void 0}}),require_OBJECT_REFCOUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("OBJECT","REFCOUNT"),parser.pushKey(key)},transformReply:void 0}}),require_PERSIST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key){parser.push("PERSIST"),parser.pushKey(key)},transformReply:void 0}}),require_PEXPIRE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,ms,mode){if(parser.push("PEXPIRE"),parser.pushKey(key),parser.push(ms.toString()),mode)parser.push(mode)},transformReply:void 0}}),require_PEXPIREAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,msTimestamp,mode){if(parser.push("PEXPIREAT"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformPXAT)(msTimestamp)),mode)parser.push(mode)},transformReply:void 0}}),require_PEXPIRETIME=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("PEXPIRETIME"),parser.pushKey(key)},transformReply:void 0}}),require_PFADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,element){if(parser.push("PFADD"),parser.pushKey(key),element)parser.pushVariadic(element)},transformReply:void 0}}),require_PFCOUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("PFCOUNT"),parser.pushKeys(keys3)},transformReply:void 0}}),require_PFMERGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,destination,sources){if(parser.push("PFMERGE"),parser.pushKey(destination),sources)parser.pushKeys(sources)},transformReply:void 0}}),require_PING=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,message){if(parser.push("PING"),message)parser.push(message)},transformReply:void 0}}),require_PSETEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,ms,value){parser.push("PSETEX"),parser.pushKey(key),parser.push(ms.toString(),value)},transformReply:void 0}}),require_PTTL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("PTTL"),parser.pushKey(key)},transformReply:void 0}}),require_PUBLISH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,IS_FORWARD_COMMAND:!0,parseCommand(parser,channel,message){parser.push("PUBLISH",channel,message)},transformReply:void 0}}),require_PUBSUB_CHANNELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,pattern){if(parser.push("PUBSUB","CHANNELS"),pattern)parser.push(pattern)},transformReply:void 0}}),require_PUBSUB_NUMPAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("PUBSUB","NUMPAT")},transformReply:void 0}}),require_PUBSUB_NUMSUB=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,channels){if(parser.push("PUBSUB","NUMSUB"),channels)parser.pushVariadic(channels)},transformReply(rawReply){let reply=Object.create(null),i=0;while(i<rawReply.length)reply[rawReply[i++].toString()]=Number(rawReply[i++]);return reply}}}),require_PUBSUB_SHARDNUMSUB=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,channels){if(parser.push("PUBSUB","SHARDNUMSUB"),channels)parser.pushVariadic(channels)},transformReply(reply){let transformedReply=Object.create(null);for(let i=0;i<reply.length;i+=2)transformedReply[reply[i].toString()]=reply[i+1];return transformedReply}}}),require_PUBSUB_SHARDCHANNELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,pattern){if(parser.push("PUBSUB","SHARDCHANNELS"),pattern)parser.push(pattern)},transformReply:void 0}}),require_RANDOMKEY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("RANDOMKEY")},transformReply:void 0}}),require_READONLY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("READONLY")},transformReply:void 0}}),require_RENAME=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,newKey){parser.push("RENAME"),parser.pushKeys([key,newKey])},transformReply:void 0}}),require_RENAMENX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,newKey){parser.push("RENAMENX"),parser.pushKeys([key,newKey])},transformReply:void 0}}),require_REPLICAOF=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,host,port3){parser.push("REPLICAOF",host,port3.toString())},transformReply:void 0}}),require_RESTORE_ASKING=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("RESTORE-ASKING")},transformReply:void 0}}),require_RESTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,ttl,serializedValue,options){if(parser.push("RESTORE"),parser.pushKey(key),parser.push(ttl.toString(),serializedValue),options?.REPLACE)parser.push("REPLACE");if(options?.ABSTTL)parser.push("ABSTTL");if(options?.IDLETIME)parser.push("IDLETIME",options.IDLETIME.toString());if(options?.FREQ)parser.push("FREQ",options.FREQ.toString())},transformReply:void 0}}),require_ROLE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("ROLE")},transformReply(reply){switch(reply[0]){case"master":{let[role,replicationOffest,replicas]=reply;return{role,replicationOffest,replicas:replicas.map((replica)=>{let[host,port3,replicationOffest2]=replica;return{host,port:Number(port3),replicationOffest:Number(replicationOffest2)}})}}case"slave":{let[role,masterHost,masterPort,state,dataReceived]=reply;return{role,master:{host:masterHost,port:masterPort},state,dataReceived}}case"sentinel":{let[role,masterNames]=reply;return{role,masterNames}}}}}}),require_RPOP_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,count32){parser.push("RPOP"),parser.pushKey(key),parser.push(count32.toString())},transformReply:void 0}}),require_RPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key){parser.push("RPOP"),parser.pushKey(key)},transformReply:void 0}}),require_RPOPLPUSH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,source,destination){parser.push("RPOPLPUSH"),parser.pushKeys([source,destination])},transformReply:void 0}}),require_RPUSH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,element){parser.push("RPUSH"),parser.pushKey(key),parser.pushVariadic(element)},transformReply:void 0}}),require_RPUSHX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,element){parser.push("RPUSHX"),parser.pushKey(key),parser.pushVariadic(element)},transformReply:void 0}}),require_SADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,members){parser.push("SADD"),parser.pushKey(key),parser.pushVariadic(members)},transformReply:void 0}}),require_SCARD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("SCARD"),parser.pushKey(key)},transformReply:void 0}}),require_SCRIPT_DEBUG=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,mode){parser.push("SCRIPT","DEBUG",mode)},transformReply:void 0}}),require_SCRIPT_EXISTS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,sha1){parser.push("SCRIPT","EXISTS"),parser.pushVariadic(sha1)},transformReply:void 0}}),require_SCRIPT_FLUSH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,mode){if(parser.push("SCRIPT","FLUSH"),mode)parser.push(mode)},transformReply:void 0}}),require_SCRIPT_KILL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("SCRIPT","KILL")},transformReply:void 0}}),require_SCRIPT_LOAD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,script){parser.push("SCRIPT","LOAD",script)},transformReply:void 0}}),require_SDIFF=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("SDIFF"),parser.pushKeys(keys3)},transformReply:void 0}}),require_SDIFFSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,destination,keys3){parser.push("SDIFFSTORE"),parser.pushKey(destination),parser.pushKeys(keys3)},transformReply:void 0}}),require_SET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,value,options){if(parser.push("SET"),parser.pushKey(key),parser.push(typeof value==="number"?value.toString():value),options?.expiration)if(typeof options.expiration==="string")parser.push(options.expiration);else if(options.expiration.type==="KEEPTTL")parser.push("KEEPTTL");else parser.push(options.expiration.type,options.expiration.value.toString());else if(options?.EX!==void 0)parser.push("EX",options.EX.toString());else if(options?.PX!==void 0)parser.push("PX",options.PX.toString());else if(options?.EXAT!==void 0)parser.push("EXAT",options.EXAT.toString());else if(options?.PXAT!==void 0)parser.push("PXAT",options.PXAT.toString());else if(options?.KEEPTTL)parser.push("KEEPTTL");if(options?.condition){if(parser.push(options.condition),options?.matchValue!==void 0)parser.push(options.matchValue)}else if(options?.NX)parser.push("NX");else if(options?.XX)parser.push("XX");if(options?.GET)parser.push("GET")},transformReply:void 0}}),require_SETBIT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,offset,value){parser.push("SETBIT"),parser.pushKey(key),parser.push(offset.toString(),value.toString())},transformReply:void 0}}),require_SETEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,seconds2,value){parser.push("SETEX"),parser.pushKey(key),parser.push(seconds2.toString(),value)},transformReply:void 0}}),require_SETNX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,value){parser.push("SETNX"),parser.pushKey(key),parser.push(value)},transformReply:void 0}}),require_SETRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,offset,value){parser.push("SETRANGE"),parser.pushKey(key),parser.push(offset.toString(),value)},transformReply:void 0}}),require_SINTER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("SINTER"),parser.pushKeys(keys3)},transformReply:void 0}}),require_SINTERCARD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3,options){if(parser.push("SINTERCARD"),parser.pushKeysLength(keys3),typeof options==="number")parser.push("LIMIT",options.toString());else if(options?.LIMIT!==void 0)parser.push("LIMIT",options.LIMIT.toString())},transformReply:void 0}}),require_SINTERSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys3){parser.push("SINTERSTORE"),parser.pushKey(destination),parser.pushKeys(keys3)},transformReply:void 0}}),require_SISMEMBER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("SISMEMBER"),parser.pushKey(key),parser.push(member)},transformReply:void 0}}),require_SMEMBERS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("SMEMBERS"),parser.pushKey(key)},transformReply:{2:void 0,3:void 0}}}),require_SMISMEMBER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,members){parser.push("SMISMEMBER"),parser.pushKey(key),parser.pushVariadic(members)},transformReply:void 0}}),require_SMOVE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,member){parser.push("SMOVE"),parser.pushKeys([source,destination]),parser.push(member)},transformReply:void 0}}),require_SORT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseSortArguments=void 0;function parseSortArguments(parser,key,options){if(parser.pushKey(key),options?.BY)parser.push("BY",options.BY);if(options?.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString());if(options?.GET)if(Array.isArray(options.GET))for(let pattern of options.GET)parser.push("GET",pattern);else parser.push("GET",options.GET);if(options?.DIRECTION)parser.push(options.DIRECTION);if(options?.ALPHA)parser.push("ALPHA")}exports.parseSortArguments=parseSortArguments,exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){parser.push("SORT"),parseSortArguments(parser,key,options)},transformReply:void 0}}),require_SORT_RO=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var SORT_1=__importStar(require_SORT());exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("SORT_RO"),(0,SORT_1.parseSortArguments)(...args2)},transformReply:SORT_1.default.transformReply}}),require_SORT_STORE=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var SORT_1=__importDefault(require_SORT());exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,options){SORT_1.default.parseCommand(parser,source,options),parser.push("STORE",destination)},transformReply:void 0}}),require_SPOP_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,count32){parser.push("SPOP"),parser.pushKey(key),parser.push(count32.toString())},transformReply:void 0}}),require_SPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key){parser.push("SPOP"),parser.pushKey(key)},transformReply:void 0}}),require_SPUBLISH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,channel,message){parser.push("SPUBLISH"),parser.pushKey(channel),parser.push(message)},transformReply:void 0}}),require_SRANDMEMBER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("SRANDMEMBER"),parser.pushKey(key)},transformReply:void 0}}),require_SRANDMEMBER_COUNT=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var SRANDMEMBER_1=__importDefault(require_SRANDMEMBER());exports.default={IS_READ_ONLY:SRANDMEMBER_1.default.IS_READ_ONLY,parseCommand(parser,key,count32){SRANDMEMBER_1.default.parseCommand(parser,key),parser.push(count32.toString())},transformReply:void 0}}),require_SREM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,members){parser.push("SREM"),parser.pushKey(key),parser.pushVariadic(members)},transformReply:void 0}}),require_SSCAN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var SCAN_1=require_SCAN();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,cursor,options){parser.push("SSCAN"),parser.pushKey(key),(0,SCAN_1.parseScanArguments)(parser,cursor,options)},transformReply([cursor,members]){return{cursor,members}}}}),require_STRLEN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("STRLEN"),parser.pushKey(key)},transformReply:void 0}}),require_SUNION=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("SUNION"),parser.pushKeys(keys3)},transformReply:void 0}}),require_SUNIONSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys3){parser.push("SUNIONSTORE"),parser.pushKey(destination),parser.pushKeys(keys3)},transformReply:void 0}}),require_SWAPDB=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,index1,index2){parser.push("SWAPDB",index1.toString(),index2.toString())},transformReply:void 0}}),require_TIME=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("TIME")},transformReply:void 0}}),require_TOUCH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key){parser.push("TOUCH"),parser.pushKeys(key)},transformReply:void 0}}),require_TTL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TTL"),parser.pushKey(key)},transformReply:void 0}}),require_TYPE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TYPE"),parser.pushKey(key)},transformReply:void 0}}),require_UNLINK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys3){parser.push("UNLINK"),parser.pushKeys(keys3)},transformReply:void 0}}),require_WAIT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,numberOfReplicas,timeout5){parser.push("WAIT",numberOfReplicas.toString(),timeout5.toString())},transformReply:void 0}}),require_XACK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,id2){parser.push("XACK"),parser.pushKey(key),parser.push(group3),parser.pushVariadic(id2)},transformReply:void 0}}),require_XACKDEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,id2,policy){if(parser.push("XACKDEL"),parser.pushKey(key),parser.push(group3),policy)parser.push(policy);parser.push("IDS"),parser.pushVariadicWithLength(id2)},transformReply:void 0}}),require_XADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseXAddArguments=void 0;function parseXAddArguments(optional,parser,key,id2,message,options){if(parser.push("XADD"),parser.pushKey(key),optional)parser.push(optional);if(options?.TRIM){if(options.TRIM.strategy)parser.push(options.TRIM.strategy);if(options.TRIM.strategyModifier)parser.push(options.TRIM.strategyModifier);if(parser.push(options.TRIM.threshold.toString()),options.TRIM.limit)parser.push("LIMIT",options.TRIM.limit.toString());if(options.TRIM.policy)parser.push(options.TRIM.policy)}parser.push(id2);for(let[key2,value]of Object.entries(message))parser.push(key2,value)}exports.parseXAddArguments=parseXAddArguments,exports.default={IS_READ_ONLY:!1,parseCommand(...args2){return parseXAddArguments(void 0,...args2)},transformReply:void 0}}),require_XADD_NOMKSTREAM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var XADD_1=require_XADD();exports.default={IS_READ_ONLY:!1,parseCommand(...args2){return(0,XADD_1.parseXAddArguments)("NOMKSTREAM",...args2)},transformReply:void 0}}),require_XAUTOCLAIM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,consumer,minIdleTime,start3,options){if(parser.push("XAUTOCLAIM"),parser.pushKey(key),parser.push(group3,consumer,minIdleTime.toString(),start3),options?.COUNT)parser.push("COUNT",options.COUNT.toString())},transformReply(reply,preserve,typeMapping){return{nextId:reply[0],messages:reply[1].map(generic_transformers_1.transformStreamMessageNullReply.bind(void 0,typeMapping)),deletedMessages:reply[2]}}}}),require_XAUTOCLAIM_JUSTID=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var XAUTOCLAIM_1=__importDefault(require_XAUTOCLAIM());exports.default={IS_READ_ONLY:XAUTOCLAIM_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];XAUTOCLAIM_1.default.parseCommand(...args2),parser.push("JUSTID")},transformReply(reply){return{nextId:reply[0],messages:reply[1],deletedMessages:reply[2]}}}}),require_XCLAIM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,consumer,minIdleTime,id2,options){if(parser.push("XCLAIM"),parser.pushKey(key),parser.push(group3,consumer,minIdleTime.toString()),parser.pushVariadic(id2),options?.IDLE!==void 0)parser.push("IDLE",options.IDLE.toString());if(options?.TIME!==void 0)parser.push("TIME",(options.TIME instanceof Date?options.TIME.getTime():options.TIME).toString());if(options?.RETRYCOUNT!==void 0)parser.push("RETRYCOUNT",options.RETRYCOUNT.toString());if(options?.FORCE)parser.push("FORCE");if(options?.LASTID!==void 0)parser.push("LASTID",options.LASTID)},transformReply(reply,preserve,typeMapping){return reply.map(generic_transformers_1.transformStreamMessageNullReply.bind(void 0,typeMapping))}}}),require_XCLAIM_JUSTID=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var XCLAIM_1=__importDefault(require_XCLAIM());exports.default={IS_READ_ONLY:XCLAIM_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];XCLAIM_1.default.parseCommand(...args2),parser.push("JUSTID")},transformReply:void 0}}),require_XDEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,id2){parser.push("XDEL"),parser.pushKey(key),parser.pushVariadic(id2)},transformReply:void 0}}),require_XDELEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,id2,policy){if(parser.push("XDELEX"),parser.pushKey(key),policy)parser.push(policy);parser.push("IDS"),parser.pushVariadicWithLength(id2)},transformReply:void 0}}),require_XGROUP_CREATE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,id2,options){if(parser.push("XGROUP","CREATE"),parser.pushKey(key),parser.push(group3,id2),options?.MKSTREAM)parser.push("MKSTREAM");if(options?.ENTRIESREAD)parser.push("ENTRIESREAD",options.ENTRIESREAD.toString())},transformReply:void 0}}),require_XGROUP_CREATECONSUMER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,consumer){parser.push("XGROUP","CREATECONSUMER"),parser.pushKey(key),parser.push(group3,consumer)},transformReply:void 0}}),require_XGROUP_DELCONSUMER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,consumer){parser.push("XGROUP","DELCONSUMER"),parser.pushKey(key),parser.push(group3,consumer)},transformReply:void 0}}),require_XGROUP_DESTROY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3){parser.push("XGROUP","DESTROY"),parser.pushKey(key),parser.push(group3)},transformReply:void 0}}),require_XGROUP_SETID=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,id2,options){if(parser.push("XGROUP","SETID"),parser.pushKey(key),parser.push(group3,id2),options?.ENTRIESREAD)parser.push("ENTRIESREAD",options.ENTRIESREAD.toString())},transformReply:void 0}}),require_XINFO_CONSUMERS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,group3){parser.push("XINFO","CONSUMERS"),parser.pushKey(key),parser.push(group3)},transformReply:{2:(reply)=>{return reply.map((consumer)=>{let unwrapped=consumer;return{name:unwrapped[1],pending:unwrapped[3],idle:unwrapped[5],inactive:unwrapped[7]}})},3:void 0}}}),require_XINFO_GROUPS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("XINFO","GROUPS"),parser.pushKey(key)},transformReply:{2:(reply)=>{return reply.map((group3)=>{let unwrapped=group3;return{name:unwrapped[1],consumers:unwrapped[3],pending:unwrapped[5],"last-delivered-id":unwrapped[7],"entries-read":unwrapped[9],lag:unwrapped[11]}})},3:void 0}}}),require_XINFO_STREAM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("XINFO","STREAM"),parser.pushKey(key)},transformReply:{2(reply){let parsedReply={};for(let i=0;i<reply.length;i+=2)switch(reply[i]){case"first-entry":case"last-entry":parsedReply[reply[i]]=transformEntry(reply[i+1]);break;default:parsedReply[reply[i]]=reply[i+1];break}return parsedReply},3(reply){if(reply instanceof Map)reply.set("first-entry",transformEntry(reply.get("first-entry"))),reply.set("last-entry",transformEntry(reply.get("last-entry")));else if(reply instanceof Array)reply[17]=transformEntry(reply[17]),reply[19]=transformEntry(reply[19]);else reply["first-entry"]=transformEntry(reply["first-entry"]),reply["last-entry"]=transformEntry(reply["last-entry"]);return reply}}};function transformEntry(entry){if((0,generic_transformers_1.isNullReply)(entry))return entry;let[id2,message]=entry;return{id:id2,message:(0,generic_transformers_1.transformTuplesReply)(message)}}}),require_XLEN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("XLEN"),parser.pushKey(key)},transformReply:void 0}}),require_XPENDING_RANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,group3,start3,end6,count32,options){if(parser.push("XPENDING"),parser.pushKey(key),parser.push(group3),options?.IDLE!==void 0)parser.push("IDLE",options.IDLE.toString());if(parser.push(start3,end6,count32.toString()),options?.consumer)parser.push(options.consumer)},transformReply(reply){return reply.map((pending3)=>{let unwrapped=pending3;return{id:unwrapped[0],consumer:unwrapped[1],millisecondsSinceLastDelivery:unwrapped[2],deliveriesCounter:unwrapped[3]}})}}}),require_XPENDING=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,group3){parser.push("XPENDING"),parser.pushKey(key),parser.push(group3)},transformReply(reply){let consumers=reply[3];return{pending:reply[0],firstId:reply[1],lastId:reply[2],consumers:consumers===null?null:consumers.map((consumer)=>{let[name,deliveriesCounter]=consumer;return{name,deliveriesCounter:Number(deliveriesCounter)}})}}}}),require_XRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.xRangeArguments=void 0;var generic_transformers_1=require_generic_transformers();function xRangeArguments(start3,end6,options){let args2=[start3,end6];if(options?.COUNT)args2.push("COUNT",options.COUNT.toString());return args2}exports.xRangeArguments=xRangeArguments,exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,...args2){parser.push("XRANGE"),parser.pushKey(key),parser.pushVariadic(xRangeArguments(args2[0],args2[1],args2[2]))},transformReply(reply,preserve,typeMapping){return reply.map(generic_transformers_1.transformStreamMessageReply.bind(void 0,typeMapping))}}}),require_XREAD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.pushXReadStreams=void 0;var generic_transformers_1=require_generic_transformers();function pushXReadStreams(parser,streams){if(parser.push("STREAMS"),Array.isArray(streams)){for(let i=0;i<streams.length;i++)parser.pushKey(streams[i].key);for(let i=0;i<streams.length;i++)parser.push(streams[i].id)}else parser.pushKey(streams.key),parser.push(streams.id)}exports.pushXReadStreams=pushXReadStreams,exports.default={IS_READ_ONLY:!0,parseCommand(parser,streams,options){if(parser.push("XREAD"),options?.COUNT)parser.push("COUNT",options.COUNT.toString());if(options?.BLOCK!==void 0)parser.push("BLOCK",options.BLOCK.toString());pushXReadStreams(parser,streams)},transformReply:{2:generic_transformers_1.transformStreamsMessagesReplyResp2,3:void 0},unstableResp3:!0}}),require_XREADGROUP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var XREAD_1=require_XREAD(),generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,group3,consumer,streams,options){if(parser.push("XREADGROUP","GROUP",group3,consumer),options?.COUNT!==void 0)parser.push("COUNT",options.COUNT.toString());if(options?.BLOCK!==void 0)parser.push("BLOCK",options.BLOCK.toString());if(options?.NOACK)parser.push("NOACK");if(options?.CLAIM!==void 0)parser.push("CLAIM",options.CLAIM.toString());(0,XREAD_1.pushXReadStreams)(parser,streams)},transformReply:{2:generic_transformers_1.transformStreamsMessagesReplyResp2,3:void 0}}}),require_XREVRANGE=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var XRANGE_1=__importStar(require_XRANGE());exports.default={CACHEABLE:XRANGE_1.default.CACHEABLE,IS_READ_ONLY:XRANGE_1.default.IS_READ_ONLY,parseCommand(parser,key,...args2){parser.push("XREVRANGE"),parser.pushKey(key),parser.pushVariadic((0,XRANGE_1.xRangeArguments)(args2[0],args2[1],args2[2]))},transformReply:XRANGE_1.default.transformReply}}),require_XSETID=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,lastId,options){if(parser.push("XSETID"),parser.pushKey(key),parser.push(lastId),options?.ENTRIESADDED)parser.push("ENTRIESADDED",options.ENTRIESADDED.toString());if(options?.MAXDELETEDID)parser.push("MAXDELETEDID",options.MAXDELETEDID)},transformReply:void 0}}),require_XTRIM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,strategy,threshold,options){if(parser.push("XTRIM"),parser.pushKey(key),parser.push(strategy),options?.strategyModifier)parser.push(options.strategyModifier);if(parser.push(threshold.toString()),options?.LIMIT)parser.push("LIMIT",options.LIMIT.toString());if(options?.policy)parser.push(options.policy)},transformReply:void 0}}),require_ZADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.pushMembers=void 0;var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,members,options){if(parser.push("ZADD"),parser.pushKey(key),options?.condition)parser.push(options.condition);else if(options?.NX)parser.push("NX");else if(options?.XX)parser.push("XX");if(options?.comparison)parser.push(options.comparison);else if(options?.LT)parser.push("LT");else if(options?.GT)parser.push("GT");if(options?.CH)parser.push("CH");pushMembers(parser,members)},transformReply:generic_transformers_1.transformDoubleReply};function pushMembers(parser,members){if(Array.isArray(members))for(let member of members)pushMember(parser,member);else pushMember(parser,members)}exports.pushMembers=pushMembers;function pushMember(parser,member){parser.push((0,generic_transformers_1.transformDoubleArgument)(member.score),member.value)}}),require_ZADD_INCR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var ZADD_1=require_ZADD(),generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,members,options){if(parser.push("ZADD"),parser.pushKey(key),options?.condition)parser.push(options.condition);if(options?.comparison)parser.push(options.comparison);if(options?.CH)parser.push("CH");parser.push("INCR"),(0,ZADD_1.pushMembers)(parser,members)},transformReply:generic_transformers_1.transformNullableDoubleReply}}),require_ZCARD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("ZCARD"),parser.pushKey(key)},transformReply:void 0}}),require_ZCOUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,min32,max52){parser.push("ZCOUNT"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52))},transformReply:void 0}}),require_ZDIFF=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("ZDIFF"),parser.pushKeysLength(keys3)},transformReply:void 0}}),require_ZDIFF_WITHSCORES=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),ZDIFF_1=__importDefault(require_ZDIFF());exports.default={IS_READ_ONLY:ZDIFF_1.default.IS_READ_ONLY,parseCommand(parser,keys3){ZDIFF_1.default.parseCommand(parser,keys3),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZDIFFSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,destination,inputKeys){parser.push("ZDIFFSTORE"),parser.pushKey(destination),parser.pushKeysLength(inputKeys)},transformReply:void 0}}),require_ZINCRBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,increment,member){parser.push("ZINCRBY"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformDoubleArgument)(increment),member)},transformReply:generic_transformers_1.transformDoubleReply}}),require_ZINTER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseZInterArguments=void 0;var generic_transformers_1=require_generic_transformers();function parseZInterArguments(parser,keys3,options){if((0,generic_transformers_1.parseZKeysArguments)(parser,keys3),options?.AGGREGATE)parser.push("AGGREGATE",options.AGGREGATE)}exports.parseZInterArguments=parseZInterArguments,exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3,options){parser.push("ZINTER"),parseZInterArguments(parser,keys3,options)},transformReply:void 0}}),require_ZINTER_WITHSCORES=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),ZINTER_1=__importDefault(require_ZINTER());exports.default={IS_READ_ONLY:ZINTER_1.default.IS_READ_ONLY,parseCommand(...args2){ZINTER_1.default.parseCommand(...args2),args2[0].push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZINTERCARD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3,options){if(parser.push("ZINTERCARD"),parser.pushKeysLength(keys3),typeof options==="number")parser.push("LIMIT",options.toString());else if(options?.LIMIT)parser.push("LIMIT",options.LIMIT.toString())},transformReply:void 0}}),require_ZINTERSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var ZINTER_1=require_ZINTER();exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys3,options){parser.push("ZINTERSTORE"),parser.pushKey(destination),(0,ZINTER_1.parseZInterArguments)(parser,keys3,options)},transformReply:void 0}}),require_ZLEXCOUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,min32,max52){parser.push("ZLEXCOUNT"),parser.pushKey(key),parser.push(min32),parser.push(max52)},transformReply:void 0}}),require_ZMSCORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("ZMSCORE"),parser.pushKey(key),parser.pushVariadic(member)},transformReply:{2:(reply,preserve,typeMapping)=>{return reply.map((0,generic_transformers_1.createTransformNullableDoubleReplyResp2Func)(preserve,typeMapping))},3:void 0}}}),require_ZPOPMAX_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,count32){parser.push("ZPOPMAX"),parser.pushKey(key),parser.push(count32.toString())},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZPOPMAX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key){parser.push("ZPOPMAX"),parser.pushKey(key)},transformReply:{2:(reply,preserve,typeMapping)=>{if(reply.length===0)return null;return{value:reply[0],score:generic_transformers_1.transformDoubleReply[2](reply[1],preserve,typeMapping)}},3:(reply)=>{if(reply.length===0)return null;return{value:reply[0],score:reply[1]}}}}}),require_ZPOPMIN_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,count32){parser.push("ZPOPMIN"),parser.pushKey(key),parser.push(count32.toString())},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZPOPMIN=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ZPOPMAX_1=__importDefault(require_ZPOPMAX());exports.default={IS_READ_ONLY:!1,parseCommand(parser,key){parser.push("ZPOPMIN"),parser.pushKey(key)},transformReply:ZPOPMAX_1.default.transformReply}}),require_ZRANDMEMBER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("ZRANDMEMBER"),parser.pushKey(key)},transformReply:void 0}}),require_ZRANDMEMBER_COUNT=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ZRANDMEMBER_1=__importDefault(require_ZRANDMEMBER());exports.default={IS_READ_ONLY:ZRANDMEMBER_1.default.IS_READ_ONLY,parseCommand(parser,key,count32){ZRANDMEMBER_1.default.parseCommand(parser,key),parser.push(count32.toString())},transformReply:void 0}}),require_ZRANDMEMBER_COUNT_WITHSCORES=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),ZRANDMEMBER_COUNT_1=__importDefault(require_ZRANDMEMBER_COUNT());exports.default={IS_READ_ONLY:ZRANDMEMBER_COUNT_1.default.IS_READ_ONLY,parseCommand(parser,key,count32){ZRANDMEMBER_COUNT_1.default.parseCommand(parser,key,count32),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.zRangeArgument=void 0;var generic_transformers_1=require_generic_transformers();function zRangeArgument(min32,max52,options){let args2=[(0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52)];switch(options?.BY){case"SCORE":args2.push("BYSCORE");break;case"LEX":args2.push("BYLEX");break}if(options?.REV)args2.push("REV");if(options?.LIMIT)args2.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString());return args2}exports.zRangeArgument=zRangeArgument,exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,min32,max52,options){parser.push("ZRANGE"),parser.pushKey(key),parser.pushVariadic(zRangeArgument(min32,max52,options))},transformReply:void 0}}),require_ZRANGE_WITHSCORES=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),ZRANGE_1=__importDefault(require_ZRANGE());exports.default={CACHEABLE:ZRANGE_1.default.CACHEABLE,IS_READ_ONLY:ZRANGE_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];ZRANGE_1.default.parseCommand(...args2),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZRANGEBYLEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,min32,max52,options){if(parser.push("ZRANGEBYLEX"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52)),options?.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString())},transformReply:void 0}}),require_ZRANGEBYSCORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,min32,max52,options){if(parser.push("ZRANGEBYSCORE"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52)),options?.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString())},transformReply:void 0}}),require_ZRANGEBYSCORE_WITHSCORES=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),ZRANGEBYSCORE_1=__importDefault(require_ZRANGEBYSCORE());exports.default={CACHEABLE:ZRANGEBYSCORE_1.default.CACHEABLE,IS_READ_ONLY:ZRANGEBYSCORE_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];ZRANGEBYSCORE_1.default.parseCommand(...args2),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZRANGESTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,source,min32,max52,options){switch(parser.push("ZRANGESTORE"),parser.pushKey(destination),parser.pushKey(source),parser.push((0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52)),options?.BY){case"SCORE":parser.push("BYSCORE");break;case"LEX":parser.push("BYLEX");break}if(options?.REV)parser.push("REV");if(options?.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString())},transformReply:void 0}}),require_ZREMRANGEBYSCORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,min32,max52){parser.push("ZREMRANGEBYSCORE"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52))},transformReply:void 0}}),require_ZRANK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("ZRANK"),parser.pushKey(key),parser.push(member)},transformReply:void 0}}),require_ZRANK_WITHSCORE=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ZRANK_1=__importDefault(require_ZRANK());exports.default={CACHEABLE:ZRANK_1.default.CACHEABLE,IS_READ_ONLY:ZRANK_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];ZRANK_1.default.parseCommand(...args2),parser.push("WITHSCORE")},transformReply:{2:(reply)=>{if(reply===null)return null;return{rank:reply[0],score:Number(reply[1])}},3:(reply)=>{if(reply===null)return null;return{rank:reply[0],score:reply[1]}}}}}),require_ZREM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,member){parser.push("ZREM"),parser.pushKey(key),parser.pushVariadic(member)},transformReply:void 0}}),require_ZREMRANGEBYLEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,min32,max52){parser.push("ZREMRANGEBYLEX"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52))},transformReply:void 0}}),require_ZREMRANGEBYRANK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,start3,stop22){parser.push("ZREMRANGEBYRANK"),parser.pushKey(key),parser.push(start3.toString(),stop22.toString())},transformReply:void 0}}),require_ZREVRANK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("ZREVRANK"),parser.pushKey(key),parser.push(member)},transformReply:void 0}}),require_ZSCAN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var SCAN_1=require_SCAN(),generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,cursor,options){parser.push("ZSCAN"),parser.pushKey(key),(0,SCAN_1.parseScanArguments)(parser,cursor,options)},transformReply([cursor,rawMembers]){return{cursor,members:generic_transformers_1.transformSortedSetReply[2](rawMembers)}}}}),require_ZSCORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("ZSCORE"),parser.pushKey(key),parser.push(member)},transformReply:generic_transformers_1.transformNullableDoubleReply}}),require_ZUNION=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3,options){if(parser.push("ZUNION"),(0,generic_transformers_1.parseZKeysArguments)(parser,keys3),options?.AGGREGATE)parser.push("AGGREGATE",options.AGGREGATE)},transformReply:void 0}}),require_ZUNION_WITHSCORES=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),ZUNION_1=__importDefault(require_ZUNION());exports.default={IS_READ_ONLY:ZUNION_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];ZUNION_1.default.parseCommand(...args2),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZUNIONSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys3,options){if(parser.push("ZUNIONSTORE"),parser.pushKey(destination),(0,generic_transformers_1.parseZKeysArguments)(parser,keys3),options?.AGGREGATE)parser.push("AGGREGATE",options.AGGREGATE)},transformReply:void 0}}),require_VADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,vector,element,options){if(parser.push("VADD"),parser.pushKey(key),options?.REDUCE!==void 0)parser.push("REDUCE",options.REDUCE.toString());parser.push("VALUES",vector.length.toString());for(let value of vector)parser.push((0,generic_transformers_1.transformDoubleArgument)(value));if(parser.push(element),options?.CAS)parser.push("CAS");if(options?.QUANT&&parser.push(options.QUANT),options?.EF!==void 0)parser.push("EF",options.EF.toString());if(options?.SETATTR)parser.push("SETATTR",JSON.stringify(options.SETATTR));if(options?.M!==void 0)parser.push("M",options.M.toString())},transformReply:generic_transformers_1.transformBooleanReply}}),require_VCARD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("VCARD"),parser.pushKey(key)},transformReply:void 0}}),require_VDIM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("VDIM"),parser.pushKey(key)},transformReply:void 0}}),require_VEMB=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,element){parser.push("VEMB"),parser.pushKey(key),parser.push(element)},transformReply:generic_transformers_1.transformDoubleArrayReply}}),require_VEMB_RAW=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),VEMB_1=__importDefault(require_VEMB()),transformRawVembReply={2:(reply)=>{return{quantization:reply[0],raw:reply[1],l2Norm:generic_transformers_1.transformDoubleReply[2](reply[2]),...reply[3]!==void 0&&{quantizationRange:generic_transformers_1.transformDoubleReply[2](reply[3])}}},3:(reply)=>{return{quantization:reply[0],raw:reply[1],l2Norm:reply[2],quantizationRange:reply[3]}}};exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,element){VEMB_1.default.parseCommand(parser,key,element),parser.push("RAW")},transformReply:transformRawVembReply}}),require_VGETATTR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,element){parser.push("VGETATTR"),parser.pushKey(key),parser.push(element)},transformReply:generic_transformers_1.transformRedisJsonNullReply}}),require_VINFO=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("VINFO"),parser.pushKey(key)},transformReply:{2:(reply)=>{let ret=Object.create(null);for(let i=0;i<reply.length;i+=2)ret[reply[i].toString()]=reply[i+1];return ret},3:void 0}}}),require_VLINKS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,element){parser.push("VLINKS"),parser.pushKey(key),parser.push(element)},transformReply:void 0}}),require_VLINKS_WITHSCORES=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),VLINKS_1=__importDefault(require_VLINKS());function transformVLinksWithScoresReply(reply){let layers=[];for(let layer of reply){let obj=Object.create(null);for(let i=0;i<layer.length;i+=2){let element=layer[i],score=generic_transformers_1.transformDoubleReply[2](layer[i+1]);obj[element.toString()]=score}layers.push(obj)}return layers}exports.default={IS_READ_ONLY:VLINKS_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];VLINKS_1.default.parseCommand(...args2),parser.push("WITHSCORES")},transformReply:{2:transformVLinksWithScoresReply,3:void 0}}}),require_VRANDMEMBER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count32){if(parser.push("VRANDMEMBER"),parser.pushKey(key),count32!==void 0)parser.push(count32.toString())},transformReply:void 0}}),require_VREM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,element){parser.push("VREM"),parser.pushKey(key),parser.push(element)},transformReply:generic_transformers_1.transformBooleanReply}}),require_VSETATTR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,element,attributes){if(parser.push("VSETATTR"),parser.pushKey(key),parser.push(element),typeof attributes==="object"&&attributes!==null)parser.push(JSON.stringify(attributes));else parser.push(attributes)},transformReply:generic_transformers_1.transformBooleanReply}}),require_VSIM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,query,options){if(parser.push("VSIM"),parser.pushKey(key),Array.isArray(query)){parser.push("VALUES",query.length.toString());for(let value of query)parser.push((0,generic_transformers_1.transformDoubleArgument)(value))}else parser.push("ELE",query);if(options?.COUNT!==void 0)parser.push("COUNT",options.COUNT.toString());if(options?.EPSILON!==void 0)parser.push("EPSILON",options.EPSILON.toString());if(options?.EF!==void 0)parser.push("EF",options.EF.toString());if(options?.FILTER)parser.push("FILTER",options.FILTER);if(options?.["FILTER-EF"]!==void 0)parser.push("FILTER-EF",options["FILTER-EF"].toString());if(options?.TRUTH)parser.push("TRUTH");if(options?.NOTHREAD)parser.push("NOTHREAD")},transformReply:void 0}}),require_VSIM_WITHSCORES=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),VSIM_1=__importDefault(require_VSIM());exports.default={IS_READ_ONLY:VSIM_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];VSIM_1.default.parseCommand(...args2),parser.push("WITHSCORES")},transformReply:{2:(reply)=>{let inferred=reply,members={};for(let i=0;i<inferred.length;i+=2)members[inferred[i].toString()]=generic_transformers_1.transformDoubleReply[2](inferred[i+1]);return members},3:void 0}}}),require_LATENCY_HISTOGRAM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),id2=(n)=>n;exports.default={CACHEABLE:!1,IS_READ_ONLY:!0,parseCommand(parser,...commands){let args2=["LATENCY","HISTOGRAM"];if(commands.length!==0)args2.push(...commands);parser.push(...args2)},transformReply:{2:(reply)=>{let result={};if(reply.length===0)return result;for(let i=1;i<reply.length;i+=2){let histogram6=reply[i];result[reply[i-1]]={calls:histogram6[1],histogram_usec:(0,generic_transformers_1.transformTuplesToMap)(histogram6[3],id2)}}return result},3:void 0}}}),require_commands=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.REDIS_FLUSH_MODES=exports.COMMAND_LIST_FILTER_BY=exports.CLUSTER_SLOT_STATES=exports.FAILOVER_MODES=exports.CLIENT_KILL_FILTERS=void 0;var ACL_CAT_1=__importDefault(require_ACL_CAT()),ACL_DELUSER_1=__importDefault(require_ACL_DELUSER()),ACL_DRYRUN_1=__importDefault(require_ACL_DRYRUN()),ACL_GENPASS_1=__importDefault(require_ACL_GENPASS()),ACL_GETUSER_1=__importDefault(require_ACL_GETUSER()),ACL_LIST_1=__importDefault(require_ACL_LIST()),ACL_LOAD_1=__importDefault(require_ACL_LOAD()),ACL_LOG_RESET_1=__importDefault(require_ACL_LOG_RESET()),ACL_LOG_1=__importDefault(require_ACL_LOG()),ACL_SAVE_1=__importDefault(require_ACL_SAVE()),ACL_SETUSER_1=__importDefault(require_ACL_SETUSER()),ACL_USERS_1=__importDefault(require_ACL_USERS()),ACL_WHOAMI_1=__importDefault(require_ACL_WHOAMI()),APPEND_1=__importDefault(require_APPEND()),ASKING_1=__importDefault(require_ASKING()),AUTH_1=__importDefault(require_AUTH()),BGREWRITEAOF_1=__importDefault(require_BGREWRITEAOF()),BGSAVE_1=__importDefault(require_BGSAVE()),BITCOUNT_1=__importDefault(require_BITCOUNT()),BITFIELD_RO_1=__importDefault(require_BITFIELD_RO()),BITFIELD_1=__importDefault(require_BITFIELD()),BITOP_1=__importDefault(require_BITOP()),BITPOS_1=__importDefault(require_BITPOS()),BLMOVE_1=__importDefault(require_BLMOVE()),BLMPOP_1=__importDefault(require_BLMPOP()),BLPOP_1=__importDefault(require_BLPOP()),BRPOP_1=__importDefault(require_BRPOP()),BRPOPLPUSH_1=__importDefault(require_BRPOPLPUSH()),BZMPOP_1=__importDefault(require_BZMPOP()),BZPOPMAX_1=__importDefault(require_BZPOPMAX()),BZPOPMIN_1=__importDefault(require_BZPOPMIN()),CLIENT_CACHING_1=__importDefault(require_CLIENT_CACHING()),CLIENT_GETNAME_1=__importDefault(require_CLIENT_GETNAME()),CLIENT_GETREDIR_1=__importDefault(require_CLIENT_GETREDIR()),CLIENT_ID_1=__importDefault(require_CLIENT_ID()),CLIENT_INFO_1=__importDefault(require_CLIENT_INFO()),CLIENT_KILL_1=__importStar(require_CLIENT_KILL());Object.defineProperty(exports,"CLIENT_KILL_FILTERS",{enumerable:!0,get:function(){return CLIENT_KILL_1.CLIENT_KILL_FILTERS}});var CLIENT_LIST_1=__importDefault(require_CLIENT_LIST()),CLIENT_NO_EVICT_1=__importDefault(require_CLIENT_NO_EVICT()),CLIENT_NO_TOUCH_1=__importDefault(require_CLIENT_NO_TOUCH()),CLIENT_PAUSE_1=__importDefault(require_CLIENT_PAUSE()),CLIENT_SETNAME_1=__importDefault(require_CLIENT_SETNAME()),CLIENT_TRACKING_1=__importDefault(require_CLIENT_TRACKING()),CLIENT_TRACKINGINFO_1=__importDefault(require_CLIENT_TRACKINGINFO()),CLIENT_UNPAUSE_1=__importDefault(require_CLIENT_UNPAUSE()),CLUSTER_ADDSLOTS_1=__importDefault(require_CLUSTER_ADDSLOTS()),CLUSTER_ADDSLOTSRANGE_1=__importDefault(require_CLUSTER_ADDSLOTSRANGE()),CLUSTER_BUMPEPOCH_1=__importDefault(require_CLUSTER_BUMPEPOCH()),CLUSTER_COUNT_FAILURE_REPORTS_1=__importDefault(require_CLUSTER_COUNT_FAILURE_REPORTS()),CLUSTER_COUNTKEYSINSLOT_1=__importDefault(require_CLUSTER_COUNTKEYSINSLOT()),CLUSTER_DELSLOTS_1=__importDefault(require_CLUSTER_DELSLOTS()),CLUSTER_DELSLOTSRANGE_1=__importDefault(require_CLUSTER_DELSLOTSRANGE()),CLUSTER_FAILOVER_1=__importStar(require_CLUSTER_FAILOVER());Object.defineProperty(exports,"FAILOVER_MODES",{enumerable:!0,get:function(){return CLUSTER_FAILOVER_1.FAILOVER_MODES}});var CLUSTER_FLUSHSLOTS_1=__importDefault(require_CLUSTER_FLUSHSLOTS()),CLUSTER_FORGET_1=__importDefault(require_CLUSTER_FORGET()),CLUSTER_GETKEYSINSLOT_1=__importDefault(require_CLUSTER_GETKEYSINSLOT()),CLUSTER_INFO_1=__importDefault(require_CLUSTER_INFO()),CLUSTER_KEYSLOT_1=__importDefault(require_CLUSTER_KEYSLOT()),CLUSTER_LINKS_1=__importDefault(require_CLUSTER_LINKS()),CLUSTER_MEET_1=__importDefault(require_CLUSTER_MEET()),CLUSTER_MYID_1=__importDefault(require_CLUSTER_MYID()),CLUSTER_MYSHARDID_1=__importDefault(require_CLUSTER_MYSHARDID()),CLUSTER_NODES_1=__importDefault(require_CLUSTER_NODES()),CLUSTER_REPLICAS_1=__importDefault(require_CLUSTER_REPLICAS()),CLUSTER_REPLICATE_1=__importDefault(require_CLUSTER_REPLICATE()),CLUSTER_RESET_1=__importDefault(require_CLUSTER_RESET()),CLUSTER_SAVECONFIG_1=__importDefault(require_CLUSTER_SAVECONFIG()),CLUSTER_SET_CONFIG_EPOCH_1=__importDefault(require_CLUSTER_SET_CONFIG_EPOCH()),CLUSTER_SETSLOT_1=__importStar(require_CLUSTER_SETSLOT());Object.defineProperty(exports,"CLUSTER_SLOT_STATES",{enumerable:!0,get:function(){return CLUSTER_SETSLOT_1.CLUSTER_SLOT_STATES}});var CLUSTER_SLOTS_1=__importDefault(require_CLUSTER_SLOTS()),COMMAND_COUNT_1=__importDefault(require_COMMAND_COUNT()),COMMAND_GETKEYS_1=__importDefault(require_COMMAND_GETKEYS()),COMMAND_GETKEYSANDFLAGS_1=__importDefault(require_COMMAND_GETKEYSANDFLAGS()),COMMAND_INFO_1=__importDefault(require_COMMAND_INFO()),COMMAND_LIST_1=__importStar(require_COMMAND_LIST());Object.defineProperty(exports,"COMMAND_LIST_FILTER_BY",{enumerable:!0,get:function(){return COMMAND_LIST_1.COMMAND_LIST_FILTER_BY}});var COMMAND_1=__importDefault(require_COMMAND()),CONFIG_GET_1=__importDefault(require_CONFIG_GET()),CONFIG_RESETSTAT_1=__importDefault(require_CONFIG_RESETSTAT()),CONFIG_REWRITE_1=__importDefault(require_CONFIG_REWRITE()),CONFIG_SET_1=__importDefault(require_CONFIG_SET()),COPY_1=__importDefault(require_COPY()),DBSIZE_1=__importDefault(require_DBSIZE()),DECR_1=__importDefault(require_DECR()),DECRBY_1=__importDefault(require_DECRBY()),DEL_1=__importDefault(require_DEL()),DELEX_1=__importDefault(require_DELEX()),DIGEST_1=__importDefault(require_DIGEST()),DUMP_1=__importDefault(require_DUMP()),ECHO_1=__importDefault(require_ECHO()),EVAL_RO_1=__importDefault(require_EVAL_RO()),EVAL_1=__importDefault(require_EVAL()),EVALSHA_RO_1=__importDefault(require_EVALSHA_RO()),EVALSHA_1=__importDefault(require_EVALSHA()),GEOADD_1=__importDefault(require_GEOADD()),GEODIST_1=__importDefault(require_GEODIST()),GEOHASH_1=__importDefault(require_GEOHASH()),GEOPOS_1=__importDefault(require_GEOPOS()),GEORADIUS_RO_WITH_1=__importDefault(require_GEORADIUS_RO_WITH()),GEORADIUS_RO_1=__importDefault(require_GEORADIUS_RO()),GEORADIUS_STORE_1=__importDefault(require_GEORADIUS_STORE()),GEORADIUS_WITH_1=__importDefault(require_GEORADIUS_WITH()),GEORADIUS_1=__importDefault(require_GEORADIUS()),GEORADIUSBYMEMBER_RO_WITH_1=__importDefault(require_GEORADIUSBYMEMBER_RO_WITH()),GEORADIUSBYMEMBER_RO_1=__importDefault(require_GEORADIUSBYMEMBER_RO()),GEORADIUSBYMEMBER_STORE_1=__importDefault(require_GEORADIUSBYMEMBER_STORE()),GEORADIUSBYMEMBER_WITH_1=__importDefault(require_GEORADIUSBYMEMBER_WITH()),GEORADIUSBYMEMBER_1=__importDefault(require_GEORADIUSBYMEMBER()),GEOSEARCH_WITH_1=__importDefault(require_GEOSEARCH_WITH()),GEOSEARCH_1=__importDefault(require_GEOSEARCH()),GEOSEARCHSTORE_1=__importDefault(require_GEOSEARCHSTORE()),GET_1=__importDefault(require_GET()),GETBIT_1=__importDefault(require_GETBIT()),GETDEL_1=__importDefault(require_GETDEL()),GETEX_1=__importDefault(require_GETEX()),GETRANGE_1=__importDefault(require_GETRANGE()),GETSET_1=__importDefault(require_GETSET()),EXISTS_1=__importDefault(require_EXISTS()),EXPIRE_1=__importDefault(require_EXPIRE()),EXPIREAT_1=__importDefault(require_EXPIREAT()),EXPIRETIME_1=__importDefault(require_EXPIRETIME()),FLUSHALL_1=__importStar(require_FLUSHALL());Object.defineProperty(exports,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return FLUSHALL_1.REDIS_FLUSH_MODES}});var FLUSHDB_1=__importDefault(require_FLUSHDB()),FCALL_1=__importDefault(require_FCALL()),FCALL_RO_1=__importDefault(require_FCALL_RO()),FUNCTION_DELETE_1=__importDefault(require_FUNCTION_DELETE()),FUNCTION_DUMP_1=__importDefault(require_FUNCTION_DUMP()),FUNCTION_FLUSH_1=__importDefault(require_FUNCTION_FLUSH()),FUNCTION_KILL_1=__importDefault(require_FUNCTION_KILL()),FUNCTION_LIST_WITHCODE_1=__importDefault(require_FUNCTION_LIST_WITHCODE()),FUNCTION_LIST_1=__importDefault(require_FUNCTION_LIST()),FUNCTION_LOAD_1=__importDefault(require_FUNCTION_LOAD()),FUNCTION_RESTORE_1=__importDefault(require_FUNCTION_RESTORE()),FUNCTION_STATS_1=__importDefault(require_FUNCTION_STATS()),HDEL_1=__importDefault(require_HDEL()),HELLO_1=__importDefault(require_HELLO()),HEXISTS_1=__importDefault(require_HEXISTS()),HEXPIRE_1=__importDefault(require_HEXPIRE()),HEXPIREAT_1=__importDefault(require_HEXPIREAT()),HEXPIRETIME_1=__importDefault(require_HEXPIRETIME()),HGET_1=__importDefault(require_HGET()),HGETALL_1=__importDefault(require_HGETALL()),HGETDEL_1=__importDefault(require_HGETDEL()),HGETEX_1=__importDefault(require_HGETEX()),HINCRBY_1=__importDefault(require_HINCRBY()),HINCRBYFLOAT_1=__importDefault(require_HINCRBYFLOAT()),HKEYS_1=__importDefault(require_HKEYS()),HLEN_1=__importDefault(require_HLEN()),HMGET_1=__importDefault(require_HMGET()),HPERSIST_1=__importDefault(require_HPERSIST()),HPEXPIRE_1=__importDefault(require_HPEXPIRE()),HPEXPIREAT_1=__importDefault(require_HPEXPIREAT()),HPEXPIRETIME_1=__importDefault(require_HPEXPIRETIME()),HPTTL_1=__importDefault(require_HPTTL()),HRANDFIELD_COUNT_WITHVALUES_1=__importDefault(require_HRANDFIELD_COUNT_WITHVALUES()),HRANDFIELD_COUNT_1=__importDefault(require_HRANDFIELD_COUNT()),HRANDFIELD_1=__importDefault(require_HRANDFIELD()),HSCAN_1=__importDefault(require_HSCAN()),HSCAN_NOVALUES_1=__importDefault(require_HSCAN_NOVALUES()),HSET_1=__importDefault(require_HSET()),HSETEX_1=__importDefault(require_HSETEX()),HSETNX_1=__importDefault(require_HSETNX()),HSTRLEN_1=__importDefault(require_HSTRLEN()),HTTL_1=__importDefault(require_HTTL()),HVALS_1=__importDefault(require_HVALS()),INCR_1=__importDefault(require_INCR()),INCRBY_1=__importDefault(require_INCRBY()),INCRBYFLOAT_1=__importDefault(require_INCRBYFLOAT()),INFO_1=__importDefault(require_INFO()),KEYS_1=__importDefault(require_KEYS()),LASTSAVE_1=__importDefault(require_LASTSAVE()),LATENCY_DOCTOR_1=__importDefault(require_LATENCY_DOCTOR()),LATENCY_GRAPH_1=__importDefault(require_LATENCY_GRAPH()),LATENCY_HISTORY_1=__importDefault(require_LATENCY_HISTORY()),LATENCY_LATEST_1=__importDefault(require_LATENCY_LATEST()),LATENCY_RESET_1=__importDefault(require_LATENCY_RESET()),LCS_IDX_WITHMATCHLEN_1=__importDefault(require_LCS_IDX_WITHMATCHLEN()),LCS_IDX_1=__importDefault(require_LCS_IDX()),LCS_LEN_1=__importDefault(require_LCS_LEN()),LCS_1=__importDefault(require_LCS()),LINDEX_1=__importDefault(require_LINDEX()),LINSERT_1=__importDefault(require_LINSERT()),LLEN_1=__importDefault(require_LLEN()),LMOVE_1=__importDefault(require_LMOVE()),LMPOP_1=__importDefault(require_LMPOP()),LOLWUT_1=__importDefault(require_LOLWUT()),LPOP_COUNT_1=__importDefault(require_LPOP_COUNT()),LPOP_1=__importDefault(require_LPOP()),LPOS_COUNT_1=__importDefault(require_LPOS_COUNT()),LPOS_1=__importDefault(require_LPOS()),LPUSH_1=__importDefault(require_LPUSH()),LPUSHX_1=__importDefault(require_LPUSHX()),LRANGE_1=__importDefault(require_LRANGE()),LREM_1=__importDefault(require_LREM()),LSET_1=__importDefault(require_LSET()),LTRIM_1=__importDefault(require_LTRIM()),MEMORY_DOCTOR_1=__importDefault(require_MEMORY_DOCTOR()),MEMORY_MALLOC_STATS_1=__importDefault(require_MEMORY_MALLOC_STATS()),MEMORY_PURGE_1=__importDefault(require_MEMORY_PURGE()),MEMORY_STATS_1=__importDefault(require_MEMORY_STATS()),MEMORY_USAGE_1=__importDefault(require_MEMORY_USAGE()),MGET_1=__importDefault(require_MGET()),MIGRATE_1=__importDefault(require_MIGRATE()),MODULE_LIST_1=__importDefault(require_MODULE_LIST()),MODULE_LOAD_1=__importDefault(require_MODULE_LOAD()),MODULE_UNLOAD_1=__importDefault(require_MODULE_UNLOAD()),MOVE_1=__importDefault(require_MOVE()),MSET_1=__importDefault(require_MSET()),MSETEX_1=__importDefault(require_MSETEX()),MSETNX_1=__importDefault(require_MSETNX()),OBJECT_ENCODING_1=__importDefault(require_OBJECT_ENCODING()),OBJECT_FREQ_1=__importDefault(require_OBJECT_FREQ()),OBJECT_IDLETIME_1=__importDefault(require_OBJECT_IDLETIME()),OBJECT_REFCOUNT_1=__importDefault(require_OBJECT_REFCOUNT()),PERSIST_1=__importDefault(require_PERSIST()),PEXPIRE_1=__importDefault(require_PEXPIRE()),PEXPIREAT_1=__importDefault(require_PEXPIREAT()),PEXPIRETIME_1=__importDefault(require_PEXPIRETIME()),PFADD_1=__importDefault(require_PFADD()),PFCOUNT_1=__importDefault(require_PFCOUNT()),PFMERGE_1=__importDefault(require_PFMERGE()),PING_1=__importDefault(require_PING()),PSETEX_1=__importDefault(require_PSETEX()),PTTL_1=__importDefault(require_PTTL()),PUBLISH_1=__importDefault(require_PUBLISH()),PUBSUB_CHANNELS_1=__importDefault(require_PUBSUB_CHANNELS()),PUBSUB_NUMPAT_1=__importDefault(require_PUBSUB_NUMPAT()),PUBSUB_NUMSUB_1=__importDefault(require_PUBSUB_NUMSUB()),PUBSUB_SHARDNUMSUB_1=__importDefault(require_PUBSUB_SHARDNUMSUB()),PUBSUB_SHARDCHANNELS_1=__importDefault(require_PUBSUB_SHARDCHANNELS()),RANDOMKEY_1=__importDefault(require_RANDOMKEY()),READONLY_1=__importDefault(require_READONLY()),RENAME_1=__importDefault(require_RENAME()),RENAMENX_1=__importDefault(require_RENAMENX()),REPLICAOF_1=__importDefault(require_REPLICAOF()),RESTORE_ASKING_1=__importDefault(require_RESTORE_ASKING()),RESTORE_1=__importDefault(require_RESTORE()),ROLE_1=__importDefault(require_ROLE()),RPOP_COUNT_1=__importDefault(require_RPOP_COUNT()),RPOP_1=__importDefault(require_RPOP()),RPOPLPUSH_1=__importDefault(require_RPOPLPUSH()),RPUSH_1=__importDefault(require_RPUSH()),RPUSHX_1=__importDefault(require_RPUSHX()),SADD_1=__importDefault(require_SADD()),SCAN_1=__importDefault(require_SCAN()),SCARD_1=__importDefault(require_SCARD()),SCRIPT_DEBUG_1=__importDefault(require_SCRIPT_DEBUG()),SCRIPT_EXISTS_1=__importDefault(require_SCRIPT_EXISTS()),SCRIPT_FLUSH_1=__importDefault(require_SCRIPT_FLUSH()),SCRIPT_KILL_1=__importDefault(require_SCRIPT_KILL()),SCRIPT_LOAD_1=__importDefault(require_SCRIPT_LOAD()),SDIFF_1=__importDefault(require_SDIFF()),SDIFFSTORE_1=__importDefault(require_SDIFFSTORE()),SET_1=__importDefault(require_SET()),SETBIT_1=__importDefault(require_SETBIT()),SETEX_1=__importDefault(require_SETEX()),SETNX_1=__importDefault(require_SETNX()),SETRANGE_1=__importDefault(require_SETRANGE()),SINTER_1=__importDefault(require_SINTER()),SINTERCARD_1=__importDefault(require_SINTERCARD()),SINTERSTORE_1=__importDefault(require_SINTERSTORE()),SISMEMBER_1=__importDefault(require_SISMEMBER()),SMEMBERS_1=__importDefault(require_SMEMBERS()),SMISMEMBER_1=__importDefault(require_SMISMEMBER()),SMOVE_1=__importDefault(require_SMOVE()),SORT_RO_1=__importDefault(require_SORT_RO()),SORT_STORE_1=__importDefault(require_SORT_STORE()),SORT_1=__importDefault(require_SORT()),SPOP_COUNT_1=__importDefault(require_SPOP_COUNT()),SPOP_1=__importDefault(require_SPOP()),SPUBLISH_1=__importDefault(require_SPUBLISH()),SRANDMEMBER_COUNT_1=__importDefault(require_SRANDMEMBER_COUNT()),SRANDMEMBER_1=__importDefault(require_SRANDMEMBER()),SREM_1=__importDefault(require_SREM()),SSCAN_1=__importDefault(require_SSCAN()),STRLEN_1=__importDefault(require_STRLEN()),SUNION_1=__importDefault(require_SUNION()),SUNIONSTORE_1=__importDefault(require_SUNIONSTORE()),SWAPDB_1=__importDefault(require_SWAPDB()),TIME_1=__importDefault(require_TIME()),TOUCH_1=__importDefault(require_TOUCH()),TTL_1=__importDefault(require_TTL()),TYPE_1=__importDefault(require_TYPE()),UNLINK_1=__importDefault(require_UNLINK()),WAIT_1=__importDefault(require_WAIT()),XACK_1=__importDefault(require_XACK()),XACKDEL_1=__importDefault(require_XACKDEL()),XADD_NOMKSTREAM_1=__importDefault(require_XADD_NOMKSTREAM()),XADD_1=__importDefault(require_XADD()),XAUTOCLAIM_JUSTID_1=__importDefault(require_XAUTOCLAIM_JUSTID()),XAUTOCLAIM_1=__importDefault(require_XAUTOCLAIM()),XCLAIM_JUSTID_1=__importDefault(require_XCLAIM_JUSTID()),XCLAIM_1=__importDefault(require_XCLAIM()),XDEL_1=__importDefault(require_XDEL()),XDELEX_1=__importDefault(require_XDELEX()),XGROUP_CREATE_1=__importDefault(require_XGROUP_CREATE()),XGROUP_CREATECONSUMER_1=__importDefault(require_XGROUP_CREATECONSUMER()),XGROUP_DELCONSUMER_1=__importDefault(require_XGROUP_DELCONSUMER()),XGROUP_DESTROY_1=__importDefault(require_XGROUP_DESTROY()),XGROUP_SETID_1=__importDefault(require_XGROUP_SETID()),XINFO_CONSUMERS_1=__importDefault(require_XINFO_CONSUMERS()),XINFO_GROUPS_1=__importDefault(require_XINFO_GROUPS()),XINFO_STREAM_1=__importDefault(require_XINFO_STREAM()),XLEN_1=__importDefault(require_XLEN()),XPENDING_RANGE_1=__importDefault(require_XPENDING_RANGE()),XPENDING_1=__importDefault(require_XPENDING()),XRANGE_1=__importDefault(require_XRANGE()),XREAD_1=__importDefault(require_XREAD()),XREADGROUP_1=__importDefault(require_XREADGROUP()),XREVRANGE_1=__importDefault(require_XREVRANGE()),XSETID_1=__importDefault(require_XSETID()),XTRIM_1=__importDefault(require_XTRIM()),ZADD_INCR_1=__importDefault(require_ZADD_INCR()),ZADD_1=__importDefault(require_ZADD()),ZCARD_1=__importDefault(require_ZCARD()),ZCOUNT_1=__importDefault(require_ZCOUNT()),ZDIFF_WITHSCORES_1=__importDefault(require_ZDIFF_WITHSCORES()),ZDIFF_1=__importDefault(require_ZDIFF()),ZDIFFSTORE_1=__importDefault(require_ZDIFFSTORE()),ZINCRBY_1=__importDefault(require_ZINCRBY()),ZINTER_WITHSCORES_1=__importDefault(require_ZINTER_WITHSCORES()),ZINTER_1=__importDefault(require_ZINTER()),ZINTERCARD_1=__importDefault(require_ZINTERCARD()),ZINTERSTORE_1=__importDefault(require_ZINTERSTORE()),ZLEXCOUNT_1=__importDefault(require_ZLEXCOUNT()),ZMPOP_1=__importDefault(require_ZMPOP()),ZMSCORE_1=__importDefault(require_ZMSCORE()),ZPOPMAX_COUNT_1=__importDefault(require_ZPOPMAX_COUNT()),ZPOPMAX_1=__importDefault(require_ZPOPMAX()),ZPOPMIN_COUNT_1=__importDefault(require_ZPOPMIN_COUNT()),ZPOPMIN_1=__importDefault(require_ZPOPMIN()),ZRANDMEMBER_COUNT_WITHSCORES_1=__importDefault(require_ZRANDMEMBER_COUNT_WITHSCORES()),ZRANDMEMBER_COUNT_1=__importDefault(require_ZRANDMEMBER_COUNT()),ZRANDMEMBER_1=__importDefault(require_ZRANDMEMBER()),ZRANGE_WITHSCORES_1=__importDefault(require_ZRANGE_WITHSCORES()),ZRANGE_1=__importDefault(require_ZRANGE()),ZRANGEBYLEX_1=__importDefault(require_ZRANGEBYLEX()),ZRANGEBYSCORE_WITHSCORES_1=__importDefault(require_ZRANGEBYSCORE_WITHSCORES()),ZRANGEBYSCORE_1=__importDefault(require_ZRANGEBYSCORE()),ZRANGESTORE_1=__importDefault(require_ZRANGESTORE()),ZREMRANGEBYSCORE_1=__importDefault(require_ZREMRANGEBYSCORE()),ZRANK_WITHSCORE_1=__importDefault(require_ZRANK_WITHSCORE()),ZRANK_1=__importDefault(require_ZRANK()),ZREM_1=__importDefault(require_ZREM()),ZREMRANGEBYLEX_1=__importDefault(require_ZREMRANGEBYLEX()),ZREMRANGEBYRANK_1=__importDefault(require_ZREMRANGEBYRANK()),ZREVRANK_1=__importDefault(require_ZREVRANK()),ZSCAN_1=__importDefault(require_ZSCAN()),ZSCORE_1=__importDefault(require_ZSCORE()),ZUNION_WITHSCORES_1=__importDefault(require_ZUNION_WITHSCORES()),ZUNION_1=__importDefault(require_ZUNION()),ZUNIONSTORE_1=__importDefault(require_ZUNIONSTORE()),VADD_1=__importDefault(require_VADD()),VCARD_1=__importDefault(require_VCARD()),VDIM_1=__importDefault(require_VDIM()),VEMB_1=__importDefault(require_VEMB()),VEMB_RAW_1=__importDefault(require_VEMB_RAW()),VGETATTR_1=__importDefault(require_VGETATTR()),VINFO_1=__importDefault(require_VINFO()),VLINKS_1=__importDefault(require_VLINKS()),VLINKS_WITHSCORES_1=__importDefault(require_VLINKS_WITHSCORES()),VRANDMEMBER_1=__importDefault(require_VRANDMEMBER()),VREM_1=__importDefault(require_VREM()),VSETATTR_1=__importDefault(require_VSETATTR()),VSIM_1=__importDefault(require_VSIM()),VSIM_WITHSCORES_1=__importDefault(require_VSIM_WITHSCORES()),LATENCY_HISTOGRAM_1=__importDefault(require_LATENCY_HISTOGRAM());exports.default={ACL_CAT:ACL_CAT_1.default,aclCat:ACL_CAT_1.default,ACL_DELUSER:ACL_DELUSER_1.default,aclDelUser:ACL_DELUSER_1.default,ACL_DRYRUN:ACL_DRYRUN_1.default,aclDryRun:ACL_DRYRUN_1.default,ACL_GENPASS:ACL_GENPASS_1.default,aclGenPass:ACL_GENPASS_1.default,ACL_GETUSER:ACL_GETUSER_1.default,aclGetUser:ACL_GETUSER_1.default,ACL_LIST:ACL_LIST_1.default,aclList:ACL_LIST_1.default,ACL_LOAD:ACL_LOAD_1.default,aclLoad:ACL_LOAD_1.default,ACL_LOG_RESET:ACL_LOG_RESET_1.default,aclLogReset:ACL_LOG_RESET_1.default,ACL_LOG:ACL_LOG_1.default,aclLog:ACL_LOG_1.default,ACL_SAVE:ACL_SAVE_1.default,aclSave:ACL_SAVE_1.default,ACL_SETUSER:ACL_SETUSER_1.default,aclSetUser:ACL_SETUSER_1.default,ACL_USERS:ACL_USERS_1.default,aclUsers:ACL_USERS_1.default,ACL_WHOAMI:ACL_WHOAMI_1.default,aclWhoAmI:ACL_WHOAMI_1.default,APPEND:APPEND_1.default,append:APPEND_1.default,ASKING:ASKING_1.default,asking:ASKING_1.default,AUTH:AUTH_1.default,auth:AUTH_1.default,BGREWRITEAOF:BGREWRITEAOF_1.default,bgRewriteAof:BGREWRITEAOF_1.default,BGSAVE:BGSAVE_1.default,bgSave:BGSAVE_1.default,BITCOUNT:BITCOUNT_1.default,bitCount:BITCOUNT_1.default,BITFIELD_RO:BITFIELD_RO_1.default,bitFieldRo:BITFIELD_RO_1.default,BITFIELD:BITFIELD_1.default,bitField:BITFIELD_1.default,BITOP:BITOP_1.default,bitOp:BITOP_1.default,BITPOS:BITPOS_1.default,bitPos:BITPOS_1.default,BLMOVE:BLMOVE_1.default,blMove:BLMOVE_1.default,BLMPOP:BLMPOP_1.default,blmPop:BLMPOP_1.default,BLPOP:BLPOP_1.default,blPop:BLPOP_1.default,BRPOP:BRPOP_1.default,brPop:BRPOP_1.default,BRPOPLPUSH:BRPOPLPUSH_1.default,brPopLPush:BRPOPLPUSH_1.default,BZMPOP:BZMPOP_1.default,bzmPop:BZMPOP_1.default,BZPOPMAX:BZPOPMAX_1.default,bzPopMax:BZPOPMAX_1.default,BZPOPMIN:BZPOPMIN_1.default,bzPopMin:BZPOPMIN_1.default,CLIENT_CACHING:CLIENT_CACHING_1.default,clientCaching:CLIENT_CACHING_1.default,CLIENT_GETNAME:CLIENT_GETNAME_1.default,clientGetName:CLIENT_GETNAME_1.default,CLIENT_GETREDIR:CLIENT_GETREDIR_1.default,clientGetRedir:CLIENT_GETREDIR_1.default,CLIENT_ID:CLIENT_ID_1.default,clientId:CLIENT_ID_1.default,CLIENT_INFO:CLIENT_INFO_1.default,clientInfo:CLIENT_INFO_1.default,CLIENT_KILL:CLIENT_KILL_1.default,clientKill:CLIENT_KILL_1.default,CLIENT_LIST:CLIENT_LIST_1.default,clientList:CLIENT_LIST_1.default,"CLIENT_NO-EVICT":CLIENT_NO_EVICT_1.default,clientNoEvict:CLIENT_NO_EVICT_1.default,"CLIENT_NO-TOUCH":CLIENT_NO_TOUCH_1.default,clientNoTouch:CLIENT_NO_TOUCH_1.default,CLIENT_PAUSE:CLIENT_PAUSE_1.default,clientPause:CLIENT_PAUSE_1.default,CLIENT_SETNAME:CLIENT_SETNAME_1.default,clientSetName:CLIENT_SETNAME_1.default,CLIENT_TRACKING:CLIENT_TRACKING_1.default,clientTracking:CLIENT_TRACKING_1.default,CLIENT_TRACKINGINFO:CLIENT_TRACKINGINFO_1.default,clientTrackingInfo:CLIENT_TRACKINGINFO_1.default,CLIENT_UNPAUSE:CLIENT_UNPAUSE_1.default,clientUnpause:CLIENT_UNPAUSE_1.default,CLUSTER_ADDSLOTS:CLUSTER_ADDSLOTS_1.default,clusterAddSlots:CLUSTER_ADDSLOTS_1.default,CLUSTER_ADDSLOTSRANGE:CLUSTER_ADDSLOTSRANGE_1.default,clusterAddSlotsRange:CLUSTER_ADDSLOTSRANGE_1.default,CLUSTER_BUMPEPOCH:CLUSTER_BUMPEPOCH_1.default,clusterBumpEpoch:CLUSTER_BUMPEPOCH_1.default,"CLUSTER_COUNT-FAILURE-REPORTS":CLUSTER_COUNT_FAILURE_REPORTS_1.default,clusterCountFailureReports:CLUSTER_COUNT_FAILURE_REPORTS_1.default,CLUSTER_COUNTKEYSINSLOT:CLUSTER_COUNTKEYSINSLOT_1.default,clusterCountKeysInSlot:CLUSTER_COUNTKEYSINSLOT_1.default,CLUSTER_DELSLOTS:CLUSTER_DELSLOTS_1.default,clusterDelSlots:CLUSTER_DELSLOTS_1.default,CLUSTER_DELSLOTSRANGE:CLUSTER_DELSLOTSRANGE_1.default,clusterDelSlotsRange:CLUSTER_DELSLOTSRANGE_1.default,CLUSTER_FAILOVER:CLUSTER_FAILOVER_1.default,clusterFailover:CLUSTER_FAILOVER_1.default,CLUSTER_FLUSHSLOTS:CLUSTER_FLUSHSLOTS_1.default,clusterFlushSlots:CLUSTER_FLUSHSLOTS_1.default,CLUSTER_FORGET:CLUSTER_FORGET_1.default,clusterForget:CLUSTER_FORGET_1.default,CLUSTER_GETKEYSINSLOT:CLUSTER_GETKEYSINSLOT_1.default,clusterGetKeysInSlot:CLUSTER_GETKEYSINSLOT_1.default,CLUSTER_INFO:CLUSTER_INFO_1.default,clusterInfo:CLUSTER_INFO_1.default,CLUSTER_KEYSLOT:CLUSTER_KEYSLOT_1.default,clusterKeySlot:CLUSTER_KEYSLOT_1.default,CLUSTER_LINKS:CLUSTER_LINKS_1.default,clusterLinks:CLUSTER_LINKS_1.default,CLUSTER_MEET:CLUSTER_MEET_1.default,clusterMeet:CLUSTER_MEET_1.default,CLUSTER_MYID:CLUSTER_MYID_1.default,clusterMyId:CLUSTER_MYID_1.default,CLUSTER_MYSHARDID:CLUSTER_MYSHARDID_1.default,clusterMyShardId:CLUSTER_MYSHARDID_1.default,CLUSTER_NODES:CLUSTER_NODES_1.default,clusterNodes:CLUSTER_NODES_1.default,CLUSTER_REPLICAS:CLUSTER_REPLICAS_1.default,clusterReplicas:CLUSTER_REPLICAS_1.default,CLUSTER_REPLICATE:CLUSTER_REPLICATE_1.default,clusterReplicate:CLUSTER_REPLICATE_1.default,CLUSTER_RESET:CLUSTER_RESET_1.default,clusterReset:CLUSTER_RESET_1.default,CLUSTER_SAVECONFIG:CLUSTER_SAVECONFIG_1.default,clusterSaveConfig:CLUSTER_SAVECONFIG_1.default,"CLUSTER_SET-CONFIG-EPOCH":CLUSTER_SET_CONFIG_EPOCH_1.default,clusterSetConfigEpoch:CLUSTER_SET_CONFIG_EPOCH_1.default,CLUSTER_SETSLOT:CLUSTER_SETSLOT_1.default,clusterSetSlot:CLUSTER_SETSLOT_1.default,CLUSTER_SLOTS:CLUSTER_SLOTS_1.default,clusterSlots:CLUSTER_SLOTS_1.default,COMMAND_COUNT:COMMAND_COUNT_1.default,commandCount:COMMAND_COUNT_1.default,COMMAND_GETKEYS:COMMAND_GETKEYS_1.default,commandGetKeys:COMMAND_GETKEYS_1.default,COMMAND_GETKEYSANDFLAGS:COMMAND_GETKEYSANDFLAGS_1.default,commandGetKeysAndFlags:COMMAND_GETKEYSANDFLAGS_1.default,COMMAND_INFO:COMMAND_INFO_1.default,commandInfo:COMMAND_INFO_1.default,COMMAND_LIST:COMMAND_LIST_1.default,commandList:COMMAND_LIST_1.default,COMMAND:COMMAND_1.default,command:COMMAND_1.default,CONFIG_GET:CONFIG_GET_1.default,configGet:CONFIG_GET_1.default,CONFIG_RESETASTAT:CONFIG_RESETSTAT_1.default,configResetStat:CONFIG_RESETSTAT_1.default,CONFIG_REWRITE:CONFIG_REWRITE_1.default,configRewrite:CONFIG_REWRITE_1.default,CONFIG_SET:CONFIG_SET_1.default,configSet:CONFIG_SET_1.default,COPY:COPY_1.default,copy:COPY_1.default,DBSIZE:DBSIZE_1.default,dbSize:DBSIZE_1.default,DECR:DECR_1.default,decr:DECR_1.default,DECRBY:DECRBY_1.default,decrBy:DECRBY_1.default,DEL:DEL_1.default,del:DEL_1.default,DELEX:DELEX_1.default,delEx:DELEX_1.default,DIGEST:DIGEST_1.default,digest:DIGEST_1.default,DUMP:DUMP_1.default,dump:DUMP_1.default,ECHO:ECHO_1.default,echo:ECHO_1.default,EVAL_RO:EVAL_RO_1.default,evalRo:EVAL_RO_1.default,EVAL:EVAL_1.default,eval:EVAL_1.default,EVALSHA_RO:EVALSHA_RO_1.default,evalShaRo:EVALSHA_RO_1.default,EVALSHA:EVALSHA_1.default,evalSha:EVALSHA_1.default,EXISTS:EXISTS_1.default,exists:EXISTS_1.default,EXPIRE:EXPIRE_1.default,expire:EXPIRE_1.default,EXPIREAT:EXPIREAT_1.default,expireAt:EXPIREAT_1.default,EXPIRETIME:EXPIRETIME_1.default,expireTime:EXPIRETIME_1.default,FLUSHALL:FLUSHALL_1.default,flushAll:FLUSHALL_1.default,FLUSHDB:FLUSHDB_1.default,flushDb:FLUSHDB_1.default,FCALL:FCALL_1.default,fCall:FCALL_1.default,FCALL_RO:FCALL_RO_1.default,fCallRo:FCALL_RO_1.default,FUNCTION_DELETE:FUNCTION_DELETE_1.default,functionDelete:FUNCTION_DELETE_1.default,FUNCTION_DUMP:FUNCTION_DUMP_1.default,functionDump:FUNCTION_DUMP_1.default,FUNCTION_FLUSH:FUNCTION_FLUSH_1.default,functionFlush:FUNCTION_FLUSH_1.default,FUNCTION_KILL:FUNCTION_KILL_1.default,functionKill:FUNCTION_KILL_1.default,FUNCTION_LIST_WITHCODE:FUNCTION_LIST_WITHCODE_1.default,functionListWithCode:FUNCTION_LIST_WITHCODE_1.default,FUNCTION_LIST:FUNCTION_LIST_1.default,functionList:FUNCTION_LIST_1.default,FUNCTION_LOAD:FUNCTION_LOAD_1.default,functionLoad:FUNCTION_LOAD_1.default,FUNCTION_RESTORE:FUNCTION_RESTORE_1.default,functionRestore:FUNCTION_RESTORE_1.default,FUNCTION_STATS:FUNCTION_STATS_1.default,functionStats:FUNCTION_STATS_1.default,GEOADD:GEOADD_1.default,geoAdd:GEOADD_1.default,GEODIST:GEODIST_1.default,geoDist:GEODIST_1.default,GEOHASH:GEOHASH_1.default,geoHash:GEOHASH_1.default,GEOPOS:GEOPOS_1.default,geoPos:GEOPOS_1.default,GEORADIUS_RO_WITH:GEORADIUS_RO_WITH_1.default,geoRadiusRoWith:GEORADIUS_RO_WITH_1.default,GEORADIUS_RO:GEORADIUS_RO_1.default,geoRadiusRo:GEORADIUS_RO_1.default,GEORADIUS_STORE:GEORADIUS_STORE_1.default,geoRadiusStore:GEORADIUS_STORE_1.default,GEORADIUS_WITH:GEORADIUS_WITH_1.default,geoRadiusWith:GEORADIUS_WITH_1.default,GEORADIUS:GEORADIUS_1.default,geoRadius:GEORADIUS_1.default,GEORADIUSBYMEMBER_RO_WITH:GEORADIUSBYMEMBER_RO_WITH_1.default,geoRadiusByMemberRoWith:GEORADIUSBYMEMBER_RO_WITH_1.default,GEORADIUSBYMEMBER_RO:GEORADIUSBYMEMBER_RO_1.default,geoRadiusByMemberRo:GEORADIUSBYMEMBER_RO_1.default,GEORADIUSBYMEMBER_STORE:GEORADIUSBYMEMBER_STORE_1.default,geoRadiusByMemberStore:GEORADIUSBYMEMBER_STORE_1.default,GEORADIUSBYMEMBER_WITH:GEORADIUSBYMEMBER_WITH_1.default,geoRadiusByMemberWith:GEORADIUSBYMEMBER_WITH_1.default,GEORADIUSBYMEMBER:GEORADIUSBYMEMBER_1.default,geoRadiusByMember:GEORADIUSBYMEMBER_1.default,GEOSEARCH_WITH:GEOSEARCH_WITH_1.default,geoSearchWith:GEOSEARCH_WITH_1.default,GEOSEARCH:GEOSEARCH_1.default,geoSearch:GEOSEARCH_1.default,GEOSEARCHSTORE:GEOSEARCHSTORE_1.default,geoSearchStore:GEOSEARCHSTORE_1.default,GET:GET_1.default,get:GET_1.default,GETBIT:GETBIT_1.default,getBit:GETBIT_1.default,GETDEL:GETDEL_1.default,getDel:GETDEL_1.default,GETEX:GETEX_1.default,getEx:GETEX_1.default,GETRANGE:GETRANGE_1.default,getRange:GETRANGE_1.default,GETSET:GETSET_1.default,getSet:GETSET_1.default,HDEL:HDEL_1.default,hDel:HDEL_1.default,HELLO:HELLO_1.default,hello:HELLO_1.default,HEXISTS:HEXISTS_1.default,hExists:HEXISTS_1.default,HEXPIRE:HEXPIRE_1.default,hExpire:HEXPIRE_1.default,HEXPIREAT:HEXPIREAT_1.default,hExpireAt:HEXPIREAT_1.default,HEXPIRETIME:HEXPIRETIME_1.default,hExpireTime:HEXPIRETIME_1.default,HGET:HGET_1.default,hGet:HGET_1.default,HGETALL:HGETALL_1.default,hGetAll:HGETALL_1.default,HGETDEL:HGETDEL_1.default,hGetDel:HGETDEL_1.default,HGETEX:HGETEX_1.default,hGetEx:HGETEX_1.default,HINCRBY:HINCRBY_1.default,hIncrBy:HINCRBY_1.default,HINCRBYFLOAT:HINCRBYFLOAT_1.default,hIncrByFloat:HINCRBYFLOAT_1.default,HKEYS:HKEYS_1.default,hKeys:HKEYS_1.default,HLEN:HLEN_1.default,hLen:HLEN_1.default,HMGET:HMGET_1.default,hmGet:HMGET_1.default,HPERSIST:HPERSIST_1.default,hPersist:HPERSIST_1.default,HPEXPIRE:HPEXPIRE_1.default,hpExpire:HPEXPIRE_1.default,HPEXPIREAT:HPEXPIREAT_1.default,hpExpireAt:HPEXPIREAT_1.default,HPEXPIRETIME:HPEXPIRETIME_1.default,hpExpireTime:HPEXPIRETIME_1.default,HPTTL:HPTTL_1.default,hpTTL:HPTTL_1.default,HRANDFIELD_COUNT_WITHVALUES:HRANDFIELD_COUNT_WITHVALUES_1.default,hRandFieldCountWithValues:HRANDFIELD_COUNT_WITHVALUES_1.default,HRANDFIELD_COUNT:HRANDFIELD_COUNT_1.default,hRandFieldCount:HRANDFIELD_COUNT_1.default,HRANDFIELD:HRANDFIELD_1.default,hRandField:HRANDFIELD_1.default,HSCAN:HSCAN_1.default,hScan:HSCAN_1.default,HSCAN_NOVALUES:HSCAN_NOVALUES_1.default,hScanNoValues:HSCAN_NOVALUES_1.default,HSET:HSET_1.default,hSet:HSET_1.default,HSETEX:HSETEX_1.default,hSetEx:HSETEX_1.default,HSETNX:HSETNX_1.default,hSetNX:HSETNX_1.default,HSTRLEN:HSTRLEN_1.default,hStrLen:HSTRLEN_1.default,HTTL:HTTL_1.default,hTTL:HTTL_1.default,HVALS:HVALS_1.default,hVals:HVALS_1.default,INCR:INCR_1.default,incr:INCR_1.default,INCRBY:INCRBY_1.default,incrBy:INCRBY_1.default,INCRBYFLOAT:INCRBYFLOAT_1.default,incrByFloat:INCRBYFLOAT_1.default,INFO:INFO_1.default,info:INFO_1.default,KEYS:KEYS_1.default,keys:KEYS_1.default,LASTSAVE:LASTSAVE_1.default,lastSave:LASTSAVE_1.default,LATENCY_DOCTOR:LATENCY_DOCTOR_1.default,latencyDoctor:LATENCY_DOCTOR_1.default,LATENCY_GRAPH:LATENCY_GRAPH_1.default,latencyGraph:LATENCY_GRAPH_1.default,LATENCY_HISTORY:LATENCY_HISTORY_1.default,latencyHistory:LATENCY_HISTORY_1.default,LATENCY_HISTOGRAM:LATENCY_HISTOGRAM_1.default,latencyHistogram:LATENCY_HISTOGRAM_1.default,LATENCY_LATEST:LATENCY_LATEST_1.default,latencyLatest:LATENCY_LATEST_1.default,LATENCY_RESET:LATENCY_RESET_1.default,latencyReset:LATENCY_RESET_1.default,LCS_IDX_WITHMATCHLEN:LCS_IDX_WITHMATCHLEN_1.default,lcsIdxWithMatchLen:LCS_IDX_WITHMATCHLEN_1.default,LCS_IDX:LCS_IDX_1.default,lcsIdx:LCS_IDX_1.default,LCS_LEN:LCS_LEN_1.default,lcsLen:LCS_LEN_1.default,LCS:LCS_1.default,lcs:LCS_1.default,LINDEX:LINDEX_1.default,lIndex:LINDEX_1.default,LINSERT:LINSERT_1.default,lInsert:LINSERT_1.default,LLEN:LLEN_1.default,lLen:LLEN_1.default,LMOVE:LMOVE_1.default,lMove:LMOVE_1.default,LMPOP:LMPOP_1.default,lmPop:LMPOP_1.default,LOLWUT:LOLWUT_1.default,LPOP_COUNT:LPOP_COUNT_1.default,lPopCount:LPOP_COUNT_1.default,LPOP:LPOP_1.default,lPop:LPOP_1.default,LPOS_COUNT:LPOS_COUNT_1.default,lPosCount:LPOS_COUNT_1.default,LPOS:LPOS_1.default,lPos:LPOS_1.default,LPUSH:LPUSH_1.default,lPush:LPUSH_1.default,LPUSHX:LPUSHX_1.default,lPushX:LPUSHX_1.default,LRANGE:LRANGE_1.default,lRange:LRANGE_1.default,LREM:LREM_1.default,lRem:LREM_1.default,LSET:LSET_1.default,lSet:LSET_1.default,LTRIM:LTRIM_1.default,lTrim:LTRIM_1.default,MEMORY_DOCTOR:MEMORY_DOCTOR_1.default,memoryDoctor:MEMORY_DOCTOR_1.default,"MEMORY_MALLOC-STATS":MEMORY_MALLOC_STATS_1.default,memoryMallocStats:MEMORY_MALLOC_STATS_1.default,MEMORY_PURGE:MEMORY_PURGE_1.default,memoryPurge:MEMORY_PURGE_1.default,MEMORY_STATS:MEMORY_STATS_1.default,memoryStats:MEMORY_STATS_1.default,MEMORY_USAGE:MEMORY_USAGE_1.default,memoryUsage:MEMORY_USAGE_1.default,MGET:MGET_1.default,mGet:MGET_1.default,MIGRATE:MIGRATE_1.default,migrate:MIGRATE_1.default,MODULE_LIST:MODULE_LIST_1.default,moduleList:MODULE_LIST_1.default,MODULE_LOAD:MODULE_LOAD_1.default,moduleLoad:MODULE_LOAD_1.default,MODULE_UNLOAD:MODULE_UNLOAD_1.default,moduleUnload:MODULE_UNLOAD_1.default,MOVE:MOVE_1.default,move:MOVE_1.default,MSET:MSET_1.default,mSet:MSET_1.default,MSETEX:MSETEX_1.default,mSetEx:MSETEX_1.default,MSETNX:MSETNX_1.default,mSetNX:MSETNX_1.default,OBJECT_ENCODING:OBJECT_ENCODING_1.default,objectEncoding:OBJECT_ENCODING_1.default,OBJECT_FREQ:OBJECT_FREQ_1.default,objectFreq:OBJECT_FREQ_1.default,OBJECT_IDLETIME:OBJECT_IDLETIME_1.default,objectIdleTime:OBJECT_IDLETIME_1.default,OBJECT_REFCOUNT:OBJECT_REFCOUNT_1.default,objectRefCount:OBJECT_REFCOUNT_1.default,PERSIST:PERSIST_1.default,persist:PERSIST_1.default,PEXPIRE:PEXPIRE_1.default,pExpire:PEXPIRE_1.default,PEXPIREAT:PEXPIREAT_1.default,pExpireAt:PEXPIREAT_1.default,PEXPIRETIME:PEXPIRETIME_1.default,pExpireTime:PEXPIRETIME_1.default,PFADD:PFADD_1.default,pfAdd:PFADD_1.default,PFCOUNT:PFCOUNT_1.default,pfCount:PFCOUNT_1.default,PFMERGE:PFMERGE_1.default,pfMerge:PFMERGE_1.default,PING:PING_1.default,ping:PING_1.default,PSETEX:PSETEX_1.default,pSetEx:PSETEX_1.default,PTTL:PTTL_1.default,pTTL:PTTL_1.default,PUBLISH:PUBLISH_1.default,publish:PUBLISH_1.default,PUBSUB_CHANNELS:PUBSUB_CHANNELS_1.default,pubSubChannels:PUBSUB_CHANNELS_1.default,PUBSUB_NUMPAT:PUBSUB_NUMPAT_1.default,pubSubNumPat:PUBSUB_NUMPAT_1.default,PUBSUB_NUMSUB:PUBSUB_NUMSUB_1.default,pubSubNumSub:PUBSUB_NUMSUB_1.default,PUBSUB_SHARDNUMSUB:PUBSUB_SHARDNUMSUB_1.default,pubSubShardNumSub:PUBSUB_SHARDNUMSUB_1.default,PUBSUB_SHARDCHANNELS:PUBSUB_SHARDCHANNELS_1.default,pubSubShardChannels:PUBSUB_SHARDCHANNELS_1.default,RANDOMKEY:RANDOMKEY_1.default,randomKey:RANDOMKEY_1.default,READONLY:READONLY_1.default,readonly:READONLY_1.default,RENAME:RENAME_1.default,rename:RENAME_1.default,RENAMENX:RENAMENX_1.default,renameNX:RENAMENX_1.default,REPLICAOF:REPLICAOF_1.default,replicaOf:REPLICAOF_1.default,"RESTORE-ASKING":RESTORE_ASKING_1.default,restoreAsking:RESTORE_ASKING_1.default,RESTORE:RESTORE_1.default,restore:RESTORE_1.default,RPOP_COUNT:RPOP_COUNT_1.default,rPopCount:RPOP_COUNT_1.default,ROLE:ROLE_1.default,role:ROLE_1.default,RPOP:RPOP_1.default,rPop:RPOP_1.default,RPOPLPUSH:RPOPLPUSH_1.default,rPopLPush:RPOPLPUSH_1.default,RPUSH:RPUSH_1.default,rPush:RPUSH_1.default,RPUSHX:RPUSHX_1.default,rPushX:RPUSHX_1.default,SADD:SADD_1.default,sAdd:SADD_1.default,SCAN:SCAN_1.default,scan:SCAN_1.default,SCARD:SCARD_1.default,sCard:SCARD_1.default,SCRIPT_DEBUG:SCRIPT_DEBUG_1.default,scriptDebug:SCRIPT_DEBUG_1.default,SCRIPT_EXISTS:SCRIPT_EXISTS_1.default,scriptExists:SCRIPT_EXISTS_1.default,SCRIPT_FLUSH:SCRIPT_FLUSH_1.default,scriptFlush:SCRIPT_FLUSH_1.default,SCRIPT_KILL:SCRIPT_KILL_1.default,scriptKill:SCRIPT_KILL_1.default,SCRIPT_LOAD:SCRIPT_LOAD_1.default,scriptLoad:SCRIPT_LOAD_1.default,SDIFF:SDIFF_1.default,sDiff:SDIFF_1.default,SDIFFSTORE:SDIFFSTORE_1.default,sDiffStore:SDIFFSTORE_1.default,SET:SET_1.default,set:SET_1.default,SETBIT:SETBIT_1.default,setBit:SETBIT_1.default,SETEX:SETEX_1.default,setEx:SETEX_1.default,SETNX:SETNX_1.default,setNX:SETNX_1.default,SETRANGE:SETRANGE_1.default,setRange:SETRANGE_1.default,SINTER:SINTER_1.default,sInter:SINTER_1.default,SINTERCARD:SINTERCARD_1.default,sInterCard:SINTERCARD_1.default,SINTERSTORE:SINTERSTORE_1.default,sInterStore:SINTERSTORE_1.default,SISMEMBER:SISMEMBER_1.default,sIsMember:SISMEMBER_1.default,SMEMBERS:SMEMBERS_1.default,sMembers:SMEMBERS_1.default,SMISMEMBER:SMISMEMBER_1.default,smIsMember:SMISMEMBER_1.default,SMOVE:SMOVE_1.default,sMove:SMOVE_1.default,SORT_RO:SORT_RO_1.default,sortRo:SORT_RO_1.default,SORT_STORE:SORT_STORE_1.default,sortStore:SORT_STORE_1.default,SORT:SORT_1.default,sort:SORT_1.default,SPOP_COUNT:SPOP_COUNT_1.default,sPopCount:SPOP_COUNT_1.default,SPOP:SPOP_1.default,sPop:SPOP_1.default,SPUBLISH:SPUBLISH_1.default,sPublish:SPUBLISH_1.default,SRANDMEMBER_COUNT:SRANDMEMBER_COUNT_1.default,sRandMemberCount:SRANDMEMBER_COUNT_1.default,SRANDMEMBER:SRANDMEMBER_1.default,sRandMember:SRANDMEMBER_1.default,SREM:SREM_1.default,sRem:SREM_1.default,SSCAN:SSCAN_1.default,sScan:SSCAN_1.default,STRLEN:STRLEN_1.default,strLen:STRLEN_1.default,SUNION:SUNION_1.default,sUnion:SUNION_1.default,SUNIONSTORE:SUNIONSTORE_1.default,sUnionStore:SUNIONSTORE_1.default,SWAPDB:SWAPDB_1.default,swapDb:SWAPDB_1.default,TIME:TIME_1.default,time:TIME_1.default,TOUCH:TOUCH_1.default,touch:TOUCH_1.default,TTL:TTL_1.default,ttl:TTL_1.default,TYPE:TYPE_1.default,type:TYPE_1.default,UNLINK:UNLINK_1.default,unlink:UNLINK_1.default,WAIT:WAIT_1.default,wait:WAIT_1.default,XACK:XACK_1.default,xAck:XACK_1.default,XACKDEL:XACKDEL_1.default,xAckDel:XACKDEL_1.default,XADD_NOMKSTREAM:XADD_NOMKSTREAM_1.default,xAddNoMkStream:XADD_NOMKSTREAM_1.default,XADD:XADD_1.default,xAdd:XADD_1.default,XAUTOCLAIM_JUSTID:XAUTOCLAIM_JUSTID_1.default,xAutoClaimJustId:XAUTOCLAIM_JUSTID_1.default,XAUTOCLAIM:XAUTOCLAIM_1.default,xAutoClaim:XAUTOCLAIM_1.default,XCLAIM_JUSTID:XCLAIM_JUSTID_1.default,xClaimJustId:XCLAIM_JUSTID_1.default,XCLAIM:XCLAIM_1.default,xClaim:XCLAIM_1.default,XDEL:XDEL_1.default,xDel:XDEL_1.default,XDELEX:XDELEX_1.default,xDelEx:XDELEX_1.default,XGROUP_CREATE:XGROUP_CREATE_1.default,xGroupCreate:XGROUP_CREATE_1.default,XGROUP_CREATECONSUMER:XGROUP_CREATECONSUMER_1.default,xGroupCreateConsumer:XGROUP_CREATECONSUMER_1.default,XGROUP_DELCONSUMER:XGROUP_DELCONSUMER_1.default,xGroupDelConsumer:XGROUP_DELCONSUMER_1.default,XGROUP_DESTROY:XGROUP_DESTROY_1.default,xGroupDestroy:XGROUP_DESTROY_1.default,XGROUP_SETID:XGROUP_SETID_1.default,xGroupSetId:XGROUP_SETID_1.default,XINFO_CONSUMERS:XINFO_CONSUMERS_1.default,xInfoConsumers:XINFO_CONSUMERS_1.default,XINFO_GROUPS:XINFO_GROUPS_1.default,xInfoGroups:XINFO_GROUPS_1.default,XINFO_STREAM:XINFO_STREAM_1.default,xInfoStream:XINFO_STREAM_1.default,XLEN:XLEN_1.default,xLen:XLEN_1.default,XPENDING_RANGE:XPENDING_RANGE_1.default,xPendingRange:XPENDING_RANGE_1.default,XPENDING:XPENDING_1.default,xPending:XPENDING_1.default,XRANGE:XRANGE_1.default,xRange:XRANGE_1.default,XREAD:XREAD_1.default,xRead:XREAD_1.default,XREADGROUP:XREADGROUP_1.default,xReadGroup:XREADGROUP_1.default,XREVRANGE:XREVRANGE_1.default,xRevRange:XREVRANGE_1.default,XSETID:XSETID_1.default,xSetId:XSETID_1.default,XTRIM:XTRIM_1.default,xTrim:XTRIM_1.default,ZADD_INCR:ZADD_INCR_1.default,zAddIncr:ZADD_INCR_1.default,ZADD:ZADD_1.default,zAdd:ZADD_1.default,ZCARD:ZCARD_1.default,zCard:ZCARD_1.default,ZCOUNT:ZCOUNT_1.default,zCount:ZCOUNT_1.default,ZDIFF_WITHSCORES:ZDIFF_WITHSCORES_1.default,zDiffWithScores:ZDIFF_WITHSCORES_1.default,ZDIFF:ZDIFF_1.default,zDiff:ZDIFF_1.default,ZDIFFSTORE:ZDIFFSTORE_1.default,zDiffStore:ZDIFFSTORE_1.default,ZINCRBY:ZINCRBY_1.default,zIncrBy:ZINCRBY_1.default,ZINTER_WITHSCORES:ZINTER_WITHSCORES_1.default,zInterWithScores:ZINTER_WITHSCORES_1.default,ZINTER:ZINTER_1.default,zInter:ZINTER_1.default,ZINTERCARD:ZINTERCARD_1.default,zInterCard:ZINTERCARD_1.default,ZINTERSTORE:ZINTERSTORE_1.default,zInterStore:ZINTERSTORE_1.default,ZLEXCOUNT:ZLEXCOUNT_1.default,zLexCount:ZLEXCOUNT_1.default,ZMPOP:ZMPOP_1.default,zmPop:ZMPOP_1.default,ZMSCORE:ZMSCORE_1.default,zmScore:ZMSCORE_1.default,ZPOPMAX_COUNT:ZPOPMAX_COUNT_1.default,zPopMaxCount:ZPOPMAX_COUNT_1.default,ZPOPMAX:ZPOPMAX_1.default,zPopMax:ZPOPMAX_1.default,ZPOPMIN_COUNT:ZPOPMIN_COUNT_1.default,zPopMinCount:ZPOPMIN_COUNT_1.default,ZPOPMIN:ZPOPMIN_1.default,zPopMin:ZPOPMIN_1.default,ZRANDMEMBER_COUNT_WITHSCORES:ZRANDMEMBER_COUNT_WITHSCORES_1.default,zRandMemberCountWithScores:ZRANDMEMBER_COUNT_WITHSCORES_1.default,ZRANDMEMBER_COUNT:ZRANDMEMBER_COUNT_1.default,zRandMemberCount:ZRANDMEMBER_COUNT_1.default,ZRANDMEMBER:ZRANDMEMBER_1.default,zRandMember:ZRANDMEMBER_1.default,ZRANGE_WITHSCORES:ZRANGE_WITHSCORES_1.default,zRangeWithScores:ZRANGE_WITHSCORES_1.default,ZRANGE:ZRANGE_1.default,zRange:ZRANGE_1.default,ZRANGEBYLEX:ZRANGEBYLEX_1.default,zRangeByLex:ZRANGEBYLEX_1.default,ZRANGEBYSCORE_WITHSCORES:ZRANGEBYSCORE_WITHSCORES_1.default,zRangeByScoreWithScores:ZRANGEBYSCORE_WITHSCORES_1.default,ZRANGEBYSCORE:ZRANGEBYSCORE_1.default,zRangeByScore:ZRANGEBYSCORE_1.default,ZRANGESTORE:ZRANGESTORE_1.default,zRangeStore:ZRANGESTORE_1.default,ZRANK_WITHSCORE:ZRANK_WITHSCORE_1.default,zRankWithScore:ZRANK_WITHSCORE_1.default,ZRANK:ZRANK_1.default,zRank:ZRANK_1.default,ZREM:ZREM_1.default,zRem:ZREM_1.default,ZREMRANGEBYLEX:ZREMRANGEBYLEX_1.default,zRemRangeByLex:ZREMRANGEBYLEX_1.default,ZREMRANGEBYRANK:ZREMRANGEBYRANK_1.default,zRemRangeByRank:ZREMRANGEBYRANK_1.default,ZREMRANGEBYSCORE:ZREMRANGEBYSCORE_1.default,zRemRangeByScore:ZREMRANGEBYSCORE_1.default,ZREVRANK:ZREVRANK_1.default,zRevRank:ZREVRANK_1.default,ZSCAN:ZSCAN_1.default,zScan:ZSCAN_1.default,ZSCORE:ZSCORE_1.default,zScore:ZSCORE_1.default,ZUNION_WITHSCORES:ZUNION_WITHSCORES_1.default,zUnionWithScores:ZUNION_WITHSCORES_1.default,ZUNION:ZUNION_1.default,zUnion:ZUNION_1.default,ZUNIONSTORE:ZUNIONSTORE_1.default,zUnionStore:ZUNIONSTORE_1.default,VADD:VADD_1.default,vAdd:VADD_1.default,VCARD:VCARD_1.default,vCard:VCARD_1.default,VDIM:VDIM_1.default,vDim:VDIM_1.default,VEMB:VEMB_1.default,vEmb:VEMB_1.default,VEMB_RAW:VEMB_RAW_1.default,vEmbRaw:VEMB_RAW_1.default,VGETATTR:VGETATTR_1.default,vGetAttr:VGETATTR_1.default,VINFO:VINFO_1.default,vInfo:VINFO_1.default,VLINKS:VLINKS_1.default,vLinks:VLINKS_1.default,VLINKS_WITHSCORES:VLINKS_WITHSCORES_1.default,vLinksWithScores:VLINKS_WITHSCORES_1.default,VRANDMEMBER:VRANDMEMBER_1.default,vRandMember:VRANDMEMBER_1.default,VREM:VREM_1.default,vRem:VREM_1.default,VSETATTR:VSETATTR_1.default,vSetAttr:VSETATTR_1.default,VSIM:VSIM_1.default,vSim:VSIM_1.default,VSIM_WITHSCORES:VSIM_WITHSCORES_1.default,vSimWithScores:VSIM_WITHSCORES_1.default}}),require_enterprise_maintenance_manager=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.emitDiagnostics=exports.dbgMaintenance=exports.MAINTENANCE_EVENTS=void 0;var net_1=__require2("net"),promises_1=__require2("dns/promises"),node_assert_1=__importDefault(__require2("node:assert")),promises_2=__require2("node:timers/promises"),node_diagnostics_channel_1=__importDefault(__require2("node:diagnostics_channel"));exports.MAINTENANCE_EVENTS={PAUSE_WRITING:"pause-writing",RESUME_WRITING:"resume-writing",TIMEOUTS_UPDATE:"timeouts-update"};var PN={MOVING:"MOVING",MIGRATING:"MIGRATING",MIGRATED:"MIGRATED",FAILING_OVER:"FAILING_OVER",FAILED_OVER:"FAILED_OVER"},dbgMaintenance=(...args2)=>{if(!process.env.REDIS_DEBUG_MAINTENANCE)return;return console.log("[MNT]",...args2)};exports.dbgMaintenance=dbgMaintenance;var emitDiagnostics=(event)=>{if(!process.env.REDIS_EMIT_DIAGNOSTICS)return;node_diagnostics_channel_1.default.channel("redis.maintenance").publish(event)};exports.emitDiagnostics=emitDiagnostics;class EnterpriseMaintenanceManager{#commandsQueue;#options;#isMaintenance=0;#client;static setupDefaultMaintOptions(options){if(options.maintNotifications===void 0)options.maintNotifications=options?.RESP===3?"auto":"disabled";if(options.maintEndpointType===void 0)options.maintEndpointType="auto";if(options.maintRelaxedSocketTimeout===void 0)options.maintRelaxedSocketTimeout=1e4;if(options.maintRelaxedCommandTimeout===void 0)options.maintRelaxedCommandTimeout=1e4}static async getHandshakeCommand(options){if(options.maintNotifications==="disabled")return;let host=options.url?new URL(options.url).hostname:options.socket?.host;if(!host)return;let tls=options.socket?.tls??!1;return{cmd:["CLIENT","MAINT_NOTIFICATIONS","ON","moving-endpoint-type",await determineEndpoint(tls,host,options)],errorHandler:(error3)=>{if((0,exports.dbgMaintenance)("handshake failed:",error3),options.maintNotifications==="enabled")throw error3}}}constructor(commandsQueue,client,options){this.#commandsQueue=commandsQueue,this.#options=options,this.#client=client,this.#commandsQueue.addPushHandler(this.#onPush)}#onPush=(push)=>{if((0,exports.dbgMaintenance)("ONPUSH:",push.map(String)),!Array.isArray(push)||!["MOVING","MIGRATING","MIGRATED","FAILING_OVER","FAILED_OVER"].includes(String(push[0])))return!1;let type=String(push[0]);switch((0,exports.emitDiagnostics)({type,timestamp:Date.now(),data:{push:push.map(String)}}),type){case PN.MOVING:{let afterSeconds=push[2],url3=push[3]?String(push[3]):null;return(0,exports.dbgMaintenance)("Received MOVING:",afterSeconds,url3),this.#onMoving(afterSeconds,url3),!0}case PN.MIGRATING:case PN.FAILING_OVER:return(0,exports.dbgMaintenance)("Received MIGRATING|FAILING_OVER"),this.#onMigrating(),!0;case PN.MIGRATED:case PN.FAILED_OVER:return(0,exports.dbgMaintenance)("Received MIGRATED|FAILED_OVER"),this.#onMigrated(),!0}return!1};#onMoving=async(afterSeconds,url3)=>{this.#onMigrating();let host,port3;if(url3===null){(0,node_assert_1.default)(this.#options.maintEndpointType==="none"),(0,node_assert_1.default)(this.#options.socket!==void 0),(0,node_assert_1.default)("host"in this.#options.socket),(0,node_assert_1.default)(typeof this.#options.socket.host==="string"),host=this.#options.socket.host,(0,node_assert_1.default)(typeof this.#options.socket.port==="number"),port3=this.#options.socket.port;let waitTime=afterSeconds*1000/2;(0,exports.dbgMaintenance)(`Wait for ${waitTime}ms`),await(0,promises_2.setTimeout)(waitTime)}else{let split4=url3.split(":");host=split4[0],port3=Number(split4[1])}(0,exports.dbgMaintenance)("Pausing writing of new commands to old socket"),this.#client._pause(),(0,exports.dbgMaintenance)("Creating new tmp client");let start3=performance.now();if(this.#options.url){let u=new URL(this.#options.url);u.hostname=host,u.port=String(port3),this.#options.url=u.toString()}else this.#options.socket={...this.#options.socket,host,port:port3};let tmpClient=this.#client.duplicate();tmpClient.on("error",(error3)=>{(0,exports.dbgMaintenance)("[ERR]",error3)}),(0,exports.dbgMaintenance)(`Tmp client created in ${(performance.now()-start3).toFixed(2)}ms`),(0,exports.dbgMaintenance)(`Set timeout for tmp client to ${this.#options.maintRelaxedSocketTimeout}`),tmpClient._maintenanceUpdate({relaxedCommandTimeout:this.#options.maintRelaxedCommandTimeout,relaxedSocketTimeout:this.#options.maintRelaxedSocketTimeout}),(0,exports.dbgMaintenance)(`Connecting tmp client: ${host}:${port3}`),start3=performance.now(),await tmpClient.connect(),(0,exports.dbgMaintenance)(`Connected to tmp client in ${(performance.now()-start3).toFixed(2)}ms`),(0,exports.dbgMaintenance)("Wait for all in-flight commands to complete"),await this.#commandsQueue.waitForInflightCommandsToComplete(),(0,exports.dbgMaintenance)("In-flight commands completed"),(0,exports.dbgMaintenance)("Swap client sockets...");let oldSocket=this.#client._ejectSocket(),newSocket=tmpClient._ejectSocket();this.#client._insertSocket(newSocket),tmpClient._insertSocket(oldSocket),tmpClient.destroy(),(0,exports.dbgMaintenance)("Swap client sockets done."),(0,exports.dbgMaintenance)("Resume writing"),this.#client._unpause(),this.#onMigrated()};#onMigrating=()=>{if(this.#isMaintenance++,this.#isMaintenance>1){(0,exports.dbgMaintenance)("Timeout relaxation already done");return}let update5={relaxedCommandTimeout:this.#options.maintRelaxedCommandTimeout,relaxedSocketTimeout:this.#options.maintRelaxedSocketTimeout};this.#client._maintenanceUpdate(update5)};#onMigrated=()=>{if(this.#isMaintenance=Math.max(this.#isMaintenance-1,0),this.#isMaintenance>0){(0,exports.dbgMaintenance)("Not ready to unrelax timeouts yet");return}let update5={relaxedCommandTimeout:void 0,relaxedSocketTimeout:void 0};this.#client._maintenanceUpdate(update5)}}exports.default=EnterpriseMaintenanceManager;function isPrivateIP(ip){let version=(0,net_1.isIP)(ip);if(version===4){let octets=ip.split(".").map(Number);return octets[0]===10||octets[0]===172&&octets[1]>=16&&octets[1]<=31||octets[0]===192&&octets[1]===168}if(version===6)return ip.startsWith("fc")||ip.startsWith("fd")||ip==="::1"||ip.startsWith("fe80");return!1}async function determineEndpoint(tlsEnabled,host,options){if((0,node_assert_1.default)(options.maintEndpointType!==void 0),options.maintEndpointType!=="auto")return(0,exports.dbgMaintenance)(`Determine endpoint type: ${options.maintEndpointType}`),options.maintEndpointType;let ip=(0,net_1.isIP)(host)?host:(await(0,promises_1.lookup)(host,{family:0})).address,isPrivate=isPrivateIP(ip),result;if(tlsEnabled)result=isPrivate?"internal-fqdn":"external-fqdn";else result=isPrivate?"internal-ip":"external-ip";return(0,exports.dbgMaintenance)(`Determine endpoint type: ${result}`),result}}),require_socket=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var node_events_1=__require2("node:events"),node_net_1=__importDefault(__require2("node:net")),node_tls_1=__importDefault(__require2("node:tls")),errors_1=require_errors(),promises_1=__require2("node:timers/promises"),enterprise_maintenance_manager_1=require_enterprise_maintenance_manager();class RedisSocket extends node_events_1.EventEmitter{#initiator;#connectTimeout;#reconnectStrategy;#socketFactory;#socketTimeout;#maintenanceTimeout;#socket;#isOpen=!1;get isOpen(){return this.#isOpen}#isReady=!1;get isReady(){return this.#isReady}#isSocketUnrefed=!1;#socketEpoch=0;get socketEpoch(){return this.#socketEpoch}constructor(initiator,options){super();this.#initiator=initiator,this.#connectTimeout=options?.connectTimeout??5000,this.#reconnectStrategy=this.#createReconnectStrategy(options),this.#socketFactory=this.#createSocketFactory(options),this.#socketTimeout=options?.socketTimeout}#createReconnectStrategy(options){let strategy=options?.reconnectStrategy;if(strategy===!1||typeof strategy==="number")return()=>strategy;if(strategy)return(retries,cause3)=>{try{let retryIn=strategy(retries,cause3);if(retryIn!==!1&&!(retryIn instanceof Error)&&typeof retryIn!=="number")throw TypeError(`Reconnect strategy should return \`false | Error | number\`, got ${retryIn} instead`);return retryIn}catch(err){return this.emit("error",err),this.defaultReconnectStrategy(retries,err)}};return this.defaultReconnectStrategy}#createSocketFactory(options){if(options?.tls===!0){let withDefaults2={...options,port:options?.port??6379,noDelay:options?.noDelay??!0,keepAlive:options?.keepAlive??!0,keepAliveInitialDelay:options?.keepAliveInitialDelay??5000,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return node_tls_1.default.connect(withDefaults2)},event:"secureConnect"}}if(options&&"path"in options){let withDefaults2={...options,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return node_net_1.default.createConnection(withDefaults2)},event:"connect"}}let withDefaults={...options,port:options?.port??6379,noDelay:options?.noDelay??!0,keepAlive:options?.keepAlive??!0,keepAliveInitialDelay:options?.keepAliveInitialDelay??5000,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return node_net_1.default.createConnection(withDefaults)},event:"connect"}}#shouldReconnect(retries,cause3){let retryIn=this.#reconnectStrategy(retries,cause3);if(retryIn===!1)return this.#isOpen=!1,this.emit("error",cause3),cause3;else if(retryIn instanceof Error)return this.#isOpen=!1,this.emit("error",cause3),new errors_1.ReconnectStrategyError(retryIn,cause3);return retryIn}async connect(){if(this.#isOpen)throw Error("Socket already opened");return this.#isOpen=!0,this.#connect()}async#connect(){let retries=0;do try{this.#socket=await this.#createSocket(),this.emit("connect");try{if(await this.#initiator(),!this.#socket||this.#socket.destroyed||!this.#socket.readable||!this.#socket.writable){let retryIn=this.#shouldReconnect(retries++,new errors_1.SocketClosedUnexpectedlyError);if(typeof retryIn!=="number")throw retryIn;await(0,promises_1.setTimeout)(retryIn),this.emit("reconnecting");continue}}catch(err){throw this.#socket.destroy(),this.#socket=void 0,err}this.#isReady=!0,this.#socketEpoch++,this.emit("ready")}catch(err){let retryIn=this.#shouldReconnect(retries++,err);if(typeof retryIn!=="number")throw retryIn;this.emit("error",err),await(0,promises_1.setTimeout)(retryIn),this.emit("reconnecting")}while(this.#isOpen&&!this.#isReady)}setMaintenanceTimeout(ms){if((0,enterprise_maintenance_manager_1.dbgMaintenance)(`Set socket timeout to ${ms}`),this.#maintenanceTimeout===ms){(0,enterprise_maintenance_manager_1.dbgMaintenance)(`Socket already set maintenanceCommandTimeout to ${ms}, skipping`);return}if(this.#maintenanceTimeout=ms,ms!==void 0)this.#socket?.setTimeout(ms);else this.#socket?.setTimeout(this.#socketTimeout??0)}async#createSocket(){let socket=this.#socketFactory.create(),onTimeout;if(this.#connectTimeout!==void 0)onTimeout=()=>socket.destroy(new errors_1.ConnectionTimeoutError),socket.once("timeout",onTimeout),socket.setTimeout(this.#connectTimeout);if(this.#isSocketUnrefed)socket.unref();if(await(0,node_events_1.once)(socket,this.#socketFactory.event),onTimeout)socket.removeListener("timeout",onTimeout);if(this.#socketTimeout)socket.once("timeout",()=>{let error3=this.#maintenanceTimeout?new errors_1.SocketTimeoutDuringMaintenanceError(this.#maintenanceTimeout):new errors_1.SocketTimeoutError(this.#socketTimeout);socket.destroy(error3)}),socket.setTimeout(this.#socketTimeout);return socket.once("error",(err)=>this.#onSocketError(err)).once("close",(hadError)=>{if(hadError||!this.#isOpen||this.#socket!==socket)return;this.#onSocketError(new errors_1.SocketClosedUnexpectedlyError)}).on("drain",()=>this.emit("drain")).on("data",(data)=>this.emit("data",data)),socket}#onSocketError(err){let wasReady=this.#isReady;if(this.#isReady=!1,this.emit("error",err),!wasReady||!this.#isOpen||typeof this.#shouldReconnect(0,err)!=="number")return;this.emit("reconnecting"),this.#connect().catch(()=>{})}write(iterable){if(!this.#socket)return;this.#socket.cork();for(let args2 of iterable){for(let toWrite of args2)this.#socket.write(toWrite);if(this.#socket.writableNeedDrain)break}this.#socket.uncork()}async quit(fn2){if(!this.#isOpen)throw new errors_1.ClientClosedError;this.#isOpen=!1;let reply=await fn2();return this.destroySocket(),reply}close(){if(!this.#isOpen)throw new errors_1.ClientClosedError;this.#isOpen=!1}destroy(){if(!this.#isOpen)throw new errors_1.ClientClosedError;this.#isOpen=!1,this.destroySocket()}destroySocket(){if(this.#isReady=!1,this.#socket)this.#socket.destroy(),this.#socket=void 0;this.emit("end")}ref(){this.#isSocketUnrefed=!1,this.#socket?.ref()}unref(){this.#isSocketUnrefed=!0,this.#socket?.unref()}defaultReconnectStrategy(retries,cause3){if(cause3 instanceof errors_1.SocketTimeoutError)return!1;let jitter=Math.floor(Math.random()*200);return Math.min(Math.pow(2,retries)*50,2000)+jitter}}exports.default=RedisSocket}),require_token=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Token=void 0;class Token{value;expiresAtMs;receivedAtMs;constructor(value,expiresAtMs,receivedAtMs){this.value=value,this.expiresAtMs=expiresAtMs,this.receivedAtMs=receivedAtMs}getTtlMs(now){if(this.expiresAtMs<now)return 0;return this.expiresAtMs-now}}exports.Token=Token}),require_token_manager=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.TokenManager=exports.IDPError=void 0;var token_1=require_token();class IDPError extends Error{message;isRetryable;constructor(message,isRetryable){super(message);this.message=message,this.isRetryable=isRetryable,this.name="IDPError"}}exports.IDPError=IDPError;class TokenManager{identityProvider;config;currentToken=null;refreshTimeout=null;listener=null;retryAttempt=0;constructor(identityProvider,config2){if(this.identityProvider=identityProvider,this.config=config2,this.config.expirationRefreshRatio>1)throw Error("expirationRefreshRatio must be less than or equal to 1");if(this.config.expirationRefreshRatio<0)throw Error("expirationRefreshRatio must be greater or equal to 0")}start(listener,initialDelayMs=0){if(this.listener)this.stop();return this.listener=listener,this.retryAttempt=0,this.scheduleNextRefresh(initialDelayMs),{dispose:()=>this.stop()}}calculateRetryDelay(){if(!this.config.retry)return 0;let{initialDelayMs,maxDelayMs,backoffMultiplier,jitterPercentage}=this.config.retry,delay3=initialDelayMs*Math.pow(backoffMultiplier,this.retryAttempt-1);if(delay3=Math.min(delay3,maxDelayMs),jitterPercentage){let jitterRange=delay3*(jitterPercentage/100),jitterAmount=Math.random()*jitterRange-jitterRange/2;delay3+=jitterAmount}return Math.max(0,Math.floor(delay3))}shouldRetry(error3){if(!this.config.retry)return!1;let{maxAttempts,isRetryable}=this.config.retry;if(this.retryAttempt>=maxAttempts)return!1;if(isRetryable)return isRetryable(error3,this.retryAttempt);return!1}isRunning(){return this.listener!==null}async refresh(){if(!this.listener)throw Error("TokenManager is not running, but refresh was called");try{await this.identityProvider.requestToken().then(this.handleNewToken),this.retryAttempt=0}catch(error3){if(this.shouldRetry(error3)){this.retryAttempt++;let retryDelay=this.calculateRetryDelay();this.notifyError(`Token refresh failed (attempt ${this.retryAttempt}), retrying in ${retryDelay}ms: ${error3}`,!0),this.scheduleNextRefresh(retryDelay)}else this.notifyError(error3,!1),this.stop()}}handleNewToken=async({token:nativeToken,ttlMs})=>{if(!this.listener)throw Error("TokenManager is not running, but a new token was received");let token=this.wrapAndSetCurrentToken(nativeToken,ttlMs);this.listener.onNext(token),this.scheduleNextRefresh(this.calculateRefreshTime(token))};wrapAndSetCurrentToken(nativeToken,ttlMs){let now=Date.now(),token=new token_1.Token(nativeToken,now+ttlMs,now);return this.currentToken=token,token}scheduleNextRefresh(delayMs){if(this.refreshTimeout)clearTimeout(this.refreshTimeout),this.refreshTimeout=null;if(delayMs===0)this.refresh();else this.refreshTimeout=setTimeout(()=>this.refresh(),delayMs)}calculateRefreshTime(token,now=Date.now()){let ttlMs=token.getTtlMs(now);return Math.floor(ttlMs*this.config.expirationRefreshRatio)}stop(){if(this.refreshTimeout)clearTimeout(this.refreshTimeout),this.refreshTimeout=null;this.listener=null,this.currentToken=null,this.retryAttempt=0}getCurrentToken(){return this.currentToken}notifyError(error3,isRetryable){let errorMessage=error3 instanceof Error?error3.message:String(error3);if(!this.listener)throw Error(`TokenManager is not running but received an error: ${errorMessage}`);this.listener.onError(new IDPError(errorMessage,isRetryable))}}exports.TokenManager=TokenManager}),require_credentials_provider=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.UnableToObtainNewCredentialsError=exports.CredentialsError=void 0;class CredentialsError extends Error{constructor(message){super(`Re-authentication with latest credentials failed: ${message}`);this.name="CredentialsError"}}exports.CredentialsError=CredentialsError;class UnableToObtainNewCredentialsError extends Error{constructor(message){super(`Unable to obtain new credentials : ${message}`);this.name="UnableToObtainNewCredentialsError"}}exports.UnableToObtainNewCredentialsError=UnableToObtainNewCredentialsError}),require_authx=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Token=exports.CredentialsError=exports.UnableToObtainNewCredentialsError=exports.IDPError=exports.TokenManager=void 0;var token_manager_1=require_token_manager();Object.defineProperty(exports,"TokenManager",{enumerable:!0,get:function(){return token_manager_1.TokenManager}}),Object.defineProperty(exports,"IDPError",{enumerable:!0,get:function(){return token_manager_1.IDPError}});var credentials_provider_1=require_credentials_provider();Object.defineProperty(exports,"UnableToObtainNewCredentialsError",{enumerable:!0,get:function(){return credentials_provider_1.UnableToObtainNewCredentialsError}}),Object.defineProperty(exports,"CredentialsError",{enumerable:!0,get:function(){return credentials_provider_1.CredentialsError}});var token_1=require_token();Object.defineProperty(exports,"Token",{enumerable:!0,get:function(){return token_1.Token}})}),require_linked_list=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.EmptyAwareSinglyLinkedList=exports.SinglyLinkedList=exports.DoublyLinkedList=void 0;var events_1=__importDefault(__require2("events"));class DoublyLinkedList{#length=0;get length(){return this.#length}#head;get head(){return this.#head}#tail;get tail(){return this.#tail}push(value){if(++this.#length,this.#tail===void 0)return this.#head=this.#tail={previous:this.#head,next:void 0,value};return this.#tail=this.#tail.next={previous:this.#tail,next:void 0,value}}unshift(value){if(++this.#length,this.#head===void 0)return this.#head=this.#tail={previous:void 0,next:void 0,value};return this.#head=this.#head.previous={previous:void 0,next:this.#head,value}}add(value,prepend6=!1){return prepend6?this.unshift(value):this.push(value)}shift(){if(this.#head===void 0)return;--this.#length;let node=this.#head;if(node.next)node.next.previous=void 0,this.#head=node.next,node.next=void 0;else this.#head=this.#tail=void 0;return node.value}remove(node){if(this.#length===0)return;if(--this.#length,this.#tail===node)this.#tail=node.previous;if(this.#head===node)this.#head=node.next;else{if(node.previous)node.previous.next=node.next;if(node.next)node.next.previous=node.previous}node.previous=void 0,node.next=void 0}reset(){this.#length=0,this.#head=this.#tail=void 0}*[Symbol.iterator](){let node=this.#head;while(node!==void 0)yield node.value,node=node.next}*nodes(){let node=this.#head;while(node){let next4=node.next;yield node,node=next4}}}exports.DoublyLinkedList=DoublyLinkedList;class SinglyLinkedList{#length=0;get length(){return this.#length}#head;get head(){return this.#head}#tail;get tail(){return this.#tail}push(value){++this.#length;let node={value,next:void 0,removed:!1};if(this.#head===void 0)return this.#head=this.#tail=node;return this.#tail.next=this.#tail=node}remove(node,parent){if(node.removed)throw Error("node already removed");if(--this.#length,this.#head===node)if(this.#tail===node)this.#head=this.#tail=void 0;else this.#head=node.next;else if(this.#tail===node)this.#tail=parent,parent.next=void 0;else parent.next=node.next;node.removed=!0}shift(){if(this.#head===void 0)return;let node=this.#head;if(--this.#length===0)this.#head=this.#tail=void 0;else this.#head=node.next;return node.removed=!0,node.value}reset(){this.#length=0,this.#head=this.#tail=void 0}*[Symbol.iterator](){let node=this.#head;while(node!==void 0)yield node.value,node=node.next}}exports.SinglyLinkedList=SinglyLinkedList;class EmptyAwareSinglyLinkedList extends SinglyLinkedList{events=new events_1.default;reset(){let old=this.length;if(super.reset(),old!==this.length&&this.length===0)this.events.emit("empty")}shift(){let old=this.length,ret=super.shift();if(old!==this.length&&this.length===0)this.events.emit("empty");return ret}remove(node,parent){let old=this.length;if(super.remove(node,parent),old!==this.length&&this.length===0)this.events.emit("empty")}}exports.EmptyAwareSinglyLinkedList=EmptyAwareSinglyLinkedList}),require_encoder=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var CRLF=`\r
|
|
76
|
-
`;function encodeCommand(args2){let toWrite=[],strings="*"+args2.length+CRLF;for(let i=0;i<args2.length;i++){let arg=args2[i];if(typeof arg==="string")strings+="$"+Buffer.byteLength(arg)+CRLF+arg+CRLF;else if(arg instanceof Buffer)toWrite.push(strings+"$"+arg.length.toString()+CRLF,arg),strings=CRLF;else throw TypeError(`"arguments[${i}]" must be of type "string | Buffer", got ${typeof arg} instead.`)}return toWrite.push(strings),toWrite}exports.default=encodeCommand}),require_pub_sub=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PubSub=exports.PUBSUB_TYPE=void 0,exports.PUBSUB_TYPE={CHANNELS:"CHANNELS",PATTERNS:"PATTERNS",SHARDED:"SHARDED"};var COMMANDS={[exports.PUBSUB_TYPE.CHANNELS]:{subscribe:Buffer.from("subscribe"),unsubscribe:Buffer.from("unsubscribe"),message:Buffer.from("message")},[exports.PUBSUB_TYPE.PATTERNS]:{subscribe:Buffer.from("psubscribe"),unsubscribe:Buffer.from("punsubscribe"),message:Buffer.from("pmessage")},[exports.PUBSUB_TYPE.SHARDED]:{subscribe:Buffer.from("ssubscribe"),unsubscribe:Buffer.from("sunsubscribe"),message:Buffer.from("smessage")}};class PubSub{static isStatusReply(reply){return COMMANDS[exports.PUBSUB_TYPE.CHANNELS].subscribe.equals(reply[0])||COMMANDS[exports.PUBSUB_TYPE.CHANNELS].unsubscribe.equals(reply[0])||COMMANDS[exports.PUBSUB_TYPE.PATTERNS].subscribe.equals(reply[0])||COMMANDS[exports.PUBSUB_TYPE.PATTERNS].unsubscribe.equals(reply[0])||COMMANDS[exports.PUBSUB_TYPE.SHARDED].subscribe.equals(reply[0])}static isShardedUnsubscribe(reply){return COMMANDS[exports.PUBSUB_TYPE.SHARDED].unsubscribe.equals(reply[0])}static#channelsArray(channels){return Array.isArray(channels)?channels:[channels]}static#listenersSet(listeners,returnBuffers){return returnBuffers?listeners.buffers:listeners.strings}#subscribing=0;#isActive=!1;get isActive(){return this.#isActive}listeners={[exports.PUBSUB_TYPE.CHANNELS]:new Map,[exports.PUBSUB_TYPE.PATTERNS]:new Map,[exports.PUBSUB_TYPE.SHARDED]:new Map};subscribe(type,channels,listener,returnBuffers){let args2=[COMMANDS[type].subscribe],channelsArray=PubSub.#channelsArray(channels);for(let channel of channelsArray){let channelListeners=this.listeners[type].get(channel);if(!channelListeners||channelListeners.unsubscribing)args2.push(channel)}if(args2.length===1){for(let channel of channelsArray)PubSub.#listenersSet(this.listeners[type].get(channel),returnBuffers).add(listener);return}return this.#isActive=!0,this.#subscribing++,{args:args2,channelsCounter:args2.length-1,resolve:()=>{this.#subscribing--;for(let channel of channelsArray){let listeners=this.listeners[type].get(channel);if(!listeners)listeners={unsubscribing:!1,buffers:new Set,strings:new Set},this.listeners[type].set(channel,listeners);PubSub.#listenersSet(listeners,returnBuffers).add(listener)}},reject:()=>{this.#subscribing--,this.#updateIsActive()}}}extendChannelListeners(type,channel,listeners){if(!this.#extendChannelListeners(type,channel,listeners))return;return this.#isActive=!0,this.#subscribing++,{args:[COMMANDS[type].subscribe,channel],channelsCounter:1,resolve:()=>this.#subscribing--,reject:()=>{this.#subscribing--,this.#updateIsActive()}}}#extendChannelListeners(type,channel,listeners){let existingListeners=this.listeners[type].get(channel);if(!existingListeners)return this.listeners[type].set(channel,listeners),!0;for(let listener of listeners.buffers)existingListeners.buffers.add(listener);for(let listener of listeners.strings)existingListeners.strings.add(listener);return!1}extendTypeListeners(type,listeners){let args2=[COMMANDS[type].subscribe];for(let[channel,channelListeners]of listeners)if(this.#extendChannelListeners(type,channel,channelListeners))args2.push(channel);if(args2.length===1)return;return this.#isActive=!0,this.#subscribing++,{args:args2,channelsCounter:args2.length-1,resolve:()=>this.#subscribing--,reject:()=>{this.#subscribing--,this.#updateIsActive()}}}unsubscribe(type,channels,listener,returnBuffers){let listeners=this.listeners[type];if(!channels)return this.#unsubscribeCommand([COMMANDS[type].unsubscribe],NaN,()=>listeners.clear());let channelsArray=PubSub.#channelsArray(channels);if(!listener)return this.#unsubscribeCommand([COMMANDS[type].unsubscribe,...channelsArray],channelsArray.length,()=>{for(let channel of channelsArray)listeners.delete(channel)});let args2=[COMMANDS[type].unsubscribe];for(let channel of channelsArray){let sets=listeners.get(channel);if(sets){let current2,other;if(returnBuffers)current2=sets.buffers,other=sets.strings;else current2=sets.strings,other=sets.buffers;if((current2.has(listener)?current2.size-1:current2.size)!==0||other.size!==0)continue;sets.unsubscribing=!0}args2.push(channel)}if(args2.length===1){for(let channel of channelsArray)PubSub.#listenersSet(listeners.get(channel),returnBuffers).delete(listener);return}return this.#unsubscribeCommand(args2,args2.length-1,()=>{for(let channel of channelsArray){let sets=listeners.get(channel);if(!sets)continue;if((returnBuffers?sets.buffers:sets.strings).delete(listener),sets.buffers.size===0&&sets.strings.size===0)listeners.delete(channel)}})}#unsubscribeCommand(args2,channelsCounter,removeListeners){return{args:args2,channelsCounter,resolve:()=>{removeListeners(),this.#updateIsActive()},reject:void 0}}#updateIsActive(){this.#isActive=this.listeners[exports.PUBSUB_TYPE.CHANNELS].size!==0||this.listeners[exports.PUBSUB_TYPE.PATTERNS].size!==0||this.listeners[exports.PUBSUB_TYPE.SHARDED].size!==0||this.#subscribing!==0}reset(){this.#isActive=!1,this.#subscribing=0}resubscribe(){let commands=[];for(let[type,listeners]of Object.entries(this.listeners)){if(!listeners.size)continue;if(this.#isActive=!0,type===exports.PUBSUB_TYPE.SHARDED)this.#shardedResubscribe(commands,listeners);else this.#normalResubscribe(commands,type,listeners)}return commands}#normalResubscribe(commands,type,listeners){this.#subscribing++;let callback=()=>this.#subscribing--;commands.push({args:[COMMANDS[type].subscribe,...listeners.keys()],channelsCounter:listeners.size,resolve:callback,reject:callback})}#shardedResubscribe(commands,listeners){let callback=()=>this.#subscribing--;for(let channel of listeners.keys())this.#subscribing++,commands.push({args:[COMMANDS[exports.PUBSUB_TYPE.SHARDED].subscribe,channel],channelsCounter:1,resolve:callback,reject:callback})}handleMessageReply(reply){if(COMMANDS[exports.PUBSUB_TYPE.CHANNELS].message.equals(reply[0]))return this.#emitPubSubMessage(exports.PUBSUB_TYPE.CHANNELS,reply[2],reply[1]),!0;else if(COMMANDS[exports.PUBSUB_TYPE.PATTERNS].message.equals(reply[0]))return this.#emitPubSubMessage(exports.PUBSUB_TYPE.PATTERNS,reply[3],reply[2],reply[1]),!0;else if(COMMANDS[exports.PUBSUB_TYPE.SHARDED].message.equals(reply[0]))return this.#emitPubSubMessage(exports.PUBSUB_TYPE.SHARDED,reply[2],reply[1]),!0;return!1}removeShardedListeners(channel){let listeners=this.listeners[exports.PUBSUB_TYPE.SHARDED].get(channel);return this.listeners[exports.PUBSUB_TYPE.SHARDED].delete(channel),this.#updateIsActive(),listeners}removeAllListeners(){let result={[exports.PUBSUB_TYPE.CHANNELS]:this.listeners[exports.PUBSUB_TYPE.CHANNELS],[exports.PUBSUB_TYPE.PATTERNS]:this.listeners[exports.PUBSUB_TYPE.PATTERNS],[exports.PUBSUB_TYPE.SHARDED]:this.listeners[exports.PUBSUB_TYPE.SHARDED]};return this.#updateIsActive(),this.listeners[exports.PUBSUB_TYPE.CHANNELS]=new Map,this.listeners[exports.PUBSUB_TYPE.PATTERNS]=new Map,this.listeners[exports.PUBSUB_TYPE.SHARDED]=new Map,result}#emitPubSubMessage(type,message,channel,pattern){let keyString=(pattern??channel).toString(),listeners=this.listeners[type].get(keyString);if(!listeners)return;for(let listener of listeners.buffers)listener(message,channel);if(!listeners.strings.size)return;let channelString=pattern?channel.toString():keyString,messageString=channelString==="__redis__:invalidate"?message===null?null:message.map((x)=>x.toString()):message.toString();for(let listener of listeners.strings)listener(messageString,channelString)}}exports.PubSub=PubSub}),require_commands_queue=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var linked_list_1=require_linked_list(),encoder_1=__importDefault(require_encoder()),decoder_1=require_decoder(),pub_sub_1=require_pub_sub(),errors_1=require_errors(),enterprise_maintenance_manager_1=require_enterprise_maintenance_manager(),PONG=Buffer.from("pong"),RESET=Buffer.from("RESET"),RESP2_PUSH_TYPE_MAPPING={...decoder_1.PUSH_TYPE_MAPPING,[decoder_1.RESP_TYPES.SIMPLE_STRING]:Buffer};class RedisCommandsQueue{#respVersion;#maxLength;#toWrite=new linked_list_1.DoublyLinkedList;#waitingForReply=new linked_list_1.EmptyAwareSinglyLinkedList;#onShardedChannelMoved;#chainInExecution;decoder;#pubSub=new pub_sub_1.PubSub;#pushHandlers=[this.#onPush.bind(this)];#maintenanceCommandTimeout;setMaintenanceCommandTimeout(ms){if(this.#maintenanceCommandTimeout===ms){(0,enterprise_maintenance_manager_1.dbgMaintenance)(`Queue already set maintenanceCommandTimeout to ${ms}, skipping`);return}if((0,enterprise_maintenance_manager_1.dbgMaintenance)(`Setting maintenance command timeout to ${ms}`),this.#maintenanceCommandTimeout=ms,this.#maintenanceCommandTimeout===void 0){(0,enterprise_maintenance_manager_1.dbgMaintenance)("Queue will keep maintenanceCommandTimeout for exisitng commands, just to be on the safe side. New commands will receive normal timeouts");return}let counter6=0,total=this.#toWrite.length;for(let node of this.#toWrite.nodes()){let command=node.value;RedisCommandsQueue.#removeTimeoutListener(command),counter6++;let newTimeout=this.#maintenanceCommandTimeout,signal=AbortSignal.timeout(newTimeout);command.timeout={signal,listener:()=>{this.#toWrite.remove(node),command.reject(new errors_1.CommandTimeoutDuringMaintenanceError(newTimeout))},originalTimeout:command.timeout?.originalTimeout},signal.addEventListener("abort",command.timeout.listener,{once:!0})}(0,enterprise_maintenance_manager_1.dbgMaintenance)(`Total of ${counter6} of ${total} timeouts reset to ${ms}`)}get isPubSubActive(){return this.#pubSub.isActive}constructor(respVersion,maxLength,onShardedChannelMoved){this.#respVersion=respVersion,this.#maxLength=maxLength,this.#onShardedChannelMoved=onShardedChannelMoved,this.decoder=this.#initiateDecoder()}#onReply(reply){this.#waitingForReply.shift().resolve(reply)}#onErrorReply(err){this.#waitingForReply.shift().reject(err)}#onPush(push){if(this.#pubSub.handleMessageReply(push))return!0;let isShardedUnsubscribe=pub_sub_1.PubSub.isShardedUnsubscribe(push);if(isShardedUnsubscribe&&!this.#waitingForReply.length){let channel=push[1].toString();return this.#onShardedChannelMoved(channel,this.#pubSub.removeShardedListeners(channel)),!0}else if(isShardedUnsubscribe||pub_sub_1.PubSub.isStatusReply(push)){let head6=this.#waitingForReply.head.value;if(Number.isNaN(head6.channelsCounter)&&push[2]===0||--head6.channelsCounter===0)this.#waitingForReply.shift().resolve();return!0}return!1}#getTypeMapping(){return this.#waitingForReply.head.value.typeMapping??{}}#initiateDecoder(){return new decoder_1.Decoder({onReply:(reply)=>this.#onReply(reply),onErrorReply:(err)=>this.#onErrorReply(err),onPush:(push)=>{for(let pushHandler of this.#pushHandlers)if(pushHandler(push))return},getTypeMapping:()=>this.#getTypeMapping()})}addPushHandler(handler){this.#pushHandlers.push(handler)}async waitForInflightCommandsToComplete(){if(this.#waitingForReply.length===0)return;return new Promise((resolve)=>{this.#waitingForReply.events.on("empty",resolve)})}addCommand(args2,options){if(this.#maxLength&&this.#toWrite.length+this.#waitingForReply.length>=this.#maxLength)return Promise.reject(Error("The queue is full"));else if(options?.abortSignal?.aborted)return Promise.reject(new errors_1.AbortError);return new Promise((resolve,reject)=>{let node,value={args:args2,chainId:options?.chainId,abort:void 0,timeout:void 0,resolve,reject,channelsCounter:void 0,typeMapping:options?.typeMapping},timeout5=this.#maintenanceCommandTimeout??options?.timeout,wasInMaintenance=this.#maintenanceCommandTimeout!==void 0;if(timeout5){let signal2=AbortSignal.timeout(timeout5);value.timeout={signal:signal2,listener:()=>{this.#toWrite.remove(node),value.reject(wasInMaintenance?new errors_1.CommandTimeoutDuringMaintenanceError(timeout5):new errors_1.TimeoutError)},originalTimeout:options?.timeout},signal2.addEventListener("abort",value.timeout.listener,{once:!0})}let signal=options?.abortSignal;if(signal)value.abort={signal,listener:()=>{this.#toWrite.remove(node),value.reject(new errors_1.AbortError)}},signal.addEventListener("abort",value.abort.listener,{once:!0});node=this.#toWrite.add(value,options?.asap)})}#addPubSubCommand(command,asap=!1,chainId){return new Promise((resolve,reject)=>{this.#toWrite.add({args:command.args,chainId,abort:void 0,timeout:void 0,resolve(){command.resolve(),resolve()},reject(err){command.reject?.(),reject(err)},channelsCounter:command.channelsCounter,typeMapping:decoder_1.PUSH_TYPE_MAPPING},asap)})}#setupPubSubHandler(){if(this.#respVersion!==2)return;this.decoder.onReply=(reply)=>{if(Array.isArray(reply)){if(this.#onPush(reply))return;if(PONG.equals(reply[0])){let{resolve,typeMapping}=this.#waitingForReply.shift(),buffer3=reply[1].length===0?reply[0]:reply[1];resolve(typeMapping?.[decoder_1.RESP_TYPES.SIMPLE_STRING]===Buffer?buffer3:buffer3.toString());return}}return this.#onReply(reply)},this.decoder.getTypeMapping=()=>RESP2_PUSH_TYPE_MAPPING}subscribe(type,channels,listener,returnBuffers){let command=this.#pubSub.subscribe(type,channels,listener,returnBuffers);if(!command)return;return this.#setupPubSubHandler(),this.#addPubSubCommand(command)}#resetDecoderCallbacks(){this.decoder.onReply=(reply)=>this.#onReply(reply),this.decoder.getTypeMapping=()=>this.#getTypeMapping()}unsubscribe(type,channels,listener,returnBuffers){let command=this.#pubSub.unsubscribe(type,channels,listener,returnBuffers);if(!command)return;if(command&&this.#respVersion===2){let{resolve}=command;command.resolve=()=>{if(!this.#pubSub.isActive)this.#resetDecoderCallbacks();resolve()}}return this.#addPubSubCommand(command)}removeAllPubSubListeners(){return this.#pubSub.removeAllListeners()}resubscribe(chainId){let commands=this.#pubSub.resubscribe();if(!commands.length)return;return this.#setupPubSubHandler(),Promise.all(commands.map((command)=>this.#addPubSubCommand(command,!0,chainId)))}extendPubSubChannelListeners(type,channel,listeners){let command=this.#pubSub.extendChannelListeners(type,channel,listeners);if(!command)return;return this.#setupPubSubHandler(),this.#addPubSubCommand(command)}extendPubSubListeners(type,listeners){let command=this.#pubSub.extendTypeListeners(type,listeners);if(!command)return;return this.#setupPubSubHandler(),this.#addPubSubCommand(command)}getPubSubListeners(type){return this.#pubSub.listeners[type]}monitor(callback,options){return new Promise((resolve,reject)=>{let typeMapping=options?.typeMapping??{};this.#toWrite.add({args:["MONITOR"],chainId:options?.chainId,abort:void 0,timeout:void 0,resolve:()=>{if(this.#resetFallbackOnReply)this.#resetFallbackOnReply=callback;else this.decoder.onReply=callback;this.decoder.getTypeMapping=()=>typeMapping,resolve()},reject,channelsCounter:void 0,typeMapping},options?.asap)})}resetDecoder(){this.#resetDecoderCallbacks(),this.decoder.reset()}#resetFallbackOnReply;async reset(chainId,typeMapping){return new Promise((resolve,reject)=>{this.#resetFallbackOnReply=this.decoder.onReply,this.decoder.onReply=(reply)=>{if(typeof reply==="string"&&reply==="RESET"||reply instanceof Buffer&&RESET.equals(reply)){this.#resetDecoderCallbacks(),this.#resetFallbackOnReply=void 0,this.#pubSub.reset(),this.#waitingForReply.shift().resolve(reply);return}this.#resetFallbackOnReply(reply)},this.#toWrite.push({args:["RESET"],chainId,abort:void 0,timeout:void 0,resolve,reject,channelsCounter:void 0,typeMapping})})}isWaitingToWrite(){return this.#toWrite.length>0}*commandsToWrite(){let toSend=this.#toWrite.shift();while(toSend){let encoded;try{encoded=(0,encoder_1.default)(toSend.args)}catch(err){toSend.reject(err),toSend=this.#toWrite.shift();continue}if(toSend.args=void 0,toSend.abort)RedisCommandsQueue.#removeAbortListener(toSend),toSend.abort=void 0;if(toSend.timeout)RedisCommandsQueue.#removeTimeoutListener(toSend),toSend.timeout=void 0;this.#chainInExecution=toSend.chainId,toSend.chainId=void 0,this.#waitingForReply.push(toSend),yield encoded,toSend=this.#toWrite.shift()}}#flushWaitingForReply(err){for(let node of this.#waitingForReply)node.reject(err);this.#waitingForReply.reset()}static#removeAbortListener(command){command.abort.signal.removeEventListener("abort",command.abort.listener)}static#removeTimeoutListener(command){command.timeout?.signal.removeEventListener("abort",command.timeout.listener)}static#flushToWrite(toBeSent,err){if(toBeSent.abort)RedisCommandsQueue.#removeAbortListener(toBeSent);if(toBeSent.timeout)RedisCommandsQueue.#removeTimeoutListener(toBeSent);toBeSent.reject(err)}flushWaitingForReply(err){if(this.resetDecoder(),this.#pubSub.reset(),this.#flushWaitingForReply(err),!this.#chainInExecution)return;while(this.#toWrite.head?.value.chainId===this.#chainInExecution)RedisCommandsQueue.#flushToWrite(this.#toWrite.shift(),err);this.#chainInExecution=void 0}flushAll(err){this.resetDecoder(),this.#pubSub.reset(),this.#flushWaitingForReply(err);for(let node of this.#toWrite)RedisCommandsQueue.#flushToWrite(node,err);this.#toWrite.reset()}isEmpty(){return this.#toWrite.length===0&&this.#waitingForReply.length===0}}exports.default=RedisCommandsQueue}),require_commander=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.scriptArgumentsPrefix=exports.functionArgumentsPrefix=exports.getTransformReply=exports.attachConfig=void 0;function throwResp3SearchModuleUnstableError(){throw Error("Some RESP3 results for Redis Query Engine responses may change. Refer to the readme for guidance")}function attachConfig({BaseClass,commands,createCommand,createModuleCommand,createFunctionCommand,createScriptCommand,config:config2}){let RESP=config2?.RESP??2,Class4=class extends BaseClass{};for(let[name,command]of Object.entries(commands))if(config2?.RESP==3&&command.unstableResp3&&!config2.unstableResp3)Class4.prototype[name]=throwResp3SearchModuleUnstableError;else Class4.prototype[name]=createCommand(command,RESP);if(config2?.modules)for(let[moduleName,module2]of Object.entries(config2.modules)){let fns=Object.create(null);for(let[name,command]of Object.entries(module2))if(config2.RESP==3&&command.unstableResp3&&!config2.unstableResp3)fns[name]=throwResp3SearchModuleUnstableError;else fns[name]=createModuleCommand(command,RESP);attachNamespace(Class4.prototype,moduleName,fns)}if(config2?.functions)for(let[library,commands2]of Object.entries(config2.functions)){let fns=Object.create(null);for(let[name,command]of Object.entries(commands2))fns[name]=createFunctionCommand(name,command,RESP);attachNamespace(Class4.prototype,library,fns)}if(config2?.scripts)for(let[name,script]of Object.entries(config2.scripts))Class4.prototype[name]=createScriptCommand(script,RESP);return Class4}exports.attachConfig=attachConfig;function attachNamespace(prototype,name,fns){Object.defineProperty(prototype,name,{get(){let value=Object.create(fns);return value._self=this,Object.defineProperty(this,name,{value}),value}})}function getTransformReply(command,resp){switch(typeof command.transformReply){case"function":return command.transformReply;case"object":return command.transformReply[resp]}}exports.getTransformReply=getTransformReply;function functionArgumentsPrefix(name,fn2){let prefix=[fn2.IS_READ_ONLY?"FCALL_RO":"FCALL",name];if(fn2.NUMBER_OF_KEYS!==void 0)prefix.push(fn2.NUMBER_OF_KEYS.toString());return prefix}exports.functionArgumentsPrefix=functionArgumentsPrefix;function scriptArgumentsPrefix(script){let prefix=[script.IS_READ_ONLY?"EVALSHA_RO":"EVALSHA",script.SHA1];if(script.NUMBER_OF_KEYS!==void 0)prefix.push(script.NUMBER_OF_KEYS.toString());return prefix}exports.scriptArgumentsPrefix=scriptArgumentsPrefix}),require_multi_command=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var errors_1=require_errors();class RedisMultiCommand{typeMapping;constructor(typeMapping){this.typeMapping=typeMapping}queue=[];scriptsInUse=new Set;addCommand(args2,transformReply){this.queue.push({args:args2,transformReply})}addScript(script,args2,transformReply){let redisArgs=[];if(redisArgs.preserve=args2.preserve,this.scriptsInUse.has(script.SHA1))redisArgs.push("EVALSHA",script.SHA1);else this.scriptsInUse.add(script.SHA1),redisArgs.push("EVAL",script.SCRIPT);if(script.NUMBER_OF_KEYS!==void 0)redisArgs.push(script.NUMBER_OF_KEYS.toString());redisArgs.push(...args2),this.addCommand(redisArgs,transformReply)}transformReplies(rawReplies){let errorIndexes=[],replies=rawReplies.map((reply,i)=>{if(reply instanceof errors_1.ErrorReply)return errorIndexes.push(i),reply;let{transformReply,args:args2}=this.queue[i];return transformReply?transformReply(reply,args2.preserve,this.typeMapping):reply});if(errorIndexes.length)throw new errors_1.MultiErrorReply(replies,errorIndexes);return replies}}exports.default=RedisMultiCommand}),require_multi_command2=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var commands_1=__importDefault(require_commands()),multi_command_1=__importDefault(require_multi_command()),commander_1=require_commander(),parser_1=require_parser();class RedisClientMultiCommand{static#createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this.addCommand(redisArgs,transformReply)}}static#createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this._self.addCommand(redisArgs,transformReply)}}static#createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;parser.push(...prefix),fn2.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this._self.addCommand(redisArgs,transformReply)}}static#createScriptCommand(script,resp){let transformReply=(0,commander_1.getTransformReply)(script,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;script.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this.#addScript(script,redisArgs,transformReply)}}static extend(config2){return(0,commander_1.attachConfig)({BaseClass:RedisClientMultiCommand,commands:commands_1.default,createCommand:RedisClientMultiCommand.#createCommand,createModuleCommand:RedisClientMultiCommand.#createModuleCommand,createFunctionCommand:RedisClientMultiCommand.#createFunctionCommand,createScriptCommand:RedisClientMultiCommand.#createScriptCommand,config:config2})}#multi;#executeMulti;#executePipeline;#selectedDB;constructor(executeMulti,executePipeline,typeMapping){this.#multi=new multi_command_1.default(typeMapping),this.#executeMulti=executeMulti,this.#executePipeline=executePipeline}SELECT(db,transformReply){return this.#selectedDB=db,this.#multi.addCommand(["SELECT",db.toString()],transformReply),this}select=this.SELECT;addCommand(args2,transformReply){return this.#multi.addCommand(args2,transformReply),this}#addScript(script,args2,transformReply){return this.#multi.addScript(script,args2,transformReply),this}async exec(execAsPipeline=!1){if(execAsPipeline)return this.execAsPipeline();return this.#multi.transformReplies(await this.#executeMulti(this.#multi.queue,this.#selectedDB))}EXEC=this.exec;execTyped(execAsPipeline=!1){return this.exec(execAsPipeline)}async execAsPipeline(){if(this.#multi.queue.length===0)return[];return this.#multi.transformReplies(await this.#executePipeline(this.#multi.queue,this.#selectedDB))}execAsPipelineTyped(){return this.execAsPipeline()}}exports.default=RedisClientMultiCommand}),require_legacy_mode=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RedisLegacyClient=void 0;var commander_1=require_commander(),commands_1=__importDefault(require_commands()),multi_command_1=__importDefault(require_multi_command());class RedisLegacyClient{static#transformArguments(redisArgs,args2){let callback;if(typeof args2[args2.length-1]==="function")callback=args2.pop();return RedisLegacyClient.pushArguments(redisArgs,args2),callback}static pushArguments(redisArgs,args2){for(let i=0;i<args2.length;++i){let arg=args2[i];if(Array.isArray(arg))RedisLegacyClient.pushArguments(redisArgs,arg);else redisArgs.push(typeof arg==="number"||arg instanceof Date?arg.toString():arg)}}static getTransformReply(command,resp){return command.TRANSFORM_LEGACY_REPLY?(0,commander_1.getTransformReply)(command,resp):void 0}static#createCommand(name,command,resp){let transformReply=RedisLegacyClient.getTransformReply(command,resp);return function(...args2){let redisArgs=[name],callback=RedisLegacyClient.#transformArguments(redisArgs,args2),promise3=this.#client.sendCommand(redisArgs);if(!callback){promise3.catch((err)=>this.#client.emit("error",err));return}promise3.then((reply)=>callback(null,transformReply?transformReply(reply):reply)).catch((err)=>callback(err))}}#client;#Multi;constructor(client){this.#client=client;let RESP=client.options?.RESP??2;for(let[name,command]of Object.entries(commands_1.default))this[name]=RedisLegacyClient.#createCommand(name,command,RESP);this.#Multi=LegacyMultiCommand.factory(RESP)}sendCommand(...args2){let redisArgs=[],callback=RedisLegacyClient.#transformArguments(redisArgs,args2),promise3=this.#client.sendCommand(redisArgs);if(!callback){promise3.catch((err)=>this.#client.emit("error",err));return}promise3.then((reply)=>callback(null,reply)).catch((err)=>callback(err))}multi(){return this.#Multi(this.#client)}}exports.RedisLegacyClient=RedisLegacyClient;class LegacyMultiCommand{static#createCommand(name,command,resp){let transformReply=RedisLegacyClient.getTransformReply(command,resp);return function(...args2){let redisArgs=[name];return RedisLegacyClient.pushArguments(redisArgs,args2),this.#multi.addCommand(redisArgs,transformReply),this}}static factory(resp){let Multi=class extends LegacyMultiCommand{};for(let[name,command]of Object.entries(commands_1.default))Multi.prototype[name]=LegacyMultiCommand.#createCommand(name,command,resp);return(client)=>{return new Multi(client)}}#multi=new multi_command_1.default;#client;constructor(client){this.#client=client}sendCommand(...args2){let redisArgs=[];return RedisLegacyClient.pushArguments(redisArgs,args2),this.#multi.addCommand(redisArgs),this}exec(cb){let promise3=this.#client._executeMulti(this.#multi.queue);if(!cb){promise3.catch((err)=>this.#client.emit("error",err));return}promise3.then((results)=>cb(null,this.#multi.transformReplies(results))).catch((err)=>cb?.(err))}}}),require_cache=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PooledNoRedirectClientSideCache=exports.BasicPooledClientSideCache=exports.PooledClientSideCacheProvider=exports.BasicClientSideCache=exports.ClientSideCacheProvider=exports.CacheStats=void 0;var stream_1=__require2("stream");class CacheStats{hitCount;missCount;loadSuccessCount;loadFailureCount;totalLoadTime;evictionCount;constructor(hitCount,missCount,loadSuccessCount,loadFailureCount,totalLoadTime,evictionCount){if(this.hitCount=hitCount,this.missCount=missCount,this.loadSuccessCount=loadSuccessCount,this.loadFailureCount=loadFailureCount,this.totalLoadTime=totalLoadTime,this.evictionCount=evictionCount,hitCount<0||missCount<0||loadSuccessCount<0||loadFailureCount<0||totalLoadTime<0||evictionCount<0)throw Error("All statistics values must be non-negative")}static of(hitCount=0,missCount=0,loadSuccessCount=0,loadFailureCount=0,totalLoadTime=0,evictionCount=0){return new CacheStats(hitCount,missCount,loadSuccessCount,loadFailureCount,totalLoadTime,evictionCount)}static empty(){return CacheStats.EMPTY_STATS}static EMPTY_STATS=new CacheStats(0,0,0,0,0,0);requestCount(){return this.hitCount+this.missCount}hitRate(){let requestCount=this.requestCount();return requestCount===0?1:this.hitCount/requestCount}missRate(){let requestCount=this.requestCount();return requestCount===0?0:this.missCount/requestCount}loadCount(){return this.loadSuccessCount+this.loadFailureCount}loadFailureRate(){let loadCount=this.loadCount();return loadCount===0?0:this.loadFailureCount/loadCount}averageLoadPenalty(){let loadCount=this.loadCount();return loadCount===0?0:this.totalLoadTime/loadCount}minus(other){return CacheStats.of(Math.max(0,this.hitCount-other.hitCount),Math.max(0,this.missCount-other.missCount),Math.max(0,this.loadSuccessCount-other.loadSuccessCount),Math.max(0,this.loadFailureCount-other.loadFailureCount),Math.max(0,this.totalLoadTime-other.totalLoadTime),Math.max(0,this.evictionCount-other.evictionCount))}plus(other){return CacheStats.of(this.hitCount+other.hitCount,this.missCount+other.missCount,this.loadSuccessCount+other.loadSuccessCount,this.loadFailureCount+other.loadFailureCount,this.totalLoadTime+other.totalLoadTime,this.evictionCount+other.evictionCount)}}exports.CacheStats=CacheStats;class DisabledStatsCounter{static INSTANCE=new DisabledStatsCounter;constructor(){}recordHits(count32){}recordMisses(count32){}recordLoadSuccess(loadTime){}recordLoadFailure(loadTime){}recordEvictions(count32){}snapshot(){return CacheStats.empty()}}function disabledStatsCounter(){return DisabledStatsCounter.INSTANCE}class DefaultStatsCounter{#hitCount=0;#missCount=0;#loadSuccessCount=0;#loadFailureCount=0;#totalLoadTime=0;#evictionCount=0;recordHits(count32){this.#hitCount+=count32}recordMisses(count32){this.#missCount+=count32}recordLoadSuccess(loadTime){this.#loadSuccessCount++,this.#totalLoadTime+=loadTime}recordLoadFailure(loadTime){this.#loadFailureCount++,this.#totalLoadTime+=loadTime}recordEvictions(count32){this.#evictionCount+=count32}snapshot(){return CacheStats.of(this.#hitCount,this.#missCount,this.#loadSuccessCount,this.#loadFailureCount,this.#totalLoadTime,this.#evictionCount)}static create(){return new DefaultStatsCounter}}function generateCacheKey(redisArgs){let tmp=Array(redisArgs.length*2);for(let i=0;i<redisArgs.length;i++)tmp[i]=redisArgs[i].length,tmp[i+redisArgs.length]=redisArgs[i];return tmp.join("_")}class ClientSideCacheEntryBase{#invalidated=!1;#expireTime;constructor(ttl){if(ttl==0)this.#expireTime=0;else this.#expireTime=Date.now()+ttl}invalidate(){this.#invalidated=!0}validate(){return!this.#invalidated&&(this.#expireTime==0||Date.now()<this.#expireTime)}}class ClientSideCacheEntryValue extends ClientSideCacheEntryBase{#value;get value(){return this.#value}constructor(ttl,value){super(ttl);this.#value=value}}class ClientSideCacheEntryPromise extends ClientSideCacheEntryBase{#sendCommandPromise;get promise(){return this.#sendCommandPromise}constructor(ttl,sendCommandPromise){super(ttl);this.#sendCommandPromise=sendCommandPromise}}class ClientSideCacheProvider extends stream_1.EventEmitter{}exports.ClientSideCacheProvider=ClientSideCacheProvider;class BasicClientSideCache extends ClientSideCacheProvider{#cacheKeyToEntryMap;#keyToCacheKeySetMap;ttl;maxEntries;lru;#statsCounter;recordEvictions(count32){this.#statsCounter.recordEvictions(count32)}recordHits(count32){this.#statsCounter.recordHits(count32)}recordMisses(count32){this.#statsCounter.recordMisses(count32)}constructor(config2){super();this.#cacheKeyToEntryMap=new Map,this.#keyToCacheKeySetMap=new Map,this.ttl=config2?.ttl??0,this.maxEntries=config2?.maxEntries??0,this.lru=config2?.evictPolicy!=="FIFO";let recordStats=config2?.recordStats!==!1;this.#statsCounter=recordStats?DefaultStatsCounter.create():disabledStatsCounter()}async handleCache(client,parser,fn2,transformReply,typeMapping){let reply,cacheKey=generateCacheKey(parser.redisArgs),cacheEntry=this.get(cacheKey);if(cacheEntry)if(cacheEntry instanceof ClientSideCacheEntryValue)return this.#statsCounter.recordHits(1),structuredClone(cacheEntry.value);else if(cacheEntry instanceof ClientSideCacheEntryPromise)this.#statsCounter.recordMisses(1),reply=await cacheEntry.promise;else throw Error("unknown cache entry type");else{this.#statsCounter.recordMisses(1);let startTime=performance.now(),promise3=fn2();cacheEntry=this.createPromiseEntry(client,promise3),this.set(cacheKey,cacheEntry,parser.keys);try{reply=await promise3;let loadTime=performance.now()-startTime;this.#statsCounter.recordLoadSuccess(loadTime)}catch(err){let loadTime=performance.now()-startTime;if(this.#statsCounter.recordLoadFailure(loadTime),cacheEntry.validate())this.delete(cacheKey);throw err}}let val;if(transformReply)val=transformReply(reply,parser.preserve,typeMapping);else val=reply;if(cacheEntry.validate())cacheEntry=this.createValueEntry(client,val),this.set(cacheKey,cacheEntry,parser.keys),this.emit("cached-key",cacheKey);return structuredClone(val)}trackingOn(){return["CLIENT","TRACKING","ON"]}invalidate(key){if(key===null){this.clear(!1),this.emit("invalidate",key);return}let keySet=this.#keyToCacheKeySetMap.get(key.toString());if(keySet){for(let cacheKey of keySet){let entry=this.#cacheKeyToEntryMap.get(cacheKey);if(entry)entry.invalidate();this.#cacheKeyToEntryMap.delete(cacheKey)}this.#keyToCacheKeySetMap.delete(key.toString())}this.emit("invalidate",key)}clear(resetStats=!0){let oldSize=this.#cacheKeyToEntryMap.size;if(this.#cacheKeyToEntryMap.clear(),this.#keyToCacheKeySetMap.clear(),resetStats){if(!(this.#statsCounter instanceof DisabledStatsCounter))this.#statsCounter=DefaultStatsCounter.create()}else if(oldSize>0)this.#statsCounter.recordEvictions(oldSize)}get(cacheKey){let val=this.#cacheKeyToEntryMap.get(cacheKey);if(val&&!val.validate()){this.delete(cacheKey),this.#statsCounter.recordEvictions(1),this.emit("cache-evict",cacheKey);return}if(val!==void 0&&this.lru)this.#cacheKeyToEntryMap.delete(cacheKey),this.#cacheKeyToEntryMap.set(cacheKey,val);return val}delete(cacheKey){let entry=this.#cacheKeyToEntryMap.get(cacheKey);if(entry)entry.invalidate(),this.#cacheKeyToEntryMap.delete(cacheKey)}has(cacheKey){return this.#cacheKeyToEntryMap.has(cacheKey)}set(cacheKey,cacheEntry,keys3){let count32=this.#cacheKeyToEntryMap.size,oldEntry=this.#cacheKeyToEntryMap.get(cacheKey);if(oldEntry)count32--,oldEntry.invalidate();if(this.maxEntries>0&&count32>=this.maxEntries)this.deleteOldest(),this.#statsCounter.recordEvictions(1);this.#cacheKeyToEntryMap.set(cacheKey,cacheEntry);for(let key of keys3){if(!this.#keyToCacheKeySetMap.has(key.toString()))this.#keyToCacheKeySetMap.set(key.toString(),new Set);this.#keyToCacheKeySetMap.get(key.toString()).add(cacheKey)}}size(){return this.#cacheKeyToEntryMap.size}createValueEntry(client,value){return new ClientSideCacheEntryValue(this.ttl,value)}createPromiseEntry(client,sendCommandPromise){return new ClientSideCacheEntryPromise(this.ttl,sendCommandPromise)}stats(){return this.#statsCounter.snapshot()}onError(){this.clear()}onClose(){this.clear()}deleteOldest(){let n=this.#cacheKeyToEntryMap[Symbol.iterator]().next();if(!n.done){let key=n.value[0],entry=this.#cacheKeyToEntryMap.get(key);if(entry)entry.invalidate();this.#cacheKeyToEntryMap.delete(key)}}entryEntries(){return this.#cacheKeyToEntryMap.entries()}keySetEntries(){return this.#keyToCacheKeySetMap.entries()}}exports.BasicClientSideCache=BasicClientSideCache;class PooledClientSideCacheProvider extends BasicClientSideCache{#disabled=!1;disable(){this.#disabled=!0}enable(){this.#disabled=!1}get(cacheKey){if(this.#disabled)return;return super.get(cacheKey)}has(cacheKey){if(this.#disabled)return!1;return super.has(cacheKey)}onPoolClose(){this.clear()}}exports.PooledClientSideCacheProvider=PooledClientSideCacheProvider;class BasicPooledClientSideCache extends PooledClientSideCacheProvider{onError(){this.clear(!1)}onClose(){this.clear(!1)}}exports.BasicPooledClientSideCache=BasicPooledClientSideCache;class PooledClientSideCacheEntryValue extends ClientSideCacheEntryValue{#creator;constructor(ttl,creator,value){super(ttl,value);this.#creator=creator}validate(){let ret=super.validate();if(this.#creator)ret=ret&&this.#creator.client.isReady&&this.#creator.client.socketEpoch==this.#creator.epoch;return ret}}class PooledClientSideCacheEntryPromise extends ClientSideCacheEntryPromise{#creator;constructor(ttl,creator,sendCommandPromise){super(ttl,sendCommandPromise);this.#creator=creator}validate(){return super.validate()&&this.#creator.client.isReady&&this.#creator.client.socketEpoch==this.#creator.epoch}}class PooledNoRedirectClientSideCache extends BasicPooledClientSideCache{createValueEntry(client,value){let creator={epoch:client.socketEpoch,client};return new PooledClientSideCacheEntryValue(this.ttl,creator,value)}createPromiseEntry(client,sendCommandPromise){let creator={epoch:client.socketEpoch,client};return new PooledClientSideCacheEntryPromise(this.ttl,creator,sendCommandPromise)}onError(){}onClose(){}}exports.PooledNoRedirectClientSideCache=PooledNoRedirectClientSideCache}),require_single_entry_cache=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});class SingleEntryCache{#cached;#serializedKey;get(keyObj){return JSON.stringify(keyObj,makeCircularReplacer())===this.#serializedKey?this.#cached:void 0}set(keyObj,obj){this.#cached=obj,this.#serializedKey=JSON.stringify(keyObj,makeCircularReplacer())}}exports.default=SingleEntryCache;function makeCircularReplacer(){let seen=new WeakSet;return function(_,value){if(value&&typeof value==="object"){if(seen.has(value))return"circular";return seen.add(value),value}return value}}}),require_pool=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RedisClientPool=void 0;var commands_1=__importDefault(require_commands()),_1=__importDefault(require_client()),node_events_1=__require2("node:events"),linked_list_1=require_linked_list(),errors_1=require_errors(),commander_1=require_commander(),multi_command_1=__importDefault(require_multi_command2()),cache_1=require_cache(),parser_1=require_parser(),single_entry_cache_1=__importDefault(require_single_entry_cache());class RedisClientPool extends node_events_1.EventEmitter{static#createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this.execute((client)=>client._executeCommand(command,parser,this._commandOptions,transformReply))}}static#createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self.execute((client)=>client._executeCommand(command,parser,this._self._commandOptions,transformReply))}}static#createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),fn2.parseCommand(parser,...args2),this._self.execute((client)=>client._executeCommand(fn2,parser,this._self._commandOptions,transformReply))}}static#createScriptCommand(script,resp){let prefix=(0,commander_1.scriptArgumentsPrefix)(script),transformReply=(0,commander_1.getTransformReply)(script,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.pushVariadic(prefix),script.parseCommand(parser,...args2),this.execute((client)=>client._executeScript(script,parser,this._commandOptions,transformReply))}}static#SingleEntryCache=new single_entry_cache_1.default;static create(clientOptions,options){let Pool=RedisClientPool.#SingleEntryCache.get(clientOptions);if(!Pool)Pool=(0,commander_1.attachConfig)({BaseClass:RedisClientPool,commands:commands_1.default,createCommand:RedisClientPool.#createCommand,createModuleCommand:RedisClientPool.#createModuleCommand,createFunctionCommand:RedisClientPool.#createFunctionCommand,createScriptCommand:RedisClientPool.#createScriptCommand,config:clientOptions}),Pool.prototype.Multi=multi_command_1.default.extend(clientOptions),RedisClientPool.#SingleEntryCache.set(clientOptions,Pool);return Object.create(new Pool(clientOptions,options))}static#DEFAULTS={minimum:1,maximum:100,acquireTimeout:3000,cleanupDelay:3000};#clientFactory;#options;#idleClients=new linked_list_1.SinglyLinkedList;get idleClients(){return this._self.#idleClients.length}#clientsInUse=new linked_list_1.DoublyLinkedList;get clientsInUse(){return this._self.#clientsInUse.length}get totalClients(){return this._self.#idleClients.length+this._self.#clientsInUse.length}#tasksQueue=new linked_list_1.SinglyLinkedList;get tasksQueueLength(){return this._self.#tasksQueue.length}#isOpen=!1;get isOpen(){return this._self.#isOpen}#isClosing=!1;get isClosing(){return this._self.#isClosing}#clientSideCache;get clientSideCache(){return this._self.#clientSideCache}constructor(clientOptions,options){super();if(this.#options={...RedisClientPool.#DEFAULTS,...options},options?.clientSideCache){if(clientOptions===void 0)clientOptions={};if(options.clientSideCache instanceof cache_1.PooledClientSideCacheProvider)this.#clientSideCache=clientOptions.clientSideCache=options.clientSideCache;else{let cscConfig=options.clientSideCache;this.#clientSideCache=clientOptions.clientSideCache=new cache_1.BasicPooledClientSideCache(cscConfig)}}this.#clientFactory=_1.default.factory(clientOptions).bind(void 0,clientOptions)}_self=this;_commandOptions;withCommandOptions(options){let proxy=Object.create(this._self);return proxy._commandOptions=options,proxy}#commandOptionsProxy(key,value){let proxy=Object.create(this._self);return proxy._commandOptions=Object.create(this._commandOptions??null),proxy._commandOptions[key]=value,proxy}withTypeMapping(typeMapping){return this._self.#commandOptionsProxy("typeMapping",typeMapping)}withAbortSignal(abortSignal){return this._self.#commandOptionsProxy("abortSignal",abortSignal)}asap(){return this._self.#commandOptionsProxy("asap",!0)}async connect(){if(this._self.#isOpen)return;this._self.#isOpen=!0;let promises=[];while(promises.length<this._self.#options.minimum)promises.push(this._self.#create());try{await Promise.all(promises)}catch(err){throw this.destroy(),err}return this}async#create(){let node=this._self.#clientsInUse.push(this._self.#clientFactory().on("error",(err)=>this.emit("error",err)));try{await node.value.connect()}catch(err){throw this._self.#clientsInUse.remove(node),err}this._self.#returnClient(node)}execute(fn2){return new Promise((resolve,reject)=>{let client=this._self.#idleClients.shift(),{tail:tail2}=this._self.#tasksQueue;if(!client){let timeout5;if(this._self.#options.acquireTimeout>0)timeout5=setTimeout(()=>{this._self.#tasksQueue.remove(task,tail2),reject(new errors_1.TimeoutError("Timeout waiting for a client"))},this._self.#options.acquireTimeout);let task=this._self.#tasksQueue.push({timeout:timeout5,resolve,reject,fn:fn2});if(this.totalClients<this._self.#options.maximum)this._self.#create();return}let node=this._self.#clientsInUse.push(client);this._self.#executeTask(node,resolve,reject,fn2)})}#executeTask(node,resolve,reject,fn2){let result=fn2(node.value);if(result instanceof Promise)result.then(resolve,reject).finally(()=>this.#returnClient(node));else resolve(result),this.#returnClient(node)}#returnClient(node){let task=this.#tasksQueue.shift();if(task){clearTimeout(task.timeout),this.#executeTask(node,task.resolve,task.reject,task.fn);return}this.#clientsInUse.remove(node),this.#idleClients.push(node.value),this.#scheduleCleanup()}cleanupTimeout;#scheduleCleanup(){if(this.totalClients<=this.#options.minimum)return;clearTimeout(this.cleanupTimeout),this.cleanupTimeout=setTimeout(()=>this.#cleanup(),this.#options.cleanupDelay)}#cleanup(){let toDestroy=Math.min(this.#idleClients.length,this.totalClients-this.#options.minimum);for(let i=0;i<toDestroy;i++)this.#idleClients.shift().destroy()}sendCommand(args2,options){return this.execute((client)=>client.sendCommand(args2,options))}MULTI(){return new this.Multi((commands,selectedDB)=>this.execute((client)=>client._executeMulti(commands,selectedDB)),(commands)=>this.execute((client)=>client._executePipeline(commands)),this._commandOptions?.typeMapping)}multi=this.MULTI;async close(){if(this._self.#isClosing)return;if(!this._self.#isOpen)return;this._self.#isClosing=!0;try{let promises=[];for(let client of this._self.#idleClients)promises.push(client.close());for(let client of this._self.#clientsInUse)promises.push(client.close());await Promise.all(promises),this.#clientSideCache?.onPoolClose(),this._self.#idleClients.reset(),this._self.#clientsInUse.reset()}catch(err){}finally{this._self.#isClosing=!1}}destroy(){for(let client of this._self.#idleClients)client.destroy();this._self.#idleClients.reset();for(let client of this._self.#clientsInUse)client.destroy();this._self.#clientSideCache?.onPoolClose(),this._self.#clientsInUse.reset(),this._self.#isOpen=!1}}exports.RedisClientPool=RedisClientPool}),require_package=__commonJS((exports,module)=>{module.exports={name:"@redis/client",version:"5.10.0",license:"MIT",main:"./dist/index.js",types:"./dist/index.d.ts",files:["dist/","!dist/tsconfig.tsbuildinfo"],scripts:{test:"nyc -r text-summary -r lcov mocha -r tsx './lib/**/*.spec.ts'",release:"release-it"},dependencies:{"cluster-key-slot":"1.1.2"},devDependencies:{"@redis/test-utils":"*","@types/sinon":"^17.0.3",sinon:"^17.0.1"},engines:{node:">= 18"},repository:{type:"git",url:"git://github.com/redis/node-redis.git"},bugs:{url:"https://github.com/redis/node-redis/issues"},homepage:"https://github.com/redis/node-redis/tree/master/packages/client",keywords:["redis"]}}),require_client=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}},_a;Object.defineProperty(exports,"__esModule",{value:!0});var commands_1=__importDefault(require_commands()),socket_1=__importDefault(require_socket()),authx_1=require_authx(),commands_queue_1=__importDefault(require_commands_queue()),node_events_1=__require2("node:events"),commander_1=require_commander(),errors_1=require_errors(),node_url_1=__require2("node:url"),pub_sub_1=require_pub_sub(),multi_command_1=__importDefault(require_multi_command2()),HELLO_1=__importDefault(require_HELLO()),legacy_mode_1=require_legacy_mode(),pool_1=require_pool(),generic_transformers_1=require_generic_transformers(),cache_1=require_cache(),parser_1=require_parser(),single_entry_cache_1=__importDefault(require_single_entry_cache()),package_json_1=require_package(),enterprise_maintenance_manager_1=__importDefault(require_enterprise_maintenance_manager());class RedisClient extends node_events_1.EventEmitter{static#createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self._executeCommand(command,parser,this._commandOptions,transformReply)}}static#createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self._executeCommand(command,parser,this._self._commandOptions,transformReply)}}static#createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),fn2.parseCommand(parser,...args2),this._self._executeCommand(fn2,parser,this._self._commandOptions,transformReply)}}static#createScriptCommand(script,resp){let prefix=(0,commander_1.scriptArgumentsPrefix)(script),transformReply=(0,commander_1.getTransformReply)(script,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),script.parseCommand(parser,...args2),this._executeScript(script,parser,this._commandOptions,transformReply)}}static#SingleEntryCache=new single_entry_cache_1.default;static factory(config2){let Client=_a.#SingleEntryCache.get(config2);if(!Client)Client=(0,commander_1.attachConfig)({BaseClass:_a,commands:commands_1.default,createCommand:_a.#createCommand,createModuleCommand:_a.#createModuleCommand,createFunctionCommand:_a.#createFunctionCommand,createScriptCommand:_a.#createScriptCommand,config:config2}),Client.prototype.Multi=multi_command_1.default.extend(config2),_a.#SingleEntryCache.set(config2,Client);return(options)=>{return Object.create(new Client(options))}}static create(options){return _a.factory(options)(options)}static parseOptions(options){if(options?.url){let parsed=_a.parseURL(options.url);if(options.socket){if(options.socket.tls!==void 0&&options.socket.tls!==parsed.socket.tls)throw TypeError(`tls socket option is set to ${options.socket.tls} which is mismatch with protocol or the URL ${options.url} passed`);parsed.socket=Object.assign(options.socket,parsed.socket)}Object.assign(options,parsed)}return options}static parseURL(url3){let{hostname,port:port3,protocol,username,password,pathname}=new node_url_1.URL(url3),parsed={socket:{host:hostname,tls:!1}};if(protocol!=="redis:"&&protocol!=="rediss:")throw TypeError("Invalid protocol");if(parsed.socket.tls=protocol==="rediss:",port3)parsed.socket.port=Number(port3);if(username)parsed.username=decodeURIComponent(username);if(password)parsed.password=decodeURIComponent(password);if(username||password)parsed.credentialsProvider={type:"async-credentials-provider",credentials:async()=>({username:username?decodeURIComponent(username):void 0,password:password?decodeURIComponent(password):void 0})};if(pathname.length>1){let database=Number(pathname.substring(1));if(isNaN(database))throw TypeError("Invalid pathname");parsed.database=database}return parsed}#options;#socket;#queue;#selectedDB=0;#monitorCallback;_self=this;_commandOptions;#dirtyWatch;#watchEpoch;#clientSideCache;#credentialsSubscription=null;#paused=!1;get clientSideCache(){return this._self.#clientSideCache}get options(){return this._self.#options}get isOpen(){return this._self.#socket.isOpen}get isReady(){return this._self.#socket.isReady}get isPubSubActive(){return this._self.#queue.isPubSubActive}get socketEpoch(){return this._self.#socket.socketEpoch}get isWatching(){return this._self.#watchEpoch!==void 0}get isDirtyWatch(){return this._self.#dirtyWatch!==void 0}setDirtyWatch(msg){this._self.#dirtyWatch=msg}constructor(options){super();if(this.#validateOptions(options),this.#options=this.#initiateOptions(options),this.#queue=this.#initiateQueue(),this.#socket=this.#initiateSocket(),this.#options.maintNotifications!=="disabled")new enterprise_maintenance_manager_1.default(this.#queue,this,this.#options);if(this.#options.clientSideCache){if(this.#options.clientSideCache instanceof cache_1.ClientSideCacheProvider)this.#clientSideCache=this.#options.clientSideCache;else{let cscConfig=this.#options.clientSideCache;this.#clientSideCache=new cache_1.BasicClientSideCache(cscConfig)}this.#queue.addPushHandler((push)=>{if(push[0].toString()!=="invalidate")return!1;if(push[1]!==null)for(let key of push[1])this.#clientSideCache?.invalidate(key);else this.#clientSideCache?.invalidate(null);return!0})}else if(options?.emitInvalidate)this.#queue.addPushHandler((push)=>{if(push[0].toString()!=="invalidate")return!1;if(push[1]!==null)for(let key of push[1])this.emit("invalidate",key);else this.emit("invalidate",null);return!0})}#validateOptions(options){if(options?.clientSideCache&&options?.RESP!==3)throw Error("Client Side Caching is only supported with RESP3");if(options?.emitInvalidate&&options?.RESP!==3)throw Error("emitInvalidate is only supported with RESP3");if(options?.clientSideCache&&options?.emitInvalidate)throw Error("emitInvalidate is not supported (or necessary) when clientSideCache is enabled");if(options?.maintNotifications&&options?.maintNotifications!=="disabled"&&options?.RESP!==3)throw Error("Graceful Maintenance is only supported with RESP3")}#initiateOptions(options={}){if(!options.credentialsProvider&&(options.username||options.password))options.credentialsProvider={type:"async-credentials-provider",credentials:async()=>({username:options.username,password:options.password})};if(options.database)this._self.#selectedDB=options.database;if(options.commandOptions)this._commandOptions=options.commandOptions;if(options.maintNotifications!=="disabled")enterprise_maintenance_manager_1.default.setupDefaultMaintOptions(options);if(options.url){let parsedOptions=_a.parseOptions(options);if(parsedOptions?.database)this._self.#selectedDB=parsedOptions.database;return parsedOptions}return options}#initiateQueue(){return new commands_queue_1.default(this.#options.RESP??2,this.#options.commandsQueueMaxLength,(channel,listeners)=>this.emit("sharded-channel-moved",channel,listeners))}reAuthenticate=async(credentials)=>{if(!(this.isPubSubActive&&!this.#options.RESP))await this.sendCommand((0,generic_transformers_1.parseArgs)(commands_1.default.AUTH,{username:credentials.username,password:credentials.password??""}))};#subscribeForStreamingCredentials(cp){return cp.subscribe({onNext:(credentials)=>{this.reAuthenticate(credentials).catch((error3)=>{let errorMessage=error3 instanceof Error?error3.message:String(error3);cp.onReAuthenticationError(new authx_1.CredentialsError(errorMessage))})},onError:(e)=>{let errorMessage=`Error from streaming credentials provider: ${e.message}`;cp.onReAuthenticationError(new authx_1.UnableToObtainNewCredentialsError(errorMessage))}})}async#handshake(chainId,asap){let promises=[],commandsWithErrorHandlers=await this.#getHandshakeCommands();if(asap)commandsWithErrorHandlers.reverse();for(let{cmd,errorHandler}of commandsWithErrorHandlers)promises.push(this.#queue.addCommand(cmd,{chainId,asap}).catch(errorHandler));return promises}async#getHandshakeCommands(){let commands=[],cp=this.#options.credentialsProvider;if(this.#options.RESP){let hello={};if(cp&&cp.type==="async-credentials-provider"){let credentials=await cp.credentials();if(credentials.password)hello.AUTH={username:credentials.username??"default",password:credentials.password}}if(cp&&cp.type==="streaming-credentials-provider"){let[credentials,disposable]=await this.#subscribeForStreamingCredentials(cp);if(this.#credentialsSubscription=disposable,credentials.password)hello.AUTH={username:credentials.username??"default",password:credentials.password}}if(this.#options.name)hello.SETNAME=this.#options.name;commands.push({cmd:(0,generic_transformers_1.parseArgs)(HELLO_1.default,this.#options.RESP,hello)})}else{if(cp&&cp.type==="async-credentials-provider"){let credentials=await cp.credentials();if(credentials.username||credentials.password)commands.push({cmd:(0,generic_transformers_1.parseArgs)(commands_1.default.AUTH,{username:credentials.username,password:credentials.password??""})})}if(cp&&cp.type==="streaming-credentials-provider"){let[credentials,disposable]=await this.#subscribeForStreamingCredentials(cp);if(this.#credentialsSubscription=disposable,credentials.username||credentials.password)commands.push({cmd:(0,generic_transformers_1.parseArgs)(commands_1.default.AUTH,{username:credentials.username,password:credentials.password??""})})}if(this.#options.name)commands.push({cmd:(0,generic_transformers_1.parseArgs)(commands_1.default.CLIENT_SETNAME,this.#options.name)})}if(this.#selectedDB!==0)commands.push({cmd:["SELECT",this.#selectedDB.toString()]});if(this.#options.readonly)commands.push({cmd:(0,generic_transformers_1.parseArgs)(commands_1.default.READONLY)});if(!this.#options.disableClientInfo)commands.push({cmd:["CLIENT","SETINFO","LIB-VER",package_json_1.version],errorHandler:()=>{}}),commands.push({cmd:["CLIENT","SETINFO","LIB-NAME",this.#options.clientInfoTag?`node-redis(${this.#options.clientInfoTag})`:"node-redis"],errorHandler:()=>{}});if(this.#clientSideCache)commands.push({cmd:this.#clientSideCache.trackingOn()});if(this.#options?.emitInvalidate)commands.push({cmd:["CLIENT","TRACKING","ON"]});let maintenanceHandshakeCmd=await enterprise_maintenance_manager_1.default.getHandshakeCommand(this.#options);if(maintenanceHandshakeCmd)commands.push(maintenanceHandshakeCmd);return commands}#attachListeners(socket){socket.on("data",(chunk32)=>{try{this.#queue.decoder.write(chunk32)}catch(err){this.#queue.resetDecoder(),this.emit("error",err)}}).on("error",(err)=>{if(this.emit("error",err),this.#clientSideCache?.onError(),this.#socket.isOpen&&!this.#options.disableOfflineQueue)this.#queue.flushWaitingForReply(err);else this.#queue.flushAll(err)}).on("connect",()=>this.emit("connect")).on("ready",()=>{this.emit("ready"),this.#setPingTimer(),this.#maybeScheduleWrite()}).on("reconnecting",()=>this.emit("reconnecting")).on("drain",()=>this.#maybeScheduleWrite()).on("end",()=>this.emit("end"))}#initiateSocket(){let socketInitiator=async()=>{let promises=[],chainId=Symbol("Socket Initiator"),resubscribePromise=this.#queue.resubscribe(chainId);if(resubscribePromise?.catch((error3)=>{if(error3.message&&error3.message.startsWith("MOVED"))this.emit("__MOVED",this._self.#queue.removeAllPubSubListeners())}),resubscribePromise)promises.push(resubscribePromise);if(this.#monitorCallback)promises.push(this.#queue.monitor(this.#monitorCallback,{typeMapping:this._commandOptions?.typeMapping,chainId,asap:!0}));if(promises.push(...await this.#handshake(chainId,!0)),promises.length)return this.#write(),Promise.all(promises)},socket=new socket_1.default(socketInitiator,this.#options.socket);return this.#attachListeners(socket),socket}#pingTimer;#setPingTimer(){if(!this.#options.pingInterval||!this.#socket.isReady)return;clearTimeout(this.#pingTimer),this.#pingTimer=setTimeout(()=>{if(!this.#socket.isReady)return;this.sendCommand(["PING"]).then((reply)=>this.emit("ping-interval",reply)).catch((err)=>this.emit("error",err)).finally(()=>this.#setPingTimer())},this.#options.pingInterval)}withCommandOptions(options){let proxy=Object.create(this._self);return proxy._commandOptions=options,proxy}_commandOptionsProxy(key,value){let proxy=Object.create(this._self);return proxy._commandOptions=Object.create(this._commandOptions??null),proxy._commandOptions[key]=value,proxy}withTypeMapping(typeMapping){return this._commandOptionsProxy("typeMapping",typeMapping)}withAbortSignal(abortSignal){return this._commandOptionsProxy("abortSignal",abortSignal)}asap(){return this._commandOptionsProxy("asap",!0)}legacy(){return new legacy_mode_1.RedisLegacyClient(this)}createPool(options){return pool_1.RedisClientPool.create(this._self.#options,options)}duplicate(overrides){return new(Object.getPrototypeOf(this)).constructor({...this._self.#options,commandOptions:this._commandOptions,...overrides})}async connect(){return await this._self.#socket.connect(),this}_ejectSocket(){let socket=this._self.#socket;return this._self.#socket=null,socket.removeAllListeners(),socket}_insertSocket(socket){if(this._self.#socket)this._self._ejectSocket().destroy();this._self.#socket=socket,this._self.#attachListeners(this._self.#socket)}_maintenanceUpdate(update5){this._self.#socket.setMaintenanceTimeout(update5.relaxedSocketTimeout),this._self.#queue.setMaintenanceCommandTimeout(update5.relaxedCommandTimeout)}_pause(){this._self.#paused=!0}_unpause(){this._self.#paused=!1,this._self.#maybeScheduleWrite()}async _executeCommand(command,parser,commandOptions,transformReply){let csc=this._self.#clientSideCache,defaultTypeMapping=this._self.#options.commandOptions===commandOptions,fn2=()=>{return this.sendCommand(parser.redisArgs,commandOptions)};if(csc&&command.CACHEABLE&&defaultTypeMapping)return await csc.handleCache(this._self,parser,fn2,transformReply,commandOptions?.typeMapping);else{let reply=await fn2();if(transformReply)return transformReply(reply,parser.preserve,commandOptions?.typeMapping);return reply}}async _executeScript(script,parser,options,transformReply){let args2=parser.redisArgs,reply;try{reply=await this.sendCommand(args2,options)}catch(err){if(!err?.message?.startsWith?.("NOSCRIPT"))throw err;args2[0]="EVAL",args2[1]=script.SCRIPT,reply=await this.sendCommand(args2,options)}return transformReply?transformReply(reply,parser.preserve,options?.typeMapping):reply}sendCommand(args2,options){if(!this._self.#socket.isOpen)return Promise.reject(new errors_1.ClientClosedError);else if(!this._self.#socket.isReady&&this._self.#options.disableOfflineQueue)return Promise.reject(new errors_1.ClientOfflineError);let opts={...this._self._commandOptions,...options},promise3=this._self.#queue.addCommand(args2,opts);return this._self.#scheduleWrite(),promise3}async SELECT(db){await this.sendCommand(["SELECT",db.toString()]),this._self.#selectedDB=db}select=this.SELECT;#pubSubCommand(promise3){if(promise3===void 0)return Promise.resolve();return this.#scheduleWrite(),promise3}SUBSCRIBE(channels,listener,bufferMode){return this._self.#pubSubCommand(this._self.#queue.subscribe(pub_sub_1.PUBSUB_TYPE.CHANNELS,channels,listener,bufferMode))}subscribe=this.SUBSCRIBE;UNSUBSCRIBE(channels,listener,bufferMode){return this._self.#pubSubCommand(this._self.#queue.unsubscribe(pub_sub_1.PUBSUB_TYPE.CHANNELS,channels,listener,bufferMode))}unsubscribe=this.UNSUBSCRIBE;PSUBSCRIBE(patterns,listener,bufferMode){return this._self.#pubSubCommand(this._self.#queue.subscribe(pub_sub_1.PUBSUB_TYPE.PATTERNS,patterns,listener,bufferMode))}pSubscribe=this.PSUBSCRIBE;PUNSUBSCRIBE(patterns,listener,bufferMode){return this._self.#pubSubCommand(this._self.#queue.unsubscribe(pub_sub_1.PUBSUB_TYPE.PATTERNS,patterns,listener,bufferMode))}pUnsubscribe=this.PUNSUBSCRIBE;SSUBSCRIBE(channels,listener,bufferMode){return this._self.#pubSubCommand(this._self.#queue.subscribe(pub_sub_1.PUBSUB_TYPE.SHARDED,channels,listener,bufferMode))}sSubscribe=this.SSUBSCRIBE;SUNSUBSCRIBE(channels,listener,bufferMode){return this._self.#pubSubCommand(this._self.#queue.unsubscribe(pub_sub_1.PUBSUB_TYPE.SHARDED,channels,listener,bufferMode))}sUnsubscribe=this.SUNSUBSCRIBE;async WATCH(key){let reply=await this._self.sendCommand((0,generic_transformers_1.pushVariadicArguments)(["WATCH"],key));return this._self.#watchEpoch??=this._self.socketEpoch,reply}watch=this.WATCH;async UNWATCH(){let reply=await this._self.sendCommand(["UNWATCH"]);return this._self.#watchEpoch=void 0,reply}unwatch=this.UNWATCH;getPubSubListeners(type){return this._self.#queue.getPubSubListeners(type)}extendPubSubChannelListeners(type,channel,listeners){return this._self.#pubSubCommand(this._self.#queue.extendPubSubChannelListeners(type,channel,listeners))}extendPubSubListeners(type,listeners){return this._self.#pubSubCommand(this._self.#queue.extendPubSubListeners(type,listeners))}#write(){if(this.#paused)return;this.#socket.write(this.#queue.commandsToWrite())}#scheduledWrite;#scheduleWrite(){if(!this.#socket.isReady||this.#scheduledWrite)return;this.#scheduledWrite=setImmediate(()=>{this.#write(),this.#scheduledWrite=void 0})}#maybeScheduleWrite(){if(!this.#queue.isWaitingToWrite())return;this.#scheduleWrite()}async _executePipeline(commands,selectedDB){if(!this._self.#socket.isOpen)return Promise.reject(new errors_1.ClientClosedError);let chainId=Symbol("Pipeline Chain"),promise3=Promise.all(commands.map(({args:args2})=>this._self.#queue.addCommand(args2,{chainId,typeMapping:this._commandOptions?.typeMapping})));this._self.#scheduleWrite();let result=await promise3;if(selectedDB!==void 0)this._self.#selectedDB=selectedDB;return result}async _executeMulti(commands,selectedDB){let dirtyWatch=this._self.#dirtyWatch;this._self.#dirtyWatch=void 0;let watchEpoch=this._self.#watchEpoch;if(this._self.#watchEpoch=void 0,!this._self.#socket.isOpen)throw new errors_1.ClientClosedError;if(dirtyWatch)throw new errors_1.WatchError(dirtyWatch);if(watchEpoch&&watchEpoch!==this._self.socketEpoch)throw new errors_1.WatchError("Client reconnected after WATCH");let typeMapping=this._commandOptions?.typeMapping,chainId=Symbol("MULTI Chain"),promises=[this._self.#queue.addCommand(["MULTI"],{chainId})];for(let{args:args2}of commands)promises.push(this._self.#queue.addCommand(args2,{chainId,typeMapping}));promises.push(this._self.#queue.addCommand(["EXEC"],{chainId})),this._self.#scheduleWrite();let results=await Promise.all(promises),execResult=results[results.length-1];if(execResult===null)throw new errors_1.WatchError;if(selectedDB!==void 0)this._self.#selectedDB=selectedDB;return execResult}MULTI(){return new this.Multi(this._executeMulti.bind(this),this._executePipeline.bind(this),this._commandOptions?.typeMapping)}multi=this.MULTI;async*scanIterator(options){let cursor=options?.cursor??"0";do{let reply=await this.scan(cursor,options);cursor=reply.cursor,yield reply.keys}while(cursor!=="0")}async*hScanIterator(key,options){let cursor=options?.cursor??"0";do{let reply=await this.hScan(key,cursor,options);cursor=reply.cursor,yield reply.entries}while(cursor!=="0")}async*hScanValuesIterator(key,options){let cursor=options?.cursor??"0";do{let reply=await this.hScanNoValues(key,cursor,options);cursor=reply.cursor,yield reply.fields}while(cursor!=="0")}async*hScanNoValuesIterator(key,options){let cursor=options?.cursor??"0";do{let reply=await this.hScanNoValues(key,cursor,options);cursor=reply.cursor,yield reply.fields}while(cursor!=="0")}async*sScanIterator(key,options){let cursor=options?.cursor??"0";do{let reply=await this.sScan(key,cursor,options);cursor=reply.cursor,yield reply.members}while(cursor!=="0")}async*zScanIterator(key,options){let cursor=options?.cursor??"0";do{let reply=await this.zScan(key,cursor,options);cursor=reply.cursor,yield reply.members}while(cursor!=="0")}async MONITOR(callback){let promise3=this._self.#queue.monitor(callback,{typeMapping:this._commandOptions?.typeMapping});this._self.#scheduleWrite(),await promise3,this._self.#monitorCallback=callback}monitor=this.MONITOR;async reset(){let chainId=Symbol("Reset Chain"),promises=[this._self.#queue.reset(chainId)],selectedDB=this._self.#options?.database??0;this._self.#credentialsSubscription?.dispose(),this._self.#credentialsSubscription=null,promises.push(...await this._self.#handshake(chainId,!1)),this._self.#scheduleWrite(),await Promise.all(promises),this._self.#selectedDB=selectedDB,this._self.#monitorCallback=void 0,this._self.#dirtyWatch=void 0,this._self.#watchEpoch=void 0}resetIfDirty(){let shouldReset=!1;if(this._self.#selectedDB!==(this._self.#options?.database??0))console.warn("Returning a client with a different selected DB"),shouldReset=!0;if(this._self.#monitorCallback)console.warn("Returning a client with active MONITOR"),shouldReset=!0;if(this._self.#queue.isPubSubActive)console.warn("Returning a client with active PubSub"),shouldReset=!0;if(this._self.#dirtyWatch||this._self.#watchEpoch)console.warn("Returning a client with active WATCH"),shouldReset=!0;if(shouldReset)return this.reset()}QUIT(){return this._self.#credentialsSubscription?.dispose(),this._self.#credentialsSubscription=null,this._self.#socket.quit(async()=>{clearTimeout(this._self.#pingTimer);let quitPromise=this._self.#queue.addCommand(["QUIT"]);return this._self.#scheduleWrite(),quitPromise})}quit=this.QUIT;disconnect(){return Promise.resolve(this.destroy())}close(){return new Promise((resolve)=>{if(clearTimeout(this._self.#pingTimer),this._self.#socket.close(),this._self.#clientSideCache?.onClose(),this._self.#queue.isEmpty())return this._self.#socket.destroySocket(),resolve();let maybeClose=()=>{if(!this._self.#queue.isEmpty())return;this._self.#socket.off("data",maybeClose),this._self.#socket.destroySocket(),resolve()};this._self.#socket.on("data",maybeClose),this._self.#credentialsSubscription?.dispose(),this._self.#credentialsSubscription=null})}destroy(){clearTimeout(this._self.#pingTimer),this._self.#queue.flushAll(new errors_1.DisconnectsClientError),this._self.#socket.destroy(),this._self.#clientSideCache?.onClose(),this._self.#credentialsSubscription?.dispose(),this._self.#credentialsSubscription=null}ref(){this._self.#socket.ref()}unref(){this._self.#socket.unref()}}_a=RedisClient,exports.default=RedisClient}),require_lib=__commonJS((exports,module)=>{var lookup=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920],toUTF8Array=function(str){var char,i=0,p=0,utf8=[],len=str.length;for(;i<len;i++)if(char=str.charCodeAt(i),char<128)utf8[p++]=char;else if(char<2048)utf8[p++]=char>>6|192,utf8[p++]=char&63|128;else if((char&64512)===55296&&i+1<str.length&&(str.charCodeAt(i+1)&64512)===56320)char=65536+((char&1023)<<10)+(str.charCodeAt(++i)&1023),utf8[p++]=char>>18|240,utf8[p++]=char>>12&63|128,utf8[p++]=char>>6&63|128,utf8[p++]=char&63|128;else utf8[p++]=char>>12|224,utf8[p++]=char>>6&63|128,utf8[p++]=char&63|128;return utf8},generate=module.exports=function(str){var char,i=0,start3=-1,result=0,resultHash=0,utf8=typeof str==="string"?toUTF8Array(str):str,len=utf8.length;while(i<len){if(char=utf8[i++],start3===-1){if(char===123)start3=i}else if(char!==125)resultHash=lookup[(char^resultHash>>8)&255]^resultHash<<8;else if(i-1!==start3)return resultHash&16383;result=lookup[(char^result>>8)&255]^result<<8}return result&16383};module.exports.generateMulti=function(keys3){var i=1,len=keys3.length,base=generate(keys3[0]);while(i<len)if(generate(keys3[i++])!==base)return-1;return base}}),require_cluster_slots=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}},_a;Object.defineProperty(exports,"__esModule",{value:!0});var errors_1=require_errors(),client_1=__importDefault(require_client()),pub_sub_1=require_pub_sub(),cluster_key_slot_1=__importDefault(require_lib()),cache_1=require_cache();class RedisClusterSlots{static#SLOTS=16384;#options;#clientFactory;#emit;slots=Array(_a.#SLOTS);masters=[];replicas=[];nodeByAddress=new Map;pubSubNode;clientSideCache;#isOpen=!1;get isOpen(){return this.#isOpen}#validateOptions(options){if(options?.clientSideCache&&options?.RESP!==3)throw Error("Client Side Caching is only supported with RESP3")}constructor(options,emit2){if(this.#validateOptions(options),this.#options=options,options?.clientSideCache)if(options.clientSideCache instanceof cache_1.PooledClientSideCacheProvider)this.clientSideCache=options.clientSideCache;else this.clientSideCache=new cache_1.BasicPooledClientSideCache(options.clientSideCache);this.#clientFactory=client_1.default.factory(this.#options),this.#emit=emit2}async connect(){if(this.#isOpen)throw Error("Cluster already open");this.#isOpen=!0;try{await this.#discoverWithRootNodes(),this.#emit("connect")}catch(err){throw this.#isOpen=!1,err}}async#discoverWithRootNodes(){let start3=Math.floor(Math.random()*this.#options.rootNodes.length);for(let i=start3;i<this.#options.rootNodes.length;i++){if(!this.#isOpen)throw Error("Cluster closed");if(await this.#discover(this.#options.rootNodes[i]))return}for(let i=0;i<start3;i++){if(!this.#isOpen)throw Error("Cluster closed");if(await this.#discover(this.#options.rootNodes[i]))return}throw new errors_1.RootNodesUnavailableError}#resetSlots(){this.slots=Array(_a.#SLOTS),this.masters=[],this.replicas=[],this._randomNodeIterator=void 0}async#discover(rootNode){this.clientSideCache?.clear(),this.clientSideCache?.disable();try{let addressesInUse=new Set,promises=[],eagerConnect=this.#options.minimizeConnections!==!0,shards=await this.#getShards(rootNode);this.#resetSlots();for(let{from,to,master,replicas}of shards){let shard={master:this.#initiateSlotNode(master,!1,eagerConnect,addressesInUse,promises)};if(this.#options.useReplicas)shard.replicas=replicas.map((replica)=>this.#initiateSlotNode(replica,!0,eagerConnect,addressesInUse,promises));for(let i=from;i<=to;i++)this.slots[i]=shard}if(this.pubSubNode&&!addressesInUse.has(this.pubSubNode.address)){let channelsListeners=this.pubSubNode.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS),patternsListeners=this.pubSubNode.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS);if(this.pubSubNode.client.destroy(),channelsListeners.size||patternsListeners.size)promises.push(this.#initiatePubSubClient({[pub_sub_1.PUBSUB_TYPE.CHANNELS]:channelsListeners,[pub_sub_1.PUBSUB_TYPE.PATTERNS]:patternsListeners}))}for(let[address,node]of this.nodeByAddress.entries()){if(addressesInUse.has(address))continue;if(node.client)node.client.destroy();let{pubSub}=node;if(pubSub)pubSub.client.destroy();this.nodeByAddress.delete(address)}return await Promise.all(promises),this.clientSideCache?.enable(),!0}catch(err){return this.#emit("error",err),!1}}async#getShards(rootNode){let options=this.#clientOptionsDefaults(rootNode);options.socket??={},options.socket.reconnectStrategy=!1,options.RESP=this.#options.RESP,options.commandOptions=void 0;let client=await this.#clientFactory(options).on("error",(err)=>this.#emit("error",err)).connect();try{return await client.clusterSlots()}finally{client.destroy()}}#getNodeAddress(address){switch(typeof this.#options.nodeAddressMap){case"object":return this.#options.nodeAddressMap[address];case"function":return this.#options.nodeAddressMap(address)}}#clientOptionsDefaults(options){if(!this.#options.defaults)return options;let socket;if(this.#options.defaults.socket)socket={...this.#options.defaults.socket,...options?.socket};else socket=options?.socket;return{...this.#options.defaults,...options,socket}}#initiateSlotNode(shard,readonly,eagerConnent,addressesInUse,promises){let address=`${shard.host}:${shard.port}`,node=this.nodeByAddress.get(address);if(!node){if(node={...shard,address,readonly,client:void 0,connectPromise:void 0},eagerConnent)promises.push(this.#createNodeClient(node));this.nodeByAddress.set(address,node)}if(!addressesInUse.has(address))addressesInUse.add(address),(readonly?this.replicas:this.masters).push(node);return node}#createClient(node,readonly=node.readonly){let socket=this.#getNodeAddress(node.address)??{host:node.host,port:node.port},clientInfo=Object.freeze({host:socket.host,port:socket.port}),emit2=this.#emit,client=this.#clientFactory(this.#clientOptionsDefaults({clientSideCache:this.clientSideCache,RESP:this.#options.RESP,socket,readonly})).on("error",(error3)=>emit2("node-error",error3,clientInfo)).on("reconnecting",()=>emit2("node-reconnecting",clientInfo)).once("ready",()=>emit2("node-ready",clientInfo)).once("connect",()=>emit2("node-connect",clientInfo)).once("end",()=>emit2("node-disconnect",clientInfo)).on("__MOVED",async(allPubSubListeners)=>{await this.rediscover(client),this.#emit("__resubscribeAllPubSubListeners",allPubSubListeners)});return client}#createNodeClient(node,readonly){let client=node.client=this.#createClient(node,readonly);return node.connectPromise=client.connect().finally(()=>node.connectPromise=void 0)}nodeClient(node){return node.connectPromise??node.client??this.#createNodeClient(node)}#runningRediscoverPromise;async rediscover(startWith){return this.#runningRediscoverPromise??=this.#rediscover(startWith).finally(()=>{this.#runningRediscoverPromise=void 0}),this.#runningRediscoverPromise}async#rediscover(startWith){if(await this.#discover(startWith.options))return;return this.#discoverWithRootNodes()}quit(){return this.#destroy((client)=>client.quit())}disconnect(){return this.#destroy((client)=>client.disconnect())}close(){return this.#destroy((client)=>client.close())}destroy(){this.#isOpen=!1;for(let client of this.#clients())client.destroy();if(this.pubSubNode)this.pubSubNode.client.destroy(),this.pubSubNode=void 0;this.#resetSlots(),this.nodeByAddress.clear(),this.#emit("disconnect")}*#clients(){for(let master of this.masters){if(master.client)yield master.client;if(master.pubSub)yield master.pubSub.client}for(let replica of this.replicas)if(replica.client)yield replica.client}async#destroy(fn2){this.#isOpen=!1;let promises=[];for(let client of this.#clients())promises.push(fn2(client));if(this.pubSubNode)promises.push(fn2(this.pubSubNode.client)),this.pubSubNode=void 0;this.#resetSlots(),this.nodeByAddress.clear(),await Promise.allSettled(promises),this.#emit("disconnect")}getClient(firstKey,isReadonly){if(!firstKey)return this.nodeClient(this.getRandomNode());let slotNumber=(0,cluster_key_slot_1.default)(firstKey);if(!isReadonly)return this.nodeClient(this.slots[slotNumber].master);return this.nodeClient(this.getSlotRandomNode(slotNumber))}*#iterateAllNodes(){if(this.masters.length+this.replicas.length===0)return;let i=Math.floor(Math.random()*(this.masters.length+this.replicas.length));if(i<this.masters.length){do yield this.masters[i];while(++i<this.masters.length);for(let replica of this.replicas)yield replica}else{i-=this.masters.length;do yield this.replicas[i];while(++i<this.replicas.length)}while(!0){for(let master of this.masters)yield master;for(let replica of this.replicas)yield replica}}_randomNodeIterator;getRandomNode(){return this._randomNodeIterator??=this.#iterateAllNodes(),this._randomNodeIterator.next().value}*#slotNodesIterator(slot){let i=Math.floor(Math.random()*(1+slot.replicas.length));if(i<slot.replicas.length)do yield slot.replicas[i];while(++i<slot.replicas.length);while(!0){yield slot.master;for(let replica of slot.replicas)yield replica}}getSlotRandomNode(slotNumber){let slot=this.slots[slotNumber];if(!slot.replicas?.length)return slot.master;return slot.nodesIterator??=this.#slotNodesIterator(slot),slot.nodesIterator.next().value}getMasterByAddress(address){let master=this.nodeByAddress.get(address);if(!master)return;return this.nodeClient(master)}getPubSubClient(){if(!this.pubSubNode)return this.#initiatePubSubClient();return this.pubSubNode.connectPromise??this.pubSubNode.client}async#initiatePubSubClient(toResubscribe){let index=Math.floor(Math.random()*(this.masters.length+this.replicas.length)),node=index<this.masters.length?this.masters[index]:this.replicas[index-this.masters.length],client=this.#createClient(node,!1);return this.pubSubNode={address:node.address,client,connectPromise:client.connect().then(async(client2)=>{if(toResubscribe)await Promise.all([client2.extendPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS,toResubscribe[pub_sub_1.PUBSUB_TYPE.CHANNELS]),client2.extendPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS,toResubscribe[pub_sub_1.PUBSUB_TYPE.PATTERNS])]);return this.pubSubNode.connectPromise=void 0,client2}).catch((err)=>{throw this.pubSubNode=void 0,err})},this.pubSubNode.connectPromise}async executeUnsubscribeCommand(unsubscribe){let client=await this.getPubSubClient();if(await unsubscribe(client),!client.isPubSubActive)client.destroy(),this.pubSubNode=void 0}getShardedPubSubClient(channel){let{master}=this.slots[(0,cluster_key_slot_1.default)(channel)];if(!master.pubSub)return this.#initiateShardedPubSubClient(master);return master.pubSub.connectPromise??master.pubSub.client}async#initiateShardedPubSubClient(master){let client=this.#createClient(master,!1).on("server-sunsubscribe",async(channel,listeners)=>{try{await this.rediscover(client),await(await this.getShardedPubSubClient(channel)).extendPubSubChannelListeners(pub_sub_1.PUBSUB_TYPE.SHARDED,channel,listeners)}catch(err){this.#emit("sharded-shannel-moved-error",err,channel,listeners)}});return master.pubSub={client,connectPromise:client.connect().then((client2)=>{return master.pubSub.connectPromise=void 0,client2}).catch((err)=>{throw master.pubSub=void 0,err})},master.pubSub.connectPromise}async executeShardedUnsubscribeCommand(channel,unsubscribe){let{master}=this.slots[(0,cluster_key_slot_1.default)(channel)];if(!master.pubSub)return;let client=master.pubSub.connectPromise?await master.pubSub.connectPromise:master.pubSub.client;if(await unsubscribe(client),!client.isPubSubActive)client.destroy(),master.pubSub=void 0}}_a=RedisClusterSlots,exports.default=RedisClusterSlots}),require_multi_command3=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var commands_1=__importDefault(require_commands()),multi_command_1=__importDefault(require_multi_command()),commander_1=require_commander(),parser_1=require_parser();class RedisClusterMultiCommand{static#createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;redisArgs.preserve=parser.preserve;let firstKey=parser.firstKey;return this.addCommand(firstKey,command.IS_READ_ONLY,redisArgs,transformReply)}}static#createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;redisArgs.preserve=parser.preserve;let firstKey=parser.firstKey;return this._self.addCommand(firstKey,command.IS_READ_ONLY,redisArgs,transformReply)}}static#createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;parser.push(...prefix),fn2.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;redisArgs.preserve=parser.preserve;let firstKey=parser.firstKey;return this._self.addCommand(firstKey,fn2.IS_READ_ONLY,redisArgs,transformReply)}}static#createScriptCommand(script,resp){let transformReply=(0,commander_1.getTransformReply)(script,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;script.parseCommand(parser,...args2);let scriptArgs=parser.redisArgs;scriptArgs.preserve=parser.preserve;let firstKey=parser.firstKey;return this.#addScript(firstKey,script.IS_READ_ONLY,script,scriptArgs,transformReply)}}static extend(config2){return(0,commander_1.attachConfig)({BaseClass:RedisClusterMultiCommand,commands:commands_1.default,createCommand:RedisClusterMultiCommand.#createCommand,createModuleCommand:RedisClusterMultiCommand.#createModuleCommand,createFunctionCommand:RedisClusterMultiCommand.#createFunctionCommand,createScriptCommand:RedisClusterMultiCommand.#createScriptCommand,config:config2})}#multi;#executeMulti;#executePipeline;#firstKey;#isReadonly=!0;constructor(executeMulti,executePipeline,routing,typeMapping){this.#multi=new multi_command_1.default(typeMapping),this.#executeMulti=executeMulti,this.#executePipeline=executePipeline,this.#firstKey=routing}#setState(firstKey,isReadonly){this.#firstKey??=firstKey,this.#isReadonly&&=isReadonly}addCommand(firstKey,isReadonly,args2,transformReply){return this.#setState(firstKey,isReadonly),this.#multi.addCommand(args2,transformReply),this}#addScript(firstKey,isReadonly,script,args2,transformReply){return this.#setState(firstKey,isReadonly),this.#multi.addScript(script,args2,transformReply),this}async exec(execAsPipeline=!1){if(execAsPipeline)return this.execAsPipeline();return this.#multi.transformReplies(await this.#executeMulti(this.#firstKey,this.#isReadonly,this.#multi.queue))}EXEC=this.exec;execTyped(execAsPipeline=!1){return this.exec(execAsPipeline)}async execAsPipeline(){if(this.#multi.queue.length===0)return[];return this.#multi.transformReplies(await this.#executePipeline(this.#firstKey,this.#isReadonly,this.#multi.queue))}execAsPipelineTyped(){return this.execAsPipeline()}}exports.default=RedisClusterMultiCommand}),require_cluster=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var commands_1=__importDefault(require_commands()),node_events_1=__require2("node:events"),commander_1=require_commander(),cluster_slots_1=__importDefault(require_cluster_slots()),multi_command_1=__importDefault(require_multi_command3()),errors_1=require_errors(),parser_1=require_parser(),ASKING_1=require_ASKING(),single_entry_cache_1=__importDefault(require_single_entry_cache());class RedisCluster extends node_events_1.EventEmitter{static#createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self._execute(parser.firstKey,command.IS_READ_ONLY,this._commandOptions,(client,opts)=>client._executeCommand(command,parser,opts,transformReply))}}static#createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self._execute(parser.firstKey,command.IS_READ_ONLY,this._self._commandOptions,(client,opts)=>client._executeCommand(command,parser,opts,transformReply))}}static#createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),fn2.parseCommand(parser,...args2),this._self._execute(parser.firstKey,fn2.IS_READ_ONLY,this._self._commandOptions,(client,opts)=>client._executeCommand(fn2,parser,opts,transformReply))}}static#createScriptCommand(script,resp){let prefix=(0,commander_1.scriptArgumentsPrefix)(script),transformReply=(0,commander_1.getTransformReply)(script,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),script.parseCommand(parser,...args2),this._self._execute(parser.firstKey,script.IS_READ_ONLY,this._commandOptions,(client,opts)=>client._executeScript(script,parser,opts,transformReply))}}static#SingleEntryCache=new single_entry_cache_1.default;static factory(config2){let Cluster=RedisCluster.#SingleEntryCache.get(config2);if(!Cluster)Cluster=(0,commander_1.attachConfig)({BaseClass:RedisCluster,commands:commands_1.default,createCommand:RedisCluster.#createCommand,createModuleCommand:RedisCluster.#createModuleCommand,createFunctionCommand:RedisCluster.#createFunctionCommand,createScriptCommand:RedisCluster.#createScriptCommand,config:config2}),Cluster.prototype.Multi=multi_command_1.default.extend(config2),RedisCluster.#SingleEntryCache.set(config2,Cluster);return(options)=>{return Object.create(new Cluster(options))}}static create(options){return RedisCluster.factory(options)(options)}_options;_slots;_self=this;_commandOptions;get slots(){return this._self._slots.slots}get clientSideCache(){return this._self._slots.clientSideCache}get masters(){return this._self._slots.masters}get replicas(){return this._self._slots.replicas}get nodeByAddress(){return this._self._slots.nodeByAddress}get pubSubNode(){return this._self._slots.pubSubNode}get isOpen(){return this._self._slots.isOpen}constructor(options){super();if(this._options=options,this._slots=new cluster_slots_1.default(options,this.emit.bind(this)),this.on("__resubscribeAllPubSubListeners",this.resubscribeAllPubSubListeners.bind(this)),options?.commandOptions)this._commandOptions=options.commandOptions}duplicate(overrides){return new(Object.getPrototypeOf(this)).constructor({...this._self._options,commandOptions:this._commandOptions,...overrides})}async connect(){return await this._self._slots.connect(),this}withCommandOptions(options){let proxy=Object.create(this);return proxy._commandOptions=options,proxy}_commandOptionsProxy(key,value){let proxy=Object.create(this);return proxy._commandOptions=Object.create(this._commandOptions??null),proxy._commandOptions[key]=value,proxy}withTypeMapping(typeMapping){return this._commandOptionsProxy("typeMapping",typeMapping)}_handleAsk(fn2){return async(client,options)=>{let chainId=Symbol("asking chain"),opts=options?{...options}:{};return opts.chainId=chainId,(await Promise.all([client.sendCommand([ASKING_1.ASKING_CMD],{chainId}),fn2(client,opts)]))[1]}}async _execute(firstKey,isReadonly,options,fn2){let maxCommandRedirections=this._options.maxCommandRedirections??16,client=await this._slots.getClient(firstKey,isReadonly),i=0,myFn=fn2;while(!0)try{return await myFn(client,options)}catch(err){if(myFn=fn2,++i>maxCommandRedirections||!(err instanceof Error))throw err;if(err.message.startsWith("ASK")){let address=err.message.substring(err.message.lastIndexOf(" ")+1),redirectTo=await this._slots.getMasterByAddress(address);if(!redirectTo)await this._slots.rediscover(client),redirectTo=await this._slots.getMasterByAddress(address);if(!redirectTo)throw Error(`Cannot find node ${address}`);client=redirectTo,myFn=this._handleAsk(fn2);continue}if(err.message.startsWith("MOVED")){await this._slots.rediscover(client),client=await this._slots.getClient(firstKey,isReadonly);continue}throw err}}async sendCommand(firstKey,isReadonly,args2,options){let opts={...this._self._commandOptions,...options};return this._self._execute(firstKey,isReadonly,opts,(client,opts2)=>client.sendCommand(args2,opts2))}MULTI(routing){return new this.Multi(async(firstKey,isReadonly,commands)=>{return(await this._self._slots.getClient(firstKey,isReadonly))._executeMulti(commands)},async(firstKey,isReadonly,commands)=>{return(await this._self._slots.getClient(firstKey,isReadonly))._executePipeline(commands)},routing,this._commandOptions?.typeMapping)}multi=this.MULTI;async SUBSCRIBE(channels,listener,bufferMode){return(await this._self._slots.getPubSubClient()).SUBSCRIBE(channels,listener,bufferMode)}subscribe=this.SUBSCRIBE;async UNSUBSCRIBE(channels,listener,bufferMode){return this._self._slots.executeUnsubscribeCommand((client)=>client.UNSUBSCRIBE(channels,listener,bufferMode))}unsubscribe=this.UNSUBSCRIBE;async PSUBSCRIBE(patterns,listener,bufferMode){return(await this._self._slots.getPubSubClient()).PSUBSCRIBE(patterns,listener,bufferMode)}pSubscribe=this.PSUBSCRIBE;async PUNSUBSCRIBE(patterns,listener,bufferMode){return this._self._slots.executeUnsubscribeCommand((client)=>client.PUNSUBSCRIBE(patterns,listener,bufferMode))}pUnsubscribe=this.PUNSUBSCRIBE;async SSUBSCRIBE(channels,listener,bufferMode){let maxCommandRedirections=this._self._options.maxCommandRedirections??16,firstChannel=Array.isArray(channels)?channels[0]:channels,client=await this._self._slots.getShardedPubSubClient(firstChannel);for(let i=0;;i++)try{return await client.SSUBSCRIBE(channels,listener,bufferMode)}catch(err){if(++i>maxCommandRedirections||!(err instanceof errors_1.ErrorReply))throw err;if(err.message.startsWith("MOVED")){await this._self._slots.rediscover(client),client=await this._self._slots.getShardedPubSubClient(firstChannel);continue}throw err}}sSubscribe=this.SSUBSCRIBE;SUNSUBSCRIBE(channels,listener,bufferMode){return this._self._slots.executeShardedUnsubscribeCommand(Array.isArray(channels)?channels[0]:channels,(client)=>client.SUNSUBSCRIBE(channels,listener,bufferMode))}resubscribeAllPubSubListeners(allListeners){for(let[channel,listeners]of allListeners.CHANNELS)listeners.buffers.forEach((bufListener)=>{this.subscribe(channel,bufListener,!0)}),listeners.strings.forEach((strListener)=>{this.subscribe(channel,strListener)});for(let[channel,listeners]of allListeners.PATTERNS)listeners.buffers.forEach((bufListener)=>{this.pSubscribe(channel,bufListener,!0)}),listeners.strings.forEach((strListener)=>{this.pSubscribe(channel,strListener)});for(let[channel,listeners]of allListeners.SHARDED)listeners.buffers.forEach((bufListener)=>{this.sSubscribe(channel,bufListener,!0)}),listeners.strings.forEach((strListener)=>{this.sSubscribe(channel,strListener)})}sUnsubscribe=this.SUNSUBSCRIBE;quit(){return this._self._slots.quit()}disconnect(){return this._self._slots.disconnect()}close(){return this._self._slots.clientSideCache?.onPoolClose(),this._self._slots.close()}destroy(){return this._self._slots.clientSideCache?.onPoolClose(),this._self._slots.destroy()}nodeClient(node){return this._self._slots.nodeClient(node)}getRandomNode(){return this._self._slots.getRandomNode()}getSlotRandomNode(slot){return this._self._slots.getSlotRandomNode(slot)}getMasters(){return this.masters}getSlotMaster(slot){return this.slots[slot].master}}exports.default=RedisCluster}),require_utils=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createScriptCommand=exports.createModuleCommand=exports.createFunctionCommand=exports.createCommand=exports.clientSocketToNode=exports.createNodeList=exports.parseNode=void 0;var parser_1=require_parser(),commander_1=require_commander();function parseNode(node){if(node.flags.includes("s_down")||node.flags.includes("disconnected")||node.flags.includes("failover_in_progress"))return;return{host:node.ip,port:Number(node.port)}}exports.parseNode=parseNode;function createNodeList(nodes){var nodeList=[];for(let nodeData of nodes){let node=parseNode(nodeData);if(node===void 0)continue;nodeList.push(node)}return nodeList}exports.createNodeList=createNodeList;function clientSocketToNode(socket){let s=socket;return{host:s.host,port:s.port}}exports.clientSocketToNode=clientSocketToNode;function createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self._execute(command.IS_READ_ONLY,(client)=>client._executeCommand(command,parser,this.commandOptions,transformReply))}}exports.createCommand=createCommand;function createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),fn2.parseCommand(parser,...args2),this._self._execute(fn2.IS_READ_ONLY,(client)=>client._executeCommand(fn2,parser,this._self.commandOptions,transformReply))}}exports.createFunctionCommand=createFunctionCommand;function createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self._execute(command.IS_READ_ONLY,(client)=>client._executeCommand(command,parser,this._self.commandOptions,transformReply))}}exports.createModuleCommand=createModuleCommand;function createScriptCommand(script,resp){let prefix=(0,commander_1.scriptArgumentsPrefix)(script),transformReply=(0,commander_1.getTransformReply)(script,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),script.parseCommand(parser,...args2),this._self._execute(script.IS_READ_ONLY,(client)=>client._executeScript(script,parser,this.commandOptions,transformReply))}}exports.createScriptCommand=createScriptCommand}),require_multi_commands=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var commands_1=__importDefault(require_commands()),multi_command_1=__importDefault(require_multi_command()),commander_1=require_commander(),parser_1=require_parser();class RedisSentinelMultiCommand{static _createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this.addCommand(command.IS_READ_ONLY,redisArgs,transformReply)}}static _createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this._self.addCommand(command.IS_READ_ONLY,redisArgs,transformReply)}}static _createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;parser.push(...prefix),fn2.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this._self.addCommand(fn2.IS_READ_ONLY,redisArgs,transformReply)}}static _createScriptCommand(script,resp){let transformReply=(0,commander_1.getTransformReply)(script,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;script.parseCommand(parser,...args2);let scriptArgs=parser.redisArgs;return scriptArgs.preserve=parser.preserve,this.#addScript(script.IS_READ_ONLY,script,scriptArgs,transformReply)}}static extend(config2){return(0,commander_1.attachConfig)({BaseClass:RedisSentinelMultiCommand,commands:commands_1.default,createCommand:RedisSentinelMultiCommand._createCommand,createModuleCommand:RedisSentinelMultiCommand._createModuleCommand,createFunctionCommand:RedisSentinelMultiCommand._createFunctionCommand,createScriptCommand:RedisSentinelMultiCommand._createScriptCommand,config:config2})}#multi=new multi_command_1.default;#sentinel;#isReadonly=!0;constructor(sentinel,typeMapping){this.#multi=new multi_command_1.default(typeMapping),this.#sentinel=sentinel}#setState(isReadonly){this.#isReadonly&&=isReadonly}addCommand(isReadonly,args2,transformReply){return this.#setState(isReadonly),this.#multi.addCommand(args2,transformReply),this}#addScript(isReadonly,script,args2,transformReply){return this.#setState(isReadonly),this.#multi.addScript(script,args2,transformReply),this}async exec(execAsPipeline=!1){if(execAsPipeline)return this.execAsPipeline();return this.#multi.transformReplies(await this.#sentinel._executeMulti(this.#isReadonly,this.#multi.queue))}EXEC=this.exec;execTyped(execAsPipeline=!1){return this.exec(execAsPipeline)}async execAsPipeline(){if(this.#multi.queue.length===0)return[];return this.#multi.transformReplies(await this.#sentinel._executePipeline(this.#isReadonly,this.#multi.queue))}execAsPipelineTyped(){return this.execAsPipeline()}}exports.default=RedisSentinelMultiCommand}),require_pub_sub_proxy=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PubSubProxy=void 0;var node_events_1=__importDefault(__require2("node:events")),pub_sub_1=require_pub_sub(),client_1=__importDefault(require_client());class PubSubProxy extends node_events_1.default{#clientOptions;#onError;#node;#state;#subscriptions;constructor(clientOptions,onError5){super();this.#clientOptions=clientOptions,this.#onError=onError5}#createClient(){if(this.#node===void 0)throw Error("pubSubProxy: didn't define node to do pubsub against");return new client_1.default({...this.#clientOptions,socket:{...this.#clientOptions.socket,host:this.#node.host,port:this.#node.port}})}async#initiatePubSubClient(withSubscriptions=!1){let client=this.#createClient().on("error",this.#onError),connectPromise=client.connect().then(async(client2)=>{if(this.#state?.client!==client2)return client2.destroy(),this.#state?.connectPromise;if(withSubscriptions&&this.#subscriptions)await Promise.all([client2.extendPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS,this.#subscriptions[pub_sub_1.PUBSUB_TYPE.CHANNELS]),client2.extendPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS,this.#subscriptions[pub_sub_1.PUBSUB_TYPE.PATTERNS])]);if(this.#state.client!==client2)return client2.destroy(),this.#state?.connectPromise;return this.#state.connectPromise=void 0,client2}).catch((err)=>{throw this.#state=void 0,err});return this.#state={client,connectPromise},connectPromise}#getPubSubClient(){if(!this.#state)return this.#initiatePubSubClient();return this.#state.connectPromise??this.#state.client}async changeNode(node){if(this.#node=node,!this.#state)return;if(this.#state.connectPromise===void 0)this.#subscriptions={[pub_sub_1.PUBSUB_TYPE.CHANNELS]:this.#state.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS),[pub_sub_1.PUBSUB_TYPE.PATTERNS]:this.#state.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS)},this.#state.client.destroy();await this.#initiatePubSubClient(!0)}#executeCommand(fn2){let client=this.#getPubSubClient();if(client instanceof client_1.default)return fn2(client);return client.then((client2)=>{if(client2===void 0)return;return fn2(client2)}).catch((err)=>{if(this.#state?.client.isPubSubActive)this.#state.client.destroy(),this.#state=void 0;throw err})}subscribe(channels,listener,bufferMode){return this.#executeCommand((client)=>client.SUBSCRIBE(channels,listener,bufferMode))}#unsubscribe(fn2){return this.#executeCommand(async(client)=>{let reply=await fn2(client);if(!client.isPubSubActive)client.destroy(),this.#state=void 0;return reply})}async unsubscribe(channels,listener,bufferMode){return this.#unsubscribe((client)=>client.UNSUBSCRIBE(channels,listener,bufferMode))}async pSubscribe(patterns,listener,bufferMode){return this.#executeCommand((client)=>client.PSUBSCRIBE(patterns,listener,bufferMode))}async pUnsubscribe(patterns,listener,bufferMode){return this.#unsubscribe((client)=>client.PUNSUBSCRIBE(patterns,listener,bufferMode))}destroy(){if(this.#subscriptions=void 0,this.#state===void 0)return;if(!this.#state.connectPromise)this.#state.client.destroy();this.#state=void 0}}exports.PubSubProxy=PubSubProxy}),require_SENTINEL_MASTER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,dbname){parser.push("SENTINEL","MASTER",dbname)},transformReply:{2:generic_transformers_1.transformTuplesReply,3:void 0}}}),require_SENTINEL_MONITOR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,dbname,host,port3,quorum){parser.push("SENTINEL","MONITOR",dbname,host,port3,quorum)},transformReply:void 0}}),require_SENTINEL_REPLICAS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,dbname){parser.push("SENTINEL","REPLICAS",dbname)},transformReply:{2:(reply,preserve,typeMapping)=>{let inferred=reply,initial=[];return inferred.reduce((sentinels,x)=>{return sentinels.push((0,generic_transformers_1.transformTuplesReply)(x,void 0,typeMapping)),sentinels},initial)},3:void 0}}}),require_SENTINEL_SENTINELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,dbname){parser.push("SENTINEL","SENTINELS",dbname)},transformReply:{2:(reply,preserve,typeMapping)=>{let inferred=reply,initial=[];return inferred.reduce((sentinels,x)=>{return sentinels.push((0,generic_transformers_1.transformTuplesReply)(x,void 0,typeMapping)),sentinels},initial)},3:void 0}}}),require_SENTINEL_SET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,dbname,options){parser.push("SENTINEL","SET",dbname);for(let option32 of options)parser.push(option32.option,option32.value)},transformReply:void 0}}),require_commands2=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var SENTINEL_MASTER_1=__importDefault(require_SENTINEL_MASTER()),SENTINEL_MONITOR_1=__importDefault(require_SENTINEL_MONITOR()),SENTINEL_REPLICAS_1=__importDefault(require_SENTINEL_REPLICAS()),SENTINEL_SENTINELS_1=__importDefault(require_SENTINEL_SENTINELS()),SENTINEL_SET_1=__importDefault(require_SENTINEL_SET());exports.default={SENTINEL_SENTINELS:SENTINEL_SENTINELS_1.default,sentinelSentinels:SENTINEL_SENTINELS_1.default,SENTINEL_MASTER:SENTINEL_MASTER_1.default,sentinelMaster:SENTINEL_MASTER_1.default,SENTINEL_REPLICAS:SENTINEL_REPLICAS_1.default,sentinelReplicas:SENTINEL_REPLICAS_1.default,SENTINEL_MONITOR:SENTINEL_MONITOR_1.default,sentinelMonitor:SENTINEL_MONITOR_1.default,SENTINEL_SET:SENTINEL_SET_1.default,sentinelSet:SENTINEL_SET_1.default}}),require_module=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var commands_1=__importDefault(require_commands2());exports.default={sentinel:commands_1.default}}),require_wait_queue=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.WaitQueue=void 0;var linked_list_1=require_linked_list();class WaitQueue{#list=new linked_list_1.SinglyLinkedList;#queue=new linked_list_1.SinglyLinkedList;push(value){let resolve=this.#queue.shift();if(resolve!==void 0){resolve(value);return}this.#list.push(value)}shift(){return this.#list.shift()}wait(){return new Promise((resolve)=>this.#queue.push(resolve))}}exports.WaitQueue=WaitQueue}),require_sentinel=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RedisSentinelFactory=exports.RedisSentinelClient=void 0;var node_events_1=__require2("node:events"),client_1=__importDefault(require_client()),commander_1=require_commander(),commands_1=__importDefault(require_commands()),utils_1=require_utils(),multi_commands_1=__importDefault(require_multi_commands()),pub_sub_proxy_1=require_pub_sub_proxy(),promises_1=__require2("node:timers/promises"),module_1=__importDefault(require_module()),wait_queue_1=require_wait_queue(),cache_1=require_cache();class RedisSentinelClient{#clientInfo;#internal;_self;get isOpen(){return this._self.#internal.isOpen}get isReady(){return this._self.#internal.isReady}get commandOptions(){return this._self.#commandOptions}#commandOptions;constructor(internal,clientInfo,commandOptions){this._self=this,this.#internal=internal,this.#clientInfo=clientInfo,this.#commandOptions=commandOptions}static factory(config2){let SentinelClient=(0,commander_1.attachConfig)({BaseClass:RedisSentinelClient,commands:commands_1.default,createCommand:utils_1.createCommand,createModuleCommand:utils_1.createModuleCommand,createFunctionCommand:utils_1.createFunctionCommand,createScriptCommand:utils_1.createScriptCommand,config:config2});return SentinelClient.prototype.Multi=multi_commands_1.default.extend(config2),(internal,clientInfo,commandOptions)=>{return Object.create(new SentinelClient(internal,clientInfo,commandOptions))}}static create(options,internal,clientInfo,commandOptions){return RedisSentinelClient.factory(options)(internal,clientInfo,commandOptions)}withCommandOptions(options){let proxy=Object.create(this);return proxy._commandOptions=options,proxy}_commandOptionsProxy(key,value){let proxy=Object.create(this);return proxy._commandOptions=Object.create(this._self.#commandOptions??null),proxy._commandOptions[key]=value,proxy}withTypeMapping(typeMapping){return this._commandOptionsProxy("typeMapping",typeMapping)}async _execute(isReadonly,fn2){if(this._self.#clientInfo===void 0)throw Error("Attempted execution on released RedisSentinelClient lease");return await this._self.#internal.execute(fn2,this._self.#clientInfo)}async sendCommand(isReadonly,args2,options){return this._execute(isReadonly,(client)=>client.sendCommand(args2,options))}async _executePipeline(isReadonly,commands){return this._execute(isReadonly,(client)=>client._executePipeline(commands))}async _executeMulti(isReadonly,commands){return this._execute(isReadonly,(client)=>client._executeMulti(commands))}MULTI(){return new this.Multi(this)}multi=this.MULTI;WATCH(key){if(this._self.#clientInfo===void 0)throw Error("Attempted execution on released RedisSentinelClient lease");return this._execute(!1,(client)=>client.watch(key))}watch=this.WATCH;UNWATCH(){if(this._self.#clientInfo===void 0)throw Error("Attempted execution on released RedisSentinelClient lease");return this._execute(!1,(client)=>client.unwatch())}unwatch=this.UNWATCH;release(){if(this._self.#clientInfo===void 0)throw Error("RedisSentinelClient lease already released");let result=this._self.#internal.releaseClientLease(this._self.#clientInfo);return this._self.#clientInfo=void 0,result}}exports.RedisSentinelClient=RedisSentinelClient;class RedisSentinel extends node_events_1.EventEmitter{_self;#internal;#options;get isOpen(){return this._self.#internal.isOpen}get isReady(){return this._self.#internal.isReady}get commandOptions(){return this._self.#commandOptions}#commandOptions;#trace=()=>{};#reservedClientInfo;#masterClientCount=0;#masterClientInfo;get clientSideCache(){return this._self.#internal.clientSideCache}constructor(options){super();if(this._self=this,this.#options=options,options.commandOptions)this.#commandOptions=options.commandOptions;this.#internal=new RedisSentinelInternal(options),this.#internal.on("error",(err)=>this.emit("error",err)),this.#internal.on("topology-change",(event)=>{if(!this.emit("topology-change",event))this._self.#trace(`RedisSentinel: re-emit for topology-change for ${event.type} event returned false`)})}static factory(config2){let Sentinel=(0,commander_1.attachConfig)({BaseClass:RedisSentinel,commands:commands_1.default,createCommand:utils_1.createCommand,createModuleCommand:utils_1.createModuleCommand,createFunctionCommand:utils_1.createFunctionCommand,createScriptCommand:utils_1.createScriptCommand,config:config2});return Sentinel.prototype.Multi=multi_commands_1.default.extend(config2),(options)=>{return Object.create(new Sentinel(options))}}static create(options){return RedisSentinel.factory(options)(options)}withCommandOptions(options){let proxy=Object.create(this);return proxy._commandOptions=options,proxy}_commandOptionsProxy(key,value){let proxy=Object.create(this);return proxy._self.#commandOptions={...this._self.#commandOptions||{},[key]:value},proxy}withTypeMapping(typeMapping){return this._commandOptionsProxy("typeMapping",typeMapping)}async connect(){if(await this._self.#internal.connect(),this._self.#options.reserveClient)this._self.#reservedClientInfo=await this._self.#internal.getClientLease();return this}async _execute(isReadonly,fn2){let clientInfo;if(!isReadonly||!this._self.#internal.useReplicas)if(this._self.#reservedClientInfo)clientInfo=this._self.#reservedClientInfo;else this._self.#masterClientInfo??=await this._self.#internal.getClientLease(),clientInfo=this._self.#masterClientInfo,this._self.#masterClientCount++;try{return await this._self.#internal.execute(fn2,clientInfo)}finally{if(clientInfo!==void 0&&clientInfo===this._self.#masterClientInfo&&--this._self.#masterClientCount===0){let promise3=this._self.#internal.releaseClientLease(clientInfo);if(this._self.#masterClientInfo=void 0,promise3)await promise3}}}async use(fn2){let clientInfo=await this._self.#internal.getClientLease();try{return await fn2(RedisSentinelClient.create(this._self.#options,this._self.#internal,clientInfo,this._self.#commandOptions))}finally{let promise3=this._self.#internal.releaseClientLease(clientInfo);if(promise3)await promise3}}async sendCommand(isReadonly,args2,options){return this._execute(isReadonly,(client)=>client.sendCommand(args2,options))}async _executePipeline(isReadonly,commands){return this._execute(isReadonly,(client)=>client._executePipeline(commands))}async _executeMulti(isReadonly,commands){return this._execute(isReadonly,(client)=>client._executeMulti(commands))}MULTI(){return new this.Multi(this)}multi=this.MULTI;async close(){return this._self.#internal.close()}destroy(){return this._self.#internal.destroy()}async SUBSCRIBE(channels,listener,bufferMode){return this._self.#internal.subscribe(channels,listener,bufferMode)}subscribe=this.SUBSCRIBE;async UNSUBSCRIBE(channels,listener,bufferMode){return this._self.#internal.unsubscribe(channels,listener,bufferMode)}unsubscribe=this.UNSUBSCRIBE;async PSUBSCRIBE(patterns,listener,bufferMode){return this._self.#internal.pSubscribe(patterns,listener,bufferMode)}pSubscribe=this.PSUBSCRIBE;async PUNSUBSCRIBE(patterns,listener,bufferMode){return this._self.#internal.pUnsubscribe(patterns,listener,bufferMode)}pUnsubscribe=this.PUNSUBSCRIBE;async acquire(){let clientInfo=await this._self.#internal.getClientLease();return RedisSentinelClient.create(this._self.#options,this._self.#internal,clientInfo,this._self.#commandOptions)}getSentinelNode(){return this._self.#internal.getSentinelNode()}getMasterNode(){return this._self.#internal.getMasterNode()}getReplicaNodes(){return this._self.#internal.getReplicaNodes()}setTracer(tracer3){if(tracer3)this._self.#trace=(msg)=>{tracer3.push(msg)};else this._self.#trace=()=>{};this._self.#internal.setTracer(tracer3)}}exports.default=RedisSentinel;class RedisSentinelInternal extends node_events_1.EventEmitter{#isOpen=!1;get isOpen(){return this.#isOpen}#isReady=!1;get isReady(){return this.#isReady}#name;#nodeClientOptions;#sentinelClientOptions;#scanInterval;#passthroughClientErrorEvents;#RESP;#anotherReset=!1;#configEpoch=0;#sentinelRootNodes;#sentinelClient;#masterClients=[];#masterClientQueue;#masterPoolSize;#replicaClients=[];#replicaClientsIdx=0;#replicaPoolSize;get useReplicas(){return this.#replicaPoolSize>0}#connectPromise;#maxCommandRediscovers;#pubSubProxy;#scanTimer;#destroy=!1;#trace=()=>{};#clientSideCache;get clientSideCache(){return this.#clientSideCache}#validateOptions(options){if(options?.clientSideCache&&options?.RESP!==3)throw Error("Client Side Caching is only supported with RESP3")}constructor(options){super();if(this.#validateOptions(options),this.#name=options.name,this.#RESP=options.RESP,this.#sentinelRootNodes=Array.from(options.sentinelRootNodes),this.#maxCommandRediscovers=options.maxCommandRediscovers??16,this.#masterPoolSize=options.masterPoolSize??1,this.#replicaPoolSize=options.replicaPoolSize??0,this.#scanInterval=options.scanInterval??0,this.#passthroughClientErrorEvents=options.passthroughClientErrorEvents??!1,this.#nodeClientOptions=options.nodeClientOptions?{...options.nodeClientOptions}:{},this.#nodeClientOptions.url!==void 0)throw Error("invalid nodeClientOptions for Sentinel");if(options.clientSideCache)if(options.clientSideCache instanceof cache_1.PooledClientSideCacheProvider)this.#clientSideCache=this.#nodeClientOptions.clientSideCache=options.clientSideCache;else{let cscConfig=options.clientSideCache;this.#clientSideCache=this.#nodeClientOptions.clientSideCache=new cache_1.BasicPooledClientSideCache(cscConfig)}if(this.#sentinelClientOptions=options.sentinelClientOptions?Object.assign({},options.sentinelClientOptions):{},this.#sentinelClientOptions.modules=module_1.default,this.#sentinelClientOptions.url!==void 0)throw Error("invalid sentinelClientOptions for Sentinel");this.#masterClientQueue=new wait_queue_1.WaitQueue;for(let i=0;i<this.#masterPoolSize;i++)this.#masterClientQueue.push(i);this.#pubSubProxy=new pub_sub_proxy_1.PubSubProxy(this.#nodeClientOptions,(err)=>this.emit("error",err))}#createClient(node,clientOptions,reconnectStrategy){return client_1.default.create({RESP:this.#RESP,...clientOptions,socket:{...clientOptions.socket,host:node.host,port:node.port,...reconnectStrategy!==void 0&&{reconnectStrategy}}})}getClientLease(){let id2=this.#masterClientQueue.shift();if(id2!==void 0)return{id:id2};return this.#masterClientQueue.wait().then((id3)=>({id:id3}))}releaseClientLease(clientInfo){let client=this.#masterClients[clientInfo.id];if(client!==void 0){let dirtyPromise=client.resetIfDirty();if(dirtyPromise)return dirtyPromise.then(()=>this.#masterClientQueue.push(clientInfo.id))}this.#masterClientQueue.push(clientInfo.id)}async connect(){if(this.#isOpen)throw Error("already attempting to open");try{this.#isOpen=!0,this.#connectPromise=this.#connect(),await this.#connectPromise,this.#isReady=!0}finally{if(this.#connectPromise=void 0,this.#scanInterval>0)this.#scanTimer=setInterval(this.#reset.bind(this),this.#scanInterval)}}async#connect(){let count32=0;while(!0){if(this.#trace("starting connect loop"),count32+=1,this.#destroy){this.#trace("in #connect and want to destroy");return}try{if(this.#anotherReset=!1,await this.transform(this.analyze(await this.observe())),this.#anotherReset){this.#trace("#connect: anotherReset is true, so continuing");continue}this.#trace("#connect: returning");return}catch(e){if(this.#trace(`#connect: exception ${e.message}`),!this.#isReady&&count32>this.#maxCommandRediscovers)throw e;if(e.message!=="no valid master node")console.log(e);await(0,promises_1.setTimeout)(1000)}finally{this.#trace("finished connect")}}}async execute(fn2,clientInfo){let iter=0;while(!0){if(this.#connectPromise!==void 0)await this.#connectPromise;let client=this.#getClient(clientInfo);if(!client.isReady){await this.#reset();continue}let sockOpts=client.options?.socket;this.#trace("attemping to send command to "+sockOpts?.host+":"+sockOpts?.port);try{return await fn2(client)}catch(err){if(++iter>this.#maxCommandRediscovers||!(err instanceof Error))throw err;if(clientInfo!==void 0&&(err.message.startsWith("READONLY")||!client.isReady)){await this.#reset();continue}throw err}}}async#createPubSub(client){return await client.pSubscribe(["switch-master","[-+]sdown","+slave","+sentinel","[-+]odown","+slave-reconf-done"],(message,channel)=>{this.#handlePubSubControlChannel(channel,message)},!0),client}async#handlePubSubControlChannel(channel,message){this.#trace("pubsub control channel message on "+channel),this.#reset()}#getClient(clientInfo){if(clientInfo!==void 0)return this.#masterClients[clientInfo.id];if(this.#replicaClientsIdx>=this.#replicaClients.length)this.#replicaClientsIdx=0;if(this.#replicaClients.length==0)throw Error("no replicas available for read");return this.#replicaClients[this.#replicaClientsIdx++]}async#reset(){if(this.#isReady==!1||this.#destroy==!0)return;if(this.#connectPromise!==void 0)return this.#anotherReset=!0,await this.#connectPromise;try{return this.#connectPromise=this.#connect(),await this.#connectPromise}finally{this.#trace("finished reconfgure"),this.#connectPromise=void 0}}#handleSentinelFailure(node){let found=this.#sentinelRootNodes.findIndex((rootNode)=>rootNode.host===node.host&&rootNode.port===node.port);if(found!==-1)this.#sentinelRootNodes.splice(found,1);this.#reset()}async close(){if(this.#destroy=!0,this.#connectPromise!=null)await this.#connectPromise;if(this.#isReady=!1,this.#clientSideCache?.onPoolClose(),this.#scanTimer)clearInterval(this.#scanTimer),this.#scanTimer=void 0;let promises=[];if(this.#sentinelClient!==void 0){if(this.#sentinelClient.isOpen)promises.push(this.#sentinelClient.close());this.#sentinelClient=void 0}for(let client of this.#masterClients)if(client.isOpen)promises.push(client.close());this.#masterClients=[];for(let client of this.#replicaClients)if(client.isOpen)promises.push(client.close());this.#replicaClients=[],await Promise.all(promises),this.#pubSubProxy.destroy(),this.#isOpen=!1}async destroy(){if(this.#destroy=!0,this.#connectPromise!=null)await this.#connectPromise;if(this.#isReady=!1,this.#clientSideCache?.onPoolClose(),this.#scanTimer)clearInterval(this.#scanTimer),this.#scanTimer=void 0;if(this.#sentinelClient!==void 0){if(this.#sentinelClient.isOpen)this.#sentinelClient.destroy();this.#sentinelClient=void 0}for(let client of this.#masterClients)if(client.isOpen)client.destroy();this.#masterClients=[];for(let client of this.#replicaClients)if(client.isOpen)client.destroy();this.#replicaClients=[],this.#pubSubProxy.destroy(),this.#isOpen=!1,this.#destroy=!1}async subscribe(channels,listener,bufferMode){return this.#pubSubProxy.subscribe(channels,listener,bufferMode)}async unsubscribe(channels,listener,bufferMode){return this.#pubSubProxy.unsubscribe(channels,listener,bufferMode)}async pSubscribe(patterns,listener,bufferMode){return this.#pubSubProxy.pSubscribe(patterns,listener,bufferMode)}async pUnsubscribe(patterns,listener,bufferMode){return this.#pubSubProxy.pUnsubscribe(patterns,listener,bufferMode)}async observe(){for(let node of this.#sentinelRootNodes){let client;try{this.#trace(`observe: trying to connect to sentinel: ${node.host}:${node.port}`),client=this.#createClient(node,this.#sentinelClientOptions,!1),client.on("error",(err)=>this.emit("error",`obseve client error: ${err}`)),await client.connect(),this.#trace("observe: connected to sentinel");let[sentinelData,masterData,replicaData]=await Promise.all([client.sentinel.sentinelSentinels(this.#name),client.sentinel.sentinelMaster(this.#name),client.sentinel.sentinelReplicas(this.#name)]);return this.#trace("observe: got all sentinel data"),{sentinelConnected:node,sentinelData,masterData,replicaData,currentMaster:this.getMasterNode(),currentReplicas:this.getReplicaNodes(),currentSentinel:this.getSentinelNode(),replicaPoolSize:this.#replicaPoolSize,useReplicas:this.useReplicas}}catch(err){this.#trace(`observe: error ${err}`),this.emit("error",err)}finally{if(client!==void 0&&client.isOpen)this.#trace("observe: destroying sentinel client"),client.destroy()}}throw this.#trace("observe: none of the sentinels are available"),Error("None of the sentinels are available")}analyze(observed){let master=(0,utils_1.parseNode)(observed.masterData);if(master===void 0)throw this.#trace(`analyze: no valid master node because ${observed.masterData.flags}`),Error("no valid master node");if(master.host===observed.currentMaster?.host&&master.port===observed.currentMaster?.port)this.#trace(`analyze: master node hasn't changed from ${observed.currentMaster?.host}:${observed.currentMaster?.port}`),master=void 0;else this.#trace(`analyze: master node has changed to ${master.host}:${master.port} from ${observed.currentMaster?.host}:${observed.currentMaster?.port}`);let sentinel=observed.sentinelConnected;if(sentinel.host===observed.currentSentinel?.host&&sentinel.port===observed.currentSentinel.port)this.#trace("analyze: sentinel node hasn't changed"),sentinel=void 0;else this.#trace(`analyze: sentinel node has changed to ${sentinel.host}:${sentinel.port}`);let replicasToClose=[],replicasToOpen=new Map,desiredSet=new Set,seen=new Set;if(observed.useReplicas){let replicaList=(0,utils_1.createNodeList)(observed.replicaData);for(let node of replicaList)desiredSet.add(JSON.stringify(node));for(let[node,value]of observed.currentReplicas)if(!desiredSet.has(JSON.stringify(node)))replicasToClose.push(node),this.#trace(`analyze: adding ${node.host}:${node.port} to replicsToClose`);else if(seen.add(JSON.stringify(node)),value!=observed.replicaPoolSize)replicasToOpen.set(node,observed.replicaPoolSize-value),this.#trace(`analyze: adding ${node.host}:${node.port} to replicsToOpen`);for(let node of replicaList)if(!seen.has(JSON.stringify(node)))replicasToOpen.set(node,observed.replicaPoolSize),this.#trace(`analyze: adding ${node.host}:${node.port} to replicsToOpen`)}return{sentinelList:[observed.sentinelConnected].concat((0,utils_1.createNodeList)(observed.sentinelData)),epoch:Number(observed.masterData["config-epoch"]),sentinelToOpen:sentinel,masterToOpen:master,replicasToClose,replicasToOpen}}async transform(analyzed){this.#trace("transform: enter");let promises=[];if(analyzed.sentinelToOpen){if(this.#trace("transform: opening a new sentinel"),this.#sentinelClient!==void 0&&this.#sentinelClient.isOpen)this.#trace("transform: destroying old sentinel as open"),this.#sentinelClient.destroy(),this.#sentinelClient=void 0;else this.#trace("transform: not destroying old sentinel as not open");this.#trace(`transform: creating new sentinel to ${analyzed.sentinelToOpen.host}:${analyzed.sentinelToOpen.port}`);let node=analyzed.sentinelToOpen,client=this.#createClient(analyzed.sentinelToOpen,this.#sentinelClientOptions,!1);client.on("error",(err)=>{if(this.#passthroughClientErrorEvents)this.emit("error",Error(`Sentinel Client (${node.host}:${node.port}): ${err.message}`,{cause:err}));let event2={type:"SENTINEL",node:(0,utils_1.clientSocketToNode)(client.options.socket),error:err};this.emit("client-error",event2),this.#handleSentinelFailure(node)}).on("end",()=>this.#handleSentinelFailure(node)),this.#sentinelClient=client,this.#trace("transform: adding sentinel client connect() to promise list");let promise3=this.#sentinelClient.connect().then((client2)=>{return this.#createPubSub(client2)});promises.push(promise3),this.#trace(`created sentinel client to ${analyzed.sentinelToOpen.host}:${analyzed.sentinelToOpen.port}`);let event={type:"SENTINEL_CHANGE",node:analyzed.sentinelToOpen};if(this.#trace("transform: emiting topology-change event for sentinel_change"),!this.emit("topology-change",event))this.#trace("transform: emit for topology-change for sentinel_change returned false")}if(analyzed.masterToOpen){this.#trace("transform: opening a new master");let masterPromises=[],masterWatches=[];this.#trace("transform: destroying old masters if open");for(let client of this.#masterClients)if(masterWatches.push(client.isWatching||client.isDirtyWatch),client.isOpen)client.destroy();this.#masterClients=[],this.#trace("transform: creating all master clients and adding connect promises");for(let i=0;i<this.#masterPoolSize;i++){let node=analyzed.masterToOpen,client=this.#createClient(analyzed.masterToOpen,this.#nodeClientOptions);if(client.on("error",(err)=>{if(this.#passthroughClientErrorEvents)this.emit("error",Error(`Master Client (${node.host}:${node.port}): ${err.message}`,{cause:err}));let event2={type:"MASTER",node:(0,utils_1.clientSocketToNode)(client.options.socket),error:err};this.emit("client-error",event2)}),masterWatches[i])client.setDirtyWatch("sentinel config changed in middle of a WATCH Transaction");this.#masterClients.push(client),masterPromises.push(client.connect()),this.#trace(`created master client to ${analyzed.masterToOpen.host}:${analyzed.masterToOpen.port}`)}this.#trace("transform: adding promise to change #pubSubProxy node"),masterPromises.push(this.#pubSubProxy.changeNode(analyzed.masterToOpen)),promises.push(...masterPromises);let event={type:"MASTER_CHANGE",node:analyzed.masterToOpen};if(this.#trace("transform: emiting topology-change event for master_change"),!this.emit("topology-change",event))this.#trace("transform: emit for topology-change for master_change returned false");this.#configEpoch++}let replicaCloseSet=new Set;for(let node of analyzed.replicasToClose){let str=JSON.stringify(node);replicaCloseSet.add(str)}let newClientList=[],removedSet=new Set;for(let replica of this.#replicaClients){let node=(0,utils_1.clientSocketToNode)(replica.options.socket),str=JSON.stringify(node);if(replicaCloseSet.has(str)||!replica.isOpen){if(replica.isOpen){let sockOpts=replica.options?.socket;this.#trace(`destroying replica client to ${sockOpts?.host}:${sockOpts?.port}`),replica.destroy()}if(!removedSet.has(str)){let event={type:"REPLICA_REMOVE",node};this.emit("topology-change",event),removedSet.add(str)}}else newClientList.push(replica)}if(this.#replicaClients=newClientList,analyzed.replicasToOpen.size!=0)for(let[node,size14]of analyzed.replicasToOpen){for(let i=0;i<size14;i++){let client=this.#createClient(node,this.#nodeClientOptions);client.on("error",(err)=>{if(this.#passthroughClientErrorEvents)this.emit("error",Error(`Replica Client (${node.host}:${node.port}): ${err.message}`,{cause:err}));let event2={type:"REPLICA",node:(0,utils_1.clientSocketToNode)(client.options.socket),error:err};this.emit("client-error",event2)}),this.#replicaClients.push(client),promises.push(client.connect()),this.#trace(`created replica client to ${node.host}:${node.port}`)}let event={type:"REPLICA_ADD",node};this.emit("topology-change",event)}if(analyzed.sentinelList.length!=this.#sentinelRootNodes.length){this.#sentinelRootNodes=analyzed.sentinelList;let event={type:"SENTINE_LIST_CHANGE",size:analyzed.sentinelList.length};this.emit("topology-change",event)}await Promise.all(promises),this.#trace("transform: exit")}getMasterNode(){if(this.#masterClients.length==0)return;for(let master of this.#masterClients)if(master.isReady)return(0,utils_1.clientSocketToNode)(master.options.socket);return}getSentinelNode(){if(this.#sentinelClient===void 0)return;return(0,utils_1.clientSocketToNode)(this.#sentinelClient.options.socket)}getReplicaNodes(){let ret=new Map,initialMap=new Map;for(let replica of this.#replicaClients){let node=(0,utils_1.clientSocketToNode)(replica.options.socket),hash2=JSON.stringify(node);if(replica.isReady)initialMap.set(hash2,(initialMap.get(hash2)??0)+1);else if(!initialMap.has(hash2))initialMap.set(hash2,0)}for(let[key,value]of initialMap)ret.set(JSON.parse(key),value);return ret}setTracer(tracer3){if(tracer3)this.#trace=(msg)=>{tracer3.push(msg)};else this.#trace=()=>{}}}class RedisSentinelFactory extends node_events_1.EventEmitter{options;#sentinelRootNodes;#replicaIdx=-1;constructor(options){super();this.options=options,this.#sentinelRootNodes=options.sentinelRootNodes}async updateSentinelRootNodes(){for(let node of this.#sentinelRootNodes){let client=client_1.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:node.host,port:node.port,reconnectStrategy:!1},modules:module_1.default}).on("error",(err)=>this.emit(`updateSentinelRootNodes: ${err}`));try{await client.connect()}catch{if(client.isOpen)client.destroy();continue}try{let sentinelData=await client.sentinel.sentinelSentinels(this.options.name);this.#sentinelRootNodes=[node].concat((0,utils_1.createNodeList)(sentinelData));return}finally{client.destroy()}}throw Error("Couldn't connect to any sentinel node")}async getMasterNode(){let connected=!1;for(let node of this.#sentinelRootNodes){let client=client_1.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:node.host,port:node.port,reconnectStrategy:!1},modules:module_1.default}).on("error",(err)=>this.emit(`getMasterNode: ${err}`));try{await client.connect()}catch{if(client.isOpen)client.destroy();continue}connected=!0;try{let masterData=await client.sentinel.sentinelMaster(this.options.name),master=(0,utils_1.parseNode)(masterData);if(master===void 0)continue;return master}finally{client.destroy()}}if(connected)throw Error("Master Node Not Enumerated");throw Error("couldn't connect to any sentinels")}async getMasterClient(){let master=await this.getMasterNode();return client_1.default.create({...this.options.nodeClientOptions,socket:{...this.options.nodeClientOptions?.socket,host:master.host,port:master.port}})}async getReplicaNodes(){let connected=!1;for(let node of this.#sentinelRootNodes){let client=client_1.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:node.host,port:node.port,reconnectStrategy:!1},modules:module_1.default}).on("error",(err)=>this.emit(`getReplicaNodes: ${err}`));try{await client.connect()}catch{if(client.isOpen)client.destroy();continue}connected=!0;try{let replicaData=await client.sentinel.sentinelReplicas(this.options.name),replicas=(0,utils_1.createNodeList)(replicaData);if(replicas.length==0)continue;return replicas}finally{client.destroy()}}if(connected)throw Error("No Replicas Nodes Enumerated");throw Error("couldn't connect to any sentinels")}async getReplicaClient(){let replicas=await this.getReplicaNodes();if(replicas.length==0)throw Error("no available replicas");if(this.#replicaIdx++,this.#replicaIdx>=replicas.length)this.#replicaIdx=0;return client_1.default.create({...this.options.nodeClientOptions,socket:{...this.options.nodeClientOptions?.socket,host:replicas[this.#replicaIdx].host,port:replicas[this.#replicaIdx].port}})}}exports.RedisSentinelFactory=RedisSentinelFactory}),require_dist=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p))__createBinding(exports2,m,p)},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BasicPooledClientSideCache=exports.BasicClientSideCache=exports.REDIS_FLUSH_MODES=exports.COMMAND_LIST_FILTER_BY=exports.CLUSTER_SLOT_STATES=exports.FAILOVER_MODES=exports.CLIENT_KILL_FILTERS=exports.GEO_REPLY_WITH=exports.createSentinel=exports.createCluster=exports.createClientPool=exports.createClient=exports.defineScript=exports.VerbatimString=exports.RESP_TYPES=void 0;var decoder_1=require_decoder();Object.defineProperty(exports,"RESP_TYPES",{enumerable:!0,get:function(){return decoder_1.RESP_TYPES}});var verbatim_string_1=require_verbatim_string();Object.defineProperty(exports,"VerbatimString",{enumerable:!0,get:function(){return verbatim_string_1.VerbatimString}});var lua_script_1=require_lua_script();Object.defineProperty(exports,"defineScript",{enumerable:!0,get:function(){return lua_script_1.defineScript}}),__exportStar(require_errors(),exports);var client_1=__importDefault(require_client());exports.createClient=client_1.default.create;var pool_1=require_pool();exports.createClientPool=pool_1.RedisClientPool.create;var cluster_1=__importDefault(require_cluster());exports.createCluster=cluster_1.default.create;var sentinel_1=__importDefault(require_sentinel());exports.createSentinel=sentinel_1.default.create;var GEOSEARCH_WITH_1=require_GEOSEARCH_WITH();Object.defineProperty(exports,"GEO_REPLY_WITH",{enumerable:!0,get:function(){return GEOSEARCH_WITH_1.GEO_REPLY_WITH}});var commands_1=require_commands();Object.defineProperty(exports,"CLIENT_KILL_FILTERS",{enumerable:!0,get:function(){return commands_1.CLIENT_KILL_FILTERS}}),Object.defineProperty(exports,"FAILOVER_MODES",{enumerable:!0,get:function(){return commands_1.FAILOVER_MODES}}),Object.defineProperty(exports,"CLUSTER_SLOT_STATES",{enumerable:!0,get:function(){return commands_1.CLUSTER_SLOT_STATES}}),Object.defineProperty(exports,"COMMAND_LIST_FILTER_BY",{enumerable:!0,get:function(){return commands_1.COMMAND_LIST_FILTER_BY}}),Object.defineProperty(exports,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return commands_1.REDIS_FLUSH_MODES}});var cache_1=require_cache();Object.defineProperty(exports,"BasicClientSideCache",{enumerable:!0,get:function(){return cache_1.BasicClientSideCache}}),Object.defineProperty(exports,"BasicPooledClientSideCache",{enumerable:!0,get:function(){return cache_1.BasicPooledClientSideCache}})}),require_ADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,item){parser.push("BF.ADD"),parser.pushKey(key),parser.push(item)},transformReply:generic_transformers_1.transformBooleanReply}}),require_CARD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("BF.CARD"),parser.pushKey(key)},transformReply:void 0}}),require_EXISTS2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,item){parser.push("BF.EXISTS"),parser.pushKey(key),parser.push(item)},transformReply:generic_transformers_1.transformBooleanReply}}),require_helpers=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformInfoV2Reply=void 0;var client_1=require_dist();function transformInfoV2Reply(reply,typeMapping){switch(typeMapping?typeMapping[client_1.RESP_TYPES.MAP]:void 0){case Array:return reply;case Map:{let ret=new Map;for(let i=0;i<reply.length;i+=2)ret.set(reply[i].toString(),reply[i+1]);return ret}default:{let ret=Object.create(null);for(let i=0;i<reply.length;i+=2)ret[reply[i].toString()]=reply[i+1];return ret}}}exports.transformInfoV2Reply=transformInfoV2Reply}),require_INFO2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("BF.INFO"),parser.pushKey(key)},transformReply:{2:(reply,_,typeMapping)=>{return(0,helpers_1.transformInfoV2Reply)(reply,typeMapping)},3:void 0}}}),require_INSERT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,items,options){if(parser.push("BF.INSERT"),parser.pushKey(key),options?.CAPACITY!==void 0)parser.push("CAPACITY",options.CAPACITY.toString());if(options?.ERROR!==void 0)parser.push("ERROR",options.ERROR.toString());if(options?.EXPANSION!==void 0)parser.push("EXPANSION",options.EXPANSION.toString());if(options?.NOCREATE)parser.push("NOCREATE");if(options?.NONSCALING)parser.push("NONSCALING");parser.push("ITEMS"),parser.pushVariadic(items)},transformReply:generic_transformers_1.transformBooleanArrayReply}}),require_LOADCHUNK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,iterator,chunk32){parser.push("BF.LOADCHUNK"),parser.pushKey(key),parser.push(iterator.toString(),chunk32)},transformReply:void 0}}),require_MADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,items){parser.push("BF.MADD"),parser.pushKey(key),parser.pushVariadic(items)},transformReply:generic_transformers_1.transformBooleanArrayReply}}),require_MEXISTS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,items){parser.push("BF.MEXISTS"),parser.pushKey(key),parser.pushVariadic(items)},transformReply:generic_transformers_1.transformBooleanArrayReply}}),require_RESERVE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,errorRate,capacity7,options){if(parser.push("BF.RESERVE"),parser.pushKey(key),parser.push(errorRate.toString(),capacity7.toString()),options?.EXPANSION)parser.push("EXPANSION",options.EXPANSION.toString());if(options?.NONSCALING)parser.push("NONSCALING")},transformReply:void 0}}),require_SCANDUMP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,iterator){parser.push("BF.SCANDUMP"),parser.pushKey(key),parser.push(iterator.toString())},transformReply(reply){return{iterator:reply[0],chunk:reply[1]}}}}),require_bloom=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p))__createBinding(exports2,m,p)},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ADD_1=__importDefault(require_ADD()),CARD_1=__importDefault(require_CARD()),EXISTS_1=__importDefault(require_EXISTS2()),INFO_1=__importDefault(require_INFO2()),INSERT_1=__importDefault(require_INSERT()),LOADCHUNK_1=__importDefault(require_LOADCHUNK()),MADD_1=__importDefault(require_MADD()),MEXISTS_1=__importDefault(require_MEXISTS()),RESERVE_1=__importDefault(require_RESERVE()),SCANDUMP_1=__importDefault(require_SCANDUMP());__exportStar(require_helpers(),exports),exports.default={ADD:ADD_1.default,add:ADD_1.default,CARD:CARD_1.default,card:CARD_1.default,EXISTS:EXISTS_1.default,exists:EXISTS_1.default,INFO:INFO_1.default,info:INFO_1.default,INSERT:INSERT_1.default,insert:INSERT_1.default,LOADCHUNK:LOADCHUNK_1.default,loadChunk:LOADCHUNK_1.default,MADD:MADD_1.default,mAdd:MADD_1.default,MEXISTS:MEXISTS_1.default,mExists:MEXISTS_1.default,RESERVE:RESERVE_1.default,reserve:RESERVE_1.default,SCANDUMP:SCANDUMP_1.default,scanDump:SCANDUMP_1.default}}),require_INCRBY2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,items){if(parser.push("CMS.INCRBY"),parser.pushKey(key),Array.isArray(items))for(let item of items)pushIncrByItem(parser,item);else pushIncrByItem(parser,items)},transformReply:void 0};function pushIncrByItem(parser,{item,incrementBy}){parser.push(item,incrementBy.toString())}}),require_INFO3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var bloom_1=require_bloom();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("CMS.INFO"),parser.pushKey(key)},transformReply:{2:(reply,_,typeMapping)=>{return(0,bloom_1.transformInfoV2Reply)(reply,typeMapping)},3:void 0}}}),require_INITBYDIM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,width,depth){parser.push("CMS.INITBYDIM"),parser.pushKey(key),parser.push(width.toString(),depth.toString())},transformReply:void 0}}),require_INITBYPROB=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,error3,probability){parser.push("CMS.INITBYPROB"),parser.pushKey(key),parser.push(error3.toString(),probability.toString())},transformReply:void 0}}),require_MERGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,source){if(parser.push("CMS.MERGE"),parser.pushKey(destination),parser.push(source.length.toString()),isPlainSketches(source))parser.pushVariadic(source);else{for(let i=0;i<source.length;i++)parser.push(source[i].name);parser.push("WEIGHTS");for(let i=0;i<source.length;i++)parser.push(source[i].weight.toString())}},transformReply:void 0};function isPlainSketches(src){return typeof src[0]==="string"||src[0]instanceof Buffer}}),require_QUERY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,items){parser.push("CMS.QUERY"),parser.pushKey(key),parser.pushVariadic(items)},transformReply:void 0}}),require_count_min_sketch=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var INCRBY_1=__importDefault(require_INCRBY2()),INFO_1=__importDefault(require_INFO3()),INITBYDIM_1=__importDefault(require_INITBYDIM()),INITBYPROB_1=__importDefault(require_INITBYPROB()),MERGE_1=__importDefault(require_MERGE()),QUERY_1=__importDefault(require_QUERY());exports.default={INCRBY:INCRBY_1.default,incrBy:INCRBY_1.default,INFO:INFO_1.default,info:INFO_1.default,INITBYDIM:INITBYDIM_1.default,initByDim:INITBYDIM_1.default,INITBYPROB:INITBYPROB_1.default,initByProb:INITBYPROB_1.default,MERGE:MERGE_1.default,merge:MERGE_1.default,QUERY:QUERY_1.default,query:QUERY_1.default}}),require_ADD2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,item){parser.push("CF.ADD"),parser.pushKey(key),parser.push(item)},transformReply:generic_transformers_1.transformBooleanReply}}),require_ADDNX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,item){parser.push("CF.ADDNX"),parser.pushKey(key),parser.push(item)},transformReply:generic_transformers_1.transformBooleanReply}}),require_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,item){parser.push("CF.COUNT"),parser.pushKey(key),parser.push(item)},transformReply:void 0}}),require_DEL2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,item){parser.push("CF.DEL"),parser.pushKey(key),parser.push(item)},transformReply:generic_transformers_1.transformBooleanReply}}),require_EXISTS3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,item){parser.push("CF.EXISTS"),parser.pushKey(key),parser.push(item)},transformReply:generic_transformers_1.transformBooleanReply}}),require_INFO4=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var bloom_1=require_bloom();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("CF.INFO"),parser.pushKey(key)},transformReply:{2:(reply,_,typeMapping)=>{return(0,bloom_1.transformInfoV2Reply)(reply,typeMapping)},3:void 0}}}),require_INSERT2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseCfInsertArguments=void 0;var generic_transformers_1=require_generic_transformers();function parseCfInsertArguments(parser,key,items,options){if(parser.pushKey(key),options?.CAPACITY!==void 0)parser.push("CAPACITY",options.CAPACITY.toString());if(options?.NOCREATE)parser.push("NOCREATE");parser.push("ITEMS"),parser.pushVariadic(items)}exports.parseCfInsertArguments=parseCfInsertArguments,exports.default={IS_READ_ONLY:!1,parseCommand(...args2){args2[0].push("CF.INSERT"),parseCfInsertArguments(...args2)},transformReply:generic_transformers_1.transformBooleanArrayReply}}),require_INSERTNX=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var INSERT_1=__importStar(require_INSERT2());exports.default={IS_READ_ONLY:INSERT_1.default.IS_READ_ONLY,parseCommand(...args2){args2[0].push("CF.INSERTNX"),(0,INSERT_1.parseCfInsertArguments)(...args2)},transformReply:INSERT_1.default.transformReply}}),require_LOADCHUNK2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,iterator,chunk32){parser.push("CF.LOADCHUNK"),parser.pushKey(key),parser.push(iterator.toString(),chunk32)},transformReply:void 0}}),require_RESERVE2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,capacity7,options){if(parser.push("CF.RESERVE"),parser.pushKey(key),parser.push(capacity7.toString()),options?.BUCKETSIZE!==void 0)parser.push("BUCKETSIZE",options.BUCKETSIZE.toString());if(options?.MAXITERATIONS!==void 0)parser.push("MAXITERATIONS",options.MAXITERATIONS.toString());if(options?.EXPANSION!==void 0)parser.push("EXPANSION",options.EXPANSION.toString())},transformReply:void 0}}),require_SCANDUMP2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,iterator){parser.push("CF.SCANDUMP"),parser.pushKey(key),parser.push(iterator.toString())},transformReply(reply){return{iterator:reply[0],chunk:reply[1]}}}}),require_cuckoo=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ADD_1=__importDefault(require_ADD2()),ADDNX_1=__importDefault(require_ADDNX()),COUNT_1=__importDefault(require_COUNT()),DEL_1=__importDefault(require_DEL2()),EXISTS_1=__importDefault(require_EXISTS3()),INFO_1=__importDefault(require_INFO4()),INSERT_1=__importDefault(require_INSERT2()),INSERTNX_1=__importDefault(require_INSERTNX()),LOADCHUNK_1=__importDefault(require_LOADCHUNK2()),RESERVE_1=__importDefault(require_RESERVE2()),SCANDUMP_1=__importDefault(require_SCANDUMP2());exports.default={ADD:ADD_1.default,add:ADD_1.default,ADDNX:ADDNX_1.default,addNX:ADDNX_1.default,COUNT:COUNT_1.default,count:COUNT_1.default,DEL:DEL_1.default,del:DEL_1.default,EXISTS:EXISTS_1.default,exists:EXISTS_1.default,INFO:INFO_1.default,info:INFO_1.default,INSERT:INSERT_1.default,insert:INSERT_1.default,INSERTNX:INSERTNX_1.default,insertNX:INSERTNX_1.default,LOADCHUNK:LOADCHUNK_1.default,loadChunk:LOADCHUNK_1.default,RESERVE:RESERVE_1.default,reserve:RESERVE_1.default,SCANDUMP:SCANDUMP_1.default,scanDump:SCANDUMP_1.default}}),require_ADD3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,values3){parser.push("TDIGEST.ADD"),parser.pushKey(key);for(let value of values3)parser.push(value.toString())},transformReply:void 0}}),require_BYRANK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformByRankArguments=void 0;var generic_transformers_1=require_generic_transformers();function transformByRankArguments(parser,key,ranks){parser.pushKey(key);for(let rank of ranks)parser.push(rank.toString())}exports.transformByRankArguments=transformByRankArguments,exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("TDIGEST.BYRANK"),transformByRankArguments(...args2)},transformReply:generic_transformers_1.transformDoubleArrayReply}}),require_BYREVRANK=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var BYRANK_1=__importStar(require_BYRANK());exports.default={IS_READ_ONLY:BYRANK_1.default.IS_READ_ONLY,parseCommand(...args2){args2[0].push("TDIGEST.BYREVRANK"),(0,BYRANK_1.transformByRankArguments)(...args2)},transformReply:BYRANK_1.default.transformReply}}),require_CDF=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,values3){parser.push("TDIGEST.CDF"),parser.pushKey(key);for(let item of values3)parser.push(item.toString())},transformReply:generic_transformers_1.transformDoubleArrayReply}}),require_CREATE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("TDIGEST.CREATE"),parser.pushKey(key),options?.COMPRESSION!==void 0)parser.push("COMPRESSION",options.COMPRESSION.toString())},transformReply:void 0}}),require_INFO5=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var bloom_1=require_bloom();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TDIGEST.INFO"),parser.pushKey(key)},transformReply:{2:(reply,_,typeMapping)=>{return(0,bloom_1.transformInfoV2Reply)(reply,typeMapping)},3:void 0}}}),require_MAX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TDIGEST.MAX"),parser.pushKey(key)},transformReply:generic_transformers_1.transformDoubleReply}}),require_MERGE2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,source,options){if(parser.push("TDIGEST.MERGE"),parser.pushKey(destination),parser.pushKeysLength(source),options?.COMPRESSION!==void 0)parser.push("COMPRESSION",options.COMPRESSION.toString());if(options?.OVERRIDE)parser.push("OVERRIDE")},transformReply:void 0}}),require_MIN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TDIGEST.MIN"),parser.pushKey(key)},transformReply:generic_transformers_1.transformDoubleReply}}),require_QUANTILE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,quantiles){parser.push("TDIGEST.QUANTILE"),parser.pushKey(key);for(let quantile of quantiles)parser.push(quantile.toString())},transformReply:generic_transformers_1.transformDoubleArrayReply}}),require_RANK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformRankArguments=void 0;function transformRankArguments(parser,key,values3){parser.pushKey(key);for(let value of values3)parser.push(value.toString())}exports.transformRankArguments=transformRankArguments,exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("TDIGEST.RANK"),transformRankArguments(...args2)},transformReply:void 0}}),require_RESET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key){parser.push("TDIGEST.RESET"),parser.pushKey(key)},transformReply:void 0}}),require_REVRANK=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var RANK_1=__importStar(require_RANK());exports.default={IS_READ_ONLY:RANK_1.default.IS_READ_ONLY,parseCommand(...args2){args2[0].push("TDIGEST.REVRANK"),(0,RANK_1.transformRankArguments)(...args2)},transformReply:RANK_1.default.transformReply}}),require_TRIMMED_MEAN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,lowCutPercentile,highCutPercentile){parser.push("TDIGEST.TRIMMED_MEAN"),parser.pushKey(key),parser.push(lowCutPercentile.toString(),highCutPercentile.toString())},transformReply:generic_transformers_1.transformDoubleReply}}),require_t_digest=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ADD_1=__importDefault(require_ADD3()),BYRANK_1=__importDefault(require_BYRANK()),BYREVRANK_1=__importDefault(require_BYREVRANK()),CDF_1=__importDefault(require_CDF()),CREATE_1=__importDefault(require_CREATE()),INFO_1=__importDefault(require_INFO5()),MAX_1=__importDefault(require_MAX()),MERGE_1=__importDefault(require_MERGE2()),MIN_1=__importDefault(require_MIN()),QUANTILE_1=__importDefault(require_QUANTILE()),RANK_1=__importDefault(require_RANK()),RESET_1=__importDefault(require_RESET()),REVRANK_1=__importDefault(require_REVRANK()),TRIMMED_MEAN_1=__importDefault(require_TRIMMED_MEAN());exports.default={ADD:ADD_1.default,add:ADD_1.default,BYRANK:BYRANK_1.default,byRank:BYRANK_1.default,BYREVRANK:BYREVRANK_1.default,byRevRank:BYREVRANK_1.default,CDF:CDF_1.default,cdf:CDF_1.default,CREATE:CREATE_1.default,create:CREATE_1.default,INFO:INFO_1.default,info:INFO_1.default,MAX:MAX_1.default,max:MAX_1.default,MERGE:MERGE_1.default,merge:MERGE_1.default,MIN:MIN_1.default,min:MIN_1.default,QUANTILE:QUANTILE_1.default,quantile:QUANTILE_1.default,RANK:RANK_1.default,rank:RANK_1.default,RESET:RESET_1.default,reset:RESET_1.default,REVRANK:REVRANK_1.default,revRank:REVRANK_1.default,TRIMMED_MEAN:TRIMMED_MEAN_1.default,trimmedMean:TRIMMED_MEAN_1.default}}),require_ADD4=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,items){parser.push("TOPK.ADD"),parser.pushKey(key),parser.pushVariadic(items)},transformReply:void 0}}),require_COUNT2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,items){parser.push("TOPK.COUNT"),parser.pushKey(key),parser.pushVariadic(items)},transformReply:void 0}}),require_INCRBY3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});function pushIncrByItem(parser,{item,incrementBy}){parser.push(item,incrementBy.toString())}exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,items){if(parser.push("TOPK.INCRBY"),parser.pushKey(key),Array.isArray(items))for(let item of items)pushIncrByItem(parser,item);else pushIncrByItem(parser,items)},transformReply:void 0}}),require_INFO6=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),bloom_1=require_bloom();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TOPK.INFO"),parser.pushKey(key)},transformReply:{2:(reply,preserve,typeMapping)=>{return reply[7]=generic_transformers_1.transformDoubleReply[2](reply[7],preserve,typeMapping),(0,bloom_1.transformInfoV2Reply)(reply,typeMapping)},3:void 0}}}),require_LIST_WITHCOUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TOPK.LIST"),parser.pushKey(key),parser.push("WITHCOUNT")},transformReply(rawReply){let reply=[];for(let i=0;i<rawReply.length;i++)reply.push({item:rawReply[i],count:rawReply[++i]});return reply}}}),require_LIST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TOPK.LIST"),parser.pushKey(key)},transformReply:void 0}}),require_QUERY2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,items){parser.push("TOPK.QUERY"),parser.pushKey(key),parser.pushVariadic(items)},transformReply:generic_transformers_1.transformBooleanArrayReply}}),require_RESERVE3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,topK,options){if(parser.push("TOPK.RESERVE"),parser.pushKey(key),parser.push(topK.toString()),options)parser.push(options.width.toString(),options.depth.toString(),options.decay.toString())},transformReply:void 0}}),require_top_k=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ADD_1=__importDefault(require_ADD4()),COUNT_1=__importDefault(require_COUNT2()),INCRBY_1=__importDefault(require_INCRBY3()),INFO_1=__importDefault(require_INFO6()),LIST_WITHCOUNT_1=__importDefault(require_LIST_WITHCOUNT()),LIST_1=__importDefault(require_LIST()),QUERY_1=__importDefault(require_QUERY2()),RESERVE_1=__importDefault(require_RESERVE3());exports.default={ADD:ADD_1.default,add:ADD_1.default,COUNT:COUNT_1.default,count:COUNT_1.default,INCRBY:INCRBY_1.default,incrBy:INCRBY_1.default,INFO:INFO_1.default,info:INFO_1.default,LIST_WITHCOUNT:LIST_WITHCOUNT_1.default,listWithCount:LIST_WITHCOUNT_1.default,LIST:LIST_1.default,list:LIST_1.default,QUERY:QUERY_1.default,query:QUERY_1.default,RESERVE:RESERVE_1.default,reserve:RESERVE_1.default}}),require_commands3=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var bloom_1=__importDefault(require_bloom()),count_min_sketch_1=__importDefault(require_count_min_sketch()),cuckoo_1=__importDefault(require_cuckoo()),t_digest_1=__importDefault(require_t_digest()),top_k_1=__importDefault(require_top_k());exports.default={bf:bloom_1.default,cms:count_min_sketch_1.default,cf:cuckoo_1.default,tDigest:t_digest_1.default,topK:top_k_1.default}}),require_lib2=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var commands_1=require_commands3();Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return __importDefault(commands_1).default}})}),require_ARRAPPEND=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,json,...jsons){parser.push("JSON.ARRAPPEND"),parser.pushKey(key),parser.push(path,(0,generic_transformers_1.transformRedisJsonArgument)(json));for(let i=0;i<jsons.length;i++)parser.push((0,generic_transformers_1.transformRedisJsonArgument)(jsons[i]))},transformReply:void 0}}),require_ARRINDEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,path,json,options){if(parser.push("JSON.ARRINDEX"),parser.pushKey(key),parser.push(path,(0,generic_transformers_1.transformRedisJsonArgument)(json)),options?.range){if(parser.push(options.range.start.toString()),options.range.stop!==void 0)parser.push(options.range.stop.toString())}},transformReply:void 0}}),require_ARRINSERT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,index,json,...jsons){parser.push("JSON.ARRINSERT"),parser.pushKey(key),parser.push(path,index.toString(),(0,generic_transformers_1.transformRedisJsonArgument)(json));for(let i=0;i<jsons.length;i++)parser.push((0,generic_transformers_1.transformRedisJsonArgument)(jsons[i]))},transformReply:void 0}}),require_ARRLEN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("JSON.ARRLEN"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_ARRPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.ARRPOP"),parser.pushKey(key),options){if(parser.push(options.path),options.index!==void 0)parser.push(options.index.toString())}},transformReply(reply){return(0,generic_transformers_1.isArrayReply)(reply)?reply.map((item)=>(0,generic_transformers_1.transformRedisJsonNullReply)(item)):(0,generic_transformers_1.transformRedisJsonNullReply)(reply)}}}),require_ARRTRIM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,start3,stop22){parser.push("JSON.ARRTRIM"),parser.pushKey(key),parser.push(path,start3.toString(),stop22.toString())},transformReply:void 0}}),require_CLEAR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.CLEAR"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_DEBUG_MEMORY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.DEBUG","MEMORY"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_DEL3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.DEL"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_FORGET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.FORGET"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_GET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.GET"),parser.pushKey(key),options?.path!==void 0)parser.pushVariadic(options.path)},transformReply:generic_transformers_1.transformRedisJsonNullReply}}),require_MERGE3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,value){parser.push("JSON.MERGE"),parser.pushKey(key),parser.push(path,(0,generic_transformers_1.transformRedisJsonArgument)(value))},transformReply:void 0}}),require_MGET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3,path){parser.push("JSON.MGET"),parser.pushKeys(keys3),parser.push(path)},transformReply(reply){return reply.map((json)=>(0,generic_transformers_1.transformRedisJsonNullReply)(json))}}}),require_MSET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,items){parser.push("JSON.MSET");for(let i=0;i<items.length;i++)parser.pushKey(items[i].key),parser.push(items[i].path,(0,generic_transformers_1.transformRedisJsonArgument)(items[i].value))},transformReply:void 0}}),require_NUMINCRBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,by){parser.push("JSON.NUMINCRBY"),parser.pushKey(key),parser.push(path,by.toString())},transformReply:{2:(reply)=>{return JSON.parse(reply.toString())},3:void 0}}}),require_NUMMULTBY=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var NUMINCRBY_1=__importDefault(require_NUMINCRBY());exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,by){parser.push("JSON.NUMMULTBY"),parser.pushKey(key),parser.push(path,by.toString())},transformReply:NUMINCRBY_1.default.transformReply}}),require_OBJKEYS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.OBJKEYS"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_OBJLEN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("JSON.OBJLEN"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_SET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,json,options){if(parser.push("JSON.SET"),parser.pushKey(key),parser.push(path,(0,generic_transformers_1.transformRedisJsonArgument)(json)),options?.condition)parser.push(options?.condition);else if(options?.NX)parser.push("NX");else if(options?.XX)parser.push("XX")},transformReply:void 0}}),require_STRAPPEND=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,append4,options){if(parser.push("JSON.STRAPPEND"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path);parser.push((0,generic_transformers_1.transformRedisJsonArgument)(append4))},transformReply:void 0}}),require_STRLEN2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("JSON.STRLEN"),parser.pushKey(key),options?.path)parser.push(options.path)},transformReply:void 0}}),require_TOGGLE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path){parser.push("JSON.TOGGLE"),parser.pushKey(key),parser.push(path)},transformReply:void 0}}),require_TYPE2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("JSON.TYPE"),parser.pushKey(key),options?.path)parser.push(options.path)},transformReply:{2:void 0,3:(reply)=>{return reply[0]}}}}),require_commands4=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformRedisJsonNullReply=exports.transformRedisJsonReply=exports.transformRedisJsonArgument=void 0;var ARRAPPEND_1=__importDefault(require_ARRAPPEND()),ARRINDEX_1=__importDefault(require_ARRINDEX()),ARRINSERT_1=__importDefault(require_ARRINSERT()),ARRLEN_1=__importDefault(require_ARRLEN()),ARRPOP_1=__importDefault(require_ARRPOP()),ARRTRIM_1=__importDefault(require_ARRTRIM()),CLEAR_1=__importDefault(require_CLEAR()),DEBUG_MEMORY_1=__importDefault(require_DEBUG_MEMORY()),DEL_1=__importDefault(require_DEL3()),FORGET_1=__importDefault(require_FORGET()),GET_1=__importDefault(require_GET2()),MERGE_1=__importDefault(require_MERGE3()),MGET_1=__importDefault(require_MGET2()),MSET_1=__importDefault(require_MSET2()),NUMINCRBY_1=__importDefault(require_NUMINCRBY()),NUMMULTBY_1=__importDefault(require_NUMMULTBY()),OBJKEYS_1=__importDefault(require_OBJKEYS()),OBJLEN_1=__importDefault(require_OBJLEN()),SET_1=__importDefault(require_SET2()),STRAPPEND_1=__importDefault(require_STRAPPEND()),STRLEN_1=__importDefault(require_STRLEN2()),TOGGLE_1=__importDefault(require_TOGGLE()),TYPE_1=__importDefault(require_TYPE2()),generic_transformers_1=require_generic_transformers();Object.defineProperty(exports,"transformRedisJsonArgument",{enumerable:!0,get:function(){return generic_transformers_1.transformRedisJsonArgument}}),Object.defineProperty(exports,"transformRedisJsonReply",{enumerable:!0,get:function(){return generic_transformers_1.transformRedisJsonReply}}),Object.defineProperty(exports,"transformRedisJsonNullReply",{enumerable:!0,get:function(){return generic_transformers_1.transformRedisJsonNullReply}}),exports.default={ARRAPPEND:ARRAPPEND_1.default,arrAppend:ARRAPPEND_1.default,ARRINDEX:ARRINDEX_1.default,arrIndex:ARRINDEX_1.default,ARRINSERT:ARRINSERT_1.default,arrInsert:ARRINSERT_1.default,ARRLEN:ARRLEN_1.default,arrLen:ARRLEN_1.default,ARRPOP:ARRPOP_1.default,arrPop:ARRPOP_1.default,ARRTRIM:ARRTRIM_1.default,arrTrim:ARRTRIM_1.default,CLEAR:CLEAR_1.default,clear:CLEAR_1.default,DEBUG_MEMORY:DEBUG_MEMORY_1.default,debugMemory:DEBUG_MEMORY_1.default,DEL:DEL_1.default,del:DEL_1.default,FORGET:FORGET_1.default,forget:FORGET_1.default,GET:GET_1.default,get:GET_1.default,MERGE:MERGE_1.default,merge:MERGE_1.default,MGET:MGET_1.default,mGet:MGET_1.default,MSET:MSET_1.default,mSet:MSET_1.default,NUMINCRBY:NUMINCRBY_1.default,numIncrBy:NUMINCRBY_1.default,NUMMULTBY:NUMMULTBY_1.default,numMultBy:NUMMULTBY_1.default,OBJKEYS:OBJKEYS_1.default,objKeys:OBJKEYS_1.default,OBJLEN:OBJLEN_1.default,objLen:OBJLEN_1.default,SET:SET_1.default,set:SET_1.default,STRAPPEND:STRAPPEND_1.default,strAppend:STRAPPEND_1.default,STRLEN:STRLEN_1.default,strLen:STRLEN_1.default,TOGGLE:TOGGLE_1.default,toggle:TOGGLE_1.default,TYPE:TYPE_1.default,type:TYPE_1.default}}),require_lib3=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var commands_1=require_commands4();Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return __importDefault(commands_1).default}})}),require__LIST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("FT._LIST")},transformReply:{2:void 0,3:void 0}}}),require_CREATE2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.REDISEARCH_LANGUAGE=exports.parseSchema=exports.SCHEMA_GEO_SHAPE_COORD_SYSTEM=exports.VAMANA_COMPRESSION_ALGORITHM=exports.SCHEMA_VECTOR_FIELD_ALGORITHM=exports.SCHEMA_TEXT_FIELD_PHONETIC=exports.SCHEMA_FIELD_TYPE=void 0;var generic_transformers_1=require_generic_transformers();exports.SCHEMA_FIELD_TYPE={TEXT:"TEXT",NUMERIC:"NUMERIC",GEO:"GEO",TAG:"TAG",VECTOR:"VECTOR",GEOSHAPE:"GEOSHAPE"},exports.SCHEMA_TEXT_FIELD_PHONETIC={DM_EN:"dm:en",DM_FR:"dm:fr",FM_PT:"dm:pt",DM_ES:"dm:es"},exports.SCHEMA_VECTOR_FIELD_ALGORITHM={FLAT:"FLAT",HNSW:"HNSW",VAMANA:"SVS-VAMANA"},exports.VAMANA_COMPRESSION_ALGORITHM={LVQ4:"LVQ4",LVQ8:"LVQ8",LVQ4x4:"LVQ4x4",LVQ4x8:"LVQ4x8",LeanVec4x8:"LeanVec4x8",LeanVec8x8:"LeanVec8x8"},exports.SCHEMA_GEO_SHAPE_COORD_SYSTEM={SPHERICAL:"SPHERICAL",FLAT:"FLAT"};function parseCommonSchemaFieldOptions(parser,fieldOptions){if(fieldOptions.SORTABLE){if(parser.push("SORTABLE"),fieldOptions.SORTABLE==="UNF")parser.push("UNF")}if(fieldOptions.NOINDEX)parser.push("NOINDEX")}function parseSchema(parser,schema){for(let[field,fieldOptions]of Object.entries(schema)){if(parser.push(field),typeof fieldOptions==="string"){parser.push(fieldOptions);continue}if(fieldOptions.AS)parser.push("AS",fieldOptions.AS);if(parser.push(fieldOptions.type),fieldOptions.INDEXMISSING)parser.push("INDEXMISSING");switch(fieldOptions.type){case exports.SCHEMA_FIELD_TYPE.TEXT:if(fieldOptions.NOSTEM)parser.push("NOSTEM");if(fieldOptions.WEIGHT!==void 0)parser.push("WEIGHT",fieldOptions.WEIGHT.toString());if(fieldOptions.PHONETIC)parser.push("PHONETIC",fieldOptions.PHONETIC);if(fieldOptions.WITHSUFFIXTRIE)parser.push("WITHSUFFIXTRIE");if(fieldOptions.INDEXEMPTY)parser.push("INDEXEMPTY");parseCommonSchemaFieldOptions(parser,fieldOptions);break;case exports.SCHEMA_FIELD_TYPE.NUMERIC:case exports.SCHEMA_FIELD_TYPE.GEO:parseCommonSchemaFieldOptions(parser,fieldOptions);break;case exports.SCHEMA_FIELD_TYPE.TAG:if(fieldOptions.SEPARATOR)parser.push("SEPARATOR",fieldOptions.SEPARATOR);if(fieldOptions.CASESENSITIVE)parser.push("CASESENSITIVE");if(fieldOptions.WITHSUFFIXTRIE)parser.push("WITHSUFFIXTRIE");if(fieldOptions.INDEXEMPTY)parser.push("INDEXEMPTY");parseCommonSchemaFieldOptions(parser,fieldOptions);break;case exports.SCHEMA_FIELD_TYPE.VECTOR:parser.push(fieldOptions.ALGORITHM);let args2=[];if(args2.push("TYPE",fieldOptions.TYPE,"DIM",fieldOptions.DIM.toString(),"DISTANCE_METRIC",fieldOptions.DISTANCE_METRIC),fieldOptions.INITIAL_CAP!==void 0)args2.push("INITIAL_CAP",fieldOptions.INITIAL_CAP.toString());switch(fieldOptions.ALGORITHM){case exports.SCHEMA_VECTOR_FIELD_ALGORITHM.FLAT:if(fieldOptions.BLOCK_SIZE!==void 0)args2.push("BLOCK_SIZE",fieldOptions.BLOCK_SIZE.toString());break;case exports.SCHEMA_VECTOR_FIELD_ALGORITHM.HNSW:if(fieldOptions.M!==void 0)args2.push("M",fieldOptions.M.toString());if(fieldOptions.EF_CONSTRUCTION!==void 0)args2.push("EF_CONSTRUCTION",fieldOptions.EF_CONSTRUCTION.toString());if(fieldOptions.EF_RUNTIME!==void 0)args2.push("EF_RUNTIME",fieldOptions.EF_RUNTIME.toString());break;case exports.SCHEMA_VECTOR_FIELD_ALGORITHM.VAMANA:if(fieldOptions.COMPRESSION)args2.push("COMPRESSION",fieldOptions.COMPRESSION);if(fieldOptions.CONSTRUCTION_WINDOW_SIZE!==void 0)args2.push("CONSTRUCTION_WINDOW_SIZE",fieldOptions.CONSTRUCTION_WINDOW_SIZE.toString());if(fieldOptions.GRAPH_MAX_DEGREE!==void 0)args2.push("GRAPH_MAX_DEGREE",fieldOptions.GRAPH_MAX_DEGREE.toString());if(fieldOptions.SEARCH_WINDOW_SIZE!==void 0)args2.push("SEARCH_WINDOW_SIZE",fieldOptions.SEARCH_WINDOW_SIZE.toString());if(fieldOptions.EPSILON!==void 0)args2.push("EPSILON",fieldOptions.EPSILON.toString());if(fieldOptions.TRAINING_THRESHOLD!==void 0)args2.push("TRAINING_THRESHOLD",fieldOptions.TRAINING_THRESHOLD.toString());if(fieldOptions.REDUCE!==void 0)args2.push("REDUCE",fieldOptions.REDUCE.toString());break}parser.pushVariadicWithLength(args2);break;case exports.SCHEMA_FIELD_TYPE.GEOSHAPE:if(fieldOptions.COORD_SYSTEM!==void 0)parser.push("COORD_SYSTEM",fieldOptions.COORD_SYSTEM);break}}}exports.parseSchema=parseSchema,exports.REDISEARCH_LANGUAGE={ARABIC:"Arabic",BASQUE:"Basque",CATALANA:"Catalan",DANISH:"Danish",DUTCH:"Dutch",ENGLISH:"English",FINNISH:"Finnish",FRENCH:"French",GERMAN:"German",GREEK:"Greek",HUNGARIAN:"Hungarian",INDONESAIN:"Indonesian",IRISH:"Irish",ITALIAN:"Italian",LITHUANIAN:"Lithuanian",NEPALI:"Nepali",NORWEIGAN:"Norwegian",PORTUGUESE:"Portuguese",ROMANIAN:"Romanian",RUSSIAN:"Russian",SPANISH:"Spanish",SWEDISH:"Swedish",TAMIL:"Tamil",TURKISH:"Turkish",CHINESE:"Chinese"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,schema,options){if(parser.push("FT.CREATE",index),options?.ON)parser.push("ON",options.ON);if((0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"PREFIX",options?.PREFIX),options?.FILTER)parser.push("FILTER",options.FILTER);if(options?.LANGUAGE)parser.push("LANGUAGE",options.LANGUAGE);if(options?.LANGUAGE_FIELD)parser.push("LANGUAGE_FIELD",options.LANGUAGE_FIELD);if(options?.SCORE)parser.push("SCORE",options.SCORE.toString());if(options?.SCORE_FIELD)parser.push("SCORE_FIELD",options.SCORE_FIELD);if(options?.MAXTEXTFIELDS)parser.push("MAXTEXTFIELDS");if(options?.TEMPORARY)parser.push("TEMPORARY",options.TEMPORARY.toString());if(options?.NOOFFSETS)parser.push("NOOFFSETS");if(options?.NOHL)parser.push("NOHL");if(options?.NOFIELDS)parser.push("NOFIELDS");if(options?.NOFREQS)parser.push("NOFREQS");if(options?.SKIPINITIALSCAN)parser.push("SKIPINITIALSCAN");(0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"STOPWORDS",options?.STOPWORDS),parser.push("SCHEMA"),parseSchema(parser,schema)},transformReply:void 0}}),require_ALTER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var CREATE_1=require_CREATE2();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,schema){parser.push("FT.ALTER",index,"SCHEMA","ADD"),(0,CREATE_1.parseSchema)(parser,schema)},transformReply:void 0}}),require_default=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_DIALECT=void 0,exports.DEFAULT_DIALECT="2"}),require_SEARCH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseSearchOptions=exports.parseParamsArgument=void 0;var generic_transformers_1=require_generic_transformers(),default_1=require_default();function parseParamsArgument(parser,params){if(params){parser.push("PARAMS");let args2=[];for(let key in params){if(!Object.hasOwn(params,key))continue;let value=params[key];args2.push(key,typeof value==="number"?value.toString():value)}parser.pushVariadicWithLength(args2)}}exports.parseParamsArgument=parseParamsArgument;function parseSearchOptions(parser,options){if(options?.VERBATIM)parser.push("VERBATIM");if(options?.NOSTOPWORDS)parser.push("NOSTOPWORDS");if((0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"INKEYS",options?.INKEYS),(0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"INFIELDS",options?.INFIELDS),(0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"RETURN",options?.RETURN),options?.SUMMARIZE){if(parser.push("SUMMARIZE"),typeof options.SUMMARIZE==="object"){if((0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"FIELDS",options.SUMMARIZE.FIELDS),options.SUMMARIZE.FRAGS!==void 0)parser.push("FRAGS",options.SUMMARIZE.FRAGS.toString());if(options.SUMMARIZE.LEN!==void 0)parser.push("LEN",options.SUMMARIZE.LEN.toString());if(options.SUMMARIZE.SEPARATOR!==void 0)parser.push("SEPARATOR",options.SUMMARIZE.SEPARATOR)}}if(options?.HIGHLIGHT){if(parser.push("HIGHLIGHT"),typeof options.HIGHLIGHT==="object"){if((0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"FIELDS",options.HIGHLIGHT.FIELDS),options.HIGHLIGHT.TAGS)parser.push("TAGS",options.HIGHLIGHT.TAGS.open,options.HIGHLIGHT.TAGS.close)}}if(options?.SLOP!==void 0)parser.push("SLOP",options.SLOP.toString());if(options?.TIMEOUT!==void 0)parser.push("TIMEOUT",options.TIMEOUT.toString());if(options?.INORDER)parser.push("INORDER");if(options?.LANGUAGE)parser.push("LANGUAGE",options.LANGUAGE);if(options?.EXPANDER)parser.push("EXPANDER",options.EXPANDER);if(options?.SCORER)parser.push("SCORER",options.SCORER);if(options?.SORTBY){if(parser.push("SORTBY"),typeof options.SORTBY==="string"||options.SORTBY instanceof Buffer)parser.push(options.SORTBY);else if(parser.push(options.SORTBY.BY),options.SORTBY.DIRECTION)parser.push(options.SORTBY.DIRECTION)}if(options?.LIMIT)parser.push("LIMIT",options.LIMIT.from.toString(),options.LIMIT.size.toString());if(parseParamsArgument(parser,options?.PARAMS),options?.DIALECT)parser.push("DIALECT",options.DIALECT.toString());else parser.push("DIALECT",default_1.DEFAULT_DIALECT)}exports.parseSearchOptions=parseSearchOptions,exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,query,options){parser.push("FT.SEARCH",index,query),parseSearchOptions(parser,options)},transformReply:{2:(reply)=>{let withoutDocuments=reply.length>2&&!Array.isArray(reply[2]),documents=[],i=1;while(i<reply.length)documents.push({id:reply[i++],value:withoutDocuments?Object.create(null):documentValue(reply[i++])});return{total:reply[0],documents}},3:void 0},unstableResp3:!0};function documentValue(tuples){let message=Object.create(null);if(!tuples)return message;let i=0;while(i<tuples.length){let key=tuples[i++],value=tuples[i++];if(key==="$")try{Object.assign(message,JSON.parse(value));continue}catch{}message[key]=value}return message}}),require_AGGREGATE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseAggregateOptions=exports.FT_AGGREGATE_GROUP_BY_REDUCERS=exports.FT_AGGREGATE_STEPS=void 0;var SEARCH_1=require_SEARCH(),generic_transformers_1=require_generic_transformers(),default_1=require_default();exports.FT_AGGREGATE_STEPS={GROUPBY:"GROUPBY",SORTBY:"SORTBY",APPLY:"APPLY",LIMIT:"LIMIT",FILTER:"FILTER"},exports.FT_AGGREGATE_GROUP_BY_REDUCERS={COUNT:"COUNT",COUNT_DISTINCT:"COUNT_DISTINCT",COUNT_DISTINCTISH:"COUNT_DISTINCTISH",SUM:"SUM",MIN:"MIN",MAX:"MAX",AVG:"AVG",STDDEV:"STDDEV",QUANTILE:"QUANTILE",TOLIST:"TOLIST",FIRST_VALUE:"FIRST_VALUE",RANDOM_SAMPLE:"RANDOM_SAMPLE"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,index,query,options){return parser.push("FT.AGGREGATE",index,query),parseAggregateOptions(parser,options)},transformReply:{2:(rawReply,preserve,typeMapping)=>{let results=[];for(let i=1;i<rawReply.length;i++)results.push((0,generic_transformers_1.transformTuplesReply)(rawReply[i],preserve,typeMapping));return{total:Number(rawReply[0]),results}},3:void 0},unstableResp3:!0};function parseAggregateOptions(parser,options){if(options?.VERBATIM)parser.push("VERBATIM");if(options?.ADDSCORES)parser.push("ADDSCORES");if(options?.LOAD){let args2=[];if(Array.isArray(options.LOAD))for(let load of options.LOAD)pushLoadField(args2,load);else pushLoadField(args2,options.LOAD);parser.push("LOAD"),parser.pushVariadicWithLength(args2)}if(options?.TIMEOUT!==void 0)parser.push("TIMEOUT",options.TIMEOUT.toString());if(options?.STEPS)for(let step4 of options.STEPS)switch(parser.push(step4.type),step4.type){case exports.FT_AGGREGATE_STEPS.GROUPBY:if(!step4.properties)parser.push("0");else parser.pushVariadicWithLength(step4.properties);if(Array.isArray(step4.REDUCE))for(let reducer of step4.REDUCE)parseGroupByReducer(parser,reducer);else parseGroupByReducer(parser,step4.REDUCE);break;case exports.FT_AGGREGATE_STEPS.SORTBY:let args2=[];if(Array.isArray(step4.BY))for(let by of step4.BY)pushSortByProperty(args2,by);else pushSortByProperty(args2,step4.BY);if(step4.MAX)args2.push("MAX",step4.MAX.toString());parser.pushVariadicWithLength(args2);break;case exports.FT_AGGREGATE_STEPS.APPLY:parser.push(step4.expression,"AS",step4.AS);break;case exports.FT_AGGREGATE_STEPS.LIMIT:parser.push(step4.from.toString(),step4.size.toString());break;case exports.FT_AGGREGATE_STEPS.FILTER:parser.push(step4.expression);break}if((0,SEARCH_1.parseParamsArgument)(parser,options?.PARAMS),options?.DIALECT)parser.push("DIALECT",options.DIALECT.toString());else parser.push("DIALECT",default_1.DEFAULT_DIALECT)}exports.parseAggregateOptions=parseAggregateOptions;function pushLoadField(args2,toLoad){if(typeof toLoad==="string"||toLoad instanceof Buffer)args2.push(toLoad);else if(args2.push(toLoad.identifier),toLoad.AS)args2.push("AS",toLoad.AS)}function parseGroupByReducer(parser,reducer){switch(parser.push("REDUCE",reducer.type),reducer.type){case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT:parser.push("0");break;case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT_DISTINCT:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT_DISTINCTISH:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.SUM:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.MIN:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.MAX:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.AVG:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.STDDEV:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.TOLIST:parser.push("1",reducer.property);break;case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.QUANTILE:parser.push("2",reducer.property,reducer.quantile.toString());break;case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.FIRST_VALUE:{let args2=[reducer.property];if(reducer.BY){if(args2.push("BY"),typeof reducer.BY==="string"||reducer.BY instanceof Buffer)args2.push(reducer.BY);else if(args2.push(reducer.BY.property),reducer.BY.direction)args2.push(reducer.BY.direction)}parser.pushVariadicWithLength(args2);break}case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.RANDOM_SAMPLE:parser.push("2",reducer.property,reducer.sampleSize.toString());break}if(reducer.AS)parser.push("AS",reducer.AS)}function pushSortByProperty(args2,sortBy){if(typeof sortBy==="string"||sortBy instanceof Buffer)args2.push(sortBy);else if(args2.push(sortBy.BY),sortBy.DIRECTION)args2.push(sortBy.DIRECTION)}}),require_AGGREGATE_WITHCURSOR=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var AGGREGATE_1=__importDefault(require_AGGREGATE());exports.default={IS_READ_ONLY:AGGREGATE_1.default.IS_READ_ONLY,parseCommand(parser,index,query,options){if(AGGREGATE_1.default.parseCommand(parser,index,query,options),parser.push("WITHCURSOR"),options?.COUNT!==void 0)parser.push("COUNT",options.COUNT.toString());if(options?.MAXIDLE!==void 0)parser.push("MAXIDLE",options.MAXIDLE.toString())},transformReply:{2:(reply)=>{return{...AGGREGATE_1.default.transformReply[2](reply[0]),cursor:reply[1]}},3:void 0},unstableResp3:!0}}),require_ALIASADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,alias,index){parser.push("FT.ALIASADD",alias,index)},transformReply:void 0}}),require_ALIASDEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,alias){parser.push("FT.ALIASDEL",alias)},transformReply:void 0}}),require_ALIASUPDATE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,alias,index){parser.push("FT.ALIASUPDATE",alias,index)},transformReply:void 0}}),require_CONFIG_GET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,option32){parser.push("FT.CONFIG","GET",option32)},transformReply(reply){let transformedReply=Object.create(null);for(let item of reply){let[key,value]=item;transformedReply[key.toString()]=value}return transformedReply}}}),require_CONFIG_SET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,property,value){parser.push("FT.CONFIG","SET",property,value)},transformReply:void 0}}),require_CURSOR_DEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,cursorId){parser.push("FT.CURSOR","DEL",index,cursorId.toString())},transformReply:void 0}}),require_CURSOR_READ=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var AGGREGATE_WITHCURSOR_1=__importDefault(require_AGGREGATE_WITHCURSOR());exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,cursor,options){if(parser.push("FT.CURSOR","READ",index,cursor.toString()),options?.COUNT!==void 0)parser.push("COUNT",options.COUNT.toString())},transformReply:AGGREGATE_WITHCURSOR_1.default.transformReply,unstableResp3:!0}}),require_DICTADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,dictionary,term){parser.push("FT.DICTADD",dictionary),parser.pushVariadic(term)},transformReply:void 0}}),require_DICTDEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,dictionary,term){parser.push("FT.DICTDEL",dictionary),parser.pushVariadic(term)},transformReply:void 0}}),require_DICTDUMP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,dictionary){parser.push("FT.DICTDUMP",dictionary)},transformReply:{2:void 0,3:void 0}}}),require_DROPINDEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,options){if(parser.push("FT.DROPINDEX",index),options?.DD)parser.push("DD")},transformReply:{2:void 0,3:void 0}}}),require_EXPLAIN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var SEARCH_1=require_SEARCH(),default_1=require_default();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,query,options){if(parser.push("FT.EXPLAIN",index,query),(0,SEARCH_1.parseParamsArgument)(parser,options?.PARAMS),options?.DIALECT)parser.push("DIALECT",options.DIALECT.toString());else parser.push("DIALECT",default_1.DEFAULT_DIALECT)},transformReply:void 0}}),require_EXPLAINCLI=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var default_1=require_default();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,query,options){if(parser.push("FT.EXPLAINCLI",index,query),options?.DIALECT)parser.push("DIALECT",options.DIALECT.toString());else parser.push("DIALECT",default_1.DEFAULT_DIALECT)},transformReply:void 0}}),require_HYBRID=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),SEARCH_1=require_SEARCH();function parseSearchExpression(parser,search){if(parser.push("SEARCH",search.query),search.SCORER){if(parser.push("SCORER",search.SCORER.algorithm),search.SCORER.params)parser.push(...search.SCORER.params)}if(search.YIELD_SCORE_AS)parser.push("YIELD_SCORE_AS",search.YIELD_SCORE_AS)}function parseVectorExpression(parser,vsim){if(parser.push("VSIM",vsim.field,vsim.vectorData),vsim.method){if(vsim.method.KNN){let knn=vsim.method.KNN;if(parser.push("KNN","1","K",knn.K.toString()),knn.EF_RUNTIME!==void 0)parser.push("EF_RUNTIME",knn.EF_RUNTIME.toString());if(knn.YIELD_DISTANCE_AS)parser.push("YIELD_DISTANCE_AS",knn.YIELD_DISTANCE_AS)}if(vsim.method.RANGE){let range4=vsim.method.RANGE;if(parser.push("RANGE","1","RADIUS",range4.RADIUS.toString()),range4.EPSILON!==void 0)parser.push("EPSILON",range4.EPSILON.toString());if(range4.YIELD_DISTANCE_AS)parser.push("YIELD_DISTANCE_AS",range4.YIELD_DISTANCE_AS)}}if(vsim.FILTER){if(parser.push("FILTER",vsim.FILTER.expression),vsim.FILTER.POLICY){if(parser.push("POLICY",vsim.FILTER.POLICY),vsim.FILTER.POLICY==="BATCHES"&&vsim.FILTER.BATCHES)parser.push("BATCHES","BATCH_SIZE",vsim.FILTER.BATCHES.BATCH_SIZE.toString())}}if(vsim.YIELD_SCORE_AS)parser.push("YIELD_SCORE_AS",vsim.YIELD_SCORE_AS)}function parseCombineMethod(parser,combine11){if(!combine11)return;if(parser.push("COMBINE"),combine11.method.RRF){let rrf=combine11.method.RRF;if(parser.push("RRF",rrf.count.toString()),rrf.WINDOW!==void 0)parser.push("WINDOW",rrf.WINDOW.toString());if(rrf.CONSTANT!==void 0)parser.push("CONSTANT",rrf.CONSTANT.toString())}if(combine11.method.LINEAR){let linear22=combine11.method.LINEAR;if(parser.push("LINEAR",linear22.count.toString()),linear22.ALPHA!==void 0)parser.push("ALPHA",linear22.ALPHA.toString());if(linear22.BETA!==void 0)parser.push("BETA",linear22.BETA.toString())}if(combine11.method.FUNCTION)parser.push("FUNCTION",combine11.method.FUNCTION);if(combine11.YIELD_SCORE_AS)parser.push("YIELD_SCORE_AS",combine11.YIELD_SCORE_AS)}function parseHybridOptions(parser,options){if(!options)return;if(options.SEARCH)parseSearchExpression(parser,options.SEARCH);if(options.VSIM)parseVectorExpression(parser,options.VSIM);if(options.COMBINE)parseCombineMethod(parser,options.COMBINE);if((0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"LOAD",options.LOAD),options.GROUPBY){if((0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"GROUPBY",options.GROUPBY.fields),options.GROUPBY.REDUCE)parser.push("REDUCE",options.GROUPBY.REDUCE.function,options.GROUPBY.REDUCE.count.toString()),parser.push(...options.GROUPBY.REDUCE.args)}if(options.APPLY)parser.push("APPLY",options.APPLY.expression,"AS",options.APPLY.AS);if(options.SORTBY){parser.push("SORTBY",options.SORTBY.count.toString());for(let sortField of options.SORTBY.fields)if(parser.push(sortField.field),sortField.direction)parser.push(sortField.direction)}if(options.FILTER)parser.push("FILTER",options.FILTER);if(options.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.num.toString());if((0,SEARCH_1.parseParamsArgument)(parser,options.PARAMS),options.EXPLAINSCORE)parser.push("EXPLAINSCORE");if(options.TIMEOUT!==void 0)parser.push("TIMEOUT",options.TIMEOUT.toString());if(options.WITHCURSOR){if(parser.push("WITHCURSOR"),options.WITHCURSOR.COUNT!==void 0)parser.push("COUNT",options.WITHCURSOR.COUNT.toString());if(options.WITHCURSOR.MAXIDLE!==void 0)parser.push("MAXIDLE",options.WITHCURSOR.MAXIDLE.toString())}}exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,options){parser.push("FT.HYBRID",index),parseHybridOptions(parser,options)},transformReply:{2:(reply)=>{if(Array.isArray(reply)&&reply.length===2&&typeof reply[1]==="number"){let[searchResults,cursor]=reply;return{...transformHybridSearchResults(searchResults),cursor}}else return transformHybridSearchResults(reply)},3:void 0},unstableResp3:!0};function transformHybridSearchResults(reply){let withoutDocuments=reply.length>2&&!Array.isArray(reply[2]),documents=[],i=1;while(i<reply.length)documents.push({id:reply[i++],value:withoutDocuments?Object.create(null):documentValue(reply[i++])});return{total:reply[0],documents}}function documentValue(tuples){let message=Object.create(null);if(!tuples)return message;let i=0;while(i<tuples.length){let key=tuples[i++],value=tuples[i++];if(key==="$")try{Object.assign(message,JSON.parse(value));continue}catch{}message[key]=value}return message}}),require_INFO7=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index){parser.push("FT.INFO",index)},transformReply:{2:transformV2Reply,3:void 0},unstableResp3:!0};function transformV2Reply(reply,preserve,typeMapping){let myTransformFunc=(0,generic_transformers_1.createTransformTuplesReplyFunc)(preserve,typeMapping),ret={};for(let i=0;i<reply.length;i+=2){let key=reply[i].toString();switch(key){case"index_name":case"index_options":case"num_docs":case"max_doc_id":case"num_terms":case"num_records":case"total_inverted_index_blocks":case"hash_indexing_failures":case"indexing":case"number_of_uses":case"cleaning":case"stopwords_list":ret[key]=reply[i+1];break;case"inverted_sz_mb":case"vector_index_sz_mb":case"offset_vectors_sz_mb":case"doc_table_size_mb":case"sortable_values_size_mb":case"key_table_size_mb":case"text_overhead_sz_mb":case"tag_overhead_sz_mb":case"total_index_memory_sz_mb":case"geoshapes_sz_mb":case"records_per_doc_avg":case"bytes_per_record_avg":case"offsets_per_term_avg":case"offset_bits_per_record_avg":case"total_indexing_time":case"percent_indexed":ret[key]=generic_transformers_1.transformDoubleReply[2](reply[i+1],void 0,typeMapping);break;case"index_definition":ret[key]=myTransformFunc(reply[i+1]);break;case"attributes":ret[key]=reply[i+1].map((attribute)=>myTransformFunc(attribute));break;case"gc_stats":{let innerRet={},array42=reply[i+1];for(let i2=0;i2<array42.length;i2+=2){let innerKey=array42[i2].toString();switch(innerKey){case"bytes_collected":case"total_ms_run":case"total_cycles":case"average_cycle_time_ms":case"last_run_time_ms":case"gc_numeric_trees_missed":case"gc_blocks_denied":innerRet[innerKey]=generic_transformers_1.transformDoubleReply[2](array42[i2+1],void 0,typeMapping);break}}ret[key]=innerRet;break}case"cursor_stats":{let innerRet={},array42=reply[i+1];for(let i2=0;i2<array42.length;i2+=2){let innerKey=array42[i2].toString();switch(innerKey){case"global_idle":case"global_total":case"index_capacity":case"index_total":innerRet[innerKey]=array42[i2+1];break}}ret[key]=innerRet;break}}}return ret}}),require_PROFILE_SEARCH=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var SEARCH_1=__importStar(require_SEARCH());exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,query,options){if(parser.push("FT.PROFILE",index,"SEARCH"),options?.LIMITED)parser.push("LIMITED");parser.push("QUERY",query),(0,SEARCH_1.parseSearchOptions)(parser,options)},transformReply:{2:(reply)=>{return{results:SEARCH_1.default.transformReply[2](reply[0]),profile:reply[1]}},3:(reply)=>reply},unstableResp3:!0}}),require_PROFILE_AGGREGATE=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var AGGREGATE_1=__importStar(require_AGGREGATE());exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,query,options){if(parser.push("FT.PROFILE",index,"AGGREGATE"),options?.LIMITED)parser.push("LIMITED");parser.push("QUERY",query),(0,AGGREGATE_1.parseAggregateOptions)(parser,options)},transformReply:{2:(reply)=>{return{results:AGGREGATE_1.default.transformReply[2](reply[0]),profile:reply[1]}},3:(reply)=>reply},unstableResp3:!0}}),require_SEARCH_NOCONTENT=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var SEARCH_1=__importDefault(require_SEARCH());exports.default={NOT_KEYED_COMMAND:SEARCH_1.default.NOT_KEYED_COMMAND,IS_READ_ONLY:SEARCH_1.default.IS_READ_ONLY,parseCommand(...args2){SEARCH_1.default.parseCommand(...args2),args2[0].push("NOCONTENT")},transformReply:{2:(reply)=>{return{total:reply[0],documents:reply.slice(1)}},3:void 0},unstableResp3:!0}}),require_SPELLCHECK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var default_1=require_default();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,query,options){if(parser.push("FT.SPELLCHECK",index,query),options?.DISTANCE)parser.push("DISTANCE",options.DISTANCE.toString());if(options?.TERMS)if(Array.isArray(options.TERMS))for(let term of options.TERMS)parseTerms(parser,term);else parseTerms(parser,options.TERMS);if(options?.DIALECT)parser.push("DIALECT",options.DIALECT.toString());else parser.push("DIALECT",default_1.DEFAULT_DIALECT)},transformReply:{2:(rawReply)=>{return rawReply.map(([,term,suggestions])=>({term,suggestions:suggestions.map(([score,suggestion])=>({score:Number(score),suggestion}))}))},3:void 0},unstableResp3:!0};function parseTerms(parser,{mode,dictionary}){parser.push("TERMS",mode,dictionary)}}),require_SUGADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,string22,score,options){if(parser.push("FT.SUGADD"),parser.pushKey(key),parser.push(string22,score.toString()),options?.INCR)parser.push("INCR");if(options?.PAYLOAD)parser.push("PAYLOAD",options.PAYLOAD)},transformReply:void 0}}),require_SUGDEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,string22){parser.push("FT.SUGDEL"),parser.pushKey(key),parser.push(string22)},transformReply:void 0}}),require_SUGGET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,prefix,options){if(parser.push("FT.SUGGET"),parser.pushKey(key),parser.push(prefix),options?.FUZZY)parser.push("FUZZY");if(options?.MAX!==void 0)parser.push("MAX",options.MAX.toString())},transformReply:void 0}}),require_SUGGET_WITHPAYLOADS=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),SUGGET_1=__importDefault(require_SUGGET());exports.default={IS_READ_ONLY:SUGGET_1.default.IS_READ_ONLY,parseCommand(...args2){SUGGET_1.default.parseCommand(...args2),args2[0].push("WITHPAYLOADS")},transformReply(reply){if((0,generic_transformers_1.isNullReply)(reply))return null;let transformedReply=Array(reply.length/2),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],payload:reply[replyIndex++]};return transformedReply}}}),require_SUGGET_WITHSCORES_WITHPAYLOADS=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),SUGGET_1=__importDefault(require_SUGGET());exports.default={IS_READ_ONLY:SUGGET_1.default.IS_READ_ONLY,parseCommand(...args2){SUGGET_1.default.parseCommand(...args2),args2[0].push("WITHSCORES","WITHPAYLOADS")},transformReply:{2:(reply,preserve,typeMapping)=>{if((0,generic_transformers_1.isNullReply)(reply))return null;let transformedReply=Array(reply.length/3),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],score:generic_transformers_1.transformDoubleReply[2](reply[replyIndex++],preserve,typeMapping),payload:reply[replyIndex++]};return transformedReply},3:(reply)=>{if((0,generic_transformers_1.isNullReply)(reply))return null;let transformedReply=Array(reply.length/3),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],score:reply[replyIndex++],payload:reply[replyIndex++]};return transformedReply}}}}),require_SUGGET_WITHSCORES=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),SUGGET_1=__importDefault(require_SUGGET());exports.default={IS_READ_ONLY:SUGGET_1.default.IS_READ_ONLY,parseCommand(...args2){SUGGET_1.default.parseCommand(...args2),args2[0].push("WITHSCORES")},transformReply:{2:(reply,preserve,typeMapping)=>{if((0,generic_transformers_1.isNullReply)(reply))return null;let transformedReply=Array(reply.length/2),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],score:generic_transformers_1.transformDoubleReply[2](reply[replyIndex++],preserve,typeMapping)};return transformedReply},3:(reply)=>{if((0,generic_transformers_1.isNullReply)(reply))return null;let transformedReply=Array(reply.length/2),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],score:reply[replyIndex++]};return transformedReply}}}}),require_SUGLEN=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("FT.SUGLEN",key)},transformReply:void 0}}),require_SYNDUMP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index){parser.push("FT.SYNDUMP",index)},transformReply:{2:(reply)=>{let result={},i=0;while(i<reply.length){let key=reply[i++].toString(),value=reply[i++];result[key]=value}return result},3:void 0}}}),require_SYNUPDATE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,groupId,terms,options){if(parser.push("FT.SYNUPDATE",index,groupId),options?.SKIPINITIALSCAN)parser.push("SKIPINITIALSCAN");parser.pushVariadic(terms)},transformReply:void 0}}),require_TAGVALS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,fieldName){parser.push("FT.TAGVALS",index,fieldName)},transformReply:{2:void 0,3:void 0}}}),require_commands5=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var _LIST_1=__importDefault(require__LIST()),ALTER_1=__importDefault(require_ALTER()),AGGREGATE_WITHCURSOR_1=__importDefault(require_AGGREGATE_WITHCURSOR()),AGGREGATE_1=__importDefault(require_AGGREGATE()),ALIASADD_1=__importDefault(require_ALIASADD()),ALIASDEL_1=__importDefault(require_ALIASDEL()),ALIASUPDATE_1=__importDefault(require_ALIASUPDATE()),CONFIG_GET_1=__importDefault(require_CONFIG_GET2()),CONFIG_SET_1=__importDefault(require_CONFIG_SET2()),CREATE_1=__importDefault(require_CREATE2()),CURSOR_DEL_1=__importDefault(require_CURSOR_DEL()),CURSOR_READ_1=__importDefault(require_CURSOR_READ()),DICTADD_1=__importDefault(require_DICTADD()),DICTDEL_1=__importDefault(require_DICTDEL()),DICTDUMP_1=__importDefault(require_DICTDUMP()),DROPINDEX_1=__importDefault(require_DROPINDEX()),EXPLAIN_1=__importDefault(require_EXPLAIN()),EXPLAINCLI_1=__importDefault(require_EXPLAINCLI()),HYBRID_1=__importDefault(require_HYBRID()),INFO_1=__importDefault(require_INFO7()),PROFILE_SEARCH_1=__importDefault(require_PROFILE_SEARCH()),PROFILE_AGGREGATE_1=__importDefault(require_PROFILE_AGGREGATE()),SEARCH_NOCONTENT_1=__importDefault(require_SEARCH_NOCONTENT()),SEARCH_1=__importDefault(require_SEARCH()),SPELLCHECK_1=__importDefault(require_SPELLCHECK()),SUGADD_1=__importDefault(require_SUGADD()),SUGDEL_1=__importDefault(require_SUGDEL()),SUGGET_WITHPAYLOADS_1=__importDefault(require_SUGGET_WITHPAYLOADS()),SUGGET_WITHSCORES_WITHPAYLOADS_1=__importDefault(require_SUGGET_WITHSCORES_WITHPAYLOADS()),SUGGET_WITHSCORES_1=__importDefault(require_SUGGET_WITHSCORES()),SUGGET_1=__importDefault(require_SUGGET()),SUGLEN_1=__importDefault(require_SUGLEN()),SYNDUMP_1=__importDefault(require_SYNDUMP()),SYNUPDATE_1=__importDefault(require_SYNUPDATE()),TAGVALS_1=__importDefault(require_TAGVALS());exports.default={_LIST:_LIST_1.default,_list:_LIST_1.default,ALTER:ALTER_1.default,alter:ALTER_1.default,AGGREGATE_WITHCURSOR:AGGREGATE_WITHCURSOR_1.default,aggregateWithCursor:AGGREGATE_WITHCURSOR_1.default,AGGREGATE:AGGREGATE_1.default,aggregate:AGGREGATE_1.default,ALIASADD:ALIASADD_1.default,aliasAdd:ALIASADD_1.default,ALIASDEL:ALIASDEL_1.default,aliasDel:ALIASDEL_1.default,ALIASUPDATE:ALIASUPDATE_1.default,aliasUpdate:ALIASUPDATE_1.default,CONFIG_GET:CONFIG_GET_1.default,configGet:CONFIG_GET_1.default,CONFIG_SET:CONFIG_SET_1.default,configSet:CONFIG_SET_1.default,CREATE:CREATE_1.default,create:CREATE_1.default,CURSOR_DEL:CURSOR_DEL_1.default,cursorDel:CURSOR_DEL_1.default,CURSOR_READ:CURSOR_READ_1.default,cursorRead:CURSOR_READ_1.default,DICTADD:DICTADD_1.default,dictAdd:DICTADD_1.default,DICTDEL:DICTDEL_1.default,dictDel:DICTDEL_1.default,DICTDUMP:DICTDUMP_1.default,dictDump:DICTDUMP_1.default,DROPINDEX:DROPINDEX_1.default,dropIndex:DROPINDEX_1.default,EXPLAIN:EXPLAIN_1.default,explain:EXPLAIN_1.default,EXPLAINCLI:EXPLAINCLI_1.default,explainCli:EXPLAINCLI_1.default,HYBRID:HYBRID_1.default,hybrid:HYBRID_1.default,INFO:INFO_1.default,info:INFO_1.default,PROFILESEARCH:PROFILE_SEARCH_1.default,profileSearch:PROFILE_SEARCH_1.default,PROFILEAGGREGATE:PROFILE_AGGREGATE_1.default,profileAggregate:PROFILE_AGGREGATE_1.default,SEARCH_NOCONTENT:SEARCH_NOCONTENT_1.default,searchNoContent:SEARCH_NOCONTENT_1.default,SEARCH:SEARCH_1.default,search:SEARCH_1.default,SPELLCHECK:SPELLCHECK_1.default,spellCheck:SPELLCHECK_1.default,SUGADD:SUGADD_1.default,sugAdd:SUGADD_1.default,SUGDEL:SUGDEL_1.default,sugDel:SUGDEL_1.default,SUGGET_WITHPAYLOADS:SUGGET_WITHPAYLOADS_1.default,sugGetWithPayloads:SUGGET_WITHPAYLOADS_1.default,SUGGET_WITHSCORES_WITHPAYLOADS:SUGGET_WITHSCORES_WITHPAYLOADS_1.default,sugGetWithScoresWithPayloads:SUGGET_WITHSCORES_WITHPAYLOADS_1.default,SUGGET_WITHSCORES:SUGGET_WITHSCORES_1.default,sugGetWithScores:SUGGET_WITHSCORES_1.default,SUGGET:SUGGET_1.default,sugGet:SUGGET_1.default,SUGLEN:SUGLEN_1.default,sugLen:SUGLEN_1.default,SYNDUMP:SYNDUMP_1.default,synDump:SYNDUMP_1.default,SYNUPDATE:SYNUPDATE_1.default,synUpdate:SYNUPDATE_1.default,TAGVALS:TAGVALS_1.default,tagVals:TAGVALS_1.default}}),require_lib4=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FT_AGGREGATE_STEPS=exports.FT_AGGREGATE_GROUP_BY_REDUCERS=exports.SCHEMA_VECTOR_FIELD_ALGORITHM=exports.SCHEMA_TEXT_FIELD_PHONETIC=exports.SCHEMA_FIELD_TYPE=exports.REDISEARCH_LANGUAGE=exports.default=void 0;var commands_1=require_commands5();Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return __importDefault(commands_1).default}});var CREATE_1=require_CREATE2();Object.defineProperty(exports,"REDISEARCH_LANGUAGE",{enumerable:!0,get:function(){return CREATE_1.REDISEARCH_LANGUAGE}}),Object.defineProperty(exports,"SCHEMA_FIELD_TYPE",{enumerable:!0,get:function(){return CREATE_1.SCHEMA_FIELD_TYPE}}),Object.defineProperty(exports,"SCHEMA_TEXT_FIELD_PHONETIC",{enumerable:!0,get:function(){return CREATE_1.SCHEMA_TEXT_FIELD_PHONETIC}}),Object.defineProperty(exports,"SCHEMA_VECTOR_FIELD_ALGORITHM",{enumerable:!0,get:function(){return CREATE_1.SCHEMA_VECTOR_FIELD_ALGORITHM}});var AGGREGATE_1=require_AGGREGATE();Object.defineProperty(exports,"FT_AGGREGATE_GROUP_BY_REDUCERS",{enumerable:!0,get:function(){return AGGREGATE_1.FT_AGGREGATE_GROUP_BY_REDUCERS}}),Object.defineProperty(exports,"FT_AGGREGATE_STEPS",{enumerable:!0,get:function(){return AGGREGATE_1.FT_AGGREGATE_STEPS}})}),require_helpers2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformRESP2LabelsWithSources=exports.transformRESP2Labels=exports.parseSelectedLabelsArguments=exports.resp3MapToValue=exports.resp2MapToValue=exports.transformSamplesReply=exports.transformSampleReply=exports.parseLabelsArgument=exports.transformTimestampArgument=exports.parseDuplicatePolicy=exports.TIME_SERIES_DUPLICATE_POLICIES=exports.parseChunkSizeArgument=exports.parseEncodingArgument=exports.TIME_SERIES_ENCODING=exports.parseRetentionArgument=exports.parseIgnoreArgument=void 0;var client_1=require_dist();function parseIgnoreArgument(parser,ignore3){if(ignore3!==void 0)parser.push("IGNORE",ignore3.maxTimeDiff.toString(),ignore3.maxValDiff.toString())}exports.parseIgnoreArgument=parseIgnoreArgument;function parseRetentionArgument(parser,retention){if(retention!==void 0)parser.push("RETENTION",retention.toString())}exports.parseRetentionArgument=parseRetentionArgument,exports.TIME_SERIES_ENCODING={COMPRESSED:"COMPRESSED",UNCOMPRESSED:"UNCOMPRESSED"};function parseEncodingArgument(parser,encoding){if(encoding!==void 0)parser.push("ENCODING",encoding)}exports.parseEncodingArgument=parseEncodingArgument;function parseChunkSizeArgument(parser,chunkSize){if(chunkSize!==void 0)parser.push("CHUNK_SIZE",chunkSize.toString())}exports.parseChunkSizeArgument=parseChunkSizeArgument,exports.TIME_SERIES_DUPLICATE_POLICIES={BLOCK:"BLOCK",FIRST:"FIRST",LAST:"LAST",MIN:"MIN",MAX:"MAX",SUM:"SUM"};function parseDuplicatePolicy(parser,duplicatePolicy){if(duplicatePolicy!==void 0)parser.push("DUPLICATE_POLICY",duplicatePolicy)}exports.parseDuplicatePolicy=parseDuplicatePolicy;function transformTimestampArgument(timestamp){if(typeof timestamp==="string")return timestamp;return(typeof timestamp==="number"?timestamp:timestamp.getTime()).toString()}exports.transformTimestampArgument=transformTimestampArgument;function parseLabelsArgument(parser,labels){if(labels){parser.push("LABELS");for(let[label,value]of Object.entries(labels))parser.push(label,value)}}exports.parseLabelsArgument=parseLabelsArgument,exports.transformSampleReply={2(reply){let[timestamp,value]=reply;return{timestamp,value:Number(value)}},3(reply){let[timestamp,value]=reply;return{timestamp,value}}},exports.transformSamplesReply={2(reply){return reply.map((sample)=>exports.transformSampleReply[2](sample))},3(reply){return reply.map((sample)=>exports.transformSampleReply[3](sample))}};function resp2MapToValue(wrappedReply,parseFunc,typeMapping){let reply=wrappedReply;switch(typeMapping?.[client_1.RESP_TYPES.MAP]){case Map:{let ret=new Map;for(let wrappedTuple of reply){let tuple22=wrappedTuple,key=tuple22[0];ret.set(key.toString(),parseFunc(tuple22))}return ret}case Array:{for(let wrappedTuple of reply){let tuple22=wrappedTuple;tuple22[1]=parseFunc(tuple22)}return reply}default:{let ret=Object.create(null);for(let wrappedTuple of reply){let tuple22=wrappedTuple,key=tuple22[0];ret[key.toString()]=parseFunc(tuple22)}return ret}}}exports.resp2MapToValue=resp2MapToValue;function resp3MapToValue(wrappedReply,parseFunc){let reply=wrappedReply;if(reply instanceof Array)for(let i=1;i<reply.length;i+=2)reply[i]=parseFunc(reply[i]);else if(reply instanceof Map)for(let[key,value]of reply.entries())reply.set(key,parseFunc(value));else for(let[key,value]of Object.entries(reply))reply[key]=parseFunc(value);return reply}exports.resp3MapToValue=resp3MapToValue;function parseSelectedLabelsArguments(parser,selectedLabels){parser.push("SELECTED_LABELS"),parser.pushVariadic(selectedLabels)}exports.parseSelectedLabelsArguments=parseSelectedLabelsArguments;function transformRESP2Labels(labels,typeMapping){let unwrappedLabels=labels;switch(typeMapping?.[client_1.RESP_TYPES.MAP]){case Map:let map222=new Map;for(let tuple22 of unwrappedLabels){let[key,value]=tuple22,unwrappedKey=key;map222.set(unwrappedKey.toString(),value)}return map222;case Array:return unwrappedLabels.flat();case Object:default:let labelsObject=Object.create(null);for(let tuple22 of unwrappedLabels){let[key,value]=tuple22,unwrappedKey=key;labelsObject[unwrappedKey.toString()]=value}return labelsObject}}exports.transformRESP2Labels=transformRESP2Labels;function transformRESP2LabelsWithSources(labels,typeMapping){let unwrappedLabels=labels,to=unwrappedLabels.length-2,transformedLabels;switch(typeMapping?.[client_1.RESP_TYPES.MAP]){case Map:let map222=new Map;for(let i=0;i<to;i++){let[key,value]=unwrappedLabels[i],unwrappedKey=key;map222.set(unwrappedKey.toString(),value)}transformedLabels=map222;break;case Array:transformedLabels=unwrappedLabels.slice(0,to).flat();break;case Object:default:let labelsObject=Object.create(null);for(let i=0;i<to;i++){let[key,value]=unwrappedLabels[i],unwrappedKey=key;labelsObject[unwrappedKey.toString()]=value}transformedLabels=labelsObject;break}let unwrappedSourcesTuple=unwrappedLabels[unwrappedLabels.length-1],transformedSources=transformRESP2Sources(unwrappedSourcesTuple[1]);return{labels:transformedLabels,sources:transformedSources}}exports.transformRESP2LabelsWithSources=transformRESP2LabelsWithSources;function transformRESP2Sources(sourcesRaw){let unwrappedSources=sourcesRaw;if(typeof unwrappedSources==="string")return unwrappedSources.split(",");let indexOfComma=unwrappedSources.indexOf(",");if(indexOfComma===-1)return[unwrappedSources];let sourcesArray=[unwrappedSources.subarray(0,indexOfComma)],previousComma=indexOfComma+1;while(!0){let indexOf=unwrappedSources.indexOf(",",previousComma);if(indexOf===-1){sourcesArray.push(unwrappedSources.subarray(previousComma));break}let source=unwrappedSources.subarray(previousComma,indexOf);sourcesArray.push(source),previousComma=indexOf+1}return sourcesArray}}),require_ADD5=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,timestamp,value,options){if(parser.push("TS.ADD"),parser.pushKey(key),parser.push((0,helpers_1.transformTimestampArgument)(timestamp),value.toString()),(0,helpers_1.parseRetentionArgument)(parser,options?.RETENTION),(0,helpers_1.parseEncodingArgument)(parser,options?.ENCODING),(0,helpers_1.parseChunkSizeArgument)(parser,options?.CHUNK_SIZE),options?.ON_DUPLICATE)parser.push("ON_DUPLICATE",options.ON_DUPLICATE);(0,helpers_1.parseLabelsArgument)(parser,options?.LABELS),(0,helpers_1.parseIgnoreArgument)(parser,options?.IGNORE)},transformReply:void 0}}),require_ALTER2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){parser.push("TS.ALTER"),parser.pushKey(key),(0,helpers_1.parseRetentionArgument)(parser,options?.RETENTION),(0,helpers_1.parseChunkSizeArgument)(parser,options?.CHUNK_SIZE),(0,helpers_1.parseDuplicatePolicy)(parser,options?.DUPLICATE_POLICY),(0,helpers_1.parseLabelsArgument)(parser,options?.LABELS),(0,helpers_1.parseIgnoreArgument)(parser,options?.IGNORE)},transformReply:void 0}}),require_CREATE3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){parser.push("TS.CREATE"),parser.pushKey(key),(0,helpers_1.parseRetentionArgument)(parser,options?.RETENTION),(0,helpers_1.parseEncodingArgument)(parser,options?.ENCODING),(0,helpers_1.parseChunkSizeArgument)(parser,options?.CHUNK_SIZE),(0,helpers_1.parseDuplicatePolicy)(parser,options?.DUPLICATE_POLICY),(0,helpers_1.parseLabelsArgument)(parser,options?.LABELS),(0,helpers_1.parseIgnoreArgument)(parser,options?.IGNORE)},transformReply:void 0}}),require_CREATERULE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.TIME_SERIES_AGGREGATION_TYPE=void 0,exports.TIME_SERIES_AGGREGATION_TYPE={AVG:"AVG",FIRST:"FIRST",LAST:"LAST",MIN:"MIN",MAX:"MAX",SUM:"SUM",RANGE:"RANGE",COUNT:"COUNT",STD_P:"STD.P",STD_S:"STD.S",VAR_P:"VAR.P",VAR_S:"VAR.S",TWA:"TWA"},exports.default={IS_READ_ONLY:!1,parseCommand(parser,sourceKey,destinationKey,aggregationType,bucketDuration,alignTimestamp){if(parser.push("TS.CREATERULE"),parser.pushKeys([sourceKey,destinationKey]),parser.push("AGGREGATION",aggregationType,bucketDuration.toString()),alignTimestamp!==void 0)parser.push(alignTimestamp.toString())},transformReply:void 0}}),require_INCRBY4=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseIncrByArguments=void 0;var helpers_1=require_helpers2();function parseIncrByArguments(parser,key,value,options){if(parser.pushKey(key),parser.push(value.toString()),options?.TIMESTAMP!==void 0&&options?.TIMESTAMP!==null)parser.push("TIMESTAMP",(0,helpers_1.transformTimestampArgument)(options.TIMESTAMP));if((0,helpers_1.parseRetentionArgument)(parser,options?.RETENTION),options?.UNCOMPRESSED)parser.push("UNCOMPRESSED");(0,helpers_1.parseChunkSizeArgument)(parser,options?.CHUNK_SIZE),(0,helpers_1.parseLabelsArgument)(parser,options?.LABELS),(0,helpers_1.parseIgnoreArgument)(parser,options?.IGNORE)}exports.parseIncrByArguments=parseIncrByArguments,exports.default={IS_READ_ONLY:!1,parseCommand(...args2){args2[0].push("TS.INCRBY"),parseIncrByArguments(...args2)},transformReply:void 0}}),require_DECRBY2=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var INCRBY_1=__importStar(require_INCRBY4());exports.default={IS_READ_ONLY:INCRBY_1.default.IS_READ_ONLY,parseCommand(...args2){args2[0].push("TS.DECRBY"),(0,INCRBY_1.parseIncrByArguments)(...args2)},transformReply:INCRBY_1.default.transformReply}}),require_DEL4=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,fromTimestamp,toTimestamp){parser.push("TS.DEL"),parser.pushKey(key),parser.push((0,helpers_1.transformTimestampArgument)(fromTimestamp),(0,helpers_1.transformTimestampArgument)(toTimestamp))},transformReply:void 0}}),require_DELETERULE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,sourceKey,destinationKey){parser.push("TS.DELETERULE"),parser.pushKeys([sourceKey,destinationKey])},transformReply:void 0}}),require_GET3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("TS.GET"),parser.pushKey(key),options?.LATEST)parser.push("LATEST")},transformReply:{2(reply){return reply.length===0?null:{timestamp:reply[0],value:Number(reply[1])}},3(reply){return reply.length===0?null:{timestamp:reply[0],value:reply[1]}}}}}),require_INFO8=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TS.INFO"),parser.pushKey(key)},transformReply:{2:(reply,_,typeMapping)=>{let ret={};for(let i=0;i<reply.length;i+=2){let key=reply[i].toString();switch(key){case"totalSamples":case"memoryUsage":case"firstTimestamp":case"lastTimestamp":case"retentionTime":case"chunkCount":case"chunkSize":case"chunkType":case"duplicatePolicy":case"sourceKey":case"ignoreMaxTimeDiff":ret[key]=reply[i+1];break;case"labels":ret[key]=reply[i+1].map(([name,value])=>({name,value}));break;case"rules":ret[key]=reply[i+1].map(([key2,timeBucket,aggregationType])=>({key:key2,timeBucket,aggregationType}));break;case"ignoreMaxValDiff":ret[key]=generic_transformers_1.transformDoubleReply[2](reply[27],void 0,typeMapping);break}}return ret},3:void 0},unstableResp3:!0}}),require_INFO_DEBUG=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var INFO_1=__importDefault(require_INFO8());exports.default={IS_READ_ONLY:INFO_1.default.IS_READ_ONLY,parseCommand(parser,key){INFO_1.default.parseCommand(parser,key),parser.push("DEBUG")},transformReply:{2:(reply,_,typeMapping)=>{let ret=INFO_1.default.transformReply[2](reply,_,typeMapping);for(let i=0;i<reply.length;i+=2){let key=reply[i].toString();switch(key){case"keySelfName":{ret[key]=reply[i+1];break}case"Chunks":{ret.chunks=reply[i+1].map((chunk32)=>({startTimestamp:chunk32[1],endTimestamp:chunk32[3],samples:chunk32[5],size:chunk32[7],bytesPerSample:chunk32[9]}));break}}}return ret},3:void 0},unstableResp3:!0}}),require_MADD2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,toAdd){parser.push("TS.MADD");for(let{key,timestamp,value}of toAdd)parser.pushKey(key),parser.push((0,helpers_1.transformTimestampArgument)(timestamp),value.toString())},transformReply:void 0}}),require_MGET3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseFilterArgument=exports.parseLatestArgument=void 0;var helpers_1=require_helpers2();function parseLatestArgument(parser,latest){if(latest)parser.push("LATEST")}exports.parseLatestArgument=parseLatestArgument;function parseFilterArgument(parser,filter11){parser.push("FILTER"),parser.pushVariadic(filter11)}exports.parseFilterArgument=parseFilterArgument,exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,filter11,options){parser.push("TS.MGET"),parseLatestArgument(parser,options?.LATEST),parseFilterArgument(parser,filter11)},transformReply:{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([,,sample])=>{return{sample:helpers_1.transformSampleReply[2](sample)}},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([,sample])=>{return{sample:helpers_1.transformSampleReply[3](sample)}})}}}}),require_MGET_WITHLABELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTransformMGetLabelsReply=void 0;var MGET_1=require_MGET3(),helpers_1=require_helpers2();function createTransformMGetLabelsReply(){return{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([,labels,sample])=>{return{labels:(0,helpers_1.transformRESP2Labels)(labels),sample:helpers_1.transformSampleReply[2](sample)}},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([labels,sample])=>{return{labels,sample:helpers_1.transformSampleReply[3](sample)}})}}}exports.createTransformMGetLabelsReply=createTransformMGetLabelsReply,exports.default={IS_READ_ONLY:!0,parseCommand(parser,filter11,options){parser.push("TS.MGET"),(0,MGET_1.parseLatestArgument)(parser,options?.LATEST),parser.push("WITHLABELS"),(0,MGET_1.parseFilterArgument)(parser,filter11)},transformReply:createTransformMGetLabelsReply()}}),require_MGET_SELECTED_LABELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var MGET_1=require_MGET3(),helpers_1=require_helpers2(),MGET_WITHLABELS_1=require_MGET_WITHLABELS();exports.default={IS_READ_ONLY:!0,parseCommand(parser,filter11,selectedLabels,options){parser.push("TS.MGET"),(0,MGET_1.parseLatestArgument)(parser,options?.LATEST),(0,helpers_1.parseSelectedLabelsArguments)(parser,selectedLabels),(0,MGET_1.parseFilterArgument)(parser,filter11)},transformReply:(0,MGET_WITHLABELS_1.createTransformMGetLabelsReply)()}}),require_RANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformRangeArguments=exports.parseRangeArguments=exports.TIME_SERIES_BUCKET_TIMESTAMP=void 0;var helpers_1=require_helpers2();exports.TIME_SERIES_BUCKET_TIMESTAMP={LOW:"-",MIDDLE:"~",END:"+"};function parseRangeArguments(parser,fromTimestamp,toTimestamp,options){if(parser.push((0,helpers_1.transformTimestampArgument)(fromTimestamp),(0,helpers_1.transformTimestampArgument)(toTimestamp)),options?.LATEST)parser.push("LATEST");if(options?.FILTER_BY_TS){parser.push("FILTER_BY_TS");for(let timestamp of options.FILTER_BY_TS)parser.push((0,helpers_1.transformTimestampArgument)(timestamp))}if(options?.FILTER_BY_VALUE)parser.push("FILTER_BY_VALUE",options.FILTER_BY_VALUE.min.toString(),options.FILTER_BY_VALUE.max.toString());if(options?.COUNT!==void 0)parser.push("COUNT",options.COUNT.toString());if(options?.AGGREGATION){if(options?.ALIGN!==void 0)parser.push("ALIGN",(0,helpers_1.transformTimestampArgument)(options.ALIGN));if(parser.push("AGGREGATION",options.AGGREGATION.type,(0,helpers_1.transformTimestampArgument)(options.AGGREGATION.timeBucket)),options.AGGREGATION.BUCKETTIMESTAMP)parser.push("BUCKETTIMESTAMP",options.AGGREGATION.BUCKETTIMESTAMP);if(options.AGGREGATION.EMPTY)parser.push("EMPTY")}}exports.parseRangeArguments=parseRangeArguments;function transformRangeArguments(parser,key,fromTimestamp,toTimestamp,options){parser.pushKey(key),parseRangeArguments(parser,fromTimestamp,toTimestamp,options)}exports.transformRangeArguments=transformRangeArguments,exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("TS.RANGE"),transformRangeArguments(...args2)},transformReply:{2(reply){return helpers_1.transformSamplesReply[2](reply)},3(reply){return helpers_1.transformSamplesReply[3](reply)}}}}),require_MRANGE_GROUPBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.extractResp3MRangeSources=exports.createTransformMRangeGroupByArguments=exports.parseGroupByArguments=exports.TIME_SERIES_REDUCERS=void 0;var helpers_1=require_helpers2(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();exports.TIME_SERIES_REDUCERS={AVG:"AVG",SUM:"SUM",MIN:"MIN",MAX:"MAX",RANGE:"RANGE",COUNT:"COUNT",STD_P:"STD.P",STD_S:"STD.S",VAR_P:"VAR.P",VAR_S:"VAR.S"};function parseGroupByArguments(parser,groupBy3){parser.push("GROUPBY",groupBy3.label,"REDUCE",groupBy3.REDUCE)}exports.parseGroupByArguments=parseGroupByArguments;function createTransformMRangeGroupByArguments(command){return(parser,fromTimestamp,toTimestamp,filter11,groupBy3,options)=>{parser.push(command),(0,RANGE_1.parseRangeArguments)(parser,fromTimestamp,toTimestamp,options),(0,MGET_1.parseFilterArgument)(parser,filter11),parseGroupByArguments(parser,groupBy3)}}exports.createTransformMRangeGroupByArguments=createTransformMRangeGroupByArguments;function extractResp3MRangeSources(raw){let unwrappedMetadata2=raw;if(unwrappedMetadata2 instanceof Map)return unwrappedMetadata2.get("sources");else if(unwrappedMetadata2 instanceof Array)return unwrappedMetadata2[1];else return unwrappedMetadata2.sources}exports.extractResp3MRangeSources=extractResp3MRangeSources,exports.default={IS_READ_ONLY:!0,parseCommand:createTransformMRangeGroupByArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([_key,_labels,samples])=>{return{samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([_labels,_metadata1,metadata2,samples])=>{return{sources:extractResp3MRangeSources(metadata2),samples:helpers_1.transformSamplesReply[3](samples)}})}}}}),require_MRANGE_SELECTED_LABELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTransformMRangeSelectedLabelsArguments=void 0;var helpers_1=require_helpers2(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();function createTransformMRangeSelectedLabelsArguments(command){return(parser,fromTimestamp,toTimestamp,selectedLabels,filter11,options)=>{parser.push(command),(0,RANGE_1.parseRangeArguments)(parser,fromTimestamp,toTimestamp,options),(0,helpers_1.parseSelectedLabelsArguments)(parser,selectedLabels),(0,MGET_1.parseFilterArgument)(parser,filter11)}}exports.createTransformMRangeSelectedLabelsArguments=createTransformMRangeSelectedLabelsArguments,exports.default={IS_READ_ONLY:!0,parseCommand:createTransformMRangeSelectedLabelsArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([_key,labels,samples])=>{return{labels:(0,helpers_1.transformRESP2Labels)(labels,typeMapping),samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([_key,labels,samples])=>{return{labels,samples:helpers_1.transformSamplesReply[3](samples)}})}}}}),require_MRANGE_SELECTED_LABELS_GROUPBY=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createMRangeSelectedLabelsGroupByTransformArguments=void 0;var helpers_1=require_helpers2(),RANGE_1=require_RANGE(),MRANGE_GROUPBY_1=require_MRANGE_GROUPBY(),MGET_1=require_MGET3(),MRANGE_SELECTED_LABELS_1=__importDefault(require_MRANGE_SELECTED_LABELS());function createMRangeSelectedLabelsGroupByTransformArguments(command){return(parser,fromTimestamp,toTimestamp,selectedLabels,filter11,groupBy3,options)=>{parser.push(command),(0,RANGE_1.parseRangeArguments)(parser,fromTimestamp,toTimestamp,options),(0,helpers_1.parseSelectedLabelsArguments)(parser,selectedLabels),(0,MGET_1.parseFilterArgument)(parser,filter11),(0,MRANGE_GROUPBY_1.parseGroupByArguments)(parser,groupBy3)}}exports.createMRangeSelectedLabelsGroupByTransformArguments=createMRangeSelectedLabelsGroupByTransformArguments,exports.default={IS_READ_ONLY:!0,parseCommand:createMRangeSelectedLabelsGroupByTransformArguments("TS.MRANGE"),transformReply:{2:MRANGE_SELECTED_LABELS_1.default.transformReply[2],3(reply){return(0,helpers_1.resp3MapToValue)(reply,([labels,_metadata,metadata2,samples])=>{return{labels,sources:(0,MRANGE_GROUPBY_1.extractResp3MRangeSources)(metadata2),samples:helpers_1.transformSamplesReply[3](samples)}})}}}}),require_MRANGE_WITHLABELS_GROUPBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createMRangeWithLabelsGroupByTransformArguments=void 0;var helpers_1=require_helpers2(),RANGE_1=require_RANGE(),MRANGE_GROUPBY_1=require_MRANGE_GROUPBY(),MGET_1=require_MGET3();function createMRangeWithLabelsGroupByTransformArguments(command){return(parser,fromTimestamp,toTimestamp,filter11,groupBy3,options)=>{parser.push(command),(0,RANGE_1.parseRangeArguments)(parser,fromTimestamp,toTimestamp,options),parser.push("WITHLABELS"),(0,MGET_1.parseFilterArgument)(parser,filter11),(0,MRANGE_GROUPBY_1.parseGroupByArguments)(parser,groupBy3)}}exports.createMRangeWithLabelsGroupByTransformArguments=createMRangeWithLabelsGroupByTransformArguments,exports.default={IS_READ_ONLY:!0,parseCommand:createMRangeWithLabelsGroupByTransformArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([_key,labels,samples])=>{let transformed=(0,helpers_1.transformRESP2LabelsWithSources)(labels);return{labels:transformed.labels,sources:transformed.sources,samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([labels,_metadata,metadata2,samples])=>{return{labels,sources:(0,MRANGE_GROUPBY_1.extractResp3MRangeSources)(metadata2),samples:helpers_1.transformSamplesReply[3](samples)}})}}}}),require_MRANGE_WITHLABELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTransformMRangeWithLabelsArguments=void 0;var helpers_1=require_helpers2(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();function createTransformMRangeWithLabelsArguments(command){return(parser,fromTimestamp,toTimestamp,filter11,options)=>{parser.push(command),(0,RANGE_1.parseRangeArguments)(parser,fromTimestamp,toTimestamp,options),parser.push("WITHLABELS"),(0,MGET_1.parseFilterArgument)(parser,filter11)}}exports.createTransformMRangeWithLabelsArguments=createTransformMRangeWithLabelsArguments,exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:createTransformMRangeWithLabelsArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([_key,labels,samples])=>{let unwrappedLabels=labels,labelsObject=Object.create(null);for(let tuple22 of unwrappedLabels){let[key,value]=tuple22,unwrappedKey=key;labelsObject[unwrappedKey.toString()]=value}return{labels:labelsObject,samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([labels,_metadata,samples])=>{return{labels,samples:helpers_1.transformSamplesReply[3](samples)}})}}}}),require_MRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTransformMRangeArguments=void 0;var helpers_1=require_helpers2(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();function createTransformMRangeArguments(command){return(parser,fromTimestamp,toTimestamp,filter11,options)=>{parser.push(command),(0,RANGE_1.parseRangeArguments)(parser,fromTimestamp,toTimestamp,options),(0,MGET_1.parseFilterArgument)(parser,filter11)}}exports.createTransformMRangeArguments=createTransformMRangeArguments,exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:createTransformMRangeArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([_key,_labels,samples])=>{return helpers_1.transformSamplesReply[2](samples)},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([_labels,_metadata,samples])=>{return helpers_1.transformSamplesReply[3](samples)})}}}}),require_MREVRANGE_GROUPBY=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var MRANGE_GROUPBY_1=__importStar(require_MRANGE_GROUPBY());exports.default={IS_READ_ONLY:MRANGE_GROUPBY_1.default.IS_READ_ONLY,parseCommand:(0,MRANGE_GROUPBY_1.createTransformMRangeGroupByArguments)("TS.MREVRANGE"),transformReply:MRANGE_GROUPBY_1.default.transformReply}}),require_MREVRANGE_SELECTED_LABELS_GROUPBY=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var MRANGE_SELECTED_LABELS_GROUPBY_1=__importStar(require_MRANGE_SELECTED_LABELS_GROUPBY());exports.default={IS_READ_ONLY:MRANGE_SELECTED_LABELS_GROUPBY_1.default.IS_READ_ONLY,parseCommand:(0,MRANGE_SELECTED_LABELS_GROUPBY_1.createMRangeSelectedLabelsGroupByTransformArguments)("TS.MREVRANGE"),transformReply:MRANGE_SELECTED_LABELS_GROUPBY_1.default.transformReply}}),require_MREVRANGE_SELECTED_LABELS=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var MRANGE_SELECTED_LABELS_1=__importStar(require_MRANGE_SELECTED_LABELS());exports.default={IS_READ_ONLY:MRANGE_SELECTED_LABELS_1.default.IS_READ_ONLY,parseCommand:(0,MRANGE_SELECTED_LABELS_1.createTransformMRangeSelectedLabelsArguments)("TS.MREVRANGE"),transformReply:MRANGE_SELECTED_LABELS_1.default.transformReply}}),require_MREVRANGE_WITHLABELS_GROUPBY=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var MRANGE_WITHLABELS_GROUPBY_1=__importStar(require_MRANGE_WITHLABELS_GROUPBY());exports.default={IS_READ_ONLY:MRANGE_WITHLABELS_GROUPBY_1.default.IS_READ_ONLY,parseCommand:(0,MRANGE_WITHLABELS_GROUPBY_1.createMRangeWithLabelsGroupByTransformArguments)("TS.MREVRANGE"),transformReply:MRANGE_WITHLABELS_GROUPBY_1.default.transformReply}}),require_MREVRANGE_WITHLABELS=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var MRANGE_WITHLABELS_1=__importStar(require_MRANGE_WITHLABELS());exports.default={NOT_KEYED_COMMAND:MRANGE_WITHLABELS_1.default.NOT_KEYED_COMMAND,IS_READ_ONLY:MRANGE_WITHLABELS_1.default.IS_READ_ONLY,parseCommand:(0,MRANGE_WITHLABELS_1.createTransformMRangeWithLabelsArguments)("TS.MREVRANGE"),transformReply:MRANGE_WITHLABELS_1.default.transformReply}}),require_MREVRANGE=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var MRANGE_1=__importStar(require_MRANGE());exports.default={NOT_KEYED_COMMAND:MRANGE_1.default.NOT_KEYED_COMMAND,IS_READ_ONLY:MRANGE_1.default.IS_READ_ONLY,parseCommand:(0,MRANGE_1.createTransformMRangeArguments)("TS.MREVRANGE"),transformReply:MRANGE_1.default.transformReply}}),require_QUERYINDEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,filter11){parser.push("TS.QUERYINDEX"),parser.pushVariadic(filter11)},transformReply:{2:void 0,3:void 0}}}),require_REVRANGE=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var RANGE_1=__importStar(require_RANGE());exports.default={IS_READ_ONLY:RANGE_1.default.IS_READ_ONLY,parseCommand(...args2){args2[0].push("TS.REVRANGE"),(0,RANGE_1.transformRangeArguments)(...args2)},transformReply:RANGE_1.default.transformReply}}),require_commands6=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p))__createBinding(exports2,m,p)},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ADD_1=__importDefault(require_ADD5()),ALTER_1=__importDefault(require_ALTER2()),CREATE_1=__importDefault(require_CREATE3()),CREATERULE_1=__importDefault(require_CREATERULE()),DECRBY_1=__importDefault(require_DECRBY2()),DEL_1=__importDefault(require_DEL4()),DELETERULE_1=__importDefault(require_DELETERULE()),GET_1=__importDefault(require_GET3()),INCRBY_1=__importDefault(require_INCRBY4()),INFO_DEBUG_1=__importDefault(require_INFO_DEBUG()),INFO_1=__importDefault(require_INFO8()),MADD_1=__importDefault(require_MADD2()),MGET_SELECTED_LABELS_1=__importDefault(require_MGET_SELECTED_LABELS()),MGET_WITHLABELS_1=__importDefault(require_MGET_WITHLABELS()),MGET_1=__importDefault(require_MGET3()),MRANGE_GROUPBY_1=__importDefault(require_MRANGE_GROUPBY()),MRANGE_SELECTED_LABELS_GROUPBY_1=__importDefault(require_MRANGE_SELECTED_LABELS_GROUPBY()),MRANGE_SELECTED_LABELS_1=__importDefault(require_MRANGE_SELECTED_LABELS()),MRANGE_WITHLABELS_GROUPBY_1=__importDefault(require_MRANGE_WITHLABELS_GROUPBY()),MRANGE_WITHLABELS_1=__importDefault(require_MRANGE_WITHLABELS()),MRANGE_1=__importDefault(require_MRANGE()),MREVRANGE_GROUPBY_1=__importDefault(require_MREVRANGE_GROUPBY()),MREVRANGE_SELECTED_LABELS_GROUPBY_1=__importDefault(require_MREVRANGE_SELECTED_LABELS_GROUPBY()),MREVRANGE_SELECTED_LABELS_1=__importDefault(require_MREVRANGE_SELECTED_LABELS()),MREVRANGE_WITHLABELS_GROUPBY_1=__importDefault(require_MREVRANGE_WITHLABELS_GROUPBY()),MREVRANGE_WITHLABELS_1=__importDefault(require_MREVRANGE_WITHLABELS()),MREVRANGE_1=__importDefault(require_MREVRANGE()),QUERYINDEX_1=__importDefault(require_QUERYINDEX()),RANGE_1=__importDefault(require_RANGE()),REVRANGE_1=__importDefault(require_REVRANGE());__exportStar(require_helpers2(),exports),exports.default={ADD:ADD_1.default,add:ADD_1.default,ALTER:ALTER_1.default,alter:ALTER_1.default,CREATE:CREATE_1.default,create:CREATE_1.default,CREATERULE:CREATERULE_1.default,createRule:CREATERULE_1.default,DECRBY:DECRBY_1.default,decrBy:DECRBY_1.default,DEL:DEL_1.default,del:DEL_1.default,DELETERULE:DELETERULE_1.default,deleteRule:DELETERULE_1.default,GET:GET_1.default,get:GET_1.default,INCRBY:INCRBY_1.default,incrBy:INCRBY_1.default,INFO_DEBUG:INFO_DEBUG_1.default,infoDebug:INFO_DEBUG_1.default,INFO:INFO_1.default,info:INFO_1.default,MADD:MADD_1.default,mAdd:MADD_1.default,MGET_SELECTED_LABELS:MGET_SELECTED_LABELS_1.default,mGetSelectedLabels:MGET_SELECTED_LABELS_1.default,MGET_WITHLABELS:MGET_WITHLABELS_1.default,mGetWithLabels:MGET_WITHLABELS_1.default,MGET:MGET_1.default,mGet:MGET_1.default,MRANGE_GROUPBY:MRANGE_GROUPBY_1.default,mRangeGroupBy:MRANGE_GROUPBY_1.default,MRANGE_SELECTED_LABELS_GROUPBY:MRANGE_SELECTED_LABELS_GROUPBY_1.default,mRangeSelectedLabelsGroupBy:MRANGE_SELECTED_LABELS_GROUPBY_1.default,MRANGE_SELECTED_LABELS:MRANGE_SELECTED_LABELS_1.default,mRangeSelectedLabels:MRANGE_SELECTED_LABELS_1.default,MRANGE_WITHLABELS_GROUPBY:MRANGE_WITHLABELS_GROUPBY_1.default,mRangeWithLabelsGroupBy:MRANGE_WITHLABELS_GROUPBY_1.default,MRANGE_WITHLABELS:MRANGE_WITHLABELS_1.default,mRangeWithLabels:MRANGE_WITHLABELS_1.default,MRANGE:MRANGE_1.default,mRange:MRANGE_1.default,MREVRANGE_GROUPBY:MREVRANGE_GROUPBY_1.default,mRevRangeGroupBy:MREVRANGE_GROUPBY_1.default,MREVRANGE_SELECTED_LABELS_GROUPBY:MREVRANGE_SELECTED_LABELS_GROUPBY_1.default,mRevRangeSelectedLabelsGroupBy:MREVRANGE_SELECTED_LABELS_GROUPBY_1.default,MREVRANGE_SELECTED_LABELS:MREVRANGE_SELECTED_LABELS_1.default,mRevRangeSelectedLabels:MREVRANGE_SELECTED_LABELS_1.default,MREVRANGE_WITHLABELS_GROUPBY:MREVRANGE_WITHLABELS_GROUPBY_1.default,mRevRangeWithLabelsGroupBy:MREVRANGE_WITHLABELS_GROUPBY_1.default,MREVRANGE_WITHLABELS:MREVRANGE_WITHLABELS_1.default,mRevRangeWithLabels:MREVRANGE_WITHLABELS_1.default,MREVRANGE:MREVRANGE_1.default,mRevRange:MREVRANGE_1.default,QUERYINDEX:QUERYINDEX_1.default,queryIndex:QUERYINDEX_1.default,RANGE:RANGE_1.default,range:RANGE_1.default,REVRANGE:REVRANGE_1.default,revRange:REVRANGE_1.default}}),require_lib5=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TIME_SERIES_REDUCERS=exports.TIME_SERIES_BUCKET_TIMESTAMP=exports.TIME_SERIES_AGGREGATION_TYPE=exports.TIME_SERIES_DUPLICATE_POLICIES=exports.TIME_SERIES_ENCODING=exports.default=void 0;var commands_1=require_commands6();Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return __importDefault(commands_1).default}}),Object.defineProperty(exports,"TIME_SERIES_ENCODING",{enumerable:!0,get:function(){return commands_1.TIME_SERIES_ENCODING}}),Object.defineProperty(exports,"TIME_SERIES_DUPLICATE_POLICIES",{enumerable:!0,get:function(){return commands_1.TIME_SERIES_DUPLICATE_POLICIES}});var CREATERULE_1=require_CREATERULE();Object.defineProperty(exports,"TIME_SERIES_AGGREGATION_TYPE",{enumerable:!0,get:function(){return CREATERULE_1.TIME_SERIES_AGGREGATION_TYPE}});var RANGE_1=require_RANGE();Object.defineProperty(exports,"TIME_SERIES_BUCKET_TIMESTAMP",{enumerable:!0,get:function(){return RANGE_1.TIME_SERIES_BUCKET_TIMESTAMP}});var MRANGE_GROUPBY_1=require_MRANGE_GROUPBY();Object.defineProperty(exports,"TIME_SERIES_REDUCERS",{enumerable:!0,get:function(){return MRANGE_GROUPBY_1.TIME_SERIES_REDUCERS}})}),require_dist2=__commonJS((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p))__createBinding(exports2,m,p)},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createSentinel=exports.createCluster=exports.createClientPool=exports.createClient=void 0;var client_1=require_dist(),bloom_1=__importDefault(require_lib2()),json_1=__importDefault(require_lib3()),search_1=__importDefault(require_lib4()),time_series_1=__importDefault(require_lib5());__exportStar(require_dist(),exports),__exportStar(require_lib2(),exports),__exportStar(require_lib3(),exports),__exportStar(require_lib4(),exports),__exportStar(require_lib5(),exports);var modules={...bloom_1.default,json:json_1.default,ft:search_1.default,ts:time_series_1.default};function createClient(options){return(0,client_1.createClient)({...options,modules:{...modules,...options?.modules}})}exports.createClient=createClient;function createClientPool(clientOptions,options){return(0,client_1.createClientPool)({...clientOptions,modules:{...modules,...clientOptions?.modules}},options)}exports.createClientPool=createClientPool;function createCluster(options){return(0,client_1.createCluster)({...options,modules:{...modules,...options?.modules}})}exports.createCluster=createCluster;function createSentinel(options){return(0,client_1.createSentinel)({...options,modules:{...modules,...options?.modules}})}exports.createSentinel=createSentinel}),isFunction3=(input)=>typeof input==="function",dual2=function(arity,body){if(typeof arity==="function")return function(){if(arity(arguments))return body.apply(this,arguments);return(self)=>body(self,...arguments)};switch(arity){case 0:case 1:throw RangeError(`Invalid arity ${arity}`);case 2:return function(a,b){if(arguments.length>=2)return body(a,b);return function(self){return body(self,a)}};case 3:return function(a,b,c){if(arguments.length>=3)return body(a,b,c);return function(self){return body(self,a,b)}};case 4:return function(a,b,c,d){if(arguments.length>=4)return body(a,b,c,d);return function(self){return body(self,a,b,c)}};case 5:return function(a,b,c,d,e){if(arguments.length>=5)return body(a,b,c,d,e);return function(self){return body(self,a,b,c,d)}};default:return function(){if(arguments.length>=arity)return body.apply(this,arguments);let args2=arguments;return function(self){return body(self,...args2)}}}},identity5=(a)=>a,constant2=(value)=>()=>value,constTrue2=constant2(!0),constFalse2=constant2(!1),constNull2=constant2(null),constUndefined2=constant2(void 0),constVoid2=constUndefined2;function pipe2(a,ab,bc,cd,de,ef,fg,gh,hi){switch(arguments.length){case 1:return a;case 2:return ab(a);case 3:return bc(ab(a));case 4:return cd(bc(ab(a)));case 5:return de(cd(bc(ab(a))));case 6:return ef(de(cd(bc(ab(a)))));case 7:return fg(ef(de(cd(bc(ab(a))))));case 8:return gh(fg(ef(de(cd(bc(ab(a)))))));case 9:return hi(gh(fg(ef(de(cd(bc(ab(a))))))));default:{let ret=arguments[0];for(let i=1;i<arguments.length;i++)ret=arguments[i](ret);return ret}}}var make55=(isEquivalent)=>(self,that)=>self===that||isEquivalent(self,that),mapInput6=dual2(2,(self,f)=>make55((x,y)=>self(f(x),f(y)))),array6=(item)=>make55((self,that)=>{if(self.length!==that.length)return!1;for(let i=0;i<self.length;i++)if(!item(self[i],that[i]))return!1;return!0}),let_6=(map27)=>dual2(3,(self,name,f)=>map27(self,(a)=>({...a,[name]:f(a)}))),bindTo6=(map27)=>dual2(2,(self,name)=>map27(self,(a)=>({[name]:a}))),bind6=(map27,flatMap18)=>dual2(3,(self,name,f)=>flatMap18(self,(a)=>map27(f(a),(b)=>({...a,[name]:b})))),globalStore2,globalValue2=(id2,compute)=>{if(!globalStore2)globalThis["effect/GlobalValue"]??=new Map,globalStore2=globalThis["effect/GlobalValue"];if(!globalStore2.has(id2))globalStore2.set(id2,compute());return globalStore2.get(id2)},isString2=(input)=>typeof input==="string",isNumber2=(input)=>typeof input==="number",isBoolean2=(input)=>typeof input==="boolean",isBigInt2=(input)=>typeof input==="bigint",isFunction22=isFunction3,isRecordOrArray2=(input)=>typeof input==="object"&&input!==null,isObject2=(input)=>isRecordOrArray2(input)||isFunction22(input),hasProperty2=dual2(2,(self,property)=>isObject2(self)&&(property in self)),isTagged2=dual2(2,(self,tag)=>hasProperty2(self,"_tag")&&self._tag===tag),isNullable2=(input)=>input===null||input===void 0,isIterable2=(input)=>typeof input==="string"||hasProperty2(input,Symbol.iterator),isPromiseLike2=(input)=>hasProperty2(input,"then")&&isFunction22(input.then),getBugErrorMessage2=(message)=>`BUG: ${message} - please report an issue at https://github.com/Effect-TS/effect/issues`,GenKindTypeId=Symbol.for("effect/Gen/GenKind"),isGenKind=(u)=>isObject2(u)&&(GenKindTypeId in u);class GenKindImpl{value;constructor(value){this.value=value}get _F(){return identity5}get _R(){return(_)=>_}get _O(){return(_)=>_}get _E(){return(_)=>_}[GenKindTypeId]=GenKindTypeId;[Symbol.iterator](){return new SingleShotGen3(this)}}class SingleShotGen3{self;called=!1;constructor(self){this.self=self}next(a){return this.called?{value:a,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(a){return{value:a,done:!0}}throw(e){throw e}[Symbol.iterator](){return new SingleShotGen3(this.self)}}var adapter=()=>function(){let x=arguments[0];for(let i=1;i<arguments.length;i++)x=arguments[i](x);return new GenKindImpl(x)},defaultIncHi2=335903614,defaultIncLo2=4150755663,MUL_HI2=1481765933,MUL_LO2=1284865837,BIT_532=9007199254740992,BIT_272=134217728;class PCGRandom2{_state;constructor(seedHi,seedLo,incHi,incLo){if(isNullable2(seedLo)&&isNullable2(seedHi))seedLo=Math.random()*4294967295>>>0,seedHi=0;else if(isNullable2(seedLo))seedLo=seedHi,seedHi=0;if(isNullable2(incLo)&&isNullable2(incHi))incLo=this._state?this._state[3]:defaultIncLo2,incHi=this._state?this._state[2]:defaultIncHi2;else if(isNullable2(incLo))incLo=incHi,incHi=0;return this._state=new Int32Array([0,0,incHi>>>0,((incLo||0)|1)>>>0]),this._next(),add642(this._state,this._state[0],this._state[1],seedHi>>>0,seedLo>>>0),this._next(),this}getState(){return[this._state[0],this._state[1],this._state[2],this._state[3]]}setState(state){this._state[0]=state[0],this._state[1]=state[1],this._state[2]=state[2],this._state[3]=state[3]|1}integer(max6){return Math.round(this.number()*Number.MAX_SAFE_INTEGER)%max6}number(){let hi=(this._next()&67108863)*1,lo=(this._next()&134217727)*1;return(hi*BIT_272+lo)/BIT_532}_next(){let oldHi=this._state[0]>>>0,oldLo=this._state[1]>>>0;mul642(this._state,oldHi,oldLo,MUL_HI2,MUL_LO2),add642(this._state,this._state[0],this._state[1],this._state[2],this._state[3]);let xsHi=oldHi>>>18,xsLo=(oldLo>>>18|oldHi<<14)>>>0;xsHi=(xsHi^oldHi)>>>0,xsLo=(xsLo^oldLo)>>>0;let xorshifted=(xsLo>>>27|xsHi<<5)>>>0,rot=oldHi>>>27,rot2=(-rot>>>0&31)>>>0;return(xorshifted>>>rot|xorshifted<<rot2)>>>0}}function mul642(out,aHi,aLo,bHi,bLo){let c1=(aLo>>>16)*(bLo&65535)>>>0,c0=(aLo&65535)*(bLo>>>16)>>>0,lo=(aLo&65535)*(bLo&65535)>>>0,hi=(aLo>>>16)*(bLo>>>16)+((c0>>>16)+(c1>>>16))>>>0;if(c0=c0<<16>>>0,lo=lo+c0>>>0,lo>>>0<c0>>>0)hi=hi+1>>>0;if(c1=c1<<16>>>0,lo=lo+c1>>>0,lo>>>0<c1>>>0)hi=hi+1>>>0;hi=hi+Math.imul(aLo,bHi)>>>0,hi=hi+Math.imul(aHi,bLo)>>>0,out[0]=hi,out[1]=lo}function add642(out,aHi,aLo,bHi,bLo){let hi=aHi+bHi>>>0,lo=aLo+bLo>>>0;if(lo>>>0<aLo>>>0)hi=hi+1|0;out[0]=hi,out[1]=lo}var YieldWrapTypeId2=Symbol.for("effect/Utils/YieldWrap");class YieldWrap2{#value;constructor(value){this.#value=value}[YieldWrapTypeId2](){return this.#value}}function yieldWrapGet2(self){if(typeof self==="object"&&self!==null&&YieldWrapTypeId2 in self)return self[YieldWrapTypeId2]();throw Error(getBugErrorMessage2("yieldWrapGet"))}var structuralRegionState2=globalValue2("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0})),standard2={effect_internal_function:(body)=>{return body()}},forced2={effect_internal_function:(body)=>{try{return body()}finally{}}},isNotOptimizedAway2=standard2.effect_internal_function(()=>Error().stack)?.includes("effect_internal_function")===!0,internalCall2=isNotOptimizedAway2?standard2.effect_internal_function:forced2.effect_internal_function,genConstructor2=function*(){}.constructor,isGeneratorFunction2=(u)=>isObject2(u)&&u.constructor===genConstructor2,randomHashCache2=globalValue2(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),symbol3=Symbol.for("effect/Hash"),hash2=(self)=>{if(structuralRegionState2.enabled===!0)return 0;switch(typeof self){case"number":return number6(self);case"bigint":return string4(self.toString(10));case"boolean":return string4(String(self));case"symbol":return string4(String(self));case"string":return string4(self);case"undefined":return string4("undefined");case"function":case"object":if(self===null)return string4("null");else if(self instanceof Date)return hash2(self.toISOString());else if(self instanceof URL)return hash2(self.href);else if(isHash2(self))return self[symbol3]();else return random4(self);default:throw Error(`BUG: unhandled typeof ${typeof self} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},random4=(self)=>{if(!randomHashCache2.has(self))randomHashCache2.set(self,number6(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return randomHashCache2.get(self)},combine11=(b)=>(self)=>self*53^b,optimize2=(n)=>n&3221225471|n>>>1&1073741824,isHash2=(u)=>hasProperty2(u,symbol3),number6=(n)=>{if(n!==n||n===1/0)return 0;let h=n|0;if(h!==n)h^=n*4294967295;while(n>4294967295)h^=n/=4294967295;return optimize2(h)},string4=(str)=>{let h=5381,i=str.length;while(i)h=h*33^str.charCodeAt(--i);return optimize2(h)},structureKeys2=(o,keys3)=>{let h=12289;for(let i=0;i<keys3.length;i++)h^=pipe2(string4(keys3[i]),combine11(hash2(o[keys3[i]])));return optimize2(h)},structure2=(o)=>structureKeys2(o,Object.keys(o)),array22=(arr)=>{let h=6151;for(let i=0;i<arr.length;i++)h=pipe2(h,combine11(hash2(arr[i])));return optimize2(h)},cached4=function(){if(arguments.length===1){let self2=arguments[0];return function(hash3){return Object.defineProperty(self2,symbol3,{value(){return hash3},enumerable:!1}),hash3}}let self=arguments[0],hash22=arguments[1];return Object.defineProperty(self,symbol3,{value(){return hash22},enumerable:!1}),hash22},symbol22=Symbol.for("effect/Equal");function equals4(){if(arguments.length===1)return(self)=>compareBoth2(self,arguments[0]);return compareBoth2(arguments[0],arguments[1])}function compareBoth2(self,that){if(self===that)return!0;let selfType=typeof self;if(selfType!==typeof that)return!1;if(selfType==="object"||selfType==="function"){if(self!==null&&that!==null){if(isEqual2(self)&&isEqual2(that))if(hash2(self)===hash2(that)&&self[symbol22](that))return!0;else return structuralRegionState2.enabled&&structuralRegionState2.tester?structuralRegionState2.tester(self,that):!1;else if(self instanceof Date&&that instanceof Date)return self.toISOString()===that.toISOString();else if(self instanceof URL&&that instanceof URL)return self.href===that.href}if(structuralRegionState2.enabled){if(Array.isArray(self)&&Array.isArray(that))return self.length===that.length&&self.every((v,i)=>compareBoth2(v,that[i]));if(Object.getPrototypeOf(self)===Object.prototype&&Object.getPrototypeOf(self)===Object.prototype){let keysSelf=Object.keys(self),keysThat=Object.keys(that);if(keysSelf.length===keysThat.length){for(let key of keysSelf)if(!((key in that)&&compareBoth2(self[key],that[key])))return structuralRegionState2.tester?structuralRegionState2.tester(self,that):!1;return!0}}return structuralRegionState2.tester?structuralRegionState2.tester(self,that):!1}}return structuralRegionState2.enabled&&structuralRegionState2.tester?structuralRegionState2.tester(self,that):!1}var isEqual2=(u)=>hasProperty2(u,symbol22),equivalence2=()=>equals4,NodeInspectSymbol2=Symbol.for("nodejs.util.inspect.custom"),toJSON2=(x)=>{try{if(hasProperty2(x,"toJSON")&&isFunction22(x.toJSON)&&x.toJSON.length===0)return x.toJSON();else if(Array.isArray(x))return x.map(toJSON2)}catch{return{}}return redact2(x)},format4=(x)=>JSON.stringify(x,null,2),BaseProto2={toJSON(){return toJSON2(this)},[NodeInspectSymbol2](){return this.toJSON()},toString(){return format4(this.toJSON())}},toStringUnknown2=(u,whitespace=2)=>{if(typeof u==="string")return u;try{return typeof u==="object"?stringifyCircular2(u,whitespace):String(u)}catch{return String(u)}},stringifyCircular2=(obj,whitespace)=>{let cache=[],retVal=JSON.stringify(obj,(_key,value)=>typeof value==="object"&&value!==null?cache.includes(value)?void 0:cache.push(value)&&(redactableState2.fiberRefs!==void 0&&isRedactable2(value)?value[symbolRedactable2](redactableState2.fiberRefs):value):value,whitespace);return cache=void 0,retVal},symbolRedactable2=Symbol.for("effect/Inspectable/Redactable"),isRedactable2=(u)=>typeof u==="object"&&u!==null&&(symbolRedactable2 in u),redactableState2=globalValue2("effect/Inspectable/redactableState",()=>({fiberRefs:void 0})),withRedactableContext2=(context7,f)=>{let prev=redactableState2.fiberRefs;redactableState2.fiberRefs=context7;try{return f()}finally{redactableState2.fiberRefs=prev}},redact2=(u)=>{if(isRedactable2(u)&&redactableState2.fiberRefs!==void 0)return u[symbolRedactable2](redactableState2.fiberRefs);return u},pipeArguments2=(self,args2)=>{switch(args2.length){case 0:return self;case 1:return args2[0](self);case 2:return args2[1](args2[0](self));case 3:return args2[2](args2[1](args2[0](self)));case 4:return args2[3](args2[2](args2[1](args2[0](self))));case 5:return args2[4](args2[3](args2[2](args2[1](args2[0](self)))));case 6:return args2[5](args2[4](args2[3](args2[2](args2[1](args2[0](self))))));case 7:return args2[6](args2[5](args2[4](args2[3](args2[2](args2[1](args2[0](self)))))));case 8:return args2[7](args2[6](args2[5](args2[4](args2[3](args2[2](args2[1](args2[0](self))))))));case 9:return args2[8](args2[7](args2[6](args2[5](args2[4](args2[3](args2[2](args2[1](args2[0](self)))))))));default:{let ret=self;for(let i=0,len=args2.length;i<len;i++)ret=args2[i](ret);return ret}}},OP_ASYNC2="Async",OP_COMMIT2="Commit",OP_FAILURE2="Failure",OP_ON_FAILURE3="OnFailure",OP_ON_SUCCESS3="OnSuccess",OP_ON_SUCCESS_AND_FAILURE2="OnSuccessAndFailure",OP_SUCCESS2="Success",OP_SYNC3="Sync",OP_TAG2="Tag",OP_UPDATE_RUNTIME_FLAGS2="UpdateRuntimeFlags",OP_WHILE2="While",OP_ITERATOR2="Iterator",OP_WITH_RUNTIME2="WithRuntime",OP_YIELD3="Yield",OP_REVERT_FLAGS2="RevertFlags",moduleVersion2="3.19.9",getCurrentVersion2=()=>moduleVersion2,EffectTypeId4=Symbol.for("effect/Effect"),StreamTypeId4=Symbol.for("effect/Stream"),SinkTypeId3=Symbol.for("effect/Sink"),ChannelTypeId3=Symbol.for("effect/Channel"),effectVariance2={_R:(_)=>_,_E:(_)=>_,_A:(_)=>_,_V:getCurrentVersion2()},sinkVariance3={_A:(_)=>_,_In:(_)=>_,_L:(_)=>_,_E:(_)=>_,_R:(_)=>_},channelVariance3={_Env:(_)=>_,_InErr:(_)=>_,_InElem:(_)=>_,_InDone:(_)=>_,_OutErr:(_)=>_,_OutElem:(_)=>_,_OutDone:(_)=>_},EffectPrototype3={[EffectTypeId4]:effectVariance2,[StreamTypeId4]:effectVariance2,[SinkTypeId3]:sinkVariance3,[ChannelTypeId3]:channelVariance3,[symbol22](that){return this===that},[symbol3](){return cached4(this,random4(this))},[Symbol.iterator](){return new SingleShotGen3(new YieldWrap2(this))},pipe(){return pipeArguments2(this,arguments)}},StructuralPrototype2={[symbol3](){return cached4(this,structure2(this))},[symbol22](that){let selfKeys=Object.keys(this),thatKeys=Object.keys(that);if(selfKeys.length!==thatKeys.length)return!1;for(let key of selfKeys)if(!((key in that)&&equals4(this[key],that[key])))return!1;return!0}},CommitPrototype3={...EffectPrototype3,_op:OP_COMMIT2},StructuralCommitPrototype2={...CommitPrototype3,...StructuralPrototype2},Base3=function(){function Base22(){}return Base22.prototype=CommitPrototype3,Base22}(),TypeId19=Symbol.for("effect/Option"),CommonProto3={...EffectPrototype3,[TypeId19]:{_A:(_)=>_},[NodeInspectSymbol2](){return this.toJSON()},toString(){return format4(this.toJSON())}},SomeProto2=Object.assign(Object.create(CommonProto3),{_tag:"Some",_op:"Some",[symbol22](that){return isOption2(that)&&isSome3(that)&&equals4(this.value,that.value)},[symbol3](){return cached4(this,combine11(hash2(this._tag))(hash2(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:toJSON2(this.value)}}}),NoneHash2=hash2("None"),NoneProto2=Object.assign(Object.create(CommonProto3),{_tag:"None",_op:"None",[symbol22](that){return isOption2(that)&&isNone4(that)},[symbol3](){return NoneHash2},toJSON(){return{_id:"Option",_tag:this._tag}}}),isOption2=(input)=>hasProperty2(input,TypeId19),isNone4=(fa)=>fa._tag==="None",isSome3=(fa)=>fa._tag==="Some",none10=Object.create(NoneProto2),some7=(value)=>{let a=Object.create(SomeProto2);return a.value=value,a},TypeId22=Symbol.for("effect/Either"),CommonProto22={...EffectPrototype3,[TypeId22]:{_R:(_)=>_},[NodeInspectSymbol2](){return this.toJSON()},toString(){return format4(this.toJSON())}},RightProto2=Object.assign(Object.create(CommonProto22),{_tag:"Right",_op:"Right",[symbol22](that){return isEither3(that)&&isRight4(that)&&equals4(this.right,that.right)},[symbol3](){return combine11(hash2(this._tag))(hash2(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:toJSON2(this.right)}}}),LeftProto2=Object.assign(Object.create(CommonProto22),{_tag:"Left",_op:"Left",[symbol22](that){return isEither3(that)&&isLeft4(that)&&equals4(this.left,that.left)},[symbol3](){return combine11(hash2(this._tag))(hash2(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:toJSON2(this.left)}}}),isEither3=(input)=>hasProperty2(input,TypeId22),isLeft4=(ma)=>ma._tag==="Left",isRight4=(ma)=>ma._tag==="Right",left3=(left22)=>{let a=Object.create(LeftProto2);return a.left=left22,a},right3=(right22)=>{let a=Object.create(RightProto2);return a.right=right22,a},getLeft2=(self)=>isRight4(self)?none10:some7(self.left),getRight2=(self)=>isLeft4(self)?none10:some7(self.right),right22=right3,left22=left3,isLeft22=isLeft4,isRight22=isRight4,match19=dual2(2,(self,{onLeft,onRight})=>isLeft22(self)?onLeft(self.left):onRight(self.right)),merge11=match19({onLeft:identity5,onRight:identity5}),isNonEmptyArray3=(self)=>self.length>0,exports_Option2={};__export2(exports_Option2,{zipWith:()=>zipWith15,zipRight:()=>zipRight12,zipLeft:()=>zipLeft9,void:()=>void_9,toRefinement:()=>toRefinement,toArray:()=>toArray4,tap:()=>tap8,some:()=>some22,reduceCompact:()=>reduceCompact,productMany:()=>productMany,product:()=>product,partitionMap:()=>partitionMap3,orElseSome:()=>orElseSome2,orElseEither:()=>orElseEither5,orElse:()=>orElse12,none:()=>none22,mergeWith:()=>mergeWith5,match:()=>match22,map:()=>map27,liftThrowable:()=>liftThrowable2,liftPredicate:()=>liftPredicate4,liftNullable:()=>liftNullable,lift2:()=>lift2,let:()=>let_22,isSome:()=>isSome22,isOption:()=>isOption22,isNone:()=>isNone22,getRight:()=>getRight22,getOrder:()=>getOrder,getOrUndefined:()=>getOrUndefined2,getOrThrowWith:()=>getOrThrowWith3,getOrThrow:()=>getOrThrow2,getOrNull:()=>getOrNull,getOrElse:()=>getOrElse6,getLeft:()=>getLeft22,getEquivalence:()=>getEquivalence4,gen:()=>gen3,fromNullable:()=>fromNullable4,fromIterable:()=>fromIterable11,flatten:()=>flatten14,flatMapNullable:()=>flatMapNullable,flatMap:()=>flatMap18,firstSomeOf:()=>firstSomeOf,filterMap:()=>filterMap8,filter:()=>filter10,exists:()=>exists3,containsWith:()=>containsWith3,contains:()=>contains4,composeK:()=>composeK,bindTo:()=>bindTo22,bind:()=>bind22,asVoid:()=>asVoid5,as:()=>as10,ap:()=>ap2,andThen:()=>andThen7,all:()=>all9,TypeId:()=>TypeId32,Do:()=>Do5});var make210=(compare)=>(self,that)=>self===that?0:compare(self,that),number22=make210((self,that)=>self<that?-1:1),mapInput22=dual2(2,(self,f)=>make210((b1,b2)=>self(f(b1),f(b2)))),greaterThan4=(O)=>dual2(2,(self,that)=>O(self,that)===1),TypeId32=Symbol.for("effect/Option"),none22=()=>none10,some22=some7,isOption22=isOption2,isNone22=isNone4,isSome22=isSome3,match22=dual2(2,(self,{onNone,onSome})=>isNone22(self)?onNone():onSome(self.value)),toRefinement=(f)=>(a)=>isSome22(f(a)),fromIterable11=(collection)=>{for(let a of collection)return some22(a);return none22()},getRight22=getRight2,getLeft22=getLeft2,getOrElse6=dual2(2,(self,onNone)=>isNone22(self)?onNone():self.value),orElse12=dual2(2,(self,that)=>isNone22(self)?that():self),orElseSome2=dual2(2,(self,onNone)=>isNone22(self)?some22(onNone()):self),orElseEither5=dual2(2,(self,that)=>isNone22(self)?map27(that(),right3):map27(self,left3)),firstSomeOf=(collection)=>{let out=none22();for(out of collection)if(isSome22(out))return out;return out},fromNullable4=(nullableValue)=>nullableValue==null?none22():some22(nullableValue),liftNullable=(f)=>(...a)=>fromNullable4(f(...a)),getOrNull=getOrElse6(constNull2),getOrUndefined2=getOrElse6(constUndefined2),liftThrowable2=(f)=>(...a)=>{try{return some22(f(...a))}catch{return none22()}},getOrThrowWith3=dual2(2,(self,onNone)=>{if(isSome22(self))return self.value;throw onNone()}),getOrThrow2=getOrThrowWith3(()=>Error("getOrThrow called on a None")),map27=dual2(2,(self,f)=>isNone22(self)?none22():some22(f(self.value))),as10=dual2(2,(self,b)=>map27(self,()=>b)),asVoid5=as10(void 0),void_9=some22(void 0),flatMap18=dual2(2,(self,f)=>isNone22(self)?none22():f(self.value)),andThen7=dual2(2,(self,f)=>flatMap18(self,(a)=>{let b=isFunction3(f)?f(a):f;return isOption22(b)?b:some22(b)})),flatMapNullable=dual2(2,(self,f)=>isNone22(self)?none22():fromNullable4(f(self.value))),flatten14=flatMap18(identity5),zipRight12=dual2(2,(self,that)=>flatMap18(self,()=>that)),zipLeft9=dual2(2,(self,that)=>tap8(self,()=>that)),composeK=dual2(2,(afb,bfc)=>(a)=>flatMap18(afb(a),bfc)),tap8=dual2(2,(self,f)=>flatMap18(self,(a)=>map27(f(a),()=>a))),product=(self,that)=>isSome22(self)&&isSome22(that)?some22([self.value,that.value]):none22(),productMany=(self,collection)=>{if(isNone22(self))return none22();let out=[self.value];for(let o of collection){if(isNone22(o))return none22();out.push(o.value)}return some22(out)},all9=(input)=>{if(Symbol.iterator in input){let out2=[];for(let o of input){if(isNone22(o))return none22();out2.push(o.value)}return some22(out2)}let out={};for(let key of Object.keys(input)){let o=input[key];if(isNone22(o))return none22();out[key]=o.value}return some22(out)},zipWith15=dual2(3,(self,that,f)=>map27(product(self,that),([a,b])=>f(a,b))),ap2=dual2(2,(self,that)=>zipWith15(self,that,(f,a)=>f(a))),reduceCompact=dual2(3,(self,b,f)=>{let out=b;for(let oa of self)if(isSome22(oa))out=f(out,oa.value);return out}),toArray4=(self)=>isNone22(self)?[]:[self.value],partitionMap3=dual2(2,(self,f)=>{if(isNone22(self))return[none22(),none22()];let e=f(self.value);return isLeft4(e)?[some22(e.left),none22()]:[none22(),some22(e.right)]}),filterMap8=flatMap18,filter10=dual2(2,(self,predicate)=>filterMap8(self,(b)=>predicate(b)?some7(b):none10)),getEquivalence4=(isEquivalent)=>make55((x,y)=>isNone22(x)?isNone22(y):isNone22(y)?!1:isEquivalent(x.value,y.value)),getOrder=(O)=>make210((self,that)=>isSome22(self)?isSome22(that)?O(self.value,that.value):1:-1),lift2=(f)=>dual2(2,(self,that)=>zipWith15(self,that,f)),liftPredicate4=dual2(2,(b,predicate)=>predicate(b)?some22(b):none22()),containsWith3=(isEquivalent)=>dual2(2,(self,a)=>isNone22(self)?!1:isEquivalent(self.value,a)),_equivalence5=equivalence2(),contains4=containsWith3(_equivalence5),exists3=dual2(2,(self,refinement)=>isNone22(self)?!1:refinement(self.value)),bindTo22=bindTo6(map27),let_22=let_6(map27),bind22=bind6(map27,flatMap18),Do5=some22({}),adapter2=adapter(),gen3=(...args2)=>{let iterator=(args2.length===1?args2[0]:args2[1].bind(args2[0]))(adapter2),state=iterator.next();while(!state.done){let current2=isGenKind(state.value)?state.value.value:yieldWrapGet2(state.value);if(isNone22(current2))return current2;state=iterator.next(current2.value)}return some22(state.value)},mergeWith5=(f)=>(o1,o2)=>{if(isNone22(o1))return o2;else if(isNone22(o2))return o1;return some22(f(o1.value,o2.value))},make310=(...elements)=>elements,findFirst7=dual2(2,(self,f)=>{let i=0;for(let a of self){let o=f(a,i);if(isBoolean2(o)){if(o)return some22(a)}else if(isSome22(o))return o;i++}return none22()}),constEmpty2={[Symbol.iterator](){return constEmptyIterator2}},constEmptyIterator2={next(){return{done:!0,value:void 0}}},allocate2=(n)=>Array(n),makeBy3=dual2(2,(n,f)=>{let max6=Math.max(1,Math.floor(n)),out=Array(max6);for(let i=0;i<max6;i++)out[i]=f(i);return out}),fromIterable22=(collection)=>Array.isArray(collection)?collection:Array.from(collection),ensure2=(self)=>Array.isArray(self)?self:[self],prepend6=dual2(2,(self,head6)=>[head6,...self]),append4=dual2(2,(self,last4)=>[...self,last4]),appendAll4=dual2(2,(self,that)=>fromIterable22(self).concat(fromIterable22(that))),isEmptyArray2=(self)=>self.length===0,isEmptyReadonlyArray2=isEmptyArray2,isNonEmptyArray22=isNonEmptyArray3,isNonEmptyReadonlyArray2=isNonEmptyArray3,isOutOfBounds2=(i,as22)=>i<0||i>=as22.length,clamp4=(i,as22)=>Math.floor(Math.min(Math.max(0,i),as22.length)),get17=dual2(2,(self,index)=>{let i=Math.floor(index);return isOutOfBounds2(i,self)?none22():some22(self[i])}),unsafeGet8=dual2(2,(self,index)=>{let i=Math.floor(index);if(isOutOfBounds2(i,self))throw Error(`Index ${i} out of bounds`);return self[i]}),head6=get17(0),headNonEmpty3=unsafeGet8(0),last4=(self)=>isNonEmptyReadonlyArray2(self)?some22(lastNonEmpty2(self)):none22(),lastNonEmpty2=(self)=>self[self.length-1],tailNonEmpty3=(self)=>self.slice(1),spanIndex2=(self,predicate)=>{let i=0;for(let a of self){if(!predicate(a,i))break;i++}return i},span4=dual2(2,(self,predicate)=>splitAt3(self,spanIndex2(self,predicate))),drop5=dual2(2,(self,n)=>{let input=fromIterable22(self);return input.slice(clamp4(n,input),input.length)}),findFirstIndex2=dual2(2,(self,predicate)=>{let i=0;for(let a of self){if(predicate(a,i))return some22(i);i++}return none22()}),findLastIndex2=dual2(2,(self,predicate)=>{let input=fromIterable22(self);for(let i=input.length-1;i>=0;i--)if(predicate(input[i],i))return some22(i);return none22()}),findFirst22=findFirst7,findLast2=dual2(2,(self,f)=>{let input=fromIterable22(self);for(let i=input.length-1;i>=0;i--){let a=input[i],o=f(a,i);if(isBoolean2(o)){if(o)return some22(a)}else if(isSome22(o))return o}return none22()}),modify5=dual2(3,(self,i,f)=>{let out=Array.from(self);if(isOutOfBounds2(i,out))return out;let b=f(out[i]);return out[i]=b,out}),remove7=dual2(2,(self,i)=>{let out=Array.from(self);if(isOutOfBounds2(i,out))return out;return out.splice(i,1),out}),reverse4=(self)=>Array.from(self).reverse(),sort2=dual2(2,(self,O)=>{let out=Array.from(self);return out.sort(O),out}),zip12=dual2(2,(self,that)=>zipWith22(self,that,make310)),zipWith22=dual2(3,(self,that,f)=>{let as22=fromIterable22(self),bs=fromIterable22(that);if(isNonEmptyReadonlyArray2(as22)&&isNonEmptyReadonlyArray2(bs)){let out=[f(headNonEmpty3(as22),headNonEmpty3(bs))],len=Math.min(as22.length,bs.length);for(let i=1;i<len;i++)out[i]=f(as22[i],bs[i]);return out}return[]}),unzip2=(self)=>{let input=fromIterable22(self);if(isNonEmptyReadonlyArray2(input)){let fa=[input[0][0]],fb=[input[0][1]];for(let i=1;i<input.length;i++)fa[i]=input[i][0],fb[i]=input[i][1];return[fa,fb]}return[[],[]]},containsWith22=(isEquivalent)=>dual2(2,(self,a)=>{for(let i of self)if(isEquivalent(a,i))return!0;return!1}),_equivalence22=equivalence2(),contains22=containsWith22(_equivalence22),splitAt3=dual2(2,(self,n)=>{let input=Array.from(self),_n=Math.floor(n);if(isNonEmptyReadonlyArray2(input)){if(_n>=1)return splitNonEmptyAt2(input,_n);return[[],input]}return[input,[]]}),splitNonEmptyAt2=dual2(2,(self,n)=>{let _n=Math.max(1,Math.floor(n));return _n>=self.length?[copy4(self),[]]:[prepend6(self.slice(1,_n),headNonEmpty3(self)),self.slice(_n)]}),copy4=(self)=>self.slice(),unionWith4=dual2(3,(self,that,isEquivalent)=>{let a=fromIterable22(self),b=fromIterable22(that);if(isNonEmptyReadonlyArray2(a)){if(isNonEmptyReadonlyArray2(b))return dedupeWith2(isEquivalent)(appendAll4(a,b));return a}return b}),union10=dual2(2,(self,that)=>unionWith4(self,that,_equivalence22)),intersectionWith=(isEquivalent)=>{let has5=containsWith22(isEquivalent);return dual2(2,(self,that)=>{let bs=fromIterable22(that);return fromIterable22(self).filter((a)=>has5(bs,a))})},intersection3=intersectionWith(_equivalence22),differenceWith2=(isEquivalent)=>{let has5=containsWith22(isEquivalent);return dual2(2,(self,that)=>{let bs=fromIterable22(that);return fromIterable22(self).filter((a)=>!has5(bs,a))})},difference4=differenceWith2(_equivalence22),empty31=()=>[],of6=(a)=>[a],map28=dual2(2,(self,f)=>self.map(f)),flatMap22=dual2(2,(self,f)=>{if(isEmptyReadonlyArray2(self))return[];let out=[];for(let i=0;i<self.length;i++){let inner=f(self[i],i);for(let j=0;j<inner.length;j++)out.push(inner[j])}return out}),flatten22=flatMap22(identity5),filterMap22=dual2(2,(self,f)=>{let as22=fromIterable22(self),out=[];for(let i=0;i<as22.length;i++){let o=f(as22[i],i);if(isSome22(o))out.push(o.value)}return out}),filterMapWhile5=dual2(2,(self,f)=>{let i=0,out=[];for(let a of self){let b=f(a,i);if(isSome22(b))out.push(b.value);else break;i++}return out}),partitionMap22=dual2(2,(self,f)=>{let left32=[],right32=[],as22=fromIterable22(self);for(let i=0;i<as22.length;i++){let e=f(as22[i],i);if(isLeft22(e))left32.push(e.left);else right32.push(e.right)}return[left32,right32]}),getSomes2=filterMap22(identity5),filter22=dual2(2,(self,predicate)=>{let as22=fromIterable22(self),out=[];for(let i=0;i<as22.length;i++)if(predicate(as22[i],i))out.push(as22[i]);return out}),partition7=dual2(2,(self,predicate)=>{let left32=[],right32=[],as22=fromIterable22(self);for(let i=0;i<as22.length;i++)if(predicate(as22[i],i))right32.push(as22[i]);else left32.push(as22[i]);return[left32,right32]}),separate2=partitionMap22(identity5),reduce13=dual2(3,(self,b,f)=>fromIterable22(self).reduce((b2,a,i)=>f(b2,a,i),b)),reduceRight5=dual2(3,(self,b,f)=>fromIterable22(self).reduceRight((b2,a,i)=>f(b2,a,i),b)),every7=dual2(2,(self,refinement)=>self.every(refinement)),unfold6=(b,f)=>{let out=[],next4=b,o;while(isSome22(o=f(next4))){let[a,b2]=o.value;out.push(a),next4=b2}return out},getEquivalence22=array6,dedupeWith2=dual2(2,(self,isEquivalent)=>{let input=fromIterable22(self);if(isNonEmptyReadonlyArray2(input)){let out=[headNonEmpty3(input)],rest=tailNonEmpty3(input);for(let r of rest)if(out.every((a)=>!isEquivalent(r,a)))out.push(r);return out}return[]}),dedupe2=(self)=>dedupeWith2(self,equivalence2()),dedupeAdjacentWith=dual2(2,(self,isEquivalent)=>{let out=[],lastA=none22();for(let a of self)if(isNone22(lastA)||!isEquivalent(a,lastA.value))out.push(a),lastA=some22(a);return out}),dedupeAdjacent2=dedupeAdjacentWith(equivalence2()),join4=dual2(2,(self,sep)=>fromIterable22(self).join(sep)),mapAccum7=dual2(3,(self,s,f)=>{let i=0,s1=s,out=[];for(let a of self){let r=f(s1,a,i);s1=r[0],out.push(r[1]),i++}return[s1,out]}),Order5=number22,nextPow22=(n)=>{let nextPow=Math.ceil(Math.log(n)/Math.log(2));return Math.max(Math.pow(2,nextPow),2)},escape2=(string22)=>string22.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&"),not2=(self)=>!self,exports_Context2={};__export2(exports_Context2,{unsafeMake:()=>unsafeMake11,unsafeGet:()=>unsafeGet32,pick:()=>pick22,omit:()=>omit22,mergeAll:()=>mergeAll22,merge:()=>merge32,make:()=>make56,isTag:()=>isTag22,isReference:()=>isReference22,isContext:()=>isContext22,getOrElse:()=>getOrElse32,getOption:()=>getOption22,get:()=>get32,empty:()=>empty32,add:()=>add22,TagTypeId:()=>TagTypeId22,Tag:()=>Tag22,ReferenceTypeId:()=>ReferenceTypeId22,Reference:()=>Reference22,GenericTag:()=>GenericTag2});var TagTypeId3=Symbol.for("effect/Context/Tag"),ReferenceTypeId3=Symbol.for("effect/Context/Reference"),STMSymbolKey3="effect/STM",STMTypeId3=Symbol.for(STMSymbolKey3),TagProto2={...EffectPrototype3,_op:"Tag",[STMTypeId3]:effectVariance2,[TagTypeId3]:{_Service:(_)=>_,_Identifier:(_)=>_},toString(){return format4(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[NodeInspectSymbol2](){return this.toJSON()},of(self){return self},context(self){return make410(this,self)}},ReferenceProto2={...TagProto2,[ReferenceTypeId3]:ReferenceTypeId3},makeGenericTag2=(key)=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=Error();Error.stackTraceLimit=limit;let tag=Object.create(TagProto2);return Object.defineProperty(tag,"stack",{get(){return creationError.stack}}),tag.key=key,tag},Tag4=(id2)=>()=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=Error();Error.stackTraceLimit=limit;function TagClass(){}return Object.setPrototypeOf(TagClass,TagProto2),TagClass.key=id2,Object.defineProperty(TagClass,"stack",{get(){return creationError.stack}}),TagClass},Reference3=()=>(id2,options)=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=Error();Error.stackTraceLimit=limit;function ReferenceClass(){}return Object.setPrototypeOf(ReferenceClass,ReferenceProto2),ReferenceClass.key=id2,ReferenceClass.defaultValue=options.defaultValue,Object.defineProperty(ReferenceClass,"stack",{get(){return creationError.stack}}),ReferenceClass},TypeId42=Symbol.for("effect/Context"),ContextProto2={[TypeId42]:{_Services:(_)=>_},[symbol22](that){if(isContext3(that)){if(this.unsafeMap.size===that.unsafeMap.size){for(let k of this.unsafeMap.keys())if(!that.unsafeMap.has(k)||!equals4(this.unsafeMap.get(k),that.unsafeMap.get(k)))return!1;return!0}}return!1},[symbol3](){return cached4(this,number6(this.unsafeMap.size))},pipe(){return pipeArguments2(this,arguments)},toString(){return format4(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(toJSON2)}},[NodeInspectSymbol2](){return this.toJSON()}},makeContext2=(unsafeMap)=>{let context7=Object.create(ContextProto2);return context7.unsafeMap=unsafeMap,context7},serviceNotFoundError2=(tag)=>{let error3=Error(`Service not found${tag.key?`: ${String(tag.key)}`:""}`);if(tag.stack){let lines=tag.stack.split(`
|
|
73
|
+
`),getEffectVersion=()=>{try{return require_package().version||"unknown"}catch{return"unknown"}},showVersion=()=>{let info3=getVersionInfo(),effectVersion=getEffectVersion(),timestampLine=info3.isDevTimestamp?"Compiled: (development build)":`Compiled: ${info3.timestamp} (UTC)`;return exports_Console.log(`redistail ${BUILD_VERSION}
|
|
74
|
+
Build: ${BUILD_COMMIT}
|
|
75
|
+
${timestampLine}
|
|
76
|
+
Effect: ${effectVersion}`)},cliConfigServiceImpl={parseArgs:parseCommandLineArgs,loadConfig:loadRedistailConfig,showHelp,showVersion},CLIConfigServiceLive=exports_Layer.succeed(CLIConfigService,cliConfigServiceImpl);var DisplayServiceTag=exports_Context.GenericTag("@redistail/DisplayService"),COLORS={RESET:"\x1B[0m",TIMESTAMP:"\x1B[90m",PUBSUB_CHANNEL:"\x1B[36m",STREAM_INFO:"\x1B[35m",FIELD_KEY:"\x1B[33m",CONTENT:"\x1B[37m",ERROR:"\x1B[31m"},formatTimestamp=(date3)=>date3.toISOString().replace("T"," ").replace("Z",""),tryPrettyPrintJson=(content,prettyJson)=>{if(!prettyJson)return content;try{let parsed=JSON.parse(content);return JSON.stringify(parsed,null,2)}catch{return content}},escapeNonPrintable=(content)=>{let chars=[];for(let i=0;i<=31;i++)chars.push(String.fromCharCode(i));for(let i=127;i<=159;i++)chars.push(String.fromCharCode(i));let nonPrintableRegex=new RegExp(`[${chars.join("")}]`,"g");return content.replace(nonPrintableRegex,(char)=>{return`\\x${char.charCodeAt(0).toString(16).padStart(2,"0")}`})},colorize=(text,color,enabled2)=>enabled2?`${color}${text}${COLORS.RESET}`:text,isBinaryContent=(content)=>{if(content.includes("\x00"))return!0;let chars=[];for(let i=0;i<=31;i++)chars.push(String.fromCharCode(i));for(let i=127;i<=159;i++)chars.push(String.fromCharCode(i));let nonPrintableRegex=new RegExp(`[${chars.join("")}]`,"g");return(content.match(nonPrintableRegex)||[]).length/content.length>0.1},formatContent=(content,prettyJson,colors2)=>{let safeContent=isBinaryContent(content)?escapeNonPrintable(content):content,formattedContent=tryPrettyPrintJson(safeContent,prettyJson);return colorize(formattedContent,COLORS.CONTENT,colors2)},createDisplayService=(config2)=>({formatPubSubMessage:(message)=>exports_Effect.sync(()=>{let parts2=[];if(config2.display.timestamps){let timestamp=formatTimestamp(message.timestamp);parts2.push(colorize(timestamp,COLORS.TIMESTAMP,config2.display.colors))}let channel=`[${message.channel}]`;parts2.push(colorize(channel,COLORS.PUBSUB_CHANNEL,config2.display.colors));let content=formatContent(message.content,config2.display.prettyJson,config2.display.colors);return parts2.push(content),parts2.join(" ")}),formatStreamMessage:(message)=>exports_Effect.sync(()=>{let parts2=[];if(config2.display.timestamps){let timestamp=formatTimestamp(message.timestamp);parts2.push(colorize(timestamp,COLORS.TIMESTAMP,config2.display.colors))}let streamInfo=`[${message.streamKey}:${message.entryId}]`;parts2.push(colorize(streamInfo,COLORS.STREAM_INFO,config2.display.colors));let fieldPairs=Object.entries(message.fields).map(([key,value])=>{let coloredKey=colorize(key,COLORS.FIELD_KEY,config2.display.colors),formattedValue=formatContent(value,config2.display.prettyJson,config2.display.colors);return`${coloredKey}=${formattedValue}`});if(fieldPairs.length>0)parts2.push(fieldPairs.join(" "));return parts2.join(" ")}),formatError:(error3)=>exports_Effect.sync(()=>{let errorMessage=`ERROR: ${error3.message}`;return colorize(errorMessage,COLORS.ERROR,config2.display.colors)}),outputMessage:(formatted)=>exports_Console.log(formatted),outputError:(error3)=>exports_Console.error(error3)});var DisplayServiceLive=exports_Layer.effect(DisplayServiceTag,exports_Effect.sync(()=>{let defaultConfig=RedistailConfig({redis:{host:"127.0.0.1",port:6379,timeout:5000,retryAttempts:3,retryDelay:1000},display:{colors:!0,timestamps:!0,prettyJson:!0},monitoring:{blockTimeout:5000,maxReconnectAttempts:5}});return createDisplayService(defaultConfig)})),createTestDisplayService=(config2)=>createDisplayService(config2);import{createRequire as createRequire2}from"node:module";var __create=Object.create,{getPrototypeOf:__getProtoOf,defineProperty:__defProp2,getOwnPropertyNames:__getOwnPropNames}=Object,__hasOwnProp=Object.prototype.hasOwnProperty,__toESM=(mod,isNodeMode,target)=>{target=mod!=null?__create(__getProtoOf(mod)):{};let to=isNodeMode||!mod||!mod.__esModule?__defProp2(target,"default",{value:mod,enumerable:!0}):target;for(let key of __getOwnPropNames(mod))if(!__hasOwnProp.call(to,key))__defProp2(to,key,{get:()=>mod[key],enumerable:!0});return to},__commonJS2=(cb,mod)=>()=>(mod||cb((mod={exports:{}}).exports,mod),mod.exports),__export2=(target,all9)=>{for(var name in all9)__defProp2(target,name,{get:all9[name],enumerable:!0,configurable:!0,set:(newValue)=>all9[name]=()=>newValue})},__require2=createRequire2(import.meta.url),require_verbatim_string=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.VerbatimString=void 0;class VerbatimString extends String{format;constructor(format4,value){super(value);this.format=format4}}exports.VerbatimString=VerbatimString}),require_errors=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.MultiErrorReply=exports.CommandTimeoutDuringMaintenanceError=exports.SocketTimeoutDuringMaintenanceError=exports.TimeoutError=exports.BlobError=exports.SimpleError=exports.ErrorReply=exports.ReconnectStrategyError=exports.RootNodesUnavailableError=exports.SocketClosedUnexpectedlyError=exports.DisconnectsClientError=exports.ClientOfflineError=exports.ClientClosedError=exports.SocketTimeoutError=exports.ConnectionTimeoutError=exports.WatchError=exports.AbortError=void 0;class AbortError extends Error{constructor(){super("The command was aborted")}}exports.AbortError=AbortError;class WatchError extends Error{constructor(message="One (or more) of the watched keys has been changed"){super(message)}}exports.WatchError=WatchError;class ConnectionTimeoutError extends Error{constructor(){super("Connection timeout")}}exports.ConnectionTimeoutError=ConnectionTimeoutError;class SocketTimeoutError extends Error{constructor(timeout5){super(`Socket timeout timeout. Expecting data, but didn't receive any in ${timeout5}ms.`)}}exports.SocketTimeoutError=SocketTimeoutError;class ClientClosedError extends Error{constructor(){super("The client is closed")}}exports.ClientClosedError=ClientClosedError;class ClientOfflineError extends Error{constructor(){super("The client is offline")}}exports.ClientOfflineError=ClientOfflineError;class DisconnectsClientError extends Error{constructor(){super("Disconnects client")}}exports.DisconnectsClientError=DisconnectsClientError;class SocketClosedUnexpectedlyError extends Error{constructor(){super("Socket closed unexpectedly")}}exports.SocketClosedUnexpectedlyError=SocketClosedUnexpectedlyError;class RootNodesUnavailableError extends Error{constructor(){super("All the root nodes are unavailable")}}exports.RootNodesUnavailableError=RootNodesUnavailableError;class ReconnectStrategyError extends Error{originalError;socketError;constructor(originalError,socketError){super(originalError.message);this.originalError=originalError,this.socketError=socketError}}exports.ReconnectStrategyError=ReconnectStrategyError;class ErrorReply extends Error{}exports.ErrorReply=ErrorReply;class SimpleError extends ErrorReply{}exports.SimpleError=SimpleError;class BlobError extends ErrorReply{}exports.BlobError=BlobError;class TimeoutError extends Error{}exports.TimeoutError=TimeoutError;class SocketTimeoutDuringMaintenanceError extends TimeoutError{constructor(timeout5){super(`Socket timeout during maintenance. Expecting data, but didn't receive any in ${timeout5}ms.`)}}exports.SocketTimeoutDuringMaintenanceError=SocketTimeoutDuringMaintenanceError;class CommandTimeoutDuringMaintenanceError extends TimeoutError{constructor(timeout5){super(`Command timeout during maintenance. Waited to write command for more than ${timeout5}ms.`)}}exports.CommandTimeoutDuringMaintenanceError=CommandTimeoutDuringMaintenanceError;class MultiErrorReply extends ErrorReply{replies;errorIndexes;constructor(replies,errorIndexes){super(`${errorIndexes.length} commands failed, see .replies and .errorIndexes for more information`);this.replies=replies,this.errorIndexes=errorIndexes}*errors(){for(let index of this.errorIndexes)yield this.replies[index]}}exports.MultiErrorReply=MultiErrorReply}),require_decoder=__commonJS2((exports)=>{var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.Decoder=exports.PUSH_TYPE_MAPPING=exports.RESP_TYPES=void 0;var verbatim_string_1=require_verbatim_string(),errors_1=require_errors();exports.RESP_TYPES={NULL:95,BOOLEAN:35,NUMBER:58,BIG_NUMBER:40,DOUBLE:44,SIMPLE_STRING:43,BLOB_STRING:36,VERBATIM_STRING:61,SIMPLE_ERROR:45,BLOB_ERROR:33,ARRAY:42,SET:126,MAP:37,PUSH:62};var ASCII={"\r":13,t:116,"+":43,"-":45,"0":48,".":46,i:105,n:110,E:69,e:101};exports.PUSH_TYPE_MAPPING={[exports.RESP_TYPES.BLOB_STRING]:Buffer};class Decoder{onReply;onErrorReply;onPush;getTypeMapping;#cursor=0;#next;constructor(config2){this.onReply=config2.onReply,this.onErrorReply=config2.onErrorReply,this.onPush=config2.onPush,this.getTypeMapping=config2.getTypeMapping}reset(){this.#cursor=0,this.#next=void 0}write(chunk32){if(this.#cursor>=chunk32.length){this.#cursor-=chunk32.length;return}if(this.#next){if(this.#next(chunk32)||this.#cursor>=chunk32.length){this.#cursor-=chunk32.length;return}}do{let type=chunk32[this.#cursor];if(++this.#cursor===chunk32.length){this.#next=this.#continueDecodeTypeValue.bind(this,type);break}if(this.#decodeTypeValue(type,chunk32))break}while(this.#cursor<chunk32.length);this.#cursor-=chunk32.length}#continueDecodeTypeValue(type,chunk32){return this.#next=void 0,this.#decodeTypeValue(type,chunk32)}#decodeTypeValue(type,chunk32){switch(type){case exports.RESP_TYPES.NULL:return this.onReply(this.#decodeNull()),!1;case exports.RESP_TYPES.BOOLEAN:return this.#handleDecodedValue(this.onReply,this.#decodeBoolean(chunk32));case exports.RESP_TYPES.NUMBER:return this.#handleDecodedValue(this.onReply,this.#decodeNumber(this.getTypeMapping()[exports.RESP_TYPES.NUMBER],chunk32));case exports.RESP_TYPES.BIG_NUMBER:return this.#handleDecodedValue(this.onReply,this.#decodeBigNumber(this.getTypeMapping()[exports.RESP_TYPES.BIG_NUMBER],chunk32));case exports.RESP_TYPES.DOUBLE:return this.#handleDecodedValue(this.onReply,this.#decodeDouble(this.getTypeMapping()[exports.RESP_TYPES.DOUBLE],chunk32));case exports.RESP_TYPES.SIMPLE_STRING:return this.#handleDecodedValue(this.onReply,this.#decodeSimpleString(this.getTypeMapping()[exports.RESP_TYPES.SIMPLE_STRING],chunk32));case exports.RESP_TYPES.BLOB_STRING:return this.#handleDecodedValue(this.onReply,this.#decodeBlobString(this.getTypeMapping()[exports.RESP_TYPES.BLOB_STRING],chunk32));case exports.RESP_TYPES.VERBATIM_STRING:return this.#handleDecodedValue(this.onReply,this.#decodeVerbatimString(this.getTypeMapping()[exports.RESP_TYPES.VERBATIM_STRING],chunk32));case exports.RESP_TYPES.SIMPLE_ERROR:return this.#handleDecodedValue(this.onErrorReply,this.#decodeSimpleError(chunk32));case exports.RESP_TYPES.BLOB_ERROR:return this.#handleDecodedValue(this.onErrorReply,this.#decodeBlobError(chunk32));case exports.RESP_TYPES.ARRAY:return this.#handleDecodedValue(this.onReply,this.#decodeArray(this.getTypeMapping(),chunk32));case exports.RESP_TYPES.SET:return this.#handleDecodedValue(this.onReply,this.#decodeSet(this.getTypeMapping(),chunk32));case exports.RESP_TYPES.MAP:return this.#handleDecodedValue(this.onReply,this.#decodeMap(this.getTypeMapping(),chunk32));case exports.RESP_TYPES.PUSH:return this.#handleDecodedValue(this.onPush,this.#decodeArray(exports.PUSH_TYPE_MAPPING,chunk32));default:throw Error(`Unknown RESP type ${type} "${String.fromCharCode(type)}"`)}}#handleDecodedValue(cb,value){if(typeof value==="function")return this.#next=this.#continueDecodeValue.bind(this,cb,value),!0;return cb(value),!1}#continueDecodeValue(cb,next4,chunk32){return this.#next=void 0,this.#handleDecodedValue(cb,next4(chunk32))}#decodeNull(){return this.#cursor+=2,null}#decodeBoolean(chunk32){let boolean3=chunk32[this.#cursor]===ASCII.t;return this.#cursor+=3,boolean3}#decodeNumber(type,chunk32){if(type===String)return this.#decodeSimpleString(String,chunk32);switch(chunk32[this.#cursor]){case ASCII["+"]:return this.#maybeDecodeNumberValue(!1,chunk32);case ASCII["-"]:return this.#maybeDecodeNumberValue(!0,chunk32);default:return this.#decodeNumberValue(!1,this.#decodeUnsingedNumber.bind(this,0),chunk32)}}#maybeDecodeNumberValue(isNegative,chunk32){let cb=this.#decodeUnsingedNumber.bind(this,0);return++this.#cursor===chunk32.length?this.#decodeNumberValue.bind(this,isNegative,cb):this.#decodeNumberValue(isNegative,cb,chunk32)}#decodeNumberValue(isNegative,numberCb,chunk32){let number32=numberCb(chunk32);return typeof number32==="function"?this.#decodeNumberValue.bind(this,isNegative,number32):isNegative?-number32:number32}#decodeUnsingedNumber(number32,chunk32){let cursor=this.#cursor;do{let byte=chunk32[cursor];if(byte===ASCII["\r"])return this.#cursor=cursor+2,number32;number32=number32*10+byte-ASCII["0"]}while(++cursor<chunk32.length);return this.#cursor=cursor,this.#decodeUnsingedNumber.bind(this,number32)}#decodeBigNumber(type,chunk32){if(type===String)return this.#decodeSimpleString(String,chunk32);switch(chunk32[this.#cursor]){case ASCII["+"]:return this.#maybeDecodeBigNumberValue(!1,chunk32);case ASCII["-"]:return this.#maybeDecodeBigNumberValue(!0,chunk32);default:return this.#decodeBigNumberValue(!1,this.#decodeUnsingedBigNumber.bind(this,0n),chunk32)}}#maybeDecodeBigNumberValue(isNegative,chunk32){let cb=this.#decodeUnsingedBigNumber.bind(this,0n);return++this.#cursor===chunk32.length?this.#decodeBigNumberValue.bind(this,isNegative,cb):this.#decodeBigNumberValue(isNegative,cb,chunk32)}#decodeBigNumberValue(isNegative,bigNumberCb,chunk32){let bigNumber=bigNumberCb(chunk32);return typeof bigNumber==="function"?this.#decodeBigNumberValue.bind(this,isNegative,bigNumber):isNegative?-bigNumber:bigNumber}#decodeUnsingedBigNumber(bigNumber,chunk32){let cursor=this.#cursor;do{let byte=chunk32[cursor];if(byte===ASCII["\r"])return this.#cursor=cursor+2,bigNumber;bigNumber=bigNumber*10n+BigInt(byte-ASCII["0"])}while(++cursor<chunk32.length);return this.#cursor=cursor,this.#decodeUnsingedBigNumber.bind(this,bigNumber)}#decodeDouble(type,chunk32){if(type===String)return this.#decodeSimpleString(String,chunk32);switch(chunk32[this.#cursor]){case ASCII.n:return this.#cursor+=5,NaN;case ASCII["+"]:return this.#maybeDecodeDoubleInteger(!1,chunk32);case ASCII["-"]:return this.#maybeDecodeDoubleInteger(!0,chunk32);default:return this.#decodeDoubleInteger(!1,0,chunk32)}}#maybeDecodeDoubleInteger(isNegative,chunk32){return++this.#cursor===chunk32.length?this.#decodeDoubleInteger.bind(this,isNegative,0):this.#decodeDoubleInteger(isNegative,0,chunk32)}#decodeDoubleInteger(isNegative,integer3,chunk32){if(chunk32[this.#cursor]===ASCII.i)return this.#cursor+=5,isNegative?-1/0:1/0;return this.#continueDecodeDoubleInteger(isNegative,integer3,chunk32)}#continueDecodeDoubleInteger(isNegative,integer3,chunk32){let cursor=this.#cursor;do{let byte=chunk32[cursor];switch(byte){case ASCII["."]:return this.#cursor=cursor+1,this.#cursor<chunk32.length?this.#decodeDoubleDecimal(isNegative,0,integer3,chunk32):this.#decodeDoubleDecimal.bind(this,isNegative,0,integer3);case ASCII.E:case ASCII.e:this.#cursor=cursor+1;let i=isNegative?-integer3:integer3;return this.#cursor<chunk32.length?this.#decodeDoubleExponent(i,chunk32):this.#decodeDoubleExponent.bind(this,i);case ASCII["\r"]:return this.#cursor=cursor+2,isNegative?-integer3:integer3;default:integer3=integer3*10+byte-ASCII["0"]}}while(++cursor<chunk32.length);return this.#cursor=cursor,this.#continueDecodeDoubleInteger.bind(this,isNegative,integer3)}static#DOUBLE_DECIMAL_MULTIPLIERS=[0.1,0.01,0.001,0.0001,0.00001,0.000001,0.0000001,0.00000001,0.000000001,0.0000000001,0.00000000001,0.000000000001,0.0000000000001,0.00000000000001,0.000000000000001,0.0000000000000001,0.00000000000000001];#decodeDoubleDecimal(isNegative,decimalIndex,double,chunk32){let cursor=this.#cursor;do{let byte=chunk32[cursor];switch(byte){case ASCII.E:case ASCII.e:this.#cursor=cursor+1;let d=isNegative?-double:double;return this.#cursor===chunk32.length?this.#decodeDoubleExponent.bind(this,d):this.#decodeDoubleExponent(d,chunk32);case ASCII["\r"]:return this.#cursor=cursor+2,isNegative?-double:double}if(decimalIndex<_a.#DOUBLE_DECIMAL_MULTIPLIERS.length)double+=(byte-ASCII["0"])*_a.#DOUBLE_DECIMAL_MULTIPLIERS[decimalIndex++]}while(++cursor<chunk32.length);return this.#cursor=cursor,this.#decodeDoubleDecimal.bind(this,isNegative,decimalIndex,double)}#decodeDoubleExponent(double,chunk32){switch(chunk32[this.#cursor]){case ASCII["+"]:return++this.#cursor===chunk32.length?this.#continueDecodeDoubleExponent.bind(this,!1,double,0):this.#continueDecodeDoubleExponent(!1,double,0,chunk32);case ASCII["-"]:return++this.#cursor===chunk32.length?this.#continueDecodeDoubleExponent.bind(this,!0,double,0):this.#continueDecodeDoubleExponent(!0,double,0,chunk32)}return this.#continueDecodeDoubleExponent(!1,double,0,chunk32)}#continueDecodeDoubleExponent(isNegative,double,exponent,chunk32){let cursor=this.#cursor;do{let byte=chunk32[cursor];if(byte===ASCII["\r"])return this.#cursor=cursor+2,double*10**(isNegative?-exponent:exponent);exponent=exponent*10+byte-ASCII["0"]}while(++cursor<chunk32.length);return this.#cursor=cursor,this.#continueDecodeDoubleExponent.bind(this,isNegative,double,exponent)}#findCRLF(chunk32,cursor){while(chunk32[cursor]!==ASCII["\r"])if(++cursor===chunk32.length)return this.#cursor=chunk32.length,-1;return this.#cursor=cursor+2,cursor}#decodeSimpleString(type,chunk32){let start3=this.#cursor,crlfIndex=this.#findCRLF(chunk32,start3);if(crlfIndex===-1)return this.#continueDecodeSimpleString.bind(this,[chunk32.subarray(start3)],type);let slice=chunk32.subarray(start3,crlfIndex);return type===Buffer?slice:slice.toString()}#continueDecodeSimpleString(chunks3,type,chunk32){let start3=this.#cursor,crlfIndex=this.#findCRLF(chunk32,start3);if(crlfIndex===-1)return chunks3.push(chunk32.subarray(start3)),this.#continueDecodeSimpleString.bind(this,chunks3,type);chunks3.push(chunk32.subarray(start3,crlfIndex));let buffer3=Buffer.concat(chunks3);return type===Buffer?buffer3:buffer3.toString()}#decodeBlobString(type,chunk32){if(chunk32[this.#cursor]===ASCII["-"])return this.#cursor+=4,null;let length3=this.#decodeUnsingedNumber(0,chunk32);if(typeof length3==="function")return this.#continueDecodeBlobStringLength.bind(this,length3,type);else if(this.#cursor>=chunk32.length)return this.#decodeBlobStringWithLength.bind(this,length3,type);return this.#decodeBlobStringWithLength(length3,type,chunk32)}#continueDecodeBlobStringLength(lengthCb,type,chunk32){let length3=lengthCb(chunk32);if(typeof length3==="function")return this.#continueDecodeBlobStringLength.bind(this,length3,type);else if(this.#cursor>=chunk32.length)return this.#decodeBlobStringWithLength.bind(this,length3,type);return this.#decodeBlobStringWithLength(length3,type,chunk32)}#decodeStringWithLength(length3,skip,type,chunk32){let end6=this.#cursor+length3;if(end6>=chunk32.length){let slice2=chunk32.subarray(this.#cursor);return this.#cursor=chunk32.length,this.#continueDecodeStringWithLength.bind(this,length3-slice2.length,[slice2],skip,type)}let slice=chunk32.subarray(this.#cursor,end6);return this.#cursor=end6+skip,type===Buffer?slice:slice.toString()}#continueDecodeStringWithLength(length3,chunks3,skip,type,chunk32){let end6=this.#cursor+length3;if(end6>=chunk32.length){let slice=chunk32.subarray(this.#cursor);return chunks3.push(slice),this.#cursor=chunk32.length,this.#continueDecodeStringWithLength.bind(this,length3-slice.length,chunks3,skip,type)}chunks3.push(chunk32.subarray(this.#cursor,end6)),this.#cursor=end6+skip;let buffer3=Buffer.concat(chunks3);return type===Buffer?buffer3:buffer3.toString()}#decodeBlobStringWithLength(length3,type,chunk32){return this.#decodeStringWithLength(length3,2,type,chunk32)}#decodeVerbatimString(type,chunk32){return this.#continueDecodeVerbatimStringLength(this.#decodeUnsingedNumber.bind(this,0),type,chunk32)}#continueDecodeVerbatimStringLength(lengthCb,type,chunk32){let length3=lengthCb(chunk32);return typeof length3==="function"?this.#continueDecodeVerbatimStringLength.bind(this,length3,type):this.#decodeVerbatimStringWithLength(length3,type,chunk32)}#decodeVerbatimStringWithLength(length3,type,chunk32){let stringLength=length3-4;if(type===verbatim_string_1.VerbatimString)return this.#decodeVerbatimStringFormat(stringLength,chunk32);return this.#cursor+=4,this.#cursor>=chunk32.length?this.#decodeBlobStringWithLength.bind(this,stringLength,type):this.#decodeBlobStringWithLength(stringLength,type,chunk32)}#decodeVerbatimStringFormat(stringLength,chunk32){let formatCb=this.#decodeStringWithLength.bind(this,3,1,String);return this.#cursor>=chunk32.length?this.#continueDecodeVerbatimStringFormat.bind(this,stringLength,formatCb):this.#continueDecodeVerbatimStringFormat(stringLength,formatCb,chunk32)}#continueDecodeVerbatimStringFormat(stringLength,formatCb,chunk32){let format4=formatCb(chunk32);return typeof format4==="function"?this.#continueDecodeVerbatimStringFormat.bind(this,stringLength,format4):this.#decodeVerbatimStringWithFormat(stringLength,format4,chunk32)}#decodeVerbatimStringWithFormat(stringLength,format4,chunk32){return this.#continueDecodeVerbatimStringWithFormat(format4,this.#decodeBlobStringWithLength.bind(this,stringLength,String),chunk32)}#continueDecodeVerbatimStringWithFormat(format4,stringCb,chunk32){let string22=stringCb(chunk32);return typeof string22==="function"?this.#continueDecodeVerbatimStringWithFormat.bind(this,format4,string22):new verbatim_string_1.VerbatimString(format4,string22)}#decodeSimpleError(chunk32){let string22=this.#decodeSimpleString(String,chunk32);return typeof string22==="function"?this.#continueDecodeSimpleError.bind(this,string22):new errors_1.SimpleError(string22)}#continueDecodeSimpleError(stringCb,chunk32){let string22=stringCb(chunk32);return typeof string22==="function"?this.#continueDecodeSimpleError.bind(this,string22):new errors_1.SimpleError(string22)}#decodeBlobError(chunk32){let string22=this.#decodeBlobString(String,chunk32);return typeof string22==="function"?this.#continueDecodeBlobError.bind(this,string22):new errors_1.BlobError(string22)}#continueDecodeBlobError(stringCb,chunk32){let string22=stringCb(chunk32);return typeof string22==="function"?this.#continueDecodeBlobError.bind(this,string22):new errors_1.BlobError(string22)}#decodeNestedType(typeMapping,chunk32){let type=chunk32[this.#cursor];return++this.#cursor===chunk32.length?this.#decodeNestedTypeValue.bind(this,type,typeMapping):this.#decodeNestedTypeValue(type,typeMapping,chunk32)}#decodeNestedTypeValue(type,typeMapping,chunk32){switch(type){case exports.RESP_TYPES.NULL:return this.#decodeNull();case exports.RESP_TYPES.BOOLEAN:return this.#decodeBoolean(chunk32);case exports.RESP_TYPES.NUMBER:return this.#decodeNumber(typeMapping[exports.RESP_TYPES.NUMBER],chunk32);case exports.RESP_TYPES.BIG_NUMBER:return this.#decodeBigNumber(typeMapping[exports.RESP_TYPES.BIG_NUMBER],chunk32);case exports.RESP_TYPES.DOUBLE:return this.#decodeDouble(typeMapping[exports.RESP_TYPES.DOUBLE],chunk32);case exports.RESP_TYPES.SIMPLE_STRING:return this.#decodeSimpleString(typeMapping[exports.RESP_TYPES.SIMPLE_STRING],chunk32);case exports.RESP_TYPES.BLOB_STRING:return this.#decodeBlobString(typeMapping[exports.RESP_TYPES.BLOB_STRING],chunk32);case exports.RESP_TYPES.VERBATIM_STRING:return this.#decodeVerbatimString(typeMapping[exports.RESP_TYPES.VERBATIM_STRING],chunk32);case exports.RESP_TYPES.SIMPLE_ERROR:return this.#decodeSimpleError(chunk32);case exports.RESP_TYPES.BLOB_ERROR:return this.#decodeBlobError(chunk32);case exports.RESP_TYPES.ARRAY:return this.#decodeArray(typeMapping,chunk32);case exports.RESP_TYPES.SET:return this.#decodeSet(typeMapping,chunk32);case exports.RESP_TYPES.MAP:return this.#decodeMap(typeMapping,chunk32);default:throw Error(`Unknown RESP type ${type} "${String.fromCharCode(type)}"`)}}#decodeArray(typeMapping,chunk32){if(chunk32[this.#cursor]===ASCII["-"])return this.#cursor+=4,null;return this.#decodeArrayWithLength(this.#decodeUnsingedNumber(0,chunk32),typeMapping,chunk32)}#decodeArrayWithLength(length3,typeMapping,chunk32){return typeof length3==="function"?this.#continueDecodeArrayLength.bind(this,length3,typeMapping):this.#decodeArrayItems(Array(length3),0,typeMapping,chunk32)}#continueDecodeArrayLength(lengthCb,typeMapping,chunk32){return this.#decodeArrayWithLength(lengthCb(chunk32),typeMapping,chunk32)}#decodeArrayItems(array42,filled,typeMapping,chunk32){for(let i=filled;i<array42.length;i++){if(this.#cursor>=chunk32.length)return this.#decodeArrayItems.bind(this,array42,i,typeMapping);let item=this.#decodeNestedType(typeMapping,chunk32);if(typeof item==="function")return this.#continueDecodeArrayItems.bind(this,array42,i,item,typeMapping);array42[i]=item}return array42}#continueDecodeArrayItems(array42,filled,itemCb,typeMapping,chunk32){let item=itemCb(chunk32);if(typeof item==="function")return this.#continueDecodeArrayItems.bind(this,array42,filled,item,typeMapping);return array42[filled++]=item,this.#decodeArrayItems(array42,filled,typeMapping,chunk32)}#decodeSet(typeMapping,chunk32){let length3=this.#decodeUnsingedNumber(0,chunk32);if(typeof length3==="function")return this.#continueDecodeSetLength.bind(this,length3,typeMapping);return this.#decodeSetItems(length3,typeMapping,chunk32)}#continueDecodeSetLength(lengthCb,typeMapping,chunk32){let length3=lengthCb(chunk32);return typeof length3==="function"?this.#continueDecodeSetLength.bind(this,length3,typeMapping):this.#decodeSetItems(length3,typeMapping,chunk32)}#decodeSetItems(length3,typeMapping,chunk32){return typeMapping[exports.RESP_TYPES.SET]===Set?this.#decodeSetAsSet(new Set,length3,typeMapping,chunk32):this.#decodeArrayItems(Array(length3),0,typeMapping,chunk32)}#decodeSetAsSet(set8,remaining,typeMapping,chunk32){while(remaining>0){if(this.#cursor>=chunk32.length)return this.#decodeSetAsSet.bind(this,set8,remaining,typeMapping);let item=this.#decodeNestedType(typeMapping,chunk32);if(typeof item==="function")return this.#continueDecodeSetAsSet.bind(this,set8,remaining,item,typeMapping);set8.add(item),--remaining}return set8}#continueDecodeSetAsSet(set8,remaining,itemCb,typeMapping,chunk32){let item=itemCb(chunk32);if(typeof item==="function")return this.#continueDecodeSetAsSet.bind(this,set8,remaining,item,typeMapping);return set8.add(item),this.#decodeSetAsSet(set8,remaining-1,typeMapping,chunk32)}#decodeMap(typeMapping,chunk32){let length3=this.#decodeUnsingedNumber(0,chunk32);if(typeof length3==="function")return this.#continueDecodeMapLength.bind(this,length3,typeMapping);return this.#decodeMapItems(length3,typeMapping,chunk32)}#continueDecodeMapLength(lengthCb,typeMapping,chunk32){let length3=lengthCb(chunk32);return typeof length3==="function"?this.#continueDecodeMapLength.bind(this,length3,typeMapping):this.#decodeMapItems(length3,typeMapping,chunk32)}#decodeMapItems(length3,typeMapping,chunk32){switch(typeMapping[exports.RESP_TYPES.MAP]){case Map:return this.#decodeMapAsMap(new Map,length3,typeMapping,chunk32);case Array:return this.#decodeArrayItems(Array(length3*2),0,typeMapping,chunk32);default:return this.#decodeMapAsObject(Object.create(null),length3,typeMapping,chunk32)}}#decodeMapAsMap(map222,remaining,typeMapping,chunk32){while(remaining>0){if(this.#cursor>=chunk32.length)return this.#decodeMapAsMap.bind(this,map222,remaining,typeMapping);let key=this.#decodeMapKey(typeMapping,chunk32);if(typeof key==="function")return this.#continueDecodeMapKey.bind(this,map222,remaining,key,typeMapping);if(this.#cursor>=chunk32.length)return this.#continueDecodeMapValue.bind(this,map222,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value=this.#decodeNestedType(typeMapping,chunk32);if(typeof value==="function")return this.#continueDecodeMapValue.bind(this,map222,remaining,key,value,typeMapping);map222.set(key,value),--remaining}return map222}#decodeMapKey(typeMapping,chunk32){let type=chunk32[this.#cursor];return++this.#cursor===chunk32.length?this.#decodeMapKeyValue.bind(this,type,typeMapping):this.#decodeMapKeyValue(type,typeMapping,chunk32)}#decodeMapKeyValue(type,typeMapping,chunk32){switch(type){case exports.RESP_TYPES.SIMPLE_STRING:return this.#decodeSimpleString(String,chunk32);case exports.RESP_TYPES.BLOB_STRING:return this.#decodeBlobString(String,chunk32);default:return this.#decodeNestedTypeValue(type,typeMapping,chunk32)}}#continueDecodeMapKey(map222,remaining,keyCb,typeMapping,chunk32){let key=keyCb(chunk32);if(typeof key==="function")return this.#continueDecodeMapKey.bind(this,map222,remaining,key,typeMapping);if(this.#cursor>=chunk32.length)return this.#continueDecodeMapValue.bind(this,map222,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value=this.#decodeNestedType(typeMapping,chunk32);if(typeof value==="function")return this.#continueDecodeMapValue.bind(this,map222,remaining,key,value,typeMapping);return map222.set(key,value),this.#decodeMapAsMap(map222,remaining-1,typeMapping,chunk32)}#continueDecodeMapValue(map222,remaining,key,valueCb,typeMapping,chunk32){let value=valueCb(chunk32);if(typeof value==="function")return this.#continueDecodeMapValue.bind(this,map222,remaining,key,value,typeMapping);return map222.set(key,value),this.#decodeMapAsMap(map222,remaining-1,typeMapping,chunk32)}#decodeMapAsObject(object,remaining,typeMapping,chunk32){while(remaining>0){if(this.#cursor>=chunk32.length)return this.#decodeMapAsObject.bind(this,object,remaining,typeMapping);let key=this.#decodeMapKey(typeMapping,chunk32);if(typeof key==="function")return this.#continueDecodeMapAsObjectKey.bind(this,object,remaining,key,typeMapping);if(this.#cursor>=chunk32.length)return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value=this.#decodeNestedType(typeMapping,chunk32);if(typeof value==="function")return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,value,typeMapping);object[key]=value,--remaining}return object}#continueDecodeMapAsObjectKey(object,remaining,keyCb,typeMapping,chunk32){let key=keyCb(chunk32);if(typeof key==="function")return this.#continueDecodeMapAsObjectKey.bind(this,object,remaining,key,typeMapping);if(this.#cursor>=chunk32.length)return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value=this.#decodeNestedType(typeMapping,chunk32);if(typeof value==="function")return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,value,typeMapping);return object[key]=value,this.#decodeMapAsObject(object,remaining-1,typeMapping,chunk32)}#continueDecodeMapAsObjectValue(object,remaining,key,valueCb,typeMapping,chunk32){let value=valueCb(chunk32);if(typeof value==="function")return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,value,typeMapping);return object[key]=value,this.#decodeMapAsObject(object,remaining-1,typeMapping,chunk32)}}exports.Decoder=Decoder,_a=Decoder}),require_lua_script=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.scriptSha1=exports.defineScript=void 0;var node_crypto_1=__require2("node:crypto");function defineScript(script){return{...script,SHA1:scriptSha1(script.SCRIPT)}}exports.defineScript=defineScript;function scriptSha1(script){return(0,node_crypto_1.createHash)("sha1").update(script).digest("hex")}exports.scriptSha1=scriptSha1}),require_ACL_CAT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,categoryName){if(parser.push("ACL","CAT"),categoryName)parser.push(categoryName)},transformReply:void 0}}),require_ACL_DELUSER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,username){parser.push("ACL","DELUSER"),parser.pushVariadic(username)},transformReply:void 0}}),require_ACL_DRYRUN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,username,command){parser.push("ACL","DRYRUN",username,...command)},transformReply:void 0}}),require_ACL_GENPASS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,bits){if(parser.push("ACL","GENPASS"),bits)parser.push(bits.toString())},transformReply:void 0}}),require_ACL_GETUSER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,username){parser.push("ACL","GETUSER",username)},transformReply:{2:(reply)=>({flags:reply[1],passwords:reply[3],commands:reply[5],keys:reply[7],channels:reply[9],selectors:reply[11]?.map((selector)=>{let inferred=selector;return{commands:inferred[1],keys:inferred[3],channels:inferred[5]}})}),3:void 0}}}),require_ACL_LIST=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("ACL","LIST")},transformReply:void 0}}),require_ACL_LOAD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("ACL","LOAD")},transformReply:void 0}}),require_parser=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.BasicCommandParser=void 0;class BasicCommandParser{#redisArgs=[];#keys=[];preserve;get redisArgs(){return this.#redisArgs}get keys(){return this.#keys}get firstKey(){return this.#keys[0]}get cacheKey(){let tmp=Array(this.#redisArgs.length*2);for(let i=0;i<this.#redisArgs.length;i++)tmp[i]=this.#redisArgs[i].length,tmp[i+this.#redisArgs.length]=this.#redisArgs[i];return tmp.join("_")}push(...arg){this.#redisArgs.push(...arg)}pushVariadic(vals){if(Array.isArray(vals))for(let val of vals)this.push(val);else this.push(vals)}pushVariadicWithLength(vals){if(Array.isArray(vals))this.#redisArgs.push(vals.length.toString());else this.#redisArgs.push("1");this.pushVariadic(vals)}pushVariadicNumber(vals){if(Array.isArray(vals))for(let val of vals)this.push(val.toString());else this.push(vals.toString())}pushKey(key){this.#keys.push(key),this.#redisArgs.push(key)}pushKeysLength(keys3){if(Array.isArray(keys3))this.#redisArgs.push(keys3.length.toString());else this.#redisArgs.push("1");this.pushKeys(keys3)}pushKeys(keys3){if(Array.isArray(keys3))this.#keys.push(...keys3),this.#redisArgs.push(...keys3);else this.#keys.push(keys3),this.#redisArgs.push(keys3)}}exports.BasicCommandParser=BasicCommandParser}),require_generic_transformers=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformRedisJsonNullReply=exports.transformRedisJsonReply=exports.transformRedisJsonArgument=exports.transformStreamsMessagesReplyResp3=exports.transformStreamsMessagesReplyResp2=exports.transformStreamMessagesReply=exports.transformStreamMessageNullReply=exports.transformStreamMessageReply=exports.parseArgs=exports.parseZKeysArguments=exports.transformRangeReply=exports.parseSlotRangesArguments=exports.transformFunctionListItemReply=exports.RedisFunctionFlags=exports.transformCommandReply=exports.CommandCategories=exports.CommandFlags=exports.parseOptionalVariadicArgument=exports.pushVariadicArgument=exports.pushVariadicNumberArguments=exports.pushVariadicArguments=exports.pushEvalArguments=exports.evalFirstKeyIndex=exports.transformPXAT=exports.transformEXAT=exports.transformSortedSetReply=exports.transformTuplesReply=exports.createTransformTuplesReplyFunc=exports.transformTuplesToMap=exports.transformNullableDoubleReply=exports.createTransformNullableDoubleReplyResp2Func=exports.transformDoubleArrayReply=exports.createTransformDoubleReplyResp2Func=exports.transformDoubleReply=exports.transformStringDoubleArgument=exports.transformDoubleArgument=exports.transformBooleanArrayReply=exports.transformBooleanReply=exports.isArrayReply=exports.isNullReply=void 0;var parser_1=require_parser(),decoder_1=require_decoder();function isNullReply(reply){return reply===null}exports.isNullReply=isNullReply;function isArrayReply(reply){return Array.isArray(reply)}exports.isArrayReply=isArrayReply,exports.transformBooleanReply={2:(reply)=>reply===1,3:void 0},exports.transformBooleanArrayReply={2:(reply)=>{return reply.map(exports.transformBooleanReply[2])},3:void 0};function transformDoubleArgument(num){switch(num){case 1/0:return"+inf";case-1/0:return"-inf";default:return num.toString()}}exports.transformDoubleArgument=transformDoubleArgument;function transformStringDoubleArgument(num){if(typeof num!=="number")return num;return transformDoubleArgument(num)}exports.transformStringDoubleArgument=transformStringDoubleArgument,exports.transformDoubleReply={2:(reply,preserve,typeMapping)=>{switch(typeMapping?typeMapping[decoder_1.RESP_TYPES.DOUBLE]:void 0){case String:return reply;default:{let ret;switch(reply.toString()){case"inf":case"+inf":ret=1/0;case"-inf":ret=-1/0;case"nan":ret=NaN;default:ret=Number(reply)}return ret}}},3:void 0};function createTransformDoubleReplyResp2Func(preserve,typeMapping){return(reply)=>{return exports.transformDoubleReply[2](reply,preserve,typeMapping)}}exports.createTransformDoubleReplyResp2Func=createTransformDoubleReplyResp2Func,exports.transformDoubleArrayReply={2:(reply,preserve,typeMapping)=>{return reply.map(createTransformDoubleReplyResp2Func(preserve,typeMapping))},3:void 0};function createTransformNullableDoubleReplyResp2Func(preserve,typeMapping){return(reply)=>{return exports.transformNullableDoubleReply[2](reply,preserve,typeMapping)}}exports.createTransformNullableDoubleReplyResp2Func=createTransformNullableDoubleReplyResp2Func,exports.transformNullableDoubleReply={2:(reply,preserve,typeMapping)=>{if(reply===null)return null;return exports.transformDoubleReply[2](reply,preserve,typeMapping)},3:void 0};function transformTuplesToMap(reply,func){let message=Object.create(null);for(let i=0;i<reply.length;i+=2)message[reply[i].toString()]=func(reply[i+1]);return message}exports.transformTuplesToMap=transformTuplesToMap;function createTransformTuplesReplyFunc(preserve,typeMapping){return(reply)=>{return transformTuplesReply(reply,preserve,typeMapping)}}exports.createTransformTuplesReplyFunc=createTransformTuplesReplyFunc;function transformTuplesReply(reply,preserve,typeMapping){let mapType=typeMapping?typeMapping[decoder_1.RESP_TYPES.MAP]:void 0,inferred=reply;switch(mapType){case Array:return reply;case Map:{let ret=new Map;for(let i=0;i<inferred.length;i+=2)ret.set(inferred[i].toString(),inferred[i+1]);return ret}default:{let ret=Object.create(null);for(let i=0;i<inferred.length;i+=2)ret[inferred[i].toString()]=inferred[i+1];return ret}}}exports.transformTuplesReply=transformTuplesReply,exports.transformSortedSetReply={2:(reply,preserve,typeMapping)=>{let inferred=reply,members=[];for(let i=0;i<inferred.length;i+=2)members.push({value:inferred[i],score:exports.transformDoubleReply[2](inferred[i+1],preserve,typeMapping)});return members},3:(reply)=>{return reply.map((member)=>{let[value,score]=member;return{value,score}})}};function transformEXAT(EXAT){return(typeof EXAT==="number"?EXAT:Math.floor(EXAT.getTime()/1000)).toString()}exports.transformEXAT=transformEXAT;function transformPXAT(PXAT){return(typeof PXAT==="number"?PXAT:PXAT.getTime()).toString()}exports.transformPXAT=transformPXAT;function evalFirstKeyIndex(options){return options?.keys?.[0]}exports.evalFirstKeyIndex=evalFirstKeyIndex;function pushEvalArguments(args2,options){if(options?.keys)args2.push(options.keys.length.toString(),...options.keys);else args2.push("0");if(options?.arguments)args2.push(...options.arguments);return args2}exports.pushEvalArguments=pushEvalArguments;function pushVariadicArguments(args2,value){if(Array.isArray(value))args2=args2.concat(value);else args2.push(value);return args2}exports.pushVariadicArguments=pushVariadicArguments;function pushVariadicNumberArguments(args2,value){if(Array.isArray(value))for(let item of value)args2.push(item.toString());else args2.push(value.toString());return args2}exports.pushVariadicNumberArguments=pushVariadicNumberArguments;function pushVariadicArgument(args2,value){if(Array.isArray(value))args2.push(value.length.toString(),...value);else args2.push("1",value);return args2}exports.pushVariadicArgument=pushVariadicArgument;function parseOptionalVariadicArgument(parser,name,value){if(value===void 0)return;parser.push(name),parser.pushVariadicWithLength(value)}exports.parseOptionalVariadicArgument=parseOptionalVariadicArgument;var CommandFlags;(function(CommandFlags2){CommandFlags2.WRITE="write",CommandFlags2.READONLY="readonly",CommandFlags2.DENYOOM="denyoom",CommandFlags2.ADMIN="admin",CommandFlags2.PUBSUB="pubsub",CommandFlags2.NOSCRIPT="noscript",CommandFlags2.RANDOM="random",CommandFlags2.SORT_FOR_SCRIPT="sort_for_script",CommandFlags2.LOADING="loading",CommandFlags2.STALE="stale",CommandFlags2.SKIP_MONITOR="skip_monitor",CommandFlags2.ASKING="asking",CommandFlags2.FAST="fast",CommandFlags2.MOVABLEKEYS="movablekeys"})(CommandFlags||(exports.CommandFlags=CommandFlags={}));var CommandCategories;(function(CommandCategories2){CommandCategories2.KEYSPACE="@keyspace",CommandCategories2.READ="@read",CommandCategories2.WRITE="@write",CommandCategories2.SET="@set",CommandCategories2.SORTEDSET="@sortedset",CommandCategories2.LIST="@list",CommandCategories2.HASH="@hash",CommandCategories2.STRING="@string",CommandCategories2.BITMAP="@bitmap",CommandCategories2.HYPERLOGLOG="@hyperloglog",CommandCategories2.GEO="@geo",CommandCategories2.STREAM="@stream",CommandCategories2.PUBSUB="@pubsub",CommandCategories2.ADMIN="@admin",CommandCategories2.FAST="@fast",CommandCategories2.SLOW="@slow",CommandCategories2.BLOCKING="@blocking",CommandCategories2.DANGEROUS="@dangerous",CommandCategories2.CONNECTION="@connection",CommandCategories2.TRANSACTION="@transaction",CommandCategories2.SCRIPTING="@scripting"})(CommandCategories||(exports.CommandCategories=CommandCategories={}));function transformCommandReply([name,arity,flags,firstKeyIndex,lastKeyIndex,step4,categories]){return{name,arity,flags:new Set(flags),firstKeyIndex,lastKeyIndex,step:step4,categories:new Set(categories)}}exports.transformCommandReply=transformCommandReply;var RedisFunctionFlags;(function(RedisFunctionFlags2){RedisFunctionFlags2.NO_WRITES="no-writes",RedisFunctionFlags2.ALLOW_OOM="allow-oom",RedisFunctionFlags2.ALLOW_STALE="allow-stale",RedisFunctionFlags2.NO_CLUSTER="no-cluster"})(RedisFunctionFlags||(exports.RedisFunctionFlags=RedisFunctionFlags={}));function transformFunctionListItemReply(reply){return{libraryName:reply[1],engine:reply[3],functions:reply[5].map((fn2)=>({name:fn2[1],description:fn2[3],flags:fn2[5]}))}}exports.transformFunctionListItemReply=transformFunctionListItemReply;function parseSlotRangeArguments(parser,range4){parser.push(range4.start.toString(),range4.end.toString())}function parseSlotRangesArguments(parser,ranges){if(Array.isArray(ranges))for(let range4 of ranges)parseSlotRangeArguments(parser,range4);else parseSlotRangeArguments(parser,ranges)}exports.parseSlotRangesArguments=parseSlotRangesArguments;function transformRangeReply([start3,end6]){return{start:start3,end:end6}}exports.transformRangeReply=transformRangeReply;function parseZKeysArguments(parser,keys3){if(Array.isArray(keys3)){if(parser.push(keys3.length.toString()),keys3.length)if(isPlainKeys(keys3))parser.pushKeys(keys3);else{for(let i=0;i<keys3.length;i++)parser.pushKey(keys3[i].key);parser.push("WEIGHTS");for(let i=0;i<keys3.length;i++)parser.push(transformDoubleArgument(keys3[i].weight))}}else if(parser.push("1"),isPlainKey(keys3))parser.pushKey(keys3);else parser.pushKey(keys3.key),parser.push("WEIGHTS",transformDoubleArgument(keys3.weight))}exports.parseZKeysArguments=parseZKeysArguments;function isPlainKey(key){return typeof key==="string"||key instanceof Buffer}function isPlainKeys(keys3){return isPlainKey(keys3[0])}function parseArgs(command,...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;if(parser.preserve)redisArgs.preserve=parser.preserve;return redisArgs}exports.parseArgs=parseArgs;function transformStreamMessageReply(typeMapping,reply){let[id2,message,millisElapsedFromDelivery,deliveriesCounter]=reply;return{id:id2,message:transformTuplesReply(message,void 0,typeMapping),...millisElapsedFromDelivery!==void 0?{millisElapsedFromDelivery}:{},...deliveriesCounter!==void 0?{deliveriesCounter}:{}}}exports.transformStreamMessageReply=transformStreamMessageReply;function transformStreamMessageNullReply(typeMapping,reply){return isNullReply(reply)?reply:transformStreamMessageReply(typeMapping,reply)}exports.transformStreamMessageNullReply=transformStreamMessageNullReply;function transformStreamMessagesReply(r,typeMapping){return r.map(transformStreamMessageReply.bind(void 0,typeMapping))}exports.transformStreamMessagesReply=transformStreamMessagesReply;function transformStreamsMessagesReplyResp2(reply,preserve,typeMapping){if(reply===null)return null;switch(typeMapping?typeMapping[decoder_1.RESP_TYPES.MAP]:void 0){default:{let ret=[];for(let i=0;i<reply.length;i++){let stream=reply[i];ret.push({name:stream[0],messages:transformStreamMessagesReply(stream[1])})}return ret}}}exports.transformStreamsMessagesReplyResp2=transformStreamsMessagesReplyResp2;function transformStreamsMessagesReplyResp3(reply){if(reply===null)return null;if(reply instanceof Map){let ret=new Map;for(let[n,rawMessages]of reply){let name=n;ret.set(name.toString(),transformStreamMessagesReply(rawMessages))}return ret}else if(reply instanceof Array){let ret=[];for(let i=0;i<reply.length;i+=2){let name=reply[i],rawMessages=reply[i+1];ret.push(name),ret.push(transformStreamMessagesReply(rawMessages))}return ret}else{let ret=Object.create(null);for(let[name,rawMessages]of Object.entries(reply))ret[name]=transformStreamMessagesReply(rawMessages);return ret}}exports.transformStreamsMessagesReplyResp3=transformStreamsMessagesReplyResp3;function transformRedisJsonArgument(json){return JSON.stringify(json)}exports.transformRedisJsonArgument=transformRedisJsonArgument;function transformRedisJsonReply(json){return JSON.parse(json.toString())}exports.transformRedisJsonReply=transformRedisJsonReply;function transformRedisJsonNullReply(json){return isNullReply(json)?json:transformRedisJsonReply(json)}exports.transformRedisJsonNullReply=transformRedisJsonNullReply}),require_ACL_LOG=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,count32){if(parser.push("ACL","LOG"),count32!=null)parser.push(count32.toString())},transformReply:{2:(reply,preserve,typeMapping)=>{return reply.map((item)=>{let inferred=item;return{count:inferred[1],reason:inferred[3],context:inferred[5],object:inferred[7],username:inferred[9],"age-seconds":generic_transformers_1.transformDoubleReply[2](inferred[11],preserve,typeMapping),"client-info":inferred[13],"entry-id":inferred[15],"timestamp-created":inferred[17],"timestamp-last-updated":inferred[19]}})},3:void 0}}}),require_ACL_LOG_RESET=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ACL_LOG_1=__importDefault(require_ACL_LOG());exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:ACL_LOG_1.default.IS_READ_ONLY,parseCommand(parser){parser.push("ACL","LOG","RESET")},transformReply:void 0}}),require_ACL_SAVE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("ACL","SAVE")},transformReply:void 0}}),require_ACL_SETUSER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,username,rule){parser.push("ACL","SETUSER",username),parser.pushVariadic(rule)},transformReply:void 0}}),require_ACL_USERS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("ACL","USERS")},transformReply:void 0}}),require_ACL_WHOAMI=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("ACL","WHOAMI")},transformReply:void 0}}),require_APPEND=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,value){parser.push("APPEND",key,value)},transformReply:void 0}}),require_ASKING=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.ASKING_CMD=void 0,exports.ASKING_CMD="ASKING",exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push(exports.ASKING_CMD)},transformReply:void 0}}),require_AUTH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,{username,password}){if(parser.push("AUTH"),username!==void 0)parser.push(username);parser.push(password)},transformReply:void 0}}),require_BGREWRITEAOF=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("BGREWRITEAOF")},transformReply:void 0}}),require_BGSAVE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,options){if(parser.push("BGSAVE"),options?.SCHEDULE)parser.push("SCHEDULE")},transformReply:void 0}}),require_BITCOUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,range4){if(parser.push("BITCOUNT"),parser.pushKey(key),range4){if(parser.push(range4.start.toString()),parser.push(range4.end.toString()),range4.mode)parser.push(range4.mode)}},transformReply:void 0}}),require_BITFIELD_RO=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,operations){parser.push("BITFIELD_RO"),parser.pushKey(key);for(let operation of operations)parser.push("GET"),parser.push(operation.encoding),parser.push(operation.offset.toString())},transformReply:void 0}}),require_BITFIELD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,operations){parser.push("BITFIELD"),parser.pushKey(key);for(let options of operations)switch(options.operation){case"GET":parser.push("GET",options.encoding,options.offset.toString());break;case"SET":parser.push("SET",options.encoding,options.offset.toString(),options.value.toString());break;case"INCRBY":parser.push("INCRBY",options.encoding,options.offset.toString(),options.increment.toString());break;case"OVERFLOW":parser.push("OVERFLOW",options.behavior);break}},transformReply:void 0}}),require_BITOP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,operation,destKey,key){parser.push("BITOP",operation),parser.pushKey(destKey),parser.pushKeys(key)},transformReply:void 0}}),require_BITPOS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,bit,start3,end6,mode){if(parser.push("BITPOS"),parser.pushKey(key),parser.push(bit.toString()),start3!==void 0)parser.push(start3.toString());if(end6!==void 0)parser.push(end6.toString());if(mode)parser.push(mode)},transformReply:void 0}}),require_BLMOVE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,sourceSide,destinationSide,timeout5){parser.push("BLMOVE"),parser.pushKeys([source,destination]),parser.push(sourceSide,destinationSide,timeout5.toString())},transformReply:void 0}}),require_LMPOP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseLMPopArguments=void 0;function parseLMPopArguments(parser,keys3,side,options){if(parser.pushKeysLength(keys3),parser.push(side),options?.COUNT!==void 0)parser.push("COUNT",options.COUNT.toString())}exports.parseLMPopArguments=parseLMPopArguments,exports.default={IS_READ_ONLY:!1,parseCommand(parser,...args2){parser.push("LMPOP"),parseLMPopArguments(parser,...args2)},transformReply:void 0}}),require_BLMPOP=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var LMPOP_1=__importStar(require_LMPOP());exports.default={IS_READ_ONLY:!1,parseCommand(parser,timeout5,...args2){parser.push("BLMPOP",timeout5.toString()),(0,LMPOP_1.parseLMPopArguments)(parser,...args2)},transformReply:LMPOP_1.default.transformReply}}),require_BLPOP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,timeout5){parser.push("BLPOP"),parser.pushKeys(key),parser.push(timeout5.toString())},transformReply(reply){if(reply===null)return null;return{key:reply[0],element:reply[1]}}}}),require_BRPOP=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var BLPOP_1=__importDefault(require_BLPOP());exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,timeout5){parser.push("BRPOP"),parser.pushKeys(key),parser.push(timeout5.toString())},transformReply:BLPOP_1.default.transformReply}}),require_BRPOPLPUSH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,timeout5){parser.push("BRPOPLPUSH"),parser.pushKeys([source,destination]),parser.push(timeout5.toString())},transformReply:void 0}}),require_ZMPOP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseZMPopArguments=void 0;var generic_transformers_1=require_generic_transformers();function parseZMPopArguments(parser,keys3,side,options){if(parser.pushKeysLength(keys3),parser.push(side),options?.COUNT)parser.push("COUNT",options.COUNT.toString())}exports.parseZMPopArguments=parseZMPopArguments,exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys3,side,options){parser.push("ZMPOP"),parseZMPopArguments(parser,keys3,side,options)},transformReply:{2(reply,preserve,typeMapping){return reply===null?null:{key:reply[0],members:reply[1].map((member)=>{let[value,score]=member;return{value,score:generic_transformers_1.transformDoubleReply[2](score,preserve,typeMapping)}})}},3(reply){return reply===null?null:{key:reply[0],members:generic_transformers_1.transformSortedSetReply[3](reply[1])}}}}}),require_BZMPOP=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var ZMPOP_1=__importStar(require_ZMPOP());exports.default={IS_READ_ONLY:!1,parseCommand(parser,timeout5,...args2){parser.push("BZMPOP",timeout5.toString()),(0,ZMPOP_1.parseZMPopArguments)(parser,...args2)},transformReply:ZMPOP_1.default.transformReply}}),require_BZPOPMAX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys3,timeout5){parser.push("BZPOPMAX"),parser.pushKeys(keys3),parser.push(timeout5.toString())},transformReply:{2(reply,preserve,typeMapping){return reply===null?null:{key:reply[0],value:reply[1],score:generic_transformers_1.transformDoubleReply[2](reply[2],preserve,typeMapping)}},3(reply){return reply===null?null:{key:reply[0],value:reply[1],score:reply[2]}}}}}),require_BZPOPMIN=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var BZPOPMAX_1=__importDefault(require_BZPOPMAX());exports.default={IS_READ_ONLY:BZPOPMAX_1.default.IS_READ_ONLY,parseCommand(parser,keys3,timeout5){parser.push("BZPOPMIN"),parser.pushKeys(keys3),parser.push(timeout5.toString())},transformReply:BZPOPMAX_1.default.transformReply}}),require_CLIENT_CACHING=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,value){parser.push("CLIENT","CACHING",value?"YES":"NO")},transformReply:void 0}}),require_CLIENT_GETNAME=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLIENT","GETNAME")},transformReply:void 0}}),require_CLIENT_GETREDIR=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLIENT","GETREDIR")},transformReply:void 0}}),require_CLIENT_ID=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLIENT","ID")},transformReply:void 0}}),require_CLIENT_INFO=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var CLIENT_INFO_REGEX=/([^\s=]+)=([^\s]*)/g;exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLIENT","INFO")},transformReply(rawReply){let map222={};for(let item of rawReply.toString().matchAll(CLIENT_INFO_REGEX))map222[item[1]]=item[2];let reply={id:Number(map222.id),addr:map222.addr,fd:Number(map222.fd),name:map222.name,age:Number(map222.age),idle:Number(map222.idle),flags:map222.flags,db:Number(map222.db),sub:Number(map222.sub),psub:Number(map222.psub),multi:Number(map222.multi),qbuf:Number(map222.qbuf),qbufFree:Number(map222["qbuf-free"]),argvMem:Number(map222["argv-mem"]),obl:Number(map222.obl),oll:Number(map222.oll),omem:Number(map222.omem),totMem:Number(map222["tot-mem"]),events:map222.events,cmd:map222.cmd,user:map222.user,libName:map222["lib-name"],libVer:map222["lib-ver"]};if(map222.laddr!==void 0)reply.laddr=map222.laddr;if(map222.redir!==void 0)reply.redir=Number(map222.redir);if(map222.ssub!==void 0)reply.ssub=Number(map222.ssub);if(map222["multi-mem"]!==void 0)reply.multiMem=Number(map222["multi-mem"]);if(map222.resp!==void 0)reply.resp=Number(map222.resp);return reply}}}),require_CLIENT_KILL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.CLIENT_KILL_FILTERS=void 0,exports.CLIENT_KILL_FILTERS={ADDRESS:"ADDR",LOCAL_ADDRESS:"LADDR",ID:"ID",TYPE:"TYPE",USER:"USER",SKIP_ME:"SKIPME",MAXAGE:"MAXAGE"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,filters){if(parser.push("CLIENT","KILL"),Array.isArray(filters))for(let filter11 of filters)pushFilter(parser,filter11);else pushFilter(parser,filters)},transformReply:void 0};function pushFilter(parser,filter11){if(filter11===exports.CLIENT_KILL_FILTERS.SKIP_ME){parser.push("SKIPME");return}switch(parser.push(filter11.filter),filter11.filter){case exports.CLIENT_KILL_FILTERS.ADDRESS:parser.push(filter11.address);break;case exports.CLIENT_KILL_FILTERS.LOCAL_ADDRESS:parser.push(filter11.localAddress);break;case exports.CLIENT_KILL_FILTERS.ID:parser.push(typeof filter11.id==="number"?filter11.id.toString():filter11.id);break;case exports.CLIENT_KILL_FILTERS.TYPE:parser.push(filter11.type);break;case exports.CLIENT_KILL_FILTERS.USER:parser.push(filter11.username);break;case exports.CLIENT_KILL_FILTERS.SKIP_ME:parser.push(filter11.skipMe?"yes":"no");break;case exports.CLIENT_KILL_FILTERS.MAXAGE:parser.push(filter11.maxAge.toString());break}}}),require_CLIENT_LIST=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var CLIENT_INFO_1=__importDefault(require_CLIENT_INFO());exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,filter11){if(parser.push("CLIENT","LIST"),filter11)if(filter11.TYPE!==void 0)parser.push("TYPE",filter11.TYPE);else parser.push("ID"),parser.pushVariadic(filter11.ID)},transformReply(rawReply){let split4=rawReply.toString().split(`
|
|
77
|
+
`),length3=split4.length-1,reply=[];for(let i=0;i<length3;i++)reply.push(CLIENT_INFO_1.default.transformReply(split4[i]));return reply}}}),require_CLIENT_NO_EVICT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,value){parser.push("CLIENT","NO-EVICT",value?"ON":"OFF")},transformReply:void 0}}),require_CLIENT_NO_TOUCH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,value){parser.push("CLIENT","NO-TOUCH",value?"ON":"OFF")},transformReply:void 0}}),require_CLIENT_PAUSE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,timeout5,mode){if(parser.push("CLIENT","PAUSE",timeout5.toString()),mode)parser.push(mode)},transformReply:void 0}}),require_CLIENT_SETNAME=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,name){parser.push("CLIENT","SETNAME",name)},transformReply:void 0}}),require_CLIENT_TRACKING=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,mode,options){if(parser.push("CLIENT","TRACKING",mode?"ON":"OFF"),mode){if(options?.REDIRECT)parser.push("REDIRECT",options.REDIRECT.toString());if(isBroadcast(options)){if(parser.push("BCAST"),options?.PREFIX)if(Array.isArray(options.PREFIX))for(let prefix of options.PREFIX)parser.push("PREFIX",prefix);else parser.push("PREFIX",options.PREFIX)}else if(isOptIn(options))parser.push("OPTIN");else if(isOptOut(options))parser.push("OPTOUT");if(options?.NOLOOP)parser.push("NOLOOP")}},transformReply:void 0};function isBroadcast(options){return options?.BCAST===!0}function isOptIn(options){return options?.OPTIN===!0}function isOptOut(options){return options?.OPTOUT===!0}}),require_CLIENT_TRACKINGINFO=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLIENT","TRACKINGINFO")},transformReply:{2:(reply)=>({flags:reply[1],redirect:reply[3],prefixes:reply[5]}),3:void 0}}}),require_CLIENT_UNPAUSE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLIENT","UNPAUSE")},transformReply:void 0}}),require_CLUSTER_ADDSLOTS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,slots){parser.push("CLUSTER","ADDSLOTS"),parser.pushVariadicNumber(slots)},transformReply:void 0}}),require_CLUSTER_ADDSLOTSRANGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,ranges){parser.push("CLUSTER","ADDSLOTSRANGE"),(0,generic_transformers_1.parseSlotRangesArguments)(parser,ranges)},transformReply:void 0}}),require_CLUSTER_BUMPEPOCH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","BUMPEPOCH")},transformReply:void 0}}),require_CLUSTER_COUNT_FAILURE_REPORTS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,nodeId){parser.push("CLUSTER","COUNT-FAILURE-REPORTS",nodeId)},transformReply:void 0}}),require_CLUSTER_COUNTKEYSINSLOT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,slot){parser.push("CLUSTER","COUNTKEYSINSLOT",slot.toString())},transformReply:void 0}}),require_CLUSTER_DELSLOTS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,slots){parser.push("CLUSTER","DELSLOTS"),parser.pushVariadicNumber(slots)},transformReply:void 0}}),require_CLUSTER_DELSLOTSRANGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,ranges){parser.push("CLUSTER","DELSLOTSRANGE"),(0,generic_transformers_1.parseSlotRangesArguments)(parser,ranges)},transformReply:void 0}}),require_CLUSTER_FAILOVER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.FAILOVER_MODES=void 0,exports.FAILOVER_MODES={FORCE:"FORCE",TAKEOVER:"TAKEOVER"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,options){if(parser.push("CLUSTER","FAILOVER"),options?.mode)parser.push(options.mode)},transformReply:void 0}}),require_CLUSTER_FLUSHSLOTS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","FLUSHSLOTS")},transformReply:void 0}}),require_CLUSTER_FORGET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,nodeId){parser.push("CLUSTER","FORGET",nodeId)},transformReply:void 0}}),require_CLUSTER_GETKEYSINSLOT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,slot,count32){parser.push("CLUSTER","GETKEYSINSLOT",slot.toString(),count32.toString())},transformReply:void 0}}),require_CLUSTER_INFO=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","INFO")},transformReply:void 0}}),require_CLUSTER_KEYSLOT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("CLUSTER","KEYSLOT",key)},transformReply:void 0}}),require_CLUSTER_LINKS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","LINKS")},transformReply:{2:(reply)=>reply.map((link)=>{let unwrapped=link;return{direction:unwrapped[1],node:unwrapped[3],"create-time":unwrapped[5],events:unwrapped[7],"send-buffer-allocated":unwrapped[9],"send-buffer-used":unwrapped[11]}}),3:void 0}}}),require_CLUSTER_MEET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,host,port3){parser.push("CLUSTER","MEET",host,port3.toString())},transformReply:void 0}}),require_CLUSTER_MYID=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","MYID")},transformReply:void 0}}),require_CLUSTER_MYSHARDID=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","MYSHARDID")},transformReply:void 0}}),require_CLUSTER_NODES=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","NODES")},transformReply:void 0}}),require_CLUSTER_REPLICAS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,nodeId){parser.push("CLUSTER","REPLICAS",nodeId)},transformReply:void 0}}),require_CLUSTER_REPLICATE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,nodeId){parser.push("CLUSTER","REPLICATE",nodeId)},transformReply:void 0}}),require_CLUSTER_RESET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,options){if(parser.push("CLUSTER","RESET"),options?.mode)parser.push(options.mode)},transformReply:void 0}}),require_CLUSTER_SAVECONFIG=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","SAVECONFIG")},transformReply:void 0}}),require_CLUSTER_SET_CONFIG_EPOCH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,configEpoch){parser.push("CLUSTER","SET-CONFIG-EPOCH",configEpoch.toString())},transformReply:void 0}}),require_CLUSTER_SETSLOT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.CLUSTER_SLOT_STATES=void 0,exports.CLUSTER_SLOT_STATES={IMPORTING:"IMPORTING",MIGRATING:"MIGRATING",STABLE:"STABLE",NODE:"NODE"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,slot,state,nodeId){if(parser.push("CLUSTER","SETSLOT",slot.toString(),state),nodeId)parser.push(nodeId)},transformReply:void 0}}),require_CLUSTER_SLOTS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CLUSTER","SLOTS")},transformReply(reply){return reply.map(([from,to,master,...replicas])=>({from,to,master:transformNode(master),replicas:replicas.map(transformNode)}))}};function transformNode(node){let[host,port3,id2]=node;return{host,port:port3,id:id2}}}),require_COMMAND_COUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("COMMAND","COUNT")},transformReply:void 0}}),require_COMMAND_GETKEYS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,args2){parser.push("COMMAND","GETKEYS"),parser.push(...args2)},transformReply:void 0}}),require_COMMAND_GETKEYSANDFLAGS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,args2){parser.push("COMMAND","GETKEYSANDFLAGS"),parser.push(...args2)},transformReply(reply){return reply.map((entry)=>{let[key,flags]=entry;return{key,flags}})}}}),require_COMMAND_INFO=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,commands){parser.push("COMMAND","INFO",...commands)},transformReply(reply){return reply.map((command)=>command?(0,generic_transformers_1.transformCommandReply)(command):null)}}}),require_COMMAND_LIST=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.COMMAND_LIST_FILTER_BY=void 0,exports.COMMAND_LIST_FILTER_BY={MODULE:"MODULE",ACLCAT:"ACLCAT",PATTERN:"PATTERN"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,options){if(parser.push("COMMAND","LIST"),options?.FILTERBY)parser.push("FILTERBY",options.FILTERBY.type,options.FILTERBY.value)},transformReply:void 0}}),require_COMMAND=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("COMMAND")},transformReply(reply){return reply.map(generic_transformers_1.transformCommandReply)}}}),require_CONFIG_GET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,parameters){parser.push("CONFIG","GET"),parser.pushVariadic(parameters)},transformReply:{2:generic_transformers_1.transformTuplesReply,3:void 0}}}),require_CONFIG_RESETSTAT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CONFIG","RESETSTAT")},transformReply:void 0}}),require_CONFIG_REWRITE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("CONFIG","REWRITE")},transformReply:void 0}}),require_CONFIG_SET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,...[parameterOrConfig,value]){if(parser.push("CONFIG","SET"),typeof parameterOrConfig==="string"||parameterOrConfig instanceof Buffer)parser.push(parameterOrConfig,value);else for(let[key,value2]of Object.entries(parameterOrConfig))parser.push(key,value2)},transformReply:void 0}}),require_COPY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,options){if(parser.push("COPY"),parser.pushKeys([source,destination]),options?.DB)parser.push("DB",options.DB.toString());if(options?.REPLACE)parser.push("REPLACE")},transformReply:void 0}}),require_DBSIZE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("DBSIZE")},transformReply:void 0}}),require_DECR=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key){parser.push("DECR"),parser.pushKey(key)},transformReply:void 0}}),require_DECRBY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,decrement){parser.push("DECRBY"),parser.pushKey(key),parser.push(decrement.toString())},transformReply:void 0}}),require_DEL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys3){parser.push("DEL"),parser.pushKeys(keys3)},transformReply:void 0}}),require_DELEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.DelexCondition=void 0,exports.DelexCondition={IFEQ:"IFEQ",IFNE:"IFNE",IFDEQ:"IFDEQ",IFDNE:"IFDNE"},exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("DELEX"),parser.pushKey(key),options)parser.push(options.condition),parser.push(options.matchValue)},transformReply:void 0}}),require_DIGEST=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("DIGEST"),parser.pushKey(key)},transformReply:void 0}}),require_DUMP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("DUMP"),parser.pushKey(key)},transformReply:void 0}}),require_ECHO=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,message){parser.push("ECHO",message)},transformReply:void 0}}),require_EVAL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseEvalArguments=void 0;function parseEvalArguments(parser,script,options){if(parser.push(script),options?.keys)parser.pushKeysLength(options.keys);else parser.push("0");if(options?.arguments)parser.push(...options.arguments)}exports.parseEvalArguments=parseEvalArguments,exports.default={IS_READ_ONLY:!1,parseCommand(...args2){args2[0].push("EVAL"),parseEvalArguments(...args2)},transformReply:void 0}}),require_EVAL_RO=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var EVAL_1=__importStar(require_EVAL());exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("EVAL_RO"),(0,EVAL_1.parseEvalArguments)(...args2)},transformReply:EVAL_1.default.transformReply}}),require_EVALSHA_RO=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var EVAL_1=__importStar(require_EVAL());exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("EVALSHA_RO"),(0,EVAL_1.parseEvalArguments)(...args2)},transformReply:EVAL_1.default.transformReply}}),require_EVALSHA=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var EVAL_1=__importStar(require_EVAL());exports.default={IS_READ_ONLY:!1,parseCommand(...args2){args2[0].push("EVALSHA"),(0,EVAL_1.parseEvalArguments)(...args2)},transformReply:EVAL_1.default.transformReply}}),require_GEOADD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,toAdd,options){if(parser.push("GEOADD"),parser.pushKey(key),options?.condition)parser.push(options.condition);else if(options?.NX)parser.push("NX");else if(options?.XX)parser.push("XX");if(options?.CH)parser.push("CH");if(Array.isArray(toAdd))for(let member of toAdd)pushMember(parser,member);else pushMember(parser,toAdd)},transformReply:void 0};function pushMember(parser,{longitude,latitude,member}){parser.push(longitude.toString(),latitude.toString(),member)}}),require_GEODIST=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member1,member2,unit){if(parser.push("GEODIST"),parser.pushKey(key),parser.push(member1,member2),unit)parser.push(unit)},transformReply(reply){return reply===null?null:Number(reply)}}}),require_GEOHASH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("GEOHASH"),parser.pushKey(key),parser.pushVariadic(member)},transformReply:void 0}}),require_GEOPOS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("GEOPOS"),parser.pushKey(key),parser.pushVariadic(member)},transformReply(reply){return reply.map((item)=>{let unwrapped=item;return unwrapped===null?null:{longitude:unwrapped[0],latitude:unwrapped[1]}})}}}),require_GEOSEARCH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseGeoSearchOptions=exports.parseGeoSearchArguments=void 0;function parseGeoSearchArguments(parser,key,from,by,options){if(parser.pushKey(key),typeof from==="string"||from instanceof Buffer)parser.push("FROMMEMBER",from);else parser.push("FROMLONLAT",from.longitude.toString(),from.latitude.toString());if("radius"in by)parser.push("BYRADIUS",by.radius.toString(),by.unit);else parser.push("BYBOX",by.width.toString(),by.height.toString(),by.unit);parseGeoSearchOptions(parser,options)}exports.parseGeoSearchArguments=parseGeoSearchArguments;function parseGeoSearchOptions(parser,options){if(options?.SORT)parser.push(options.SORT);if(options?.COUNT){if(typeof options.COUNT==="number")parser.push("COUNT",options.COUNT.toString());else if(parser.push("COUNT",options.COUNT.value.toString()),options.COUNT.ANY)parser.push("ANY")}}exports.parseGeoSearchOptions=parseGeoSearchOptions,exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,from,by,options){parser.push("GEOSEARCH"),parseGeoSearchArguments(parser,key,from,by,options)},transformReply:void 0}}),require_GEORADIUS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseGeoRadiusArguments=void 0;var GEOSEARCH_1=require_GEOSEARCH();function parseGeoRadiusArguments(parser,key,from,radius,unit,options){parser.pushKey(key),parser.push(from.longitude.toString(),from.latitude.toString(),radius.toString(),unit),(0,GEOSEARCH_1.parseGeoSearchOptions)(parser,options)}exports.parseGeoRadiusArguments=parseGeoRadiusArguments,exports.default={IS_READ_ONLY:!1,parseCommand(...args2){return args2[0].push("GEORADIUS"),parseGeoRadiusArguments(...args2)},transformReply:void 0}}),require_GEOSEARCH_WITH=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.GEO_REPLY_WITH=void 0;var GEOSEARCH_1=__importDefault(require_GEOSEARCH());exports.GEO_REPLY_WITH={DISTANCE:"WITHDIST",HASH:"WITHHASH",COORDINATES:"WITHCOORD"},exports.default={IS_READ_ONLY:GEOSEARCH_1.default.IS_READ_ONLY,parseCommand(parser,key,from,by,replyWith,options){GEOSEARCH_1.default.parseCommand(parser,key,from,by,options),parser.push(...replyWith),parser.preserve=replyWith},transformReply(reply,replyWith){let replyWithSet=new Set(replyWith),index=0,distanceIndex=replyWithSet.has(exports.GEO_REPLY_WITH.DISTANCE)&&++index,hashIndex=replyWithSet.has(exports.GEO_REPLY_WITH.HASH)&&++index,coordinatesIndex=replyWithSet.has(exports.GEO_REPLY_WITH.COORDINATES)&&++index;return reply.map((raw)=>{let unwrapped=raw,item={member:unwrapped[0]};if(distanceIndex)item.distance=unwrapped[distanceIndex];if(hashIndex)item.hash=unwrapped[hashIndex];if(coordinatesIndex){let[longitude,latitude]=unwrapped[coordinatesIndex];item.coordinates={longitude,latitude}}return item})}}}),require_GEORADIUS_WITH=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseGeoRadiusWithArguments=void 0;var GEORADIUS_1=__importStar(require_GEORADIUS()),GEOSEARCH_WITH_1=__importDefault(require_GEOSEARCH_WITH());function parseGeoRadiusWithArguments(parser,key,from,radius,unit,replyWith,options){(0,GEORADIUS_1.parseGeoRadiusArguments)(parser,key,from,radius,unit,options),parser.pushVariadic(replyWith),parser.preserve=replyWith}exports.parseGeoRadiusWithArguments=parseGeoRadiusWithArguments,exports.default={IS_READ_ONLY:GEORADIUS_1.default.IS_READ_ONLY,parseCommand(parser,key,from,radius,unit,replyWith,options){parser.push("GEORADIUS"),parseGeoRadiusWithArguments(parser,key,from,radius,unit,replyWith,options)},transformReply:GEOSEARCH_WITH_1.default.transformReply}}),require_GEORADIUS_RO_WITH=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var GEORADIUS_WITH_1=require_GEORADIUS_WITH(),GEORADIUS_WITH_2=__importDefault(require_GEORADIUS_WITH());exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("GEORADIUS_RO"),(0,GEORADIUS_WITH_1.parseGeoRadiusWithArguments)(...args2)},transformReply:GEORADIUS_WITH_2.default.transformReply}}),require_GEORADIUS_RO=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var GEORADIUS_1=__importStar(require_GEORADIUS());exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("GEORADIUS_RO"),(0,GEORADIUS_1.parseGeoRadiusArguments)(...args2)},transformReply:GEORADIUS_1.default.transformReply}}),require_GEORADIUS_STORE=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var GEORADIUS_1=__importStar(require_GEORADIUS());exports.default={IS_READ_ONLY:GEORADIUS_1.default.IS_READ_ONLY,parseCommand(parser,key,from,radius,unit,destination,options){if(parser.push("GEORADIUS"),(0,GEORADIUS_1.parseGeoRadiusArguments)(parser,key,from,radius,unit,options),options?.STOREDIST)parser.push("STOREDIST"),parser.pushKey(destination);else parser.push("STORE"),parser.pushKey(destination)},transformReply:void 0}}),require_GEORADIUSBYMEMBER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseGeoRadiusByMemberArguments=void 0;var GEOSEARCH_1=require_GEOSEARCH();function parseGeoRadiusByMemberArguments(parser,key,from,radius,unit,options){parser.pushKey(key),parser.push(from,radius.toString(),unit),(0,GEOSEARCH_1.parseGeoSearchOptions)(parser,options)}exports.parseGeoRadiusByMemberArguments=parseGeoRadiusByMemberArguments,exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,from,radius,unit,options){parser.push("GEORADIUSBYMEMBER"),parseGeoRadiusByMemberArguments(parser,key,from,radius,unit,options)},transformReply:void 0}}),require_GEORADIUSBYMEMBER_WITH=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseGeoRadiusByMemberWithArguments=void 0;var GEORADIUSBYMEMBER_1=__importDefault(require_GEORADIUSBYMEMBER()),GEOSEARCH_1=require_GEOSEARCH(),GEOSEARCH_WITH_1=__importDefault(require_GEOSEARCH_WITH());function parseGeoRadiusByMemberWithArguments(parser,key,from,radius,unit,replyWith,options){parser.pushKey(key),parser.push(from,radius.toString(),unit),(0,GEOSEARCH_1.parseGeoSearchOptions)(parser,options),parser.push(...replyWith),parser.preserve=replyWith}exports.parseGeoRadiusByMemberWithArguments=parseGeoRadiusByMemberWithArguments,exports.default={IS_READ_ONLY:GEORADIUSBYMEMBER_1.default.IS_READ_ONLY,parseCommand(parser,key,from,radius,unit,replyWith,options){parser.push("GEORADIUSBYMEMBER"),parseGeoRadiusByMemberWithArguments(parser,key,from,radius,unit,replyWith,options)},transformReply:GEOSEARCH_WITH_1.default.transformReply}}),require_GEORADIUSBYMEMBER_RO_WITH=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var GEORADIUSBYMEMBER_WITH_1=__importStar(require_GEORADIUSBYMEMBER_WITH());exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("GEORADIUSBYMEMBER_RO"),(0,GEORADIUSBYMEMBER_WITH_1.parseGeoRadiusByMemberWithArguments)(...args2)},transformReply:GEORADIUSBYMEMBER_WITH_1.default.transformReply}}),require_GEORADIUSBYMEMBER_RO=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var GEORADIUSBYMEMBER_1=__importStar(require_GEORADIUSBYMEMBER());exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("GEORADIUSBYMEMBER_RO"),(0,GEORADIUSBYMEMBER_1.parseGeoRadiusByMemberArguments)(...args2)},transformReply:GEORADIUSBYMEMBER_1.default.transformReply}}),require_GEORADIUSBYMEMBER_STORE=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var GEORADIUSBYMEMBER_1=__importStar(require_GEORADIUSBYMEMBER());exports.default={IS_READ_ONLY:GEORADIUSBYMEMBER_1.default.IS_READ_ONLY,parseCommand(parser,key,from,radius,unit,destination,options){if(parser.push("GEORADIUSBYMEMBER"),(0,GEORADIUSBYMEMBER_1.parseGeoRadiusByMemberArguments)(parser,key,from,radius,unit,options),options?.STOREDIST)parser.push("STOREDIST"),parser.pushKey(destination);else parser.push("STORE"),parser.pushKey(destination)},transformReply:void 0}}),require_GEOSEARCHSTORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var GEOSEARCH_1=require_GEOSEARCH();exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,source,from,by,options){if(parser.push("GEOSEARCHSTORE"),destination!==void 0)parser.pushKey(destination);if((0,GEOSEARCH_1.parseGeoSearchArguments)(parser,source,from,by,options),options?.STOREDIST)parser.push("STOREDIST")},transformReply:void 0}}),require_GET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("GET"),parser.pushKey(key)},transformReply:void 0}}),require_GETBIT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,offset){parser.push("GETBIT"),parser.pushKey(key),parser.push(offset.toString())},transformReply:void 0}}),require_GETDEL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("GETDEL"),parser.pushKey(key)},transformReply:void 0}}),require_GETEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("GETEX"),parser.pushKey(key),"type"in options)switch(options.type){case"EX":case"PX":parser.push(options.type,options.value.toString());break;case"EXAT":case"PXAT":parser.push(options.type,(0,generic_transformers_1.transformEXAT)(options.value));break;case"PERSIST":parser.push("PERSIST");break}else if("EX"in options)parser.push("EX",options.EX.toString());else if("PX"in options)parser.push("PX",options.PX.toString());else if("EXAT"in options)parser.push("EXAT",(0,generic_transformers_1.transformEXAT)(options.EXAT));else if("PXAT"in options)parser.push("PXAT",(0,generic_transformers_1.transformPXAT)(options.PXAT));else parser.push("PERSIST")},transformReply:void 0}}),require_GETRANGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,start3,end6){parser.push("GETRANGE"),parser.pushKey(key),parser.push(start3.toString(),end6.toString())},transformReply:void 0}}),require_GETSET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,value){parser.push("GETSET"),parser.pushKey(key),parser.push(value)},transformReply:void 0}}),require_EXISTS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("EXISTS"),parser.pushKeys(keys3)},transformReply:void 0}}),require_EXPIRE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,seconds2,mode){if(parser.push("EXPIRE"),parser.pushKey(key),parser.push(seconds2.toString()),mode)parser.push(mode)},transformReply:void 0}}),require_EXPIREAT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,timestamp,mode){if(parser.push("EXPIREAT"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformEXAT)(timestamp)),mode)parser.push(mode)},transformReply:void 0}}),require_EXPIRETIME=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("EXPIRETIME"),parser.pushKey(key)},transformReply:void 0}}),require_FLUSHALL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.REDIS_FLUSH_MODES=void 0,exports.REDIS_FLUSH_MODES={ASYNC:"ASYNC",SYNC:"SYNC"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,mode){if(parser.push("FLUSHALL"),mode)parser.push(mode)},transformReply:void 0}}),require_FLUSHDB=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,mode){if(parser.push("FLUSHDB"),mode)parser.push(mode)},transformReply:void 0}}),require_FCALL=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var EVAL_1=__importStar(require_EVAL());exports.default={IS_READ_ONLY:!1,parseCommand(...args2){args2[0].push("FCALL"),(0,EVAL_1.parseEvalArguments)(...args2)},transformReply:EVAL_1.default.transformReply}}),require_FCALL_RO=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var EVAL_1=__importStar(require_EVAL());exports.default={IS_READ_ONLY:!1,parseCommand(...args2){args2[0].push("FCALL_RO"),(0,EVAL_1.parseEvalArguments)(...args2)},transformReply:EVAL_1.default.transformReply}}),require_FUNCTION_DELETE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,library){parser.push("FUNCTION","DELETE",library)},transformReply:void 0}}),require_FUNCTION_DUMP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("FUNCTION","DUMP")},transformReply:void 0}}),require_FUNCTION_FLUSH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,mode){if(parser.push("FUNCTION","FLUSH"),mode)parser.push(mode)},transformReply:void 0}}),require_FUNCTION_KILL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("FUNCTION","KILL")},transformReply:void 0}}),require_FUNCTION_LIST=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,options){if(parser.push("FUNCTION","LIST"),options?.LIBRARYNAME)parser.push("LIBRARYNAME",options.LIBRARYNAME)},transformReply:{2:(reply)=>{return reply.map((library)=>{let unwrapped=library;return{library_name:unwrapped[1],engine:unwrapped[3],functions:unwrapped[5].map((fn2)=>{let unwrapped2=fn2;return{name:unwrapped2[1],description:unwrapped2[3],flags:unwrapped2[5]}})}})},3:void 0}}}),require_FUNCTION_LIST_WITHCODE=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var FUNCTION_LIST_1=__importDefault(require_FUNCTION_LIST());exports.default={NOT_KEYED_COMMAND:FUNCTION_LIST_1.default.NOT_KEYED_COMMAND,IS_READ_ONLY:FUNCTION_LIST_1.default.IS_READ_ONLY,parseCommand(...args2){FUNCTION_LIST_1.default.parseCommand(...args2),args2[0].push("WITHCODE")},transformReply:{2:(reply)=>{return reply.map((library)=>{let unwrapped=library;return{library_name:unwrapped[1],engine:unwrapped[3],functions:unwrapped[5].map((fn2)=>{let unwrapped2=fn2;return{name:unwrapped2[1],description:unwrapped2[3],flags:unwrapped2[5]}}),library_code:unwrapped[7]}})},3:void 0}}}),require_FUNCTION_LOAD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,code,options){if(parser.push("FUNCTION","LOAD"),options?.REPLACE)parser.push("REPLACE");parser.push(code)},transformReply:void 0}}),require_FUNCTION_RESTORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,dump2,options){if(parser.push("FUNCTION","RESTORE",dump2),options?.mode)parser.push(options.mode)},transformReply:void 0}}),require_FUNCTION_STATS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("FUNCTION","STATS")},transformReply:{2:(reply)=>{return{running_script:transformRunningScript(reply[1]),engines:transformEngines(reply[3])}},3:void 0}};function transformRunningScript(reply){if((0,generic_transformers_1.isNullReply)(reply))return null;let unwraped=reply;return{name:unwraped[1],command:unwraped[3],duration_ms:unwraped[5]}}function transformEngines(reply){let unwraped=reply,engines=Object.create(null);for(let i=0;i<unwraped.length;i++){let name=unwraped[i],stats=unwraped[++i],unwrapedStats=stats;engines[name.toString()]={libraries_count:unwrapedStats[1],functions_count:unwrapedStats[3]}}return engines}}),require_HDEL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,field){parser.push("HDEL"),parser.pushKey(key),parser.pushVariadic(field)},transformReply:void 0}}),require_HELLO=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,protover,options){if(parser.push("HELLO"),protover){if(parser.push(protover.toString()),options?.AUTH)parser.push("AUTH",options.AUTH.username,options.AUTH.password);if(options?.SETNAME)parser.push("SETNAME",options.SETNAME)}},transformReply:{2:(reply)=>({server:reply[1],version:reply[3],proto:reply[5],id:reply[7],mode:reply[9],role:reply[11],modules:reply[13]}),3:void 0}}}),require_HEXISTS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,field){parser.push("HEXISTS"),parser.pushKey(key),parser.push(field)},transformReply:void 0}}),require_HEXPIRE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.HASH_EXPIRATION=void 0,exports.HASH_EXPIRATION={FIELD_NOT_EXISTS:-2,CONDITION_NOT_MET:0,UPDATED:1,DELETED:2},exports.default={parseCommand(parser,key,fields,seconds2,mode){if(parser.push("HEXPIRE"),parser.pushKey(key),parser.push(seconds2.toString()),mode)parser.push(mode);parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HEXPIREAT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,fields,timestamp,mode){if(parser.push("HEXPIREAT"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformEXAT)(timestamp)),mode)parser.push(mode);parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HEXPIRETIME=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.HASH_EXPIRATION_TIME=void 0,exports.HASH_EXPIRATION_TIME={FIELD_NOT_EXISTS:-2,NO_EXPIRATION:-1},exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,fields){parser.push("HEXPIRETIME"),parser.pushKey(key),parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HGET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,field){parser.push("HGET"),parser.pushKey(key),parser.push(field)},transformReply:void 0}}),require_HGETALL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("HGETALL"),parser.pushKey(key)},TRANSFORM_LEGACY_REPLY:!0,transformReply:{2:generic_transformers_1.transformTuplesReply,3:void 0}}}),require_HGETDEL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,fields){parser.push("HGETDEL"),parser.pushKey(key),parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HGETEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,fields,options){if(parser.push("HGETEX"),parser.pushKey(key),options?.expiration)if(typeof options.expiration==="string")parser.push(options.expiration);else if(options.expiration.type==="PERSIST")parser.push("PERSIST");else parser.push(options.expiration.type,options.expiration.value.toString());parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HINCRBY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,field,increment){parser.push("HINCRBY"),parser.pushKey(key),parser.push(field,increment.toString())},transformReply:void 0}}),require_HINCRBYFLOAT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,field,increment){parser.push("HINCRBYFLOAT"),parser.pushKey(key),parser.push(field,increment.toString())},transformReply:void 0}}),require_HKEYS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("HKEYS"),parser.pushKey(key)},transformReply:void 0}}),require_HLEN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("HLEN"),parser.pushKey(key)},transformReply:void 0}}),require_HMGET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,fields){parser.push("HMGET"),parser.pushKey(key),parser.pushVariadic(fields)},transformReply:void 0}}),require_HPERSIST=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,fields){parser.push("HPERSIST"),parser.pushKey(key),parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HPEXPIRE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,fields,ms,mode){if(parser.push("HPEXPIRE"),parser.pushKey(key),parser.push(ms.toString()),mode)parser.push(mode);parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HPEXPIREAT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,fields,timestamp,mode){if(parser.push("HPEXPIREAT"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformPXAT)(timestamp)),mode)parser.push(mode);parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HPEXPIRETIME=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,fields){parser.push("HPEXPIRETIME"),parser.pushKey(key),parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HPTTL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,fields){parser.push("HPTTL"),parser.pushKey(key),parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HRANDFIELD_COUNT_WITHVALUES=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count32){parser.push("HRANDFIELD"),parser.pushKey(key),parser.push(count32.toString(),"WITHVALUES")},transformReply:{2:(rawReply)=>{let reply=[],i=0;while(i<rawReply.length)reply.push({field:rawReply[i++],value:rawReply[i++]});return reply},3:(reply)=>{return reply.map((entry)=>{let[field,value]=entry;return{field,value}})}}}}),require_HRANDFIELD_COUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count32){parser.push("HRANDFIELD"),parser.pushKey(key),parser.push(count32.toString())},transformReply:void 0}}),require_HRANDFIELD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("HRANDFIELD"),parser.pushKey(key)},transformReply:void 0}}),require_SCAN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.pushScanArguments=exports.parseScanArguments=void 0;function parseScanArguments(parser,cursor,options){if(parser.push(cursor),options?.MATCH)parser.push("MATCH",options.MATCH);if(options?.COUNT)parser.push("COUNT",options.COUNT.toString())}exports.parseScanArguments=parseScanArguments;function pushScanArguments(args2,cursor,options){if(args2.push(cursor.toString()),options?.MATCH)args2.push("MATCH",options.MATCH);if(options?.COUNT)args2.push("COUNT",options.COUNT.toString());return args2}exports.pushScanArguments=pushScanArguments,exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,cursor,options){if(parser.push("SCAN"),parseScanArguments(parser,cursor,options),options?.TYPE)parser.push("TYPE",options.TYPE)},transformReply([cursor,keys3]){return{cursor,keys:keys3}}}}),require_HSCAN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var SCAN_1=require_SCAN();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,cursor,options){parser.push("HSCAN"),parser.pushKey(key),(0,SCAN_1.parseScanArguments)(parser,cursor,options)},transformReply([cursor,rawEntries]){let entries2=[],i=0;while(i<rawEntries.length)entries2.push({field:rawEntries[i++],value:rawEntries[i++]});return{cursor,entries:entries2}}}}),require_HSCAN_NOVALUES=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var HSCAN_1=__importDefault(require_HSCAN());exports.default={IS_READ_ONLY:!0,parseCommand(...args2){let parser=args2[0];HSCAN_1.default.parseCommand(...args2),parser.push("NOVALUES")},transformReply([cursor,fields]){return{cursor,fields}}}}),require_HSET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,...[key,value,fieldValue]){if(parser.push("HSET"),parser.pushKey(key),typeof value==="string"||typeof value==="number"||value instanceof Buffer)parser.push(convertValue(value),convertValue(fieldValue));else if(value instanceof Map)pushMap(parser,value);else if(Array.isArray(value))pushTuples(parser,value);else pushObject(parser,value)},transformReply:void 0};function pushMap(parser,map222){for(let[key,value]of map222.entries())parser.push(convertValue(key),convertValue(value))}function pushTuples(parser,tuples){for(let tuple22 of tuples){if(Array.isArray(tuple22)){pushTuples(parser,tuple22);continue}parser.push(convertValue(tuple22))}}function pushObject(parser,object){for(let key of Object.keys(object))parser.push(convertValue(key),convertValue(object[key]))}function convertValue(value){return typeof value==="number"?value.toString():value}}),require_HSETEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var parser_1=require_parser();exports.default={parseCommand(parser,key,fields,options){if(parser.push("HSETEX"),parser.pushKey(key),options?.mode)parser.push(options.mode);if(options?.expiration)if(typeof options.expiration==="string")parser.push(options.expiration);else if(options.expiration.type==="KEEPTTL")parser.push("KEEPTTL");else parser.push(options.expiration.type,options.expiration.value.toString());if(parser.push("FIELDS"),fields instanceof Map)pushMap(parser,fields);else if(Array.isArray(fields))pushTuples(parser,fields);else pushObject(parser,fields)},transformReply:void 0};function pushMap(parser,map222){parser.push(map222.size.toString());for(let[key,value]of map222.entries())parser.push(convertValue(key),convertValue(value))}function pushTuples(parser,tuples){let tmpParser=new parser_1.BasicCommandParser;if(_pushTuples(tmpParser,tuples),tmpParser.redisArgs.length%2!=0)throw Error("invalid number of arguments, expected key value ....[key value] pairs, got key without value");parser.push((tmpParser.redisArgs.length/2).toString()),parser.push(...tmpParser.redisArgs)}function _pushTuples(parser,tuples){for(let tuple22 of tuples){if(Array.isArray(tuple22)){_pushTuples(parser,tuple22);continue}parser.push(convertValue(tuple22))}}function pushObject(parser,object){let len=Object.keys(object).length;if(len==0)throw Error("object without keys");parser.push(len.toString());for(let key of Object.keys(object))parser.push(convertValue(key),convertValue(object[key]))}function convertValue(value){return typeof value==="number"?value.toString():value}}),require_HSETNX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,field,value){parser.push("HSETNX"),parser.pushKey(key),parser.push(field,value)},transformReply:void 0}}),require_HSTRLEN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,field){parser.push("HSTRLEN"),parser.pushKey(key),parser.push(field)},transformReply:void 0}}),require_HTTL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,fields){parser.push("HTTL"),parser.pushKey(key),parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}}),require_HVALS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("HVALS"),parser.pushKey(key)},transformReply:void 0}}),require_INCR=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key){parser.push("INCR"),parser.pushKey(key)},transformReply:void 0}}),require_INCRBY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,increment){parser.push("INCRBY"),parser.pushKey(key),parser.push(increment.toString())},transformReply:void 0}}),require_INCRBYFLOAT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,increment){parser.push("INCRBYFLOAT"),parser.pushKey(key),parser.push(increment.toString())},transformReply:void 0}}),require_INFO=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,section){if(parser.push("INFO"),section)parser.push(section)},transformReply:void 0}}),require_KEYS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,pattern){parser.push("KEYS",pattern)},transformReply:void 0}}),require_LASTSAVE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("LASTSAVE")},transformReply:void 0}}),require_LATENCY_DOCTOR=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("LATENCY","DOCTOR")},transformReply:void 0}}),require_LATENCY_GRAPH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.LATENCY_EVENTS=void 0,exports.LATENCY_EVENTS={ACTIVE_DEFRAG_CYCLE:"active-defrag-cycle",AOF_FSYNC_ALWAYS:"aof-fsync-always",AOF_STAT:"aof-stat",AOF_REWRITE_DIFF_WRITE:"aof-rewrite-diff-write",AOF_RENAME:"aof-rename",AOF_WRITE:"aof-write",AOF_WRITE_ACTIVE_CHILD:"aof-write-active-child",AOF_WRITE_ALONE:"aof-write-alone",AOF_WRITE_PENDING_FSYNC:"aof-write-pending-fsync",COMMAND:"command",EXPIRE_CYCLE:"expire-cycle",EVICTION_CYCLE:"eviction-cycle",EVICTION_DEL:"eviction-del",FAST_COMMAND:"fast-command",FORK:"fork",RDB_UNLINK_TEMP_FILE:"rdb-unlink-temp-file"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,event){parser.push("LATENCY","GRAPH",event)},transformReply:void 0}}),require_LATENCY_HISTORY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,event){parser.push("LATENCY","HISTORY",event)},transformReply:void 0}}),require_LATENCY_LATEST=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("LATENCY","LATEST")},transformReply:void 0}}),require_LATENCY_RESET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.LATENCY_EVENTS=void 0;var LATENCY_GRAPH_1=require_LATENCY_GRAPH();Object.defineProperty(exports,"LATENCY_EVENTS",{enumerable:!0,get:function(){return LATENCY_GRAPH_1.LATENCY_EVENTS}}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,...events){let args2=["LATENCY","RESET"];if(events.length>0)args2.push(...events);parser.push(...args2)},transformReply:void 0}}),require_LCS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key1,key2){parser.push("LCS"),parser.pushKeys([key1,key2])},transformReply:void 0}}),require_LCS_IDX=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var LCS_1=__importDefault(require_LCS());exports.default={IS_READ_ONLY:LCS_1.default.IS_READ_ONLY,parseCommand(parser,key1,key2,options){if(LCS_1.default.parseCommand(parser,key1,key2),parser.push("IDX"),options?.MINMATCHLEN)parser.push("MINMATCHLEN",options.MINMATCHLEN.toString())},transformReply:{2:(reply)=>({matches:reply[1],len:reply[3]}),3:void 0}}}),require_LCS_IDX_WITHMATCHLEN=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var LCS_IDX_1=__importDefault(require_LCS_IDX());exports.default={IS_READ_ONLY:LCS_IDX_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];LCS_IDX_1.default.parseCommand(...args2),parser.push("WITHMATCHLEN")},transformReply:{2:(reply)=>({matches:reply[1],len:reply[3]}),3:void 0}}}),require_LCS_LEN=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var LCS_1=__importDefault(require_LCS());exports.default={IS_READ_ONLY:LCS_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];LCS_1.default.parseCommand(...args2),parser.push("LEN")},transformReply:void 0}}),require_LINDEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,index){parser.push("LINDEX"),parser.pushKey(key),parser.push(index.toString())},transformReply:void 0}}),require_LINSERT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,position,pivot,element){parser.push("LINSERT"),parser.pushKey(key),parser.push(position,pivot,element)},transformReply:void 0}}),require_LLEN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("LLEN"),parser.pushKey(key)},transformReply:void 0}}),require_LMOVE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,sourceSide,destinationSide){parser.push("LMOVE"),parser.pushKeys([source,destination]),parser.push(sourceSide,destinationSide)},transformReply:void 0}}),require_LOLWUT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,version,...optionalArguments){if(parser.push("LOLWUT"),version)parser.push("VERSION",version.toString()),parser.pushVariadic(optionalArguments.map(String))},transformReply:void 0}}),require_LPOP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key){parser.push("LPOP"),parser.pushKey(key)},transformReply:void 0}}),require_LPOP_COUNT=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var LPOP_1=__importDefault(require_LPOP());exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,count32){LPOP_1.default.parseCommand(parser,key),parser.push(count32.toString())},transformReply:void 0}}),require_LPOS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,element,options){if(parser.push("LPOS"),parser.pushKey(key),parser.push(element),options?.RANK!==void 0)parser.push("RANK",options.RANK.toString());if(options?.MAXLEN!==void 0)parser.push("MAXLEN",options.MAXLEN.toString())},transformReply:void 0}}),require_LPOS_COUNT=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var LPOS_1=__importDefault(require_LPOS());exports.default={CACHEABLE:LPOS_1.default.CACHEABLE,IS_READ_ONLY:LPOS_1.default.IS_READ_ONLY,parseCommand(parser,key,element,count32,options){LPOS_1.default.parseCommand(parser,key,element,options),parser.push("COUNT",count32.toString())},transformReply:void 0}}),require_LPUSH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,elements){parser.push("LPUSH"),parser.pushKey(key),parser.pushVariadic(elements)},transformReply:void 0}}),require_LPUSHX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,elements){parser.push("LPUSHX"),parser.pushKey(key),parser.pushVariadic(elements)},transformReply:void 0}}),require_LRANGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,start3,stop22){parser.push("LRANGE"),parser.pushKey(key),parser.push(start3.toString(),stop22.toString())},transformReply:void 0}}),require_LREM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count32,element){parser.push("LREM"),parser.pushKey(key),parser.push(count32.toString()),parser.push(element)},transformReply:void 0}}),require_LSET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,index,element){parser.push("LSET"),parser.pushKey(key),parser.push(index.toString(),element)},transformReply:void 0}}),require_LTRIM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,start3,stop22){parser.push("LTRIM"),parser.pushKey(key),parser.push(start3.toString(),stop22.toString())},transformReply:void 0}}),require_MEMORY_DOCTOR=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("MEMORY","DOCTOR")},transformReply:void 0}}),require_MEMORY_MALLOC_STATS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("MEMORY","MALLOC-STATS")},transformReply:void 0}}),require_MEMORY_PURGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser){parser.push("MEMORY","PURGE")},transformReply:void 0}}),require_MEMORY_STATS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("MEMORY","STATS")},transformReply:{2:(rawReply,preserve,typeMapping)=>{let reply={},i=0;while(i<rawReply.length)switch(rawReply[i].toString()){case"dataset.percentage":case"peak.percentage":case"allocator-fragmentation.ratio":case"allocator-rss.ratio":case"rss-overhead.ratio":case"fragmentation":reply[rawReply[i++]]=generic_transformers_1.transformDoubleReply[2](rawReply[i++],preserve,typeMapping);break;default:reply[rawReply[i++]]=rawReply[i++]}return reply},3:void 0}}}),require_MEMORY_USAGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("MEMORY","USAGE"),parser.pushKey(key),options?.SAMPLES)parser.push("SAMPLES",options.SAMPLES.toString())},transformReply:void 0}}),require_MGET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("MGET"),parser.pushKeys(keys3)},transformReply:void 0}}),require_MIGRATE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,host,port3,key,destinationDb,timeout5,options){parser.push("MIGRATE",host,port3.toString());let isKeyArray=Array.isArray(key);if(isKeyArray)parser.push("");else parser.push(key);if(parser.push(destinationDb.toString(),timeout5.toString()),options?.COPY)parser.push("COPY");if(options?.REPLACE)parser.push("REPLACE");if(options?.AUTH)if(options.AUTH.username)parser.push("AUTH2",options.AUTH.username,options.AUTH.password);else parser.push("AUTH",options.AUTH.password);if(isKeyArray)parser.push("KEYS"),parser.pushVariadic(key)},transformReply:void 0}}),require_MODULE_LIST=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("MODULE","LIST")},transformReply:{2:(reply)=>{return reply.map((module2)=>{let unwrapped=module2;return{name:unwrapped[1],ver:unwrapped[3]}})},3:void 0}}}),require_MODULE_LOAD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,path,moduleArguments){if(parser.push("MODULE","LOAD",path),moduleArguments)parser.push(...moduleArguments)},transformReply:void 0}}),require_MODULE_UNLOAD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,name){parser.push("MODULE","UNLOAD",name)},transformReply:void 0}}),require_MOVE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,db){parser.push("MOVE"),parser.pushKey(key),parser.push(db.toString())},transformReply:void 0}}),require_MSET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseMSetArguments=void 0;function parseMSetArguments(parser,toSet3){if(Array.isArray(toSet3)){if(toSet3.length==0)throw Error("empty toSet Argument");if(Array.isArray(toSet3[0]))for(let tuple22 of toSet3)parser.pushKey(tuple22[0]),parser.push(tuple22[1]);else{let arr=toSet3;for(let i=0;i<arr.length;i+=2)parser.pushKey(arr[i]),parser.push(arr[i+1])}}else for(let tuple22 of Object.entries(toSet3))parser.pushKey(tuple22[0]),parser.push(tuple22[1])}exports.parseMSetArguments=parseMSetArguments,exports.default={IS_READ_ONLY:!0,parseCommand(parser,toSet3){return parser.push("MSET"),parseMSetArguments(parser,toSet3)},transformReply:void 0}}),require_MSETEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseMSetExArguments=exports.ExpirationMode=exports.SetMode=void 0;var generic_transformers_1=require_generic_transformers();exports.SetMode={XX:"XX",NX:"NX"},exports.ExpirationMode={EX:"EX",PX:"PX",EXAT:"EXAT",PXAT:"PXAT",KEEPTTL:"KEEPTTL"};function parseMSetExArguments(parser,keyValuePairs){let tuples=[];if(Array.isArray(keyValuePairs)){if(keyValuePairs.length==0)throw Error("empty keyValuePairs Argument");if(Array.isArray(keyValuePairs[0]))tuples=keyValuePairs;else{let arr=keyValuePairs;for(let i=0;i<arr.length;i+=2)tuples.push([arr[i],arr[i+1]])}}else for(let tuple22 of Object.entries(keyValuePairs))tuples.push([tuple22[0],tuple22[1]]);parser.push(tuples.length.toString());for(let tuple22 of tuples)parser.pushKey(tuple22[0]),parser.push(tuple22[1])}exports.parseMSetExArguments=parseMSetExArguments,exports.default={parseCommand(parser,keyValuePairs,options){if(parser.push("MSETEX"),parseMSetExArguments(parser,keyValuePairs),options?.mode)parser.push(options.mode);if(options?.expiration)switch(options.expiration.type){case exports.ExpirationMode.EXAT:parser.push(exports.ExpirationMode.EXAT,(0,generic_transformers_1.transformEXAT)(options.expiration.value));break;case exports.ExpirationMode.PXAT:parser.push(exports.ExpirationMode.PXAT,(0,generic_transformers_1.transformPXAT)(options.expiration.value));break;case exports.ExpirationMode.KEEPTTL:parser.push(exports.ExpirationMode.KEEPTTL);break;case exports.ExpirationMode.EX:case exports.ExpirationMode.PX:parser.push(options.expiration.type,options.expiration.value?.toString());break}},transformReply:void 0}}),require_MSETNX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var MSET_1=require_MSET();exports.default={IS_READ_ONLY:!0,parseCommand(parser,toSet3){return parser.push("MSETNX"),(0,MSET_1.parseMSetArguments)(parser,toSet3)},transformReply:void 0}}),require_OBJECT_ENCODING=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("OBJECT","ENCODING"),parser.pushKey(key)},transformReply:void 0}}),require_OBJECT_FREQ=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("OBJECT","FREQ"),parser.pushKey(key)},transformReply:void 0}}),require_OBJECT_IDLETIME=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("OBJECT","IDLETIME"),parser.pushKey(key)},transformReply:void 0}}),require_OBJECT_REFCOUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("OBJECT","REFCOUNT"),parser.pushKey(key)},transformReply:void 0}}),require_PERSIST=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key){parser.push("PERSIST"),parser.pushKey(key)},transformReply:void 0}}),require_PEXPIRE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,ms,mode){if(parser.push("PEXPIRE"),parser.pushKey(key),parser.push(ms.toString()),mode)parser.push(mode)},transformReply:void 0}}),require_PEXPIREAT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,msTimestamp,mode){if(parser.push("PEXPIREAT"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformPXAT)(msTimestamp)),mode)parser.push(mode)},transformReply:void 0}}),require_PEXPIRETIME=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("PEXPIRETIME"),parser.pushKey(key)},transformReply:void 0}}),require_PFADD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,element){if(parser.push("PFADD"),parser.pushKey(key),element)parser.pushVariadic(element)},transformReply:void 0}}),require_PFCOUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("PFCOUNT"),parser.pushKeys(keys3)},transformReply:void 0}}),require_PFMERGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,destination,sources){if(parser.push("PFMERGE"),parser.pushKey(destination),sources)parser.pushKeys(sources)},transformReply:void 0}}),require_PING=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,message){if(parser.push("PING"),message)parser.push(message)},transformReply:void 0}}),require_PSETEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,ms,value){parser.push("PSETEX"),parser.pushKey(key),parser.push(ms.toString(),value)},transformReply:void 0}}),require_PTTL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("PTTL"),parser.pushKey(key)},transformReply:void 0}}),require_PUBLISH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,IS_FORWARD_COMMAND:!0,parseCommand(parser,channel,message){parser.push("PUBLISH",channel,message)},transformReply:void 0}}),require_PUBSUB_CHANNELS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,pattern){if(parser.push("PUBSUB","CHANNELS"),pattern)parser.push(pattern)},transformReply:void 0}}),require_PUBSUB_NUMPAT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("PUBSUB","NUMPAT")},transformReply:void 0}}),require_PUBSUB_NUMSUB=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,channels){if(parser.push("PUBSUB","NUMSUB"),channels)parser.pushVariadic(channels)},transformReply(rawReply){let reply=Object.create(null),i=0;while(i<rawReply.length)reply[rawReply[i++].toString()]=Number(rawReply[i++]);return reply}}}),require_PUBSUB_SHARDNUMSUB=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,channels){if(parser.push("PUBSUB","SHARDNUMSUB"),channels)parser.pushVariadic(channels)},transformReply(reply){let transformedReply=Object.create(null);for(let i=0;i<reply.length;i+=2)transformedReply[reply[i].toString()]=reply[i+1];return transformedReply}}}),require_PUBSUB_SHARDCHANNELS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,pattern){if(parser.push("PUBSUB","SHARDCHANNELS"),pattern)parser.push(pattern)},transformReply:void 0}}),require_RANDOMKEY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("RANDOMKEY")},transformReply:void 0}}),require_READONLY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("READONLY")},transformReply:void 0}}),require_RENAME=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,newKey){parser.push("RENAME"),parser.pushKeys([key,newKey])},transformReply:void 0}}),require_RENAMENX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,newKey){parser.push("RENAMENX"),parser.pushKeys([key,newKey])},transformReply:void 0}}),require_REPLICAOF=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,host,port3){parser.push("REPLICAOF",host,port3.toString())},transformReply:void 0}}),require_RESTORE_ASKING=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("RESTORE-ASKING")},transformReply:void 0}}),require_RESTORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,ttl,serializedValue,options){if(parser.push("RESTORE"),parser.pushKey(key),parser.push(ttl.toString(),serializedValue),options?.REPLACE)parser.push("REPLACE");if(options?.ABSTTL)parser.push("ABSTTL");if(options?.IDLETIME)parser.push("IDLETIME",options.IDLETIME.toString());if(options?.FREQ)parser.push("FREQ",options.FREQ.toString())},transformReply:void 0}}),require_ROLE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("ROLE")},transformReply(reply){switch(reply[0]){case"master":{let[role,replicationOffest,replicas]=reply;return{role,replicationOffest,replicas:replicas.map((replica)=>{let[host,port3,replicationOffest2]=replica;return{host,port:Number(port3),replicationOffest:Number(replicationOffest2)}})}}case"slave":{let[role,masterHost,masterPort,state,dataReceived]=reply;return{role,master:{host:masterHost,port:masterPort},state,dataReceived}}case"sentinel":{let[role,masterNames]=reply;return{role,masterNames}}}}}}),require_RPOP_COUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,count32){parser.push("RPOP"),parser.pushKey(key),parser.push(count32.toString())},transformReply:void 0}}),require_RPOP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key){parser.push("RPOP"),parser.pushKey(key)},transformReply:void 0}}),require_RPOPLPUSH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,source,destination){parser.push("RPOPLPUSH"),parser.pushKeys([source,destination])},transformReply:void 0}}),require_RPUSH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,element){parser.push("RPUSH"),parser.pushKey(key),parser.pushVariadic(element)},transformReply:void 0}}),require_RPUSHX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,element){parser.push("RPUSHX"),parser.pushKey(key),parser.pushVariadic(element)},transformReply:void 0}}),require_SADD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,members){parser.push("SADD"),parser.pushKey(key),parser.pushVariadic(members)},transformReply:void 0}}),require_SCARD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("SCARD"),parser.pushKey(key)},transformReply:void 0}}),require_SCRIPT_DEBUG=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,mode){parser.push("SCRIPT","DEBUG",mode)},transformReply:void 0}}),require_SCRIPT_EXISTS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,sha1){parser.push("SCRIPT","EXISTS"),parser.pushVariadic(sha1)},transformReply:void 0}}),require_SCRIPT_FLUSH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,mode){if(parser.push("SCRIPT","FLUSH"),mode)parser.push(mode)},transformReply:void 0}}),require_SCRIPT_KILL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("SCRIPT","KILL")},transformReply:void 0}}),require_SCRIPT_LOAD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,script){parser.push("SCRIPT","LOAD",script)},transformReply:void 0}}),require_SDIFF=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("SDIFF"),parser.pushKeys(keys3)},transformReply:void 0}}),require_SDIFFSTORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,destination,keys3){parser.push("SDIFFSTORE"),parser.pushKey(destination),parser.pushKeys(keys3)},transformReply:void 0}}),require_SET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,value,options){if(parser.push("SET"),parser.pushKey(key),parser.push(typeof value==="number"?value.toString():value),options?.expiration)if(typeof options.expiration==="string")parser.push(options.expiration);else if(options.expiration.type==="KEEPTTL")parser.push("KEEPTTL");else parser.push(options.expiration.type,options.expiration.value.toString());else if(options?.EX!==void 0)parser.push("EX",options.EX.toString());else if(options?.PX!==void 0)parser.push("PX",options.PX.toString());else if(options?.EXAT!==void 0)parser.push("EXAT",options.EXAT.toString());else if(options?.PXAT!==void 0)parser.push("PXAT",options.PXAT.toString());else if(options?.KEEPTTL)parser.push("KEEPTTL");if(options?.condition){if(parser.push(options.condition),options?.matchValue!==void 0)parser.push(options.matchValue)}else if(options?.NX)parser.push("NX");else if(options?.XX)parser.push("XX");if(options?.GET)parser.push("GET")},transformReply:void 0}}),require_SETBIT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,offset,value){parser.push("SETBIT"),parser.pushKey(key),parser.push(offset.toString(),value.toString())},transformReply:void 0}}),require_SETEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,seconds2,value){parser.push("SETEX"),parser.pushKey(key),parser.push(seconds2.toString(),value)},transformReply:void 0}}),require_SETNX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,value){parser.push("SETNX"),parser.pushKey(key),parser.push(value)},transformReply:void 0}}),require_SETRANGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,key,offset,value){parser.push("SETRANGE"),parser.pushKey(key),parser.push(offset.toString(),value)},transformReply:void 0}}),require_SINTER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("SINTER"),parser.pushKeys(keys3)},transformReply:void 0}}),require_SINTERCARD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3,options){if(parser.push("SINTERCARD"),parser.pushKeysLength(keys3),typeof options==="number")parser.push("LIMIT",options.toString());else if(options?.LIMIT!==void 0)parser.push("LIMIT",options.LIMIT.toString())},transformReply:void 0}}),require_SINTERSTORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys3){parser.push("SINTERSTORE"),parser.pushKey(destination),parser.pushKeys(keys3)},transformReply:void 0}}),require_SISMEMBER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("SISMEMBER"),parser.pushKey(key),parser.push(member)},transformReply:void 0}}),require_SMEMBERS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("SMEMBERS"),parser.pushKey(key)},transformReply:{2:void 0,3:void 0}}}),require_SMISMEMBER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,members){parser.push("SMISMEMBER"),parser.pushKey(key),parser.pushVariadic(members)},transformReply:void 0}}),require_SMOVE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,member){parser.push("SMOVE"),parser.pushKeys([source,destination]),parser.push(member)},transformReply:void 0}}),require_SORT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseSortArguments=void 0;function parseSortArguments(parser,key,options){if(parser.pushKey(key),options?.BY)parser.push("BY",options.BY);if(options?.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString());if(options?.GET)if(Array.isArray(options.GET))for(let pattern of options.GET)parser.push("GET",pattern);else parser.push("GET",options.GET);if(options?.DIRECTION)parser.push(options.DIRECTION);if(options?.ALPHA)parser.push("ALPHA")}exports.parseSortArguments=parseSortArguments,exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){parser.push("SORT"),parseSortArguments(parser,key,options)},transformReply:void 0}}),require_SORT_RO=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var SORT_1=__importStar(require_SORT());exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("SORT_RO"),(0,SORT_1.parseSortArguments)(...args2)},transformReply:SORT_1.default.transformReply}}),require_SORT_STORE=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var SORT_1=__importDefault(require_SORT());exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,options){SORT_1.default.parseCommand(parser,source,options),parser.push("STORE",destination)},transformReply:void 0}}),require_SPOP_COUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,count32){parser.push("SPOP"),parser.pushKey(key),parser.push(count32.toString())},transformReply:void 0}}),require_SPOP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key){parser.push("SPOP"),parser.pushKey(key)},transformReply:void 0}}),require_SPUBLISH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,channel,message){parser.push("SPUBLISH"),parser.pushKey(channel),parser.push(message)},transformReply:void 0}}),require_SRANDMEMBER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("SRANDMEMBER"),parser.pushKey(key)},transformReply:void 0}}),require_SRANDMEMBER_COUNT=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var SRANDMEMBER_1=__importDefault(require_SRANDMEMBER());exports.default={IS_READ_ONLY:SRANDMEMBER_1.default.IS_READ_ONLY,parseCommand(parser,key,count32){SRANDMEMBER_1.default.parseCommand(parser,key),parser.push(count32.toString())},transformReply:void 0}}),require_SREM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,members){parser.push("SREM"),parser.pushKey(key),parser.pushVariadic(members)},transformReply:void 0}}),require_SSCAN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var SCAN_1=require_SCAN();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,cursor,options){parser.push("SSCAN"),parser.pushKey(key),(0,SCAN_1.parseScanArguments)(parser,cursor,options)},transformReply([cursor,members]){return{cursor,members}}}}),require_STRLEN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("STRLEN"),parser.pushKey(key)},transformReply:void 0}}),require_SUNION=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("SUNION"),parser.pushKeys(keys3)},transformReply:void 0}}),require_SUNIONSTORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys3){parser.push("SUNIONSTORE"),parser.pushKey(destination),parser.pushKeys(keys3)},transformReply:void 0}}),require_SWAPDB=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,index1,index2){parser.push("SWAPDB",index1.toString(),index2.toString())},transformReply:void 0}}),require_TIME=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("TIME")},transformReply:void 0}}),require_TOUCH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key){parser.push("TOUCH"),parser.pushKeys(key)},transformReply:void 0}}),require_TTL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TTL"),parser.pushKey(key)},transformReply:void 0}}),require_TYPE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TYPE"),parser.pushKey(key)},transformReply:void 0}}),require_UNLINK=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys3){parser.push("UNLINK"),parser.pushKeys(keys3)},transformReply:void 0}}),require_WAIT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,numberOfReplicas,timeout5){parser.push("WAIT",numberOfReplicas.toString(),timeout5.toString())},transformReply:void 0}}),require_XACK=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,id2){parser.push("XACK"),parser.pushKey(key),parser.push(group3),parser.pushVariadic(id2)},transformReply:void 0}}),require_XACKDEL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,id2,policy){if(parser.push("XACKDEL"),parser.pushKey(key),parser.push(group3),policy)parser.push(policy);parser.push("IDS"),parser.pushVariadicWithLength(id2)},transformReply:void 0}}),require_XADD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseXAddArguments=void 0;function parseXAddArguments(optional,parser,key,id2,message,options){if(parser.push("XADD"),parser.pushKey(key),optional)parser.push(optional);if(options?.TRIM){if(options.TRIM.strategy)parser.push(options.TRIM.strategy);if(options.TRIM.strategyModifier)parser.push(options.TRIM.strategyModifier);if(parser.push(options.TRIM.threshold.toString()),options.TRIM.limit)parser.push("LIMIT",options.TRIM.limit.toString());if(options.TRIM.policy)parser.push(options.TRIM.policy)}parser.push(id2);for(let[key2,value]of Object.entries(message))parser.push(key2,value)}exports.parseXAddArguments=parseXAddArguments,exports.default={IS_READ_ONLY:!1,parseCommand(...args2){return parseXAddArguments(void 0,...args2)},transformReply:void 0}}),require_XADD_NOMKSTREAM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var XADD_1=require_XADD();exports.default={IS_READ_ONLY:!1,parseCommand(...args2){return(0,XADD_1.parseXAddArguments)("NOMKSTREAM",...args2)},transformReply:void 0}}),require_XAUTOCLAIM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,consumer,minIdleTime,start3,options){if(parser.push("XAUTOCLAIM"),parser.pushKey(key),parser.push(group3,consumer,minIdleTime.toString(),start3),options?.COUNT)parser.push("COUNT",options.COUNT.toString())},transformReply(reply,preserve,typeMapping){return{nextId:reply[0],messages:reply[1].map(generic_transformers_1.transformStreamMessageNullReply.bind(void 0,typeMapping)),deletedMessages:reply[2]}}}}),require_XAUTOCLAIM_JUSTID=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var XAUTOCLAIM_1=__importDefault(require_XAUTOCLAIM());exports.default={IS_READ_ONLY:XAUTOCLAIM_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];XAUTOCLAIM_1.default.parseCommand(...args2),parser.push("JUSTID")},transformReply(reply){return{nextId:reply[0],messages:reply[1],deletedMessages:reply[2]}}}}),require_XCLAIM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,consumer,minIdleTime,id2,options){if(parser.push("XCLAIM"),parser.pushKey(key),parser.push(group3,consumer,minIdleTime.toString()),parser.pushVariadic(id2),options?.IDLE!==void 0)parser.push("IDLE",options.IDLE.toString());if(options?.TIME!==void 0)parser.push("TIME",(options.TIME instanceof Date?options.TIME.getTime():options.TIME).toString());if(options?.RETRYCOUNT!==void 0)parser.push("RETRYCOUNT",options.RETRYCOUNT.toString());if(options?.FORCE)parser.push("FORCE");if(options?.LASTID!==void 0)parser.push("LASTID",options.LASTID)},transformReply(reply,preserve,typeMapping){return reply.map(generic_transformers_1.transformStreamMessageNullReply.bind(void 0,typeMapping))}}}),require_XCLAIM_JUSTID=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var XCLAIM_1=__importDefault(require_XCLAIM());exports.default={IS_READ_ONLY:XCLAIM_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];XCLAIM_1.default.parseCommand(...args2),parser.push("JUSTID")},transformReply:void 0}}),require_XDEL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,id2){parser.push("XDEL"),parser.pushKey(key),parser.pushVariadic(id2)},transformReply:void 0}}),require_XDELEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,id2,policy){if(parser.push("XDELEX"),parser.pushKey(key),policy)parser.push(policy);parser.push("IDS"),parser.pushVariadicWithLength(id2)},transformReply:void 0}}),require_XGROUP_CREATE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,id2,options){if(parser.push("XGROUP","CREATE"),parser.pushKey(key),parser.push(group3,id2),options?.MKSTREAM)parser.push("MKSTREAM");if(options?.ENTRIESREAD)parser.push("ENTRIESREAD",options.ENTRIESREAD.toString())},transformReply:void 0}}),require_XGROUP_CREATECONSUMER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,consumer){parser.push("XGROUP","CREATECONSUMER"),parser.pushKey(key),parser.push(group3,consumer)},transformReply:void 0}}),require_XGROUP_DELCONSUMER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,consumer){parser.push("XGROUP","DELCONSUMER"),parser.pushKey(key),parser.push(group3,consumer)},transformReply:void 0}}),require_XGROUP_DESTROY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3){parser.push("XGROUP","DESTROY"),parser.pushKey(key),parser.push(group3)},transformReply:void 0}}),require_XGROUP_SETID=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group3,id2,options){if(parser.push("XGROUP","SETID"),parser.pushKey(key),parser.push(group3,id2),options?.ENTRIESREAD)parser.push("ENTRIESREAD",options.ENTRIESREAD.toString())},transformReply:void 0}}),require_XINFO_CONSUMERS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,group3){parser.push("XINFO","CONSUMERS"),parser.pushKey(key),parser.push(group3)},transformReply:{2:(reply)=>{return reply.map((consumer)=>{let unwrapped=consumer;return{name:unwrapped[1],pending:unwrapped[3],idle:unwrapped[5],inactive:unwrapped[7]}})},3:void 0}}}),require_XINFO_GROUPS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("XINFO","GROUPS"),parser.pushKey(key)},transformReply:{2:(reply)=>{return reply.map((group3)=>{let unwrapped=group3;return{name:unwrapped[1],consumers:unwrapped[3],pending:unwrapped[5],"last-delivered-id":unwrapped[7],"entries-read":unwrapped[9],lag:unwrapped[11]}})},3:void 0}}}),require_XINFO_STREAM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("XINFO","STREAM"),parser.pushKey(key)},transformReply:{2(reply){let parsedReply={};for(let i=0;i<reply.length;i+=2)switch(reply[i]){case"first-entry":case"last-entry":parsedReply[reply[i]]=transformEntry(reply[i+1]);break;default:parsedReply[reply[i]]=reply[i+1];break}return parsedReply},3(reply){if(reply instanceof Map)reply.set("first-entry",transformEntry(reply.get("first-entry"))),reply.set("last-entry",transformEntry(reply.get("last-entry")));else if(reply instanceof Array)reply[17]=transformEntry(reply[17]),reply[19]=transformEntry(reply[19]);else reply["first-entry"]=transformEntry(reply["first-entry"]),reply["last-entry"]=transformEntry(reply["last-entry"]);return reply}}};function transformEntry(entry){if((0,generic_transformers_1.isNullReply)(entry))return entry;let[id2,message]=entry;return{id:id2,message:(0,generic_transformers_1.transformTuplesReply)(message)}}}),require_XLEN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("XLEN"),parser.pushKey(key)},transformReply:void 0}}),require_XPENDING_RANGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,group3,start3,end6,count32,options){if(parser.push("XPENDING"),parser.pushKey(key),parser.push(group3),options?.IDLE!==void 0)parser.push("IDLE",options.IDLE.toString());if(parser.push(start3,end6,count32.toString()),options?.consumer)parser.push(options.consumer)},transformReply(reply){return reply.map((pending3)=>{let unwrapped=pending3;return{id:unwrapped[0],consumer:unwrapped[1],millisecondsSinceLastDelivery:unwrapped[2],deliveriesCounter:unwrapped[3]}})}}}),require_XPENDING=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,group3){parser.push("XPENDING"),parser.pushKey(key),parser.push(group3)},transformReply(reply){let consumers=reply[3];return{pending:reply[0],firstId:reply[1],lastId:reply[2],consumers:consumers===null?null:consumers.map((consumer)=>{let[name,deliveriesCounter]=consumer;return{name,deliveriesCounter:Number(deliveriesCounter)}})}}}}),require_XRANGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.xRangeArguments=void 0;var generic_transformers_1=require_generic_transformers();function xRangeArguments(start3,end6,options){let args2=[start3,end6];if(options?.COUNT)args2.push("COUNT",options.COUNT.toString());return args2}exports.xRangeArguments=xRangeArguments,exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,...args2){parser.push("XRANGE"),parser.pushKey(key),parser.pushVariadic(xRangeArguments(args2[0],args2[1],args2[2]))},transformReply(reply,preserve,typeMapping){return reply.map(generic_transformers_1.transformStreamMessageReply.bind(void 0,typeMapping))}}}),require_XREAD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.pushXReadStreams=void 0;var generic_transformers_1=require_generic_transformers();function pushXReadStreams(parser,streams){if(parser.push("STREAMS"),Array.isArray(streams)){for(let i=0;i<streams.length;i++)parser.pushKey(streams[i].key);for(let i=0;i<streams.length;i++)parser.push(streams[i].id)}else parser.pushKey(streams.key),parser.push(streams.id)}exports.pushXReadStreams=pushXReadStreams,exports.default={IS_READ_ONLY:!0,parseCommand(parser,streams,options){if(parser.push("XREAD"),options?.COUNT)parser.push("COUNT",options.COUNT.toString());if(options?.BLOCK!==void 0)parser.push("BLOCK",options.BLOCK.toString());pushXReadStreams(parser,streams)},transformReply:{2:generic_transformers_1.transformStreamsMessagesReplyResp2,3:void 0},unstableResp3:!0}}),require_XREADGROUP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var XREAD_1=require_XREAD(),generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,group3,consumer,streams,options){if(parser.push("XREADGROUP","GROUP",group3,consumer),options?.COUNT!==void 0)parser.push("COUNT",options.COUNT.toString());if(options?.BLOCK!==void 0)parser.push("BLOCK",options.BLOCK.toString());if(options?.NOACK)parser.push("NOACK");if(options?.CLAIM!==void 0)parser.push("CLAIM",options.CLAIM.toString());(0,XREAD_1.pushXReadStreams)(parser,streams)},transformReply:{2:generic_transformers_1.transformStreamsMessagesReplyResp2,3:void 0}}}),require_XREVRANGE=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var XRANGE_1=__importStar(require_XRANGE());exports.default={CACHEABLE:XRANGE_1.default.CACHEABLE,IS_READ_ONLY:XRANGE_1.default.IS_READ_ONLY,parseCommand(parser,key,...args2){parser.push("XREVRANGE"),parser.pushKey(key),parser.pushVariadic((0,XRANGE_1.xRangeArguments)(args2[0],args2[1],args2[2]))},transformReply:XRANGE_1.default.transformReply}}),require_XSETID=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,lastId,options){if(parser.push("XSETID"),parser.pushKey(key),parser.push(lastId),options?.ENTRIESADDED)parser.push("ENTRIESADDED",options.ENTRIESADDED.toString());if(options?.MAXDELETEDID)parser.push("MAXDELETEDID",options.MAXDELETEDID)},transformReply:void 0}}),require_XTRIM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,strategy,threshold,options){if(parser.push("XTRIM"),parser.pushKey(key),parser.push(strategy),options?.strategyModifier)parser.push(options.strategyModifier);if(parser.push(threshold.toString()),options?.LIMIT)parser.push("LIMIT",options.LIMIT.toString());if(options?.policy)parser.push(options.policy)},transformReply:void 0}}),require_ZADD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.pushMembers=void 0;var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,members,options){if(parser.push("ZADD"),parser.pushKey(key),options?.condition)parser.push(options.condition);else if(options?.NX)parser.push("NX");else if(options?.XX)parser.push("XX");if(options?.comparison)parser.push(options.comparison);else if(options?.LT)parser.push("LT");else if(options?.GT)parser.push("GT");if(options?.CH)parser.push("CH");pushMembers(parser,members)},transformReply:generic_transformers_1.transformDoubleReply};function pushMembers(parser,members){if(Array.isArray(members))for(let member of members)pushMember(parser,member);else pushMember(parser,members)}exports.pushMembers=pushMembers;function pushMember(parser,member){parser.push((0,generic_transformers_1.transformDoubleArgument)(member.score),member.value)}}),require_ZADD_INCR=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var ZADD_1=require_ZADD(),generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,members,options){if(parser.push("ZADD"),parser.pushKey(key),options?.condition)parser.push(options.condition);if(options?.comparison)parser.push(options.comparison);if(options?.CH)parser.push("CH");parser.push("INCR"),(0,ZADD_1.pushMembers)(parser,members)},transformReply:generic_transformers_1.transformNullableDoubleReply}}),require_ZCARD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("ZCARD"),parser.pushKey(key)},transformReply:void 0}}),require_ZCOUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,min32,max52){parser.push("ZCOUNT"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52))},transformReply:void 0}}),require_ZDIFF=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3){parser.push("ZDIFF"),parser.pushKeysLength(keys3)},transformReply:void 0}}),require_ZDIFF_WITHSCORES=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),ZDIFF_1=__importDefault(require_ZDIFF());exports.default={IS_READ_ONLY:ZDIFF_1.default.IS_READ_ONLY,parseCommand(parser,keys3){ZDIFF_1.default.parseCommand(parser,keys3),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZDIFFSTORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,destination,inputKeys){parser.push("ZDIFFSTORE"),parser.pushKey(destination),parser.pushKeysLength(inputKeys)},transformReply:void 0}}),require_ZINCRBY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,increment,member){parser.push("ZINCRBY"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformDoubleArgument)(increment),member)},transformReply:generic_transformers_1.transformDoubleReply}}),require_ZINTER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseZInterArguments=void 0;var generic_transformers_1=require_generic_transformers();function parseZInterArguments(parser,keys3,options){if((0,generic_transformers_1.parseZKeysArguments)(parser,keys3),options?.AGGREGATE)parser.push("AGGREGATE",options.AGGREGATE)}exports.parseZInterArguments=parseZInterArguments,exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3,options){parser.push("ZINTER"),parseZInterArguments(parser,keys3,options)},transformReply:void 0}}),require_ZINTER_WITHSCORES=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),ZINTER_1=__importDefault(require_ZINTER());exports.default={IS_READ_ONLY:ZINTER_1.default.IS_READ_ONLY,parseCommand(...args2){ZINTER_1.default.parseCommand(...args2),args2[0].push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZINTERCARD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3,options){if(parser.push("ZINTERCARD"),parser.pushKeysLength(keys3),typeof options==="number")parser.push("LIMIT",options.toString());else if(options?.LIMIT)parser.push("LIMIT",options.LIMIT.toString())},transformReply:void 0}}),require_ZINTERSTORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var ZINTER_1=require_ZINTER();exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys3,options){parser.push("ZINTERSTORE"),parser.pushKey(destination),(0,ZINTER_1.parseZInterArguments)(parser,keys3,options)},transformReply:void 0}}),require_ZLEXCOUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,min32,max52){parser.push("ZLEXCOUNT"),parser.pushKey(key),parser.push(min32),parser.push(max52)},transformReply:void 0}}),require_ZMSCORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("ZMSCORE"),parser.pushKey(key),parser.pushVariadic(member)},transformReply:{2:(reply,preserve,typeMapping)=>{return reply.map((0,generic_transformers_1.createTransformNullableDoubleReplyResp2Func)(preserve,typeMapping))},3:void 0}}}),require_ZPOPMAX_COUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,count32){parser.push("ZPOPMAX"),parser.pushKey(key),parser.push(count32.toString())},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZPOPMAX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key){parser.push("ZPOPMAX"),parser.pushKey(key)},transformReply:{2:(reply,preserve,typeMapping)=>{if(reply.length===0)return null;return{value:reply[0],score:generic_transformers_1.transformDoubleReply[2](reply[1],preserve,typeMapping)}},3:(reply)=>{if(reply.length===0)return null;return{value:reply[0],score:reply[1]}}}}}),require_ZPOPMIN_COUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,count32){parser.push("ZPOPMIN"),parser.pushKey(key),parser.push(count32.toString())},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZPOPMIN=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ZPOPMAX_1=__importDefault(require_ZPOPMAX());exports.default={IS_READ_ONLY:!1,parseCommand(parser,key){parser.push("ZPOPMIN"),parser.pushKey(key)},transformReply:ZPOPMAX_1.default.transformReply}}),require_ZRANDMEMBER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("ZRANDMEMBER"),parser.pushKey(key)},transformReply:void 0}}),require_ZRANDMEMBER_COUNT=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ZRANDMEMBER_1=__importDefault(require_ZRANDMEMBER());exports.default={IS_READ_ONLY:ZRANDMEMBER_1.default.IS_READ_ONLY,parseCommand(parser,key,count32){ZRANDMEMBER_1.default.parseCommand(parser,key),parser.push(count32.toString())},transformReply:void 0}}),require_ZRANDMEMBER_COUNT_WITHSCORES=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),ZRANDMEMBER_COUNT_1=__importDefault(require_ZRANDMEMBER_COUNT());exports.default={IS_READ_ONLY:ZRANDMEMBER_COUNT_1.default.IS_READ_ONLY,parseCommand(parser,key,count32){ZRANDMEMBER_COUNT_1.default.parseCommand(parser,key,count32),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZRANGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.zRangeArgument=void 0;var generic_transformers_1=require_generic_transformers();function zRangeArgument(min32,max52,options){let args2=[(0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52)];switch(options?.BY){case"SCORE":args2.push("BYSCORE");break;case"LEX":args2.push("BYLEX");break}if(options?.REV)args2.push("REV");if(options?.LIMIT)args2.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString());return args2}exports.zRangeArgument=zRangeArgument,exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,min32,max52,options){parser.push("ZRANGE"),parser.pushKey(key),parser.pushVariadic(zRangeArgument(min32,max52,options))},transformReply:void 0}}),require_ZRANGE_WITHSCORES=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),ZRANGE_1=__importDefault(require_ZRANGE());exports.default={CACHEABLE:ZRANGE_1.default.CACHEABLE,IS_READ_ONLY:ZRANGE_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];ZRANGE_1.default.parseCommand(...args2),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZRANGEBYLEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,min32,max52,options){if(parser.push("ZRANGEBYLEX"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52)),options?.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString())},transformReply:void 0}}),require_ZRANGEBYSCORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,min32,max52,options){if(parser.push("ZRANGEBYSCORE"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52)),options?.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString())},transformReply:void 0}}),require_ZRANGEBYSCORE_WITHSCORES=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),ZRANGEBYSCORE_1=__importDefault(require_ZRANGEBYSCORE());exports.default={CACHEABLE:ZRANGEBYSCORE_1.default.CACHEABLE,IS_READ_ONLY:ZRANGEBYSCORE_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];ZRANGEBYSCORE_1.default.parseCommand(...args2),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZRANGESTORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,source,min32,max52,options){switch(parser.push("ZRANGESTORE"),parser.pushKey(destination),parser.pushKey(source),parser.push((0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52)),options?.BY){case"SCORE":parser.push("BYSCORE");break;case"LEX":parser.push("BYLEX");break}if(options?.REV)parser.push("REV");if(options?.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString())},transformReply:void 0}}),require_ZREMRANGEBYSCORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,min32,max52){parser.push("ZREMRANGEBYSCORE"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52))},transformReply:void 0}}),require_ZRANK=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("ZRANK"),parser.pushKey(key),parser.push(member)},transformReply:void 0}}),require_ZRANK_WITHSCORE=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ZRANK_1=__importDefault(require_ZRANK());exports.default={CACHEABLE:ZRANK_1.default.CACHEABLE,IS_READ_ONLY:ZRANK_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];ZRANK_1.default.parseCommand(...args2),parser.push("WITHSCORE")},transformReply:{2:(reply)=>{if(reply===null)return null;return{rank:reply[0],score:Number(reply[1])}},3:(reply)=>{if(reply===null)return null;return{rank:reply[0],score:reply[1]}}}}}),require_ZREM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,member){parser.push("ZREM"),parser.pushKey(key),parser.pushVariadic(member)},transformReply:void 0}}),require_ZREMRANGEBYLEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,min32,max52){parser.push("ZREMRANGEBYLEX"),parser.pushKey(key),parser.push((0,generic_transformers_1.transformStringDoubleArgument)(min32),(0,generic_transformers_1.transformStringDoubleArgument)(max52))},transformReply:void 0}}),require_ZREMRANGEBYRANK=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,start3,stop22){parser.push("ZREMRANGEBYRANK"),parser.pushKey(key),parser.push(start3.toString(),stop22.toString())},transformReply:void 0}}),require_ZREVRANK=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("ZREVRANK"),parser.pushKey(key),parser.push(member)},transformReply:void 0}}),require_ZSCAN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var SCAN_1=require_SCAN(),generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,cursor,options){parser.push("ZSCAN"),parser.pushKey(key),(0,SCAN_1.parseScanArguments)(parser,cursor,options)},transformReply([cursor,rawMembers]){return{cursor,members:generic_transformers_1.transformSortedSetReply[2](rawMembers)}}}}),require_ZSCORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,member){parser.push("ZSCORE"),parser.pushKey(key),parser.push(member)},transformReply:generic_transformers_1.transformNullableDoubleReply}}),require_ZUNION=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3,options){if(parser.push("ZUNION"),(0,generic_transformers_1.parseZKeysArguments)(parser,keys3),options?.AGGREGATE)parser.push("AGGREGATE",options.AGGREGATE)},transformReply:void 0}}),require_ZUNION_WITHSCORES=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),ZUNION_1=__importDefault(require_ZUNION());exports.default={IS_READ_ONLY:ZUNION_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];ZUNION_1.default.parseCommand(...args2),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}}),require_ZUNIONSTORE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys3,options){if(parser.push("ZUNIONSTORE"),parser.pushKey(destination),(0,generic_transformers_1.parseZKeysArguments)(parser,keys3),options?.AGGREGATE)parser.push("AGGREGATE",options.AGGREGATE)},transformReply:void 0}}),require_VADD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,vector,element,options){if(parser.push("VADD"),parser.pushKey(key),options?.REDUCE!==void 0)parser.push("REDUCE",options.REDUCE.toString());parser.push("VALUES",vector.length.toString());for(let value of vector)parser.push((0,generic_transformers_1.transformDoubleArgument)(value));if(parser.push(element),options?.CAS)parser.push("CAS");if(options?.QUANT&&parser.push(options.QUANT),options?.EF!==void 0)parser.push("EF",options.EF.toString());if(options?.SETATTR)parser.push("SETATTR",JSON.stringify(options.SETATTR));if(options?.M!==void 0)parser.push("M",options.M.toString())},transformReply:generic_transformers_1.transformBooleanReply}}),require_VCARD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("VCARD"),parser.pushKey(key)},transformReply:void 0}}),require_VDIM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("VDIM"),parser.pushKey(key)},transformReply:void 0}}),require_VEMB=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,element){parser.push("VEMB"),parser.pushKey(key),parser.push(element)},transformReply:generic_transformers_1.transformDoubleArrayReply}}),require_VEMB_RAW=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),VEMB_1=__importDefault(require_VEMB()),transformRawVembReply={2:(reply)=>{return{quantization:reply[0],raw:reply[1],l2Norm:generic_transformers_1.transformDoubleReply[2](reply[2]),...reply[3]!==void 0&&{quantizationRange:generic_transformers_1.transformDoubleReply[2](reply[3])}}},3:(reply)=>{return{quantization:reply[0],raw:reply[1],l2Norm:reply[2],quantizationRange:reply[3]}}};exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,element){VEMB_1.default.parseCommand(parser,key,element),parser.push("RAW")},transformReply:transformRawVembReply}}),require_VGETATTR=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,element){parser.push("VGETATTR"),parser.pushKey(key),parser.push(element)},transformReply:generic_transformers_1.transformRedisJsonNullReply}}),require_VINFO=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("VINFO"),parser.pushKey(key)},transformReply:{2:(reply)=>{let ret=Object.create(null);for(let i=0;i<reply.length;i+=2)ret[reply[i].toString()]=reply[i+1];return ret},3:void 0}}}),require_VLINKS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,element){parser.push("VLINKS"),parser.pushKey(key),parser.push(element)},transformReply:void 0}}),require_VLINKS_WITHSCORES=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),VLINKS_1=__importDefault(require_VLINKS());function transformVLinksWithScoresReply(reply){let layers=[];for(let layer of reply){let obj=Object.create(null);for(let i=0;i<layer.length;i+=2){let element=layer[i],score=generic_transformers_1.transformDoubleReply[2](layer[i+1]);obj[element.toString()]=score}layers.push(obj)}return layers}exports.default={IS_READ_ONLY:VLINKS_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];VLINKS_1.default.parseCommand(...args2),parser.push("WITHSCORES")},transformReply:{2:transformVLinksWithScoresReply,3:void 0}}}),require_VRANDMEMBER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count32){if(parser.push("VRANDMEMBER"),parser.pushKey(key),count32!==void 0)parser.push(count32.toString())},transformReply:void 0}}),require_VREM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,element){parser.push("VREM"),parser.pushKey(key),parser.push(element)},transformReply:generic_transformers_1.transformBooleanReply}}),require_VSETATTR=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,element,attributes){if(parser.push("VSETATTR"),parser.pushKey(key),parser.push(element),typeof attributes==="object"&&attributes!==null)parser.push(JSON.stringify(attributes));else parser.push(attributes)},transformReply:generic_transformers_1.transformBooleanReply}}),require_VSIM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,query,options){if(parser.push("VSIM"),parser.pushKey(key),Array.isArray(query)){parser.push("VALUES",query.length.toString());for(let value of query)parser.push((0,generic_transformers_1.transformDoubleArgument)(value))}else parser.push("ELE",query);if(options?.COUNT!==void 0)parser.push("COUNT",options.COUNT.toString());if(options?.EPSILON!==void 0)parser.push("EPSILON",options.EPSILON.toString());if(options?.EF!==void 0)parser.push("EF",options.EF.toString());if(options?.FILTER)parser.push("FILTER",options.FILTER);if(options?.["FILTER-EF"]!==void 0)parser.push("FILTER-EF",options["FILTER-EF"].toString());if(options?.TRUTH)parser.push("TRUTH");if(options?.NOTHREAD)parser.push("NOTHREAD")},transformReply:void 0}}),require_VSIM_WITHSCORES=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),VSIM_1=__importDefault(require_VSIM());exports.default={IS_READ_ONLY:VSIM_1.default.IS_READ_ONLY,parseCommand(...args2){let parser=args2[0];VSIM_1.default.parseCommand(...args2),parser.push("WITHSCORES")},transformReply:{2:(reply)=>{let inferred=reply,members={};for(let i=0;i<inferred.length;i+=2)members[inferred[i].toString()]=generic_transformers_1.transformDoubleReply[2](inferred[i+1]);return members},3:void 0}}}),require_LATENCY_HISTOGRAM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),id2=(n)=>n;exports.default={CACHEABLE:!1,IS_READ_ONLY:!0,parseCommand(parser,...commands){let args2=["LATENCY","HISTOGRAM"];if(commands.length!==0)args2.push(...commands);parser.push(...args2)},transformReply:{2:(reply)=>{let result={};if(reply.length===0)return result;for(let i=1;i<reply.length;i+=2){let histogram6=reply[i];result[reply[i-1]]={calls:histogram6[1],histogram_usec:(0,generic_transformers_1.transformTuplesToMap)(histogram6[3],id2)}}return result},3:void 0}}}),require_commands=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.REDIS_FLUSH_MODES=exports.COMMAND_LIST_FILTER_BY=exports.CLUSTER_SLOT_STATES=exports.FAILOVER_MODES=exports.CLIENT_KILL_FILTERS=void 0;var ACL_CAT_1=__importDefault(require_ACL_CAT()),ACL_DELUSER_1=__importDefault(require_ACL_DELUSER()),ACL_DRYRUN_1=__importDefault(require_ACL_DRYRUN()),ACL_GENPASS_1=__importDefault(require_ACL_GENPASS()),ACL_GETUSER_1=__importDefault(require_ACL_GETUSER()),ACL_LIST_1=__importDefault(require_ACL_LIST()),ACL_LOAD_1=__importDefault(require_ACL_LOAD()),ACL_LOG_RESET_1=__importDefault(require_ACL_LOG_RESET()),ACL_LOG_1=__importDefault(require_ACL_LOG()),ACL_SAVE_1=__importDefault(require_ACL_SAVE()),ACL_SETUSER_1=__importDefault(require_ACL_SETUSER()),ACL_USERS_1=__importDefault(require_ACL_USERS()),ACL_WHOAMI_1=__importDefault(require_ACL_WHOAMI()),APPEND_1=__importDefault(require_APPEND()),ASKING_1=__importDefault(require_ASKING()),AUTH_1=__importDefault(require_AUTH()),BGREWRITEAOF_1=__importDefault(require_BGREWRITEAOF()),BGSAVE_1=__importDefault(require_BGSAVE()),BITCOUNT_1=__importDefault(require_BITCOUNT()),BITFIELD_RO_1=__importDefault(require_BITFIELD_RO()),BITFIELD_1=__importDefault(require_BITFIELD()),BITOP_1=__importDefault(require_BITOP()),BITPOS_1=__importDefault(require_BITPOS()),BLMOVE_1=__importDefault(require_BLMOVE()),BLMPOP_1=__importDefault(require_BLMPOP()),BLPOP_1=__importDefault(require_BLPOP()),BRPOP_1=__importDefault(require_BRPOP()),BRPOPLPUSH_1=__importDefault(require_BRPOPLPUSH()),BZMPOP_1=__importDefault(require_BZMPOP()),BZPOPMAX_1=__importDefault(require_BZPOPMAX()),BZPOPMIN_1=__importDefault(require_BZPOPMIN()),CLIENT_CACHING_1=__importDefault(require_CLIENT_CACHING()),CLIENT_GETNAME_1=__importDefault(require_CLIENT_GETNAME()),CLIENT_GETREDIR_1=__importDefault(require_CLIENT_GETREDIR()),CLIENT_ID_1=__importDefault(require_CLIENT_ID()),CLIENT_INFO_1=__importDefault(require_CLIENT_INFO()),CLIENT_KILL_1=__importStar(require_CLIENT_KILL());Object.defineProperty(exports,"CLIENT_KILL_FILTERS",{enumerable:!0,get:function(){return CLIENT_KILL_1.CLIENT_KILL_FILTERS}});var CLIENT_LIST_1=__importDefault(require_CLIENT_LIST()),CLIENT_NO_EVICT_1=__importDefault(require_CLIENT_NO_EVICT()),CLIENT_NO_TOUCH_1=__importDefault(require_CLIENT_NO_TOUCH()),CLIENT_PAUSE_1=__importDefault(require_CLIENT_PAUSE()),CLIENT_SETNAME_1=__importDefault(require_CLIENT_SETNAME()),CLIENT_TRACKING_1=__importDefault(require_CLIENT_TRACKING()),CLIENT_TRACKINGINFO_1=__importDefault(require_CLIENT_TRACKINGINFO()),CLIENT_UNPAUSE_1=__importDefault(require_CLIENT_UNPAUSE()),CLUSTER_ADDSLOTS_1=__importDefault(require_CLUSTER_ADDSLOTS()),CLUSTER_ADDSLOTSRANGE_1=__importDefault(require_CLUSTER_ADDSLOTSRANGE()),CLUSTER_BUMPEPOCH_1=__importDefault(require_CLUSTER_BUMPEPOCH()),CLUSTER_COUNT_FAILURE_REPORTS_1=__importDefault(require_CLUSTER_COUNT_FAILURE_REPORTS()),CLUSTER_COUNTKEYSINSLOT_1=__importDefault(require_CLUSTER_COUNTKEYSINSLOT()),CLUSTER_DELSLOTS_1=__importDefault(require_CLUSTER_DELSLOTS()),CLUSTER_DELSLOTSRANGE_1=__importDefault(require_CLUSTER_DELSLOTSRANGE()),CLUSTER_FAILOVER_1=__importStar(require_CLUSTER_FAILOVER());Object.defineProperty(exports,"FAILOVER_MODES",{enumerable:!0,get:function(){return CLUSTER_FAILOVER_1.FAILOVER_MODES}});var CLUSTER_FLUSHSLOTS_1=__importDefault(require_CLUSTER_FLUSHSLOTS()),CLUSTER_FORGET_1=__importDefault(require_CLUSTER_FORGET()),CLUSTER_GETKEYSINSLOT_1=__importDefault(require_CLUSTER_GETKEYSINSLOT()),CLUSTER_INFO_1=__importDefault(require_CLUSTER_INFO()),CLUSTER_KEYSLOT_1=__importDefault(require_CLUSTER_KEYSLOT()),CLUSTER_LINKS_1=__importDefault(require_CLUSTER_LINKS()),CLUSTER_MEET_1=__importDefault(require_CLUSTER_MEET()),CLUSTER_MYID_1=__importDefault(require_CLUSTER_MYID()),CLUSTER_MYSHARDID_1=__importDefault(require_CLUSTER_MYSHARDID()),CLUSTER_NODES_1=__importDefault(require_CLUSTER_NODES()),CLUSTER_REPLICAS_1=__importDefault(require_CLUSTER_REPLICAS()),CLUSTER_REPLICATE_1=__importDefault(require_CLUSTER_REPLICATE()),CLUSTER_RESET_1=__importDefault(require_CLUSTER_RESET()),CLUSTER_SAVECONFIG_1=__importDefault(require_CLUSTER_SAVECONFIG()),CLUSTER_SET_CONFIG_EPOCH_1=__importDefault(require_CLUSTER_SET_CONFIG_EPOCH()),CLUSTER_SETSLOT_1=__importStar(require_CLUSTER_SETSLOT());Object.defineProperty(exports,"CLUSTER_SLOT_STATES",{enumerable:!0,get:function(){return CLUSTER_SETSLOT_1.CLUSTER_SLOT_STATES}});var CLUSTER_SLOTS_1=__importDefault(require_CLUSTER_SLOTS()),COMMAND_COUNT_1=__importDefault(require_COMMAND_COUNT()),COMMAND_GETKEYS_1=__importDefault(require_COMMAND_GETKEYS()),COMMAND_GETKEYSANDFLAGS_1=__importDefault(require_COMMAND_GETKEYSANDFLAGS()),COMMAND_INFO_1=__importDefault(require_COMMAND_INFO()),COMMAND_LIST_1=__importStar(require_COMMAND_LIST());Object.defineProperty(exports,"COMMAND_LIST_FILTER_BY",{enumerable:!0,get:function(){return COMMAND_LIST_1.COMMAND_LIST_FILTER_BY}});var COMMAND_1=__importDefault(require_COMMAND()),CONFIG_GET_1=__importDefault(require_CONFIG_GET()),CONFIG_RESETSTAT_1=__importDefault(require_CONFIG_RESETSTAT()),CONFIG_REWRITE_1=__importDefault(require_CONFIG_REWRITE()),CONFIG_SET_1=__importDefault(require_CONFIG_SET()),COPY_1=__importDefault(require_COPY()),DBSIZE_1=__importDefault(require_DBSIZE()),DECR_1=__importDefault(require_DECR()),DECRBY_1=__importDefault(require_DECRBY()),DEL_1=__importDefault(require_DEL()),DELEX_1=__importDefault(require_DELEX()),DIGEST_1=__importDefault(require_DIGEST()),DUMP_1=__importDefault(require_DUMP()),ECHO_1=__importDefault(require_ECHO()),EVAL_RO_1=__importDefault(require_EVAL_RO()),EVAL_1=__importDefault(require_EVAL()),EVALSHA_RO_1=__importDefault(require_EVALSHA_RO()),EVALSHA_1=__importDefault(require_EVALSHA()),GEOADD_1=__importDefault(require_GEOADD()),GEODIST_1=__importDefault(require_GEODIST()),GEOHASH_1=__importDefault(require_GEOHASH()),GEOPOS_1=__importDefault(require_GEOPOS()),GEORADIUS_RO_WITH_1=__importDefault(require_GEORADIUS_RO_WITH()),GEORADIUS_RO_1=__importDefault(require_GEORADIUS_RO()),GEORADIUS_STORE_1=__importDefault(require_GEORADIUS_STORE()),GEORADIUS_WITH_1=__importDefault(require_GEORADIUS_WITH()),GEORADIUS_1=__importDefault(require_GEORADIUS()),GEORADIUSBYMEMBER_RO_WITH_1=__importDefault(require_GEORADIUSBYMEMBER_RO_WITH()),GEORADIUSBYMEMBER_RO_1=__importDefault(require_GEORADIUSBYMEMBER_RO()),GEORADIUSBYMEMBER_STORE_1=__importDefault(require_GEORADIUSBYMEMBER_STORE()),GEORADIUSBYMEMBER_WITH_1=__importDefault(require_GEORADIUSBYMEMBER_WITH()),GEORADIUSBYMEMBER_1=__importDefault(require_GEORADIUSBYMEMBER()),GEOSEARCH_WITH_1=__importDefault(require_GEOSEARCH_WITH()),GEOSEARCH_1=__importDefault(require_GEOSEARCH()),GEOSEARCHSTORE_1=__importDefault(require_GEOSEARCHSTORE()),GET_1=__importDefault(require_GET()),GETBIT_1=__importDefault(require_GETBIT()),GETDEL_1=__importDefault(require_GETDEL()),GETEX_1=__importDefault(require_GETEX()),GETRANGE_1=__importDefault(require_GETRANGE()),GETSET_1=__importDefault(require_GETSET()),EXISTS_1=__importDefault(require_EXISTS()),EXPIRE_1=__importDefault(require_EXPIRE()),EXPIREAT_1=__importDefault(require_EXPIREAT()),EXPIRETIME_1=__importDefault(require_EXPIRETIME()),FLUSHALL_1=__importStar(require_FLUSHALL());Object.defineProperty(exports,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return FLUSHALL_1.REDIS_FLUSH_MODES}});var FLUSHDB_1=__importDefault(require_FLUSHDB()),FCALL_1=__importDefault(require_FCALL()),FCALL_RO_1=__importDefault(require_FCALL_RO()),FUNCTION_DELETE_1=__importDefault(require_FUNCTION_DELETE()),FUNCTION_DUMP_1=__importDefault(require_FUNCTION_DUMP()),FUNCTION_FLUSH_1=__importDefault(require_FUNCTION_FLUSH()),FUNCTION_KILL_1=__importDefault(require_FUNCTION_KILL()),FUNCTION_LIST_WITHCODE_1=__importDefault(require_FUNCTION_LIST_WITHCODE()),FUNCTION_LIST_1=__importDefault(require_FUNCTION_LIST()),FUNCTION_LOAD_1=__importDefault(require_FUNCTION_LOAD()),FUNCTION_RESTORE_1=__importDefault(require_FUNCTION_RESTORE()),FUNCTION_STATS_1=__importDefault(require_FUNCTION_STATS()),HDEL_1=__importDefault(require_HDEL()),HELLO_1=__importDefault(require_HELLO()),HEXISTS_1=__importDefault(require_HEXISTS()),HEXPIRE_1=__importDefault(require_HEXPIRE()),HEXPIREAT_1=__importDefault(require_HEXPIREAT()),HEXPIRETIME_1=__importDefault(require_HEXPIRETIME()),HGET_1=__importDefault(require_HGET()),HGETALL_1=__importDefault(require_HGETALL()),HGETDEL_1=__importDefault(require_HGETDEL()),HGETEX_1=__importDefault(require_HGETEX()),HINCRBY_1=__importDefault(require_HINCRBY()),HINCRBYFLOAT_1=__importDefault(require_HINCRBYFLOAT()),HKEYS_1=__importDefault(require_HKEYS()),HLEN_1=__importDefault(require_HLEN()),HMGET_1=__importDefault(require_HMGET()),HPERSIST_1=__importDefault(require_HPERSIST()),HPEXPIRE_1=__importDefault(require_HPEXPIRE()),HPEXPIREAT_1=__importDefault(require_HPEXPIREAT()),HPEXPIRETIME_1=__importDefault(require_HPEXPIRETIME()),HPTTL_1=__importDefault(require_HPTTL()),HRANDFIELD_COUNT_WITHVALUES_1=__importDefault(require_HRANDFIELD_COUNT_WITHVALUES()),HRANDFIELD_COUNT_1=__importDefault(require_HRANDFIELD_COUNT()),HRANDFIELD_1=__importDefault(require_HRANDFIELD()),HSCAN_1=__importDefault(require_HSCAN()),HSCAN_NOVALUES_1=__importDefault(require_HSCAN_NOVALUES()),HSET_1=__importDefault(require_HSET()),HSETEX_1=__importDefault(require_HSETEX()),HSETNX_1=__importDefault(require_HSETNX()),HSTRLEN_1=__importDefault(require_HSTRLEN()),HTTL_1=__importDefault(require_HTTL()),HVALS_1=__importDefault(require_HVALS()),INCR_1=__importDefault(require_INCR()),INCRBY_1=__importDefault(require_INCRBY()),INCRBYFLOAT_1=__importDefault(require_INCRBYFLOAT()),INFO_1=__importDefault(require_INFO()),KEYS_1=__importDefault(require_KEYS()),LASTSAVE_1=__importDefault(require_LASTSAVE()),LATENCY_DOCTOR_1=__importDefault(require_LATENCY_DOCTOR()),LATENCY_GRAPH_1=__importDefault(require_LATENCY_GRAPH()),LATENCY_HISTORY_1=__importDefault(require_LATENCY_HISTORY()),LATENCY_LATEST_1=__importDefault(require_LATENCY_LATEST()),LATENCY_RESET_1=__importDefault(require_LATENCY_RESET()),LCS_IDX_WITHMATCHLEN_1=__importDefault(require_LCS_IDX_WITHMATCHLEN()),LCS_IDX_1=__importDefault(require_LCS_IDX()),LCS_LEN_1=__importDefault(require_LCS_LEN()),LCS_1=__importDefault(require_LCS()),LINDEX_1=__importDefault(require_LINDEX()),LINSERT_1=__importDefault(require_LINSERT()),LLEN_1=__importDefault(require_LLEN()),LMOVE_1=__importDefault(require_LMOVE()),LMPOP_1=__importDefault(require_LMPOP()),LOLWUT_1=__importDefault(require_LOLWUT()),LPOP_COUNT_1=__importDefault(require_LPOP_COUNT()),LPOP_1=__importDefault(require_LPOP()),LPOS_COUNT_1=__importDefault(require_LPOS_COUNT()),LPOS_1=__importDefault(require_LPOS()),LPUSH_1=__importDefault(require_LPUSH()),LPUSHX_1=__importDefault(require_LPUSHX()),LRANGE_1=__importDefault(require_LRANGE()),LREM_1=__importDefault(require_LREM()),LSET_1=__importDefault(require_LSET()),LTRIM_1=__importDefault(require_LTRIM()),MEMORY_DOCTOR_1=__importDefault(require_MEMORY_DOCTOR()),MEMORY_MALLOC_STATS_1=__importDefault(require_MEMORY_MALLOC_STATS()),MEMORY_PURGE_1=__importDefault(require_MEMORY_PURGE()),MEMORY_STATS_1=__importDefault(require_MEMORY_STATS()),MEMORY_USAGE_1=__importDefault(require_MEMORY_USAGE()),MGET_1=__importDefault(require_MGET()),MIGRATE_1=__importDefault(require_MIGRATE()),MODULE_LIST_1=__importDefault(require_MODULE_LIST()),MODULE_LOAD_1=__importDefault(require_MODULE_LOAD()),MODULE_UNLOAD_1=__importDefault(require_MODULE_UNLOAD()),MOVE_1=__importDefault(require_MOVE()),MSET_1=__importDefault(require_MSET()),MSETEX_1=__importDefault(require_MSETEX()),MSETNX_1=__importDefault(require_MSETNX()),OBJECT_ENCODING_1=__importDefault(require_OBJECT_ENCODING()),OBJECT_FREQ_1=__importDefault(require_OBJECT_FREQ()),OBJECT_IDLETIME_1=__importDefault(require_OBJECT_IDLETIME()),OBJECT_REFCOUNT_1=__importDefault(require_OBJECT_REFCOUNT()),PERSIST_1=__importDefault(require_PERSIST()),PEXPIRE_1=__importDefault(require_PEXPIRE()),PEXPIREAT_1=__importDefault(require_PEXPIREAT()),PEXPIRETIME_1=__importDefault(require_PEXPIRETIME()),PFADD_1=__importDefault(require_PFADD()),PFCOUNT_1=__importDefault(require_PFCOUNT()),PFMERGE_1=__importDefault(require_PFMERGE()),PING_1=__importDefault(require_PING()),PSETEX_1=__importDefault(require_PSETEX()),PTTL_1=__importDefault(require_PTTL()),PUBLISH_1=__importDefault(require_PUBLISH()),PUBSUB_CHANNELS_1=__importDefault(require_PUBSUB_CHANNELS()),PUBSUB_NUMPAT_1=__importDefault(require_PUBSUB_NUMPAT()),PUBSUB_NUMSUB_1=__importDefault(require_PUBSUB_NUMSUB()),PUBSUB_SHARDNUMSUB_1=__importDefault(require_PUBSUB_SHARDNUMSUB()),PUBSUB_SHARDCHANNELS_1=__importDefault(require_PUBSUB_SHARDCHANNELS()),RANDOMKEY_1=__importDefault(require_RANDOMKEY()),READONLY_1=__importDefault(require_READONLY()),RENAME_1=__importDefault(require_RENAME()),RENAMENX_1=__importDefault(require_RENAMENX()),REPLICAOF_1=__importDefault(require_REPLICAOF()),RESTORE_ASKING_1=__importDefault(require_RESTORE_ASKING()),RESTORE_1=__importDefault(require_RESTORE()),ROLE_1=__importDefault(require_ROLE()),RPOP_COUNT_1=__importDefault(require_RPOP_COUNT()),RPOP_1=__importDefault(require_RPOP()),RPOPLPUSH_1=__importDefault(require_RPOPLPUSH()),RPUSH_1=__importDefault(require_RPUSH()),RPUSHX_1=__importDefault(require_RPUSHX()),SADD_1=__importDefault(require_SADD()),SCAN_1=__importDefault(require_SCAN()),SCARD_1=__importDefault(require_SCARD()),SCRIPT_DEBUG_1=__importDefault(require_SCRIPT_DEBUG()),SCRIPT_EXISTS_1=__importDefault(require_SCRIPT_EXISTS()),SCRIPT_FLUSH_1=__importDefault(require_SCRIPT_FLUSH()),SCRIPT_KILL_1=__importDefault(require_SCRIPT_KILL()),SCRIPT_LOAD_1=__importDefault(require_SCRIPT_LOAD()),SDIFF_1=__importDefault(require_SDIFF()),SDIFFSTORE_1=__importDefault(require_SDIFFSTORE()),SET_1=__importDefault(require_SET()),SETBIT_1=__importDefault(require_SETBIT()),SETEX_1=__importDefault(require_SETEX()),SETNX_1=__importDefault(require_SETNX()),SETRANGE_1=__importDefault(require_SETRANGE()),SINTER_1=__importDefault(require_SINTER()),SINTERCARD_1=__importDefault(require_SINTERCARD()),SINTERSTORE_1=__importDefault(require_SINTERSTORE()),SISMEMBER_1=__importDefault(require_SISMEMBER()),SMEMBERS_1=__importDefault(require_SMEMBERS()),SMISMEMBER_1=__importDefault(require_SMISMEMBER()),SMOVE_1=__importDefault(require_SMOVE()),SORT_RO_1=__importDefault(require_SORT_RO()),SORT_STORE_1=__importDefault(require_SORT_STORE()),SORT_1=__importDefault(require_SORT()),SPOP_COUNT_1=__importDefault(require_SPOP_COUNT()),SPOP_1=__importDefault(require_SPOP()),SPUBLISH_1=__importDefault(require_SPUBLISH()),SRANDMEMBER_COUNT_1=__importDefault(require_SRANDMEMBER_COUNT()),SRANDMEMBER_1=__importDefault(require_SRANDMEMBER()),SREM_1=__importDefault(require_SREM()),SSCAN_1=__importDefault(require_SSCAN()),STRLEN_1=__importDefault(require_STRLEN()),SUNION_1=__importDefault(require_SUNION()),SUNIONSTORE_1=__importDefault(require_SUNIONSTORE()),SWAPDB_1=__importDefault(require_SWAPDB()),TIME_1=__importDefault(require_TIME()),TOUCH_1=__importDefault(require_TOUCH()),TTL_1=__importDefault(require_TTL()),TYPE_1=__importDefault(require_TYPE()),UNLINK_1=__importDefault(require_UNLINK()),WAIT_1=__importDefault(require_WAIT()),XACK_1=__importDefault(require_XACK()),XACKDEL_1=__importDefault(require_XACKDEL()),XADD_NOMKSTREAM_1=__importDefault(require_XADD_NOMKSTREAM()),XADD_1=__importDefault(require_XADD()),XAUTOCLAIM_JUSTID_1=__importDefault(require_XAUTOCLAIM_JUSTID()),XAUTOCLAIM_1=__importDefault(require_XAUTOCLAIM()),XCLAIM_JUSTID_1=__importDefault(require_XCLAIM_JUSTID()),XCLAIM_1=__importDefault(require_XCLAIM()),XDEL_1=__importDefault(require_XDEL()),XDELEX_1=__importDefault(require_XDELEX()),XGROUP_CREATE_1=__importDefault(require_XGROUP_CREATE()),XGROUP_CREATECONSUMER_1=__importDefault(require_XGROUP_CREATECONSUMER()),XGROUP_DELCONSUMER_1=__importDefault(require_XGROUP_DELCONSUMER()),XGROUP_DESTROY_1=__importDefault(require_XGROUP_DESTROY()),XGROUP_SETID_1=__importDefault(require_XGROUP_SETID()),XINFO_CONSUMERS_1=__importDefault(require_XINFO_CONSUMERS()),XINFO_GROUPS_1=__importDefault(require_XINFO_GROUPS()),XINFO_STREAM_1=__importDefault(require_XINFO_STREAM()),XLEN_1=__importDefault(require_XLEN()),XPENDING_RANGE_1=__importDefault(require_XPENDING_RANGE()),XPENDING_1=__importDefault(require_XPENDING()),XRANGE_1=__importDefault(require_XRANGE()),XREAD_1=__importDefault(require_XREAD()),XREADGROUP_1=__importDefault(require_XREADGROUP()),XREVRANGE_1=__importDefault(require_XREVRANGE()),XSETID_1=__importDefault(require_XSETID()),XTRIM_1=__importDefault(require_XTRIM()),ZADD_INCR_1=__importDefault(require_ZADD_INCR()),ZADD_1=__importDefault(require_ZADD()),ZCARD_1=__importDefault(require_ZCARD()),ZCOUNT_1=__importDefault(require_ZCOUNT()),ZDIFF_WITHSCORES_1=__importDefault(require_ZDIFF_WITHSCORES()),ZDIFF_1=__importDefault(require_ZDIFF()),ZDIFFSTORE_1=__importDefault(require_ZDIFFSTORE()),ZINCRBY_1=__importDefault(require_ZINCRBY()),ZINTER_WITHSCORES_1=__importDefault(require_ZINTER_WITHSCORES()),ZINTER_1=__importDefault(require_ZINTER()),ZINTERCARD_1=__importDefault(require_ZINTERCARD()),ZINTERSTORE_1=__importDefault(require_ZINTERSTORE()),ZLEXCOUNT_1=__importDefault(require_ZLEXCOUNT()),ZMPOP_1=__importDefault(require_ZMPOP()),ZMSCORE_1=__importDefault(require_ZMSCORE()),ZPOPMAX_COUNT_1=__importDefault(require_ZPOPMAX_COUNT()),ZPOPMAX_1=__importDefault(require_ZPOPMAX()),ZPOPMIN_COUNT_1=__importDefault(require_ZPOPMIN_COUNT()),ZPOPMIN_1=__importDefault(require_ZPOPMIN()),ZRANDMEMBER_COUNT_WITHSCORES_1=__importDefault(require_ZRANDMEMBER_COUNT_WITHSCORES()),ZRANDMEMBER_COUNT_1=__importDefault(require_ZRANDMEMBER_COUNT()),ZRANDMEMBER_1=__importDefault(require_ZRANDMEMBER()),ZRANGE_WITHSCORES_1=__importDefault(require_ZRANGE_WITHSCORES()),ZRANGE_1=__importDefault(require_ZRANGE()),ZRANGEBYLEX_1=__importDefault(require_ZRANGEBYLEX()),ZRANGEBYSCORE_WITHSCORES_1=__importDefault(require_ZRANGEBYSCORE_WITHSCORES()),ZRANGEBYSCORE_1=__importDefault(require_ZRANGEBYSCORE()),ZRANGESTORE_1=__importDefault(require_ZRANGESTORE()),ZREMRANGEBYSCORE_1=__importDefault(require_ZREMRANGEBYSCORE()),ZRANK_WITHSCORE_1=__importDefault(require_ZRANK_WITHSCORE()),ZRANK_1=__importDefault(require_ZRANK()),ZREM_1=__importDefault(require_ZREM()),ZREMRANGEBYLEX_1=__importDefault(require_ZREMRANGEBYLEX()),ZREMRANGEBYRANK_1=__importDefault(require_ZREMRANGEBYRANK()),ZREVRANK_1=__importDefault(require_ZREVRANK()),ZSCAN_1=__importDefault(require_ZSCAN()),ZSCORE_1=__importDefault(require_ZSCORE()),ZUNION_WITHSCORES_1=__importDefault(require_ZUNION_WITHSCORES()),ZUNION_1=__importDefault(require_ZUNION()),ZUNIONSTORE_1=__importDefault(require_ZUNIONSTORE()),VADD_1=__importDefault(require_VADD()),VCARD_1=__importDefault(require_VCARD()),VDIM_1=__importDefault(require_VDIM()),VEMB_1=__importDefault(require_VEMB()),VEMB_RAW_1=__importDefault(require_VEMB_RAW()),VGETATTR_1=__importDefault(require_VGETATTR()),VINFO_1=__importDefault(require_VINFO()),VLINKS_1=__importDefault(require_VLINKS()),VLINKS_WITHSCORES_1=__importDefault(require_VLINKS_WITHSCORES()),VRANDMEMBER_1=__importDefault(require_VRANDMEMBER()),VREM_1=__importDefault(require_VREM()),VSETATTR_1=__importDefault(require_VSETATTR()),VSIM_1=__importDefault(require_VSIM()),VSIM_WITHSCORES_1=__importDefault(require_VSIM_WITHSCORES()),LATENCY_HISTOGRAM_1=__importDefault(require_LATENCY_HISTOGRAM());exports.default={ACL_CAT:ACL_CAT_1.default,aclCat:ACL_CAT_1.default,ACL_DELUSER:ACL_DELUSER_1.default,aclDelUser:ACL_DELUSER_1.default,ACL_DRYRUN:ACL_DRYRUN_1.default,aclDryRun:ACL_DRYRUN_1.default,ACL_GENPASS:ACL_GENPASS_1.default,aclGenPass:ACL_GENPASS_1.default,ACL_GETUSER:ACL_GETUSER_1.default,aclGetUser:ACL_GETUSER_1.default,ACL_LIST:ACL_LIST_1.default,aclList:ACL_LIST_1.default,ACL_LOAD:ACL_LOAD_1.default,aclLoad:ACL_LOAD_1.default,ACL_LOG_RESET:ACL_LOG_RESET_1.default,aclLogReset:ACL_LOG_RESET_1.default,ACL_LOG:ACL_LOG_1.default,aclLog:ACL_LOG_1.default,ACL_SAVE:ACL_SAVE_1.default,aclSave:ACL_SAVE_1.default,ACL_SETUSER:ACL_SETUSER_1.default,aclSetUser:ACL_SETUSER_1.default,ACL_USERS:ACL_USERS_1.default,aclUsers:ACL_USERS_1.default,ACL_WHOAMI:ACL_WHOAMI_1.default,aclWhoAmI:ACL_WHOAMI_1.default,APPEND:APPEND_1.default,append:APPEND_1.default,ASKING:ASKING_1.default,asking:ASKING_1.default,AUTH:AUTH_1.default,auth:AUTH_1.default,BGREWRITEAOF:BGREWRITEAOF_1.default,bgRewriteAof:BGREWRITEAOF_1.default,BGSAVE:BGSAVE_1.default,bgSave:BGSAVE_1.default,BITCOUNT:BITCOUNT_1.default,bitCount:BITCOUNT_1.default,BITFIELD_RO:BITFIELD_RO_1.default,bitFieldRo:BITFIELD_RO_1.default,BITFIELD:BITFIELD_1.default,bitField:BITFIELD_1.default,BITOP:BITOP_1.default,bitOp:BITOP_1.default,BITPOS:BITPOS_1.default,bitPos:BITPOS_1.default,BLMOVE:BLMOVE_1.default,blMove:BLMOVE_1.default,BLMPOP:BLMPOP_1.default,blmPop:BLMPOP_1.default,BLPOP:BLPOP_1.default,blPop:BLPOP_1.default,BRPOP:BRPOP_1.default,brPop:BRPOP_1.default,BRPOPLPUSH:BRPOPLPUSH_1.default,brPopLPush:BRPOPLPUSH_1.default,BZMPOP:BZMPOP_1.default,bzmPop:BZMPOP_1.default,BZPOPMAX:BZPOPMAX_1.default,bzPopMax:BZPOPMAX_1.default,BZPOPMIN:BZPOPMIN_1.default,bzPopMin:BZPOPMIN_1.default,CLIENT_CACHING:CLIENT_CACHING_1.default,clientCaching:CLIENT_CACHING_1.default,CLIENT_GETNAME:CLIENT_GETNAME_1.default,clientGetName:CLIENT_GETNAME_1.default,CLIENT_GETREDIR:CLIENT_GETREDIR_1.default,clientGetRedir:CLIENT_GETREDIR_1.default,CLIENT_ID:CLIENT_ID_1.default,clientId:CLIENT_ID_1.default,CLIENT_INFO:CLIENT_INFO_1.default,clientInfo:CLIENT_INFO_1.default,CLIENT_KILL:CLIENT_KILL_1.default,clientKill:CLIENT_KILL_1.default,CLIENT_LIST:CLIENT_LIST_1.default,clientList:CLIENT_LIST_1.default,"CLIENT_NO-EVICT":CLIENT_NO_EVICT_1.default,clientNoEvict:CLIENT_NO_EVICT_1.default,"CLIENT_NO-TOUCH":CLIENT_NO_TOUCH_1.default,clientNoTouch:CLIENT_NO_TOUCH_1.default,CLIENT_PAUSE:CLIENT_PAUSE_1.default,clientPause:CLIENT_PAUSE_1.default,CLIENT_SETNAME:CLIENT_SETNAME_1.default,clientSetName:CLIENT_SETNAME_1.default,CLIENT_TRACKING:CLIENT_TRACKING_1.default,clientTracking:CLIENT_TRACKING_1.default,CLIENT_TRACKINGINFO:CLIENT_TRACKINGINFO_1.default,clientTrackingInfo:CLIENT_TRACKINGINFO_1.default,CLIENT_UNPAUSE:CLIENT_UNPAUSE_1.default,clientUnpause:CLIENT_UNPAUSE_1.default,CLUSTER_ADDSLOTS:CLUSTER_ADDSLOTS_1.default,clusterAddSlots:CLUSTER_ADDSLOTS_1.default,CLUSTER_ADDSLOTSRANGE:CLUSTER_ADDSLOTSRANGE_1.default,clusterAddSlotsRange:CLUSTER_ADDSLOTSRANGE_1.default,CLUSTER_BUMPEPOCH:CLUSTER_BUMPEPOCH_1.default,clusterBumpEpoch:CLUSTER_BUMPEPOCH_1.default,"CLUSTER_COUNT-FAILURE-REPORTS":CLUSTER_COUNT_FAILURE_REPORTS_1.default,clusterCountFailureReports:CLUSTER_COUNT_FAILURE_REPORTS_1.default,CLUSTER_COUNTKEYSINSLOT:CLUSTER_COUNTKEYSINSLOT_1.default,clusterCountKeysInSlot:CLUSTER_COUNTKEYSINSLOT_1.default,CLUSTER_DELSLOTS:CLUSTER_DELSLOTS_1.default,clusterDelSlots:CLUSTER_DELSLOTS_1.default,CLUSTER_DELSLOTSRANGE:CLUSTER_DELSLOTSRANGE_1.default,clusterDelSlotsRange:CLUSTER_DELSLOTSRANGE_1.default,CLUSTER_FAILOVER:CLUSTER_FAILOVER_1.default,clusterFailover:CLUSTER_FAILOVER_1.default,CLUSTER_FLUSHSLOTS:CLUSTER_FLUSHSLOTS_1.default,clusterFlushSlots:CLUSTER_FLUSHSLOTS_1.default,CLUSTER_FORGET:CLUSTER_FORGET_1.default,clusterForget:CLUSTER_FORGET_1.default,CLUSTER_GETKEYSINSLOT:CLUSTER_GETKEYSINSLOT_1.default,clusterGetKeysInSlot:CLUSTER_GETKEYSINSLOT_1.default,CLUSTER_INFO:CLUSTER_INFO_1.default,clusterInfo:CLUSTER_INFO_1.default,CLUSTER_KEYSLOT:CLUSTER_KEYSLOT_1.default,clusterKeySlot:CLUSTER_KEYSLOT_1.default,CLUSTER_LINKS:CLUSTER_LINKS_1.default,clusterLinks:CLUSTER_LINKS_1.default,CLUSTER_MEET:CLUSTER_MEET_1.default,clusterMeet:CLUSTER_MEET_1.default,CLUSTER_MYID:CLUSTER_MYID_1.default,clusterMyId:CLUSTER_MYID_1.default,CLUSTER_MYSHARDID:CLUSTER_MYSHARDID_1.default,clusterMyShardId:CLUSTER_MYSHARDID_1.default,CLUSTER_NODES:CLUSTER_NODES_1.default,clusterNodes:CLUSTER_NODES_1.default,CLUSTER_REPLICAS:CLUSTER_REPLICAS_1.default,clusterReplicas:CLUSTER_REPLICAS_1.default,CLUSTER_REPLICATE:CLUSTER_REPLICATE_1.default,clusterReplicate:CLUSTER_REPLICATE_1.default,CLUSTER_RESET:CLUSTER_RESET_1.default,clusterReset:CLUSTER_RESET_1.default,CLUSTER_SAVECONFIG:CLUSTER_SAVECONFIG_1.default,clusterSaveConfig:CLUSTER_SAVECONFIG_1.default,"CLUSTER_SET-CONFIG-EPOCH":CLUSTER_SET_CONFIG_EPOCH_1.default,clusterSetConfigEpoch:CLUSTER_SET_CONFIG_EPOCH_1.default,CLUSTER_SETSLOT:CLUSTER_SETSLOT_1.default,clusterSetSlot:CLUSTER_SETSLOT_1.default,CLUSTER_SLOTS:CLUSTER_SLOTS_1.default,clusterSlots:CLUSTER_SLOTS_1.default,COMMAND_COUNT:COMMAND_COUNT_1.default,commandCount:COMMAND_COUNT_1.default,COMMAND_GETKEYS:COMMAND_GETKEYS_1.default,commandGetKeys:COMMAND_GETKEYS_1.default,COMMAND_GETKEYSANDFLAGS:COMMAND_GETKEYSANDFLAGS_1.default,commandGetKeysAndFlags:COMMAND_GETKEYSANDFLAGS_1.default,COMMAND_INFO:COMMAND_INFO_1.default,commandInfo:COMMAND_INFO_1.default,COMMAND_LIST:COMMAND_LIST_1.default,commandList:COMMAND_LIST_1.default,COMMAND:COMMAND_1.default,command:COMMAND_1.default,CONFIG_GET:CONFIG_GET_1.default,configGet:CONFIG_GET_1.default,CONFIG_RESETASTAT:CONFIG_RESETSTAT_1.default,configResetStat:CONFIG_RESETSTAT_1.default,CONFIG_REWRITE:CONFIG_REWRITE_1.default,configRewrite:CONFIG_REWRITE_1.default,CONFIG_SET:CONFIG_SET_1.default,configSet:CONFIG_SET_1.default,COPY:COPY_1.default,copy:COPY_1.default,DBSIZE:DBSIZE_1.default,dbSize:DBSIZE_1.default,DECR:DECR_1.default,decr:DECR_1.default,DECRBY:DECRBY_1.default,decrBy:DECRBY_1.default,DEL:DEL_1.default,del:DEL_1.default,DELEX:DELEX_1.default,delEx:DELEX_1.default,DIGEST:DIGEST_1.default,digest:DIGEST_1.default,DUMP:DUMP_1.default,dump:DUMP_1.default,ECHO:ECHO_1.default,echo:ECHO_1.default,EVAL_RO:EVAL_RO_1.default,evalRo:EVAL_RO_1.default,EVAL:EVAL_1.default,eval:EVAL_1.default,EVALSHA_RO:EVALSHA_RO_1.default,evalShaRo:EVALSHA_RO_1.default,EVALSHA:EVALSHA_1.default,evalSha:EVALSHA_1.default,EXISTS:EXISTS_1.default,exists:EXISTS_1.default,EXPIRE:EXPIRE_1.default,expire:EXPIRE_1.default,EXPIREAT:EXPIREAT_1.default,expireAt:EXPIREAT_1.default,EXPIRETIME:EXPIRETIME_1.default,expireTime:EXPIRETIME_1.default,FLUSHALL:FLUSHALL_1.default,flushAll:FLUSHALL_1.default,FLUSHDB:FLUSHDB_1.default,flushDb:FLUSHDB_1.default,FCALL:FCALL_1.default,fCall:FCALL_1.default,FCALL_RO:FCALL_RO_1.default,fCallRo:FCALL_RO_1.default,FUNCTION_DELETE:FUNCTION_DELETE_1.default,functionDelete:FUNCTION_DELETE_1.default,FUNCTION_DUMP:FUNCTION_DUMP_1.default,functionDump:FUNCTION_DUMP_1.default,FUNCTION_FLUSH:FUNCTION_FLUSH_1.default,functionFlush:FUNCTION_FLUSH_1.default,FUNCTION_KILL:FUNCTION_KILL_1.default,functionKill:FUNCTION_KILL_1.default,FUNCTION_LIST_WITHCODE:FUNCTION_LIST_WITHCODE_1.default,functionListWithCode:FUNCTION_LIST_WITHCODE_1.default,FUNCTION_LIST:FUNCTION_LIST_1.default,functionList:FUNCTION_LIST_1.default,FUNCTION_LOAD:FUNCTION_LOAD_1.default,functionLoad:FUNCTION_LOAD_1.default,FUNCTION_RESTORE:FUNCTION_RESTORE_1.default,functionRestore:FUNCTION_RESTORE_1.default,FUNCTION_STATS:FUNCTION_STATS_1.default,functionStats:FUNCTION_STATS_1.default,GEOADD:GEOADD_1.default,geoAdd:GEOADD_1.default,GEODIST:GEODIST_1.default,geoDist:GEODIST_1.default,GEOHASH:GEOHASH_1.default,geoHash:GEOHASH_1.default,GEOPOS:GEOPOS_1.default,geoPos:GEOPOS_1.default,GEORADIUS_RO_WITH:GEORADIUS_RO_WITH_1.default,geoRadiusRoWith:GEORADIUS_RO_WITH_1.default,GEORADIUS_RO:GEORADIUS_RO_1.default,geoRadiusRo:GEORADIUS_RO_1.default,GEORADIUS_STORE:GEORADIUS_STORE_1.default,geoRadiusStore:GEORADIUS_STORE_1.default,GEORADIUS_WITH:GEORADIUS_WITH_1.default,geoRadiusWith:GEORADIUS_WITH_1.default,GEORADIUS:GEORADIUS_1.default,geoRadius:GEORADIUS_1.default,GEORADIUSBYMEMBER_RO_WITH:GEORADIUSBYMEMBER_RO_WITH_1.default,geoRadiusByMemberRoWith:GEORADIUSBYMEMBER_RO_WITH_1.default,GEORADIUSBYMEMBER_RO:GEORADIUSBYMEMBER_RO_1.default,geoRadiusByMemberRo:GEORADIUSBYMEMBER_RO_1.default,GEORADIUSBYMEMBER_STORE:GEORADIUSBYMEMBER_STORE_1.default,geoRadiusByMemberStore:GEORADIUSBYMEMBER_STORE_1.default,GEORADIUSBYMEMBER_WITH:GEORADIUSBYMEMBER_WITH_1.default,geoRadiusByMemberWith:GEORADIUSBYMEMBER_WITH_1.default,GEORADIUSBYMEMBER:GEORADIUSBYMEMBER_1.default,geoRadiusByMember:GEORADIUSBYMEMBER_1.default,GEOSEARCH_WITH:GEOSEARCH_WITH_1.default,geoSearchWith:GEOSEARCH_WITH_1.default,GEOSEARCH:GEOSEARCH_1.default,geoSearch:GEOSEARCH_1.default,GEOSEARCHSTORE:GEOSEARCHSTORE_1.default,geoSearchStore:GEOSEARCHSTORE_1.default,GET:GET_1.default,get:GET_1.default,GETBIT:GETBIT_1.default,getBit:GETBIT_1.default,GETDEL:GETDEL_1.default,getDel:GETDEL_1.default,GETEX:GETEX_1.default,getEx:GETEX_1.default,GETRANGE:GETRANGE_1.default,getRange:GETRANGE_1.default,GETSET:GETSET_1.default,getSet:GETSET_1.default,HDEL:HDEL_1.default,hDel:HDEL_1.default,HELLO:HELLO_1.default,hello:HELLO_1.default,HEXISTS:HEXISTS_1.default,hExists:HEXISTS_1.default,HEXPIRE:HEXPIRE_1.default,hExpire:HEXPIRE_1.default,HEXPIREAT:HEXPIREAT_1.default,hExpireAt:HEXPIREAT_1.default,HEXPIRETIME:HEXPIRETIME_1.default,hExpireTime:HEXPIRETIME_1.default,HGET:HGET_1.default,hGet:HGET_1.default,HGETALL:HGETALL_1.default,hGetAll:HGETALL_1.default,HGETDEL:HGETDEL_1.default,hGetDel:HGETDEL_1.default,HGETEX:HGETEX_1.default,hGetEx:HGETEX_1.default,HINCRBY:HINCRBY_1.default,hIncrBy:HINCRBY_1.default,HINCRBYFLOAT:HINCRBYFLOAT_1.default,hIncrByFloat:HINCRBYFLOAT_1.default,HKEYS:HKEYS_1.default,hKeys:HKEYS_1.default,HLEN:HLEN_1.default,hLen:HLEN_1.default,HMGET:HMGET_1.default,hmGet:HMGET_1.default,HPERSIST:HPERSIST_1.default,hPersist:HPERSIST_1.default,HPEXPIRE:HPEXPIRE_1.default,hpExpire:HPEXPIRE_1.default,HPEXPIREAT:HPEXPIREAT_1.default,hpExpireAt:HPEXPIREAT_1.default,HPEXPIRETIME:HPEXPIRETIME_1.default,hpExpireTime:HPEXPIRETIME_1.default,HPTTL:HPTTL_1.default,hpTTL:HPTTL_1.default,HRANDFIELD_COUNT_WITHVALUES:HRANDFIELD_COUNT_WITHVALUES_1.default,hRandFieldCountWithValues:HRANDFIELD_COUNT_WITHVALUES_1.default,HRANDFIELD_COUNT:HRANDFIELD_COUNT_1.default,hRandFieldCount:HRANDFIELD_COUNT_1.default,HRANDFIELD:HRANDFIELD_1.default,hRandField:HRANDFIELD_1.default,HSCAN:HSCAN_1.default,hScan:HSCAN_1.default,HSCAN_NOVALUES:HSCAN_NOVALUES_1.default,hScanNoValues:HSCAN_NOVALUES_1.default,HSET:HSET_1.default,hSet:HSET_1.default,HSETEX:HSETEX_1.default,hSetEx:HSETEX_1.default,HSETNX:HSETNX_1.default,hSetNX:HSETNX_1.default,HSTRLEN:HSTRLEN_1.default,hStrLen:HSTRLEN_1.default,HTTL:HTTL_1.default,hTTL:HTTL_1.default,HVALS:HVALS_1.default,hVals:HVALS_1.default,INCR:INCR_1.default,incr:INCR_1.default,INCRBY:INCRBY_1.default,incrBy:INCRBY_1.default,INCRBYFLOAT:INCRBYFLOAT_1.default,incrByFloat:INCRBYFLOAT_1.default,INFO:INFO_1.default,info:INFO_1.default,KEYS:KEYS_1.default,keys:KEYS_1.default,LASTSAVE:LASTSAVE_1.default,lastSave:LASTSAVE_1.default,LATENCY_DOCTOR:LATENCY_DOCTOR_1.default,latencyDoctor:LATENCY_DOCTOR_1.default,LATENCY_GRAPH:LATENCY_GRAPH_1.default,latencyGraph:LATENCY_GRAPH_1.default,LATENCY_HISTORY:LATENCY_HISTORY_1.default,latencyHistory:LATENCY_HISTORY_1.default,LATENCY_HISTOGRAM:LATENCY_HISTOGRAM_1.default,latencyHistogram:LATENCY_HISTOGRAM_1.default,LATENCY_LATEST:LATENCY_LATEST_1.default,latencyLatest:LATENCY_LATEST_1.default,LATENCY_RESET:LATENCY_RESET_1.default,latencyReset:LATENCY_RESET_1.default,LCS_IDX_WITHMATCHLEN:LCS_IDX_WITHMATCHLEN_1.default,lcsIdxWithMatchLen:LCS_IDX_WITHMATCHLEN_1.default,LCS_IDX:LCS_IDX_1.default,lcsIdx:LCS_IDX_1.default,LCS_LEN:LCS_LEN_1.default,lcsLen:LCS_LEN_1.default,LCS:LCS_1.default,lcs:LCS_1.default,LINDEX:LINDEX_1.default,lIndex:LINDEX_1.default,LINSERT:LINSERT_1.default,lInsert:LINSERT_1.default,LLEN:LLEN_1.default,lLen:LLEN_1.default,LMOVE:LMOVE_1.default,lMove:LMOVE_1.default,LMPOP:LMPOP_1.default,lmPop:LMPOP_1.default,LOLWUT:LOLWUT_1.default,LPOP_COUNT:LPOP_COUNT_1.default,lPopCount:LPOP_COUNT_1.default,LPOP:LPOP_1.default,lPop:LPOP_1.default,LPOS_COUNT:LPOS_COUNT_1.default,lPosCount:LPOS_COUNT_1.default,LPOS:LPOS_1.default,lPos:LPOS_1.default,LPUSH:LPUSH_1.default,lPush:LPUSH_1.default,LPUSHX:LPUSHX_1.default,lPushX:LPUSHX_1.default,LRANGE:LRANGE_1.default,lRange:LRANGE_1.default,LREM:LREM_1.default,lRem:LREM_1.default,LSET:LSET_1.default,lSet:LSET_1.default,LTRIM:LTRIM_1.default,lTrim:LTRIM_1.default,MEMORY_DOCTOR:MEMORY_DOCTOR_1.default,memoryDoctor:MEMORY_DOCTOR_1.default,"MEMORY_MALLOC-STATS":MEMORY_MALLOC_STATS_1.default,memoryMallocStats:MEMORY_MALLOC_STATS_1.default,MEMORY_PURGE:MEMORY_PURGE_1.default,memoryPurge:MEMORY_PURGE_1.default,MEMORY_STATS:MEMORY_STATS_1.default,memoryStats:MEMORY_STATS_1.default,MEMORY_USAGE:MEMORY_USAGE_1.default,memoryUsage:MEMORY_USAGE_1.default,MGET:MGET_1.default,mGet:MGET_1.default,MIGRATE:MIGRATE_1.default,migrate:MIGRATE_1.default,MODULE_LIST:MODULE_LIST_1.default,moduleList:MODULE_LIST_1.default,MODULE_LOAD:MODULE_LOAD_1.default,moduleLoad:MODULE_LOAD_1.default,MODULE_UNLOAD:MODULE_UNLOAD_1.default,moduleUnload:MODULE_UNLOAD_1.default,MOVE:MOVE_1.default,move:MOVE_1.default,MSET:MSET_1.default,mSet:MSET_1.default,MSETEX:MSETEX_1.default,mSetEx:MSETEX_1.default,MSETNX:MSETNX_1.default,mSetNX:MSETNX_1.default,OBJECT_ENCODING:OBJECT_ENCODING_1.default,objectEncoding:OBJECT_ENCODING_1.default,OBJECT_FREQ:OBJECT_FREQ_1.default,objectFreq:OBJECT_FREQ_1.default,OBJECT_IDLETIME:OBJECT_IDLETIME_1.default,objectIdleTime:OBJECT_IDLETIME_1.default,OBJECT_REFCOUNT:OBJECT_REFCOUNT_1.default,objectRefCount:OBJECT_REFCOUNT_1.default,PERSIST:PERSIST_1.default,persist:PERSIST_1.default,PEXPIRE:PEXPIRE_1.default,pExpire:PEXPIRE_1.default,PEXPIREAT:PEXPIREAT_1.default,pExpireAt:PEXPIREAT_1.default,PEXPIRETIME:PEXPIRETIME_1.default,pExpireTime:PEXPIRETIME_1.default,PFADD:PFADD_1.default,pfAdd:PFADD_1.default,PFCOUNT:PFCOUNT_1.default,pfCount:PFCOUNT_1.default,PFMERGE:PFMERGE_1.default,pfMerge:PFMERGE_1.default,PING:PING_1.default,ping:PING_1.default,PSETEX:PSETEX_1.default,pSetEx:PSETEX_1.default,PTTL:PTTL_1.default,pTTL:PTTL_1.default,PUBLISH:PUBLISH_1.default,publish:PUBLISH_1.default,PUBSUB_CHANNELS:PUBSUB_CHANNELS_1.default,pubSubChannels:PUBSUB_CHANNELS_1.default,PUBSUB_NUMPAT:PUBSUB_NUMPAT_1.default,pubSubNumPat:PUBSUB_NUMPAT_1.default,PUBSUB_NUMSUB:PUBSUB_NUMSUB_1.default,pubSubNumSub:PUBSUB_NUMSUB_1.default,PUBSUB_SHARDNUMSUB:PUBSUB_SHARDNUMSUB_1.default,pubSubShardNumSub:PUBSUB_SHARDNUMSUB_1.default,PUBSUB_SHARDCHANNELS:PUBSUB_SHARDCHANNELS_1.default,pubSubShardChannels:PUBSUB_SHARDCHANNELS_1.default,RANDOMKEY:RANDOMKEY_1.default,randomKey:RANDOMKEY_1.default,READONLY:READONLY_1.default,readonly:READONLY_1.default,RENAME:RENAME_1.default,rename:RENAME_1.default,RENAMENX:RENAMENX_1.default,renameNX:RENAMENX_1.default,REPLICAOF:REPLICAOF_1.default,replicaOf:REPLICAOF_1.default,"RESTORE-ASKING":RESTORE_ASKING_1.default,restoreAsking:RESTORE_ASKING_1.default,RESTORE:RESTORE_1.default,restore:RESTORE_1.default,RPOP_COUNT:RPOP_COUNT_1.default,rPopCount:RPOP_COUNT_1.default,ROLE:ROLE_1.default,role:ROLE_1.default,RPOP:RPOP_1.default,rPop:RPOP_1.default,RPOPLPUSH:RPOPLPUSH_1.default,rPopLPush:RPOPLPUSH_1.default,RPUSH:RPUSH_1.default,rPush:RPUSH_1.default,RPUSHX:RPUSHX_1.default,rPushX:RPUSHX_1.default,SADD:SADD_1.default,sAdd:SADD_1.default,SCAN:SCAN_1.default,scan:SCAN_1.default,SCARD:SCARD_1.default,sCard:SCARD_1.default,SCRIPT_DEBUG:SCRIPT_DEBUG_1.default,scriptDebug:SCRIPT_DEBUG_1.default,SCRIPT_EXISTS:SCRIPT_EXISTS_1.default,scriptExists:SCRIPT_EXISTS_1.default,SCRIPT_FLUSH:SCRIPT_FLUSH_1.default,scriptFlush:SCRIPT_FLUSH_1.default,SCRIPT_KILL:SCRIPT_KILL_1.default,scriptKill:SCRIPT_KILL_1.default,SCRIPT_LOAD:SCRIPT_LOAD_1.default,scriptLoad:SCRIPT_LOAD_1.default,SDIFF:SDIFF_1.default,sDiff:SDIFF_1.default,SDIFFSTORE:SDIFFSTORE_1.default,sDiffStore:SDIFFSTORE_1.default,SET:SET_1.default,set:SET_1.default,SETBIT:SETBIT_1.default,setBit:SETBIT_1.default,SETEX:SETEX_1.default,setEx:SETEX_1.default,SETNX:SETNX_1.default,setNX:SETNX_1.default,SETRANGE:SETRANGE_1.default,setRange:SETRANGE_1.default,SINTER:SINTER_1.default,sInter:SINTER_1.default,SINTERCARD:SINTERCARD_1.default,sInterCard:SINTERCARD_1.default,SINTERSTORE:SINTERSTORE_1.default,sInterStore:SINTERSTORE_1.default,SISMEMBER:SISMEMBER_1.default,sIsMember:SISMEMBER_1.default,SMEMBERS:SMEMBERS_1.default,sMembers:SMEMBERS_1.default,SMISMEMBER:SMISMEMBER_1.default,smIsMember:SMISMEMBER_1.default,SMOVE:SMOVE_1.default,sMove:SMOVE_1.default,SORT_RO:SORT_RO_1.default,sortRo:SORT_RO_1.default,SORT_STORE:SORT_STORE_1.default,sortStore:SORT_STORE_1.default,SORT:SORT_1.default,sort:SORT_1.default,SPOP_COUNT:SPOP_COUNT_1.default,sPopCount:SPOP_COUNT_1.default,SPOP:SPOP_1.default,sPop:SPOP_1.default,SPUBLISH:SPUBLISH_1.default,sPublish:SPUBLISH_1.default,SRANDMEMBER_COUNT:SRANDMEMBER_COUNT_1.default,sRandMemberCount:SRANDMEMBER_COUNT_1.default,SRANDMEMBER:SRANDMEMBER_1.default,sRandMember:SRANDMEMBER_1.default,SREM:SREM_1.default,sRem:SREM_1.default,SSCAN:SSCAN_1.default,sScan:SSCAN_1.default,STRLEN:STRLEN_1.default,strLen:STRLEN_1.default,SUNION:SUNION_1.default,sUnion:SUNION_1.default,SUNIONSTORE:SUNIONSTORE_1.default,sUnionStore:SUNIONSTORE_1.default,SWAPDB:SWAPDB_1.default,swapDb:SWAPDB_1.default,TIME:TIME_1.default,time:TIME_1.default,TOUCH:TOUCH_1.default,touch:TOUCH_1.default,TTL:TTL_1.default,ttl:TTL_1.default,TYPE:TYPE_1.default,type:TYPE_1.default,UNLINK:UNLINK_1.default,unlink:UNLINK_1.default,WAIT:WAIT_1.default,wait:WAIT_1.default,XACK:XACK_1.default,xAck:XACK_1.default,XACKDEL:XACKDEL_1.default,xAckDel:XACKDEL_1.default,XADD_NOMKSTREAM:XADD_NOMKSTREAM_1.default,xAddNoMkStream:XADD_NOMKSTREAM_1.default,XADD:XADD_1.default,xAdd:XADD_1.default,XAUTOCLAIM_JUSTID:XAUTOCLAIM_JUSTID_1.default,xAutoClaimJustId:XAUTOCLAIM_JUSTID_1.default,XAUTOCLAIM:XAUTOCLAIM_1.default,xAutoClaim:XAUTOCLAIM_1.default,XCLAIM_JUSTID:XCLAIM_JUSTID_1.default,xClaimJustId:XCLAIM_JUSTID_1.default,XCLAIM:XCLAIM_1.default,xClaim:XCLAIM_1.default,XDEL:XDEL_1.default,xDel:XDEL_1.default,XDELEX:XDELEX_1.default,xDelEx:XDELEX_1.default,XGROUP_CREATE:XGROUP_CREATE_1.default,xGroupCreate:XGROUP_CREATE_1.default,XGROUP_CREATECONSUMER:XGROUP_CREATECONSUMER_1.default,xGroupCreateConsumer:XGROUP_CREATECONSUMER_1.default,XGROUP_DELCONSUMER:XGROUP_DELCONSUMER_1.default,xGroupDelConsumer:XGROUP_DELCONSUMER_1.default,XGROUP_DESTROY:XGROUP_DESTROY_1.default,xGroupDestroy:XGROUP_DESTROY_1.default,XGROUP_SETID:XGROUP_SETID_1.default,xGroupSetId:XGROUP_SETID_1.default,XINFO_CONSUMERS:XINFO_CONSUMERS_1.default,xInfoConsumers:XINFO_CONSUMERS_1.default,XINFO_GROUPS:XINFO_GROUPS_1.default,xInfoGroups:XINFO_GROUPS_1.default,XINFO_STREAM:XINFO_STREAM_1.default,xInfoStream:XINFO_STREAM_1.default,XLEN:XLEN_1.default,xLen:XLEN_1.default,XPENDING_RANGE:XPENDING_RANGE_1.default,xPendingRange:XPENDING_RANGE_1.default,XPENDING:XPENDING_1.default,xPending:XPENDING_1.default,XRANGE:XRANGE_1.default,xRange:XRANGE_1.default,XREAD:XREAD_1.default,xRead:XREAD_1.default,XREADGROUP:XREADGROUP_1.default,xReadGroup:XREADGROUP_1.default,XREVRANGE:XREVRANGE_1.default,xRevRange:XREVRANGE_1.default,XSETID:XSETID_1.default,xSetId:XSETID_1.default,XTRIM:XTRIM_1.default,xTrim:XTRIM_1.default,ZADD_INCR:ZADD_INCR_1.default,zAddIncr:ZADD_INCR_1.default,ZADD:ZADD_1.default,zAdd:ZADD_1.default,ZCARD:ZCARD_1.default,zCard:ZCARD_1.default,ZCOUNT:ZCOUNT_1.default,zCount:ZCOUNT_1.default,ZDIFF_WITHSCORES:ZDIFF_WITHSCORES_1.default,zDiffWithScores:ZDIFF_WITHSCORES_1.default,ZDIFF:ZDIFF_1.default,zDiff:ZDIFF_1.default,ZDIFFSTORE:ZDIFFSTORE_1.default,zDiffStore:ZDIFFSTORE_1.default,ZINCRBY:ZINCRBY_1.default,zIncrBy:ZINCRBY_1.default,ZINTER_WITHSCORES:ZINTER_WITHSCORES_1.default,zInterWithScores:ZINTER_WITHSCORES_1.default,ZINTER:ZINTER_1.default,zInter:ZINTER_1.default,ZINTERCARD:ZINTERCARD_1.default,zInterCard:ZINTERCARD_1.default,ZINTERSTORE:ZINTERSTORE_1.default,zInterStore:ZINTERSTORE_1.default,ZLEXCOUNT:ZLEXCOUNT_1.default,zLexCount:ZLEXCOUNT_1.default,ZMPOP:ZMPOP_1.default,zmPop:ZMPOP_1.default,ZMSCORE:ZMSCORE_1.default,zmScore:ZMSCORE_1.default,ZPOPMAX_COUNT:ZPOPMAX_COUNT_1.default,zPopMaxCount:ZPOPMAX_COUNT_1.default,ZPOPMAX:ZPOPMAX_1.default,zPopMax:ZPOPMAX_1.default,ZPOPMIN_COUNT:ZPOPMIN_COUNT_1.default,zPopMinCount:ZPOPMIN_COUNT_1.default,ZPOPMIN:ZPOPMIN_1.default,zPopMin:ZPOPMIN_1.default,ZRANDMEMBER_COUNT_WITHSCORES:ZRANDMEMBER_COUNT_WITHSCORES_1.default,zRandMemberCountWithScores:ZRANDMEMBER_COUNT_WITHSCORES_1.default,ZRANDMEMBER_COUNT:ZRANDMEMBER_COUNT_1.default,zRandMemberCount:ZRANDMEMBER_COUNT_1.default,ZRANDMEMBER:ZRANDMEMBER_1.default,zRandMember:ZRANDMEMBER_1.default,ZRANGE_WITHSCORES:ZRANGE_WITHSCORES_1.default,zRangeWithScores:ZRANGE_WITHSCORES_1.default,ZRANGE:ZRANGE_1.default,zRange:ZRANGE_1.default,ZRANGEBYLEX:ZRANGEBYLEX_1.default,zRangeByLex:ZRANGEBYLEX_1.default,ZRANGEBYSCORE_WITHSCORES:ZRANGEBYSCORE_WITHSCORES_1.default,zRangeByScoreWithScores:ZRANGEBYSCORE_WITHSCORES_1.default,ZRANGEBYSCORE:ZRANGEBYSCORE_1.default,zRangeByScore:ZRANGEBYSCORE_1.default,ZRANGESTORE:ZRANGESTORE_1.default,zRangeStore:ZRANGESTORE_1.default,ZRANK_WITHSCORE:ZRANK_WITHSCORE_1.default,zRankWithScore:ZRANK_WITHSCORE_1.default,ZRANK:ZRANK_1.default,zRank:ZRANK_1.default,ZREM:ZREM_1.default,zRem:ZREM_1.default,ZREMRANGEBYLEX:ZREMRANGEBYLEX_1.default,zRemRangeByLex:ZREMRANGEBYLEX_1.default,ZREMRANGEBYRANK:ZREMRANGEBYRANK_1.default,zRemRangeByRank:ZREMRANGEBYRANK_1.default,ZREMRANGEBYSCORE:ZREMRANGEBYSCORE_1.default,zRemRangeByScore:ZREMRANGEBYSCORE_1.default,ZREVRANK:ZREVRANK_1.default,zRevRank:ZREVRANK_1.default,ZSCAN:ZSCAN_1.default,zScan:ZSCAN_1.default,ZSCORE:ZSCORE_1.default,zScore:ZSCORE_1.default,ZUNION_WITHSCORES:ZUNION_WITHSCORES_1.default,zUnionWithScores:ZUNION_WITHSCORES_1.default,ZUNION:ZUNION_1.default,zUnion:ZUNION_1.default,ZUNIONSTORE:ZUNIONSTORE_1.default,zUnionStore:ZUNIONSTORE_1.default,VADD:VADD_1.default,vAdd:VADD_1.default,VCARD:VCARD_1.default,vCard:VCARD_1.default,VDIM:VDIM_1.default,vDim:VDIM_1.default,VEMB:VEMB_1.default,vEmb:VEMB_1.default,VEMB_RAW:VEMB_RAW_1.default,vEmbRaw:VEMB_RAW_1.default,VGETATTR:VGETATTR_1.default,vGetAttr:VGETATTR_1.default,VINFO:VINFO_1.default,vInfo:VINFO_1.default,VLINKS:VLINKS_1.default,vLinks:VLINKS_1.default,VLINKS_WITHSCORES:VLINKS_WITHSCORES_1.default,vLinksWithScores:VLINKS_WITHSCORES_1.default,VRANDMEMBER:VRANDMEMBER_1.default,vRandMember:VRANDMEMBER_1.default,VREM:VREM_1.default,vRem:VREM_1.default,VSETATTR:VSETATTR_1.default,vSetAttr:VSETATTR_1.default,VSIM:VSIM_1.default,vSim:VSIM_1.default,VSIM_WITHSCORES:VSIM_WITHSCORES_1.default,vSimWithScores:VSIM_WITHSCORES_1.default}}),require_enterprise_maintenance_manager=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.emitDiagnostics=exports.dbgMaintenance=exports.MAINTENANCE_EVENTS=void 0;var net_1=__require2("net"),promises_1=__require2("dns/promises"),node_assert_1=__importDefault(__require2("node:assert")),promises_2=__require2("node:timers/promises"),node_diagnostics_channel_1=__importDefault(__require2("node:diagnostics_channel"));exports.MAINTENANCE_EVENTS={PAUSE_WRITING:"pause-writing",RESUME_WRITING:"resume-writing",TIMEOUTS_UPDATE:"timeouts-update"};var PN={MOVING:"MOVING",MIGRATING:"MIGRATING",MIGRATED:"MIGRATED",FAILING_OVER:"FAILING_OVER",FAILED_OVER:"FAILED_OVER"},dbgMaintenance=(...args2)=>{if(!process.env.REDIS_DEBUG_MAINTENANCE)return;return console.log("[MNT]",...args2)};exports.dbgMaintenance=dbgMaintenance;var emitDiagnostics=(event)=>{if(!process.env.REDIS_EMIT_DIAGNOSTICS)return;node_diagnostics_channel_1.default.channel("redis.maintenance").publish(event)};exports.emitDiagnostics=emitDiagnostics;class EnterpriseMaintenanceManager{#commandsQueue;#options;#isMaintenance=0;#client;static setupDefaultMaintOptions(options){if(options.maintNotifications===void 0)options.maintNotifications=options?.RESP===3?"auto":"disabled";if(options.maintEndpointType===void 0)options.maintEndpointType="auto";if(options.maintRelaxedSocketTimeout===void 0)options.maintRelaxedSocketTimeout=1e4;if(options.maintRelaxedCommandTimeout===void 0)options.maintRelaxedCommandTimeout=1e4}static async getHandshakeCommand(options){if(options.maintNotifications==="disabled")return;let host=options.url?new URL(options.url).hostname:options.socket?.host;if(!host)return;let tls=options.socket?.tls??!1;return{cmd:["CLIENT","MAINT_NOTIFICATIONS","ON","moving-endpoint-type",await determineEndpoint(tls,host,options)],errorHandler:(error3)=>{if((0,exports.dbgMaintenance)("handshake failed:",error3),options.maintNotifications==="enabled")throw error3}}}constructor(commandsQueue,client,options){this.#commandsQueue=commandsQueue,this.#options=options,this.#client=client,this.#commandsQueue.addPushHandler(this.#onPush)}#onPush=(push)=>{if((0,exports.dbgMaintenance)("ONPUSH:",push.map(String)),!Array.isArray(push)||!["MOVING","MIGRATING","MIGRATED","FAILING_OVER","FAILED_OVER"].includes(String(push[0])))return!1;let type=String(push[0]);switch((0,exports.emitDiagnostics)({type,timestamp:Date.now(),data:{push:push.map(String)}}),type){case PN.MOVING:{let afterSeconds=push[2],url3=push[3]?String(push[3]):null;return(0,exports.dbgMaintenance)("Received MOVING:",afterSeconds,url3),this.#onMoving(afterSeconds,url3),!0}case PN.MIGRATING:case PN.FAILING_OVER:return(0,exports.dbgMaintenance)("Received MIGRATING|FAILING_OVER"),this.#onMigrating(),!0;case PN.MIGRATED:case PN.FAILED_OVER:return(0,exports.dbgMaintenance)("Received MIGRATED|FAILED_OVER"),this.#onMigrated(),!0}return!1};#onMoving=async(afterSeconds,url3)=>{this.#onMigrating();let host,port3;if(url3===null){(0,node_assert_1.default)(this.#options.maintEndpointType==="none"),(0,node_assert_1.default)(this.#options.socket!==void 0),(0,node_assert_1.default)("host"in this.#options.socket),(0,node_assert_1.default)(typeof this.#options.socket.host==="string"),host=this.#options.socket.host,(0,node_assert_1.default)(typeof this.#options.socket.port==="number"),port3=this.#options.socket.port;let waitTime=afterSeconds*1000/2;(0,exports.dbgMaintenance)(`Wait for ${waitTime}ms`),await(0,promises_2.setTimeout)(waitTime)}else{let split4=url3.split(":");host=split4[0],port3=Number(split4[1])}(0,exports.dbgMaintenance)("Pausing writing of new commands to old socket"),this.#client._pause(),(0,exports.dbgMaintenance)("Creating new tmp client");let start3=performance.now();if(this.#options.url){let u=new URL(this.#options.url);u.hostname=host,u.port=String(port3),this.#options.url=u.toString()}else this.#options.socket={...this.#options.socket,host,port:port3};let tmpClient=this.#client.duplicate();tmpClient.on("error",(error3)=>{(0,exports.dbgMaintenance)("[ERR]",error3)}),(0,exports.dbgMaintenance)(`Tmp client created in ${(performance.now()-start3).toFixed(2)}ms`),(0,exports.dbgMaintenance)(`Set timeout for tmp client to ${this.#options.maintRelaxedSocketTimeout}`),tmpClient._maintenanceUpdate({relaxedCommandTimeout:this.#options.maintRelaxedCommandTimeout,relaxedSocketTimeout:this.#options.maintRelaxedSocketTimeout}),(0,exports.dbgMaintenance)(`Connecting tmp client: ${host}:${port3}`),start3=performance.now(),await tmpClient.connect(),(0,exports.dbgMaintenance)(`Connected to tmp client in ${(performance.now()-start3).toFixed(2)}ms`),(0,exports.dbgMaintenance)("Wait for all in-flight commands to complete"),await this.#commandsQueue.waitForInflightCommandsToComplete(),(0,exports.dbgMaintenance)("In-flight commands completed"),(0,exports.dbgMaintenance)("Swap client sockets...");let oldSocket=this.#client._ejectSocket(),newSocket=tmpClient._ejectSocket();this.#client._insertSocket(newSocket),tmpClient._insertSocket(oldSocket),tmpClient.destroy(),(0,exports.dbgMaintenance)("Swap client sockets done."),(0,exports.dbgMaintenance)("Resume writing"),this.#client._unpause(),this.#onMigrated()};#onMigrating=()=>{if(this.#isMaintenance++,this.#isMaintenance>1){(0,exports.dbgMaintenance)("Timeout relaxation already done");return}let update5={relaxedCommandTimeout:this.#options.maintRelaxedCommandTimeout,relaxedSocketTimeout:this.#options.maintRelaxedSocketTimeout};this.#client._maintenanceUpdate(update5)};#onMigrated=()=>{if(this.#isMaintenance=Math.max(this.#isMaintenance-1,0),this.#isMaintenance>0){(0,exports.dbgMaintenance)("Not ready to unrelax timeouts yet");return}let update5={relaxedCommandTimeout:void 0,relaxedSocketTimeout:void 0};this.#client._maintenanceUpdate(update5)}}exports.default=EnterpriseMaintenanceManager;function isPrivateIP(ip){let version=(0,net_1.isIP)(ip);if(version===4){let octets=ip.split(".").map(Number);return octets[0]===10||octets[0]===172&&octets[1]>=16&&octets[1]<=31||octets[0]===192&&octets[1]===168}if(version===6)return ip.startsWith("fc")||ip.startsWith("fd")||ip==="::1"||ip.startsWith("fe80");return!1}async function determineEndpoint(tlsEnabled,host,options){if((0,node_assert_1.default)(options.maintEndpointType!==void 0),options.maintEndpointType!=="auto")return(0,exports.dbgMaintenance)(`Determine endpoint type: ${options.maintEndpointType}`),options.maintEndpointType;let ip=(0,net_1.isIP)(host)?host:(await(0,promises_1.lookup)(host,{family:0})).address,isPrivate=isPrivateIP(ip),result;if(tlsEnabled)result=isPrivate?"internal-fqdn":"external-fqdn";else result=isPrivate?"internal-ip":"external-ip";return(0,exports.dbgMaintenance)(`Determine endpoint type: ${result}`),result}}),require_socket=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var node_events_1=__require2("node:events"),node_net_1=__importDefault(__require2("node:net")),node_tls_1=__importDefault(__require2("node:tls")),errors_1=require_errors(),promises_1=__require2("node:timers/promises"),enterprise_maintenance_manager_1=require_enterprise_maintenance_manager();class RedisSocket extends node_events_1.EventEmitter{#initiator;#connectTimeout;#reconnectStrategy;#socketFactory;#socketTimeout;#maintenanceTimeout;#socket;#isOpen=!1;get isOpen(){return this.#isOpen}#isReady=!1;get isReady(){return this.#isReady}#isSocketUnrefed=!1;#socketEpoch=0;get socketEpoch(){return this.#socketEpoch}constructor(initiator,options){super();this.#initiator=initiator,this.#connectTimeout=options?.connectTimeout??5000,this.#reconnectStrategy=this.#createReconnectStrategy(options),this.#socketFactory=this.#createSocketFactory(options),this.#socketTimeout=options?.socketTimeout}#createReconnectStrategy(options){let strategy=options?.reconnectStrategy;if(strategy===!1||typeof strategy==="number")return()=>strategy;if(strategy)return(retries,cause3)=>{try{let retryIn=strategy(retries,cause3);if(retryIn!==!1&&!(retryIn instanceof Error)&&typeof retryIn!=="number")throw TypeError(`Reconnect strategy should return \`false | Error | number\`, got ${retryIn} instead`);return retryIn}catch(err){return this.emit("error",err),this.defaultReconnectStrategy(retries,err)}};return this.defaultReconnectStrategy}#createSocketFactory(options){if(options?.tls===!0){let withDefaults2={...options,port:options?.port??6379,noDelay:options?.noDelay??!0,keepAlive:options?.keepAlive??!0,keepAliveInitialDelay:options?.keepAliveInitialDelay??5000,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return node_tls_1.default.connect(withDefaults2)},event:"secureConnect"}}if(options&&"path"in options){let withDefaults2={...options,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return node_net_1.default.createConnection(withDefaults2)},event:"connect"}}let withDefaults={...options,port:options?.port??6379,noDelay:options?.noDelay??!0,keepAlive:options?.keepAlive??!0,keepAliveInitialDelay:options?.keepAliveInitialDelay??5000,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return node_net_1.default.createConnection(withDefaults)},event:"connect"}}#shouldReconnect(retries,cause3){let retryIn=this.#reconnectStrategy(retries,cause3);if(retryIn===!1)return this.#isOpen=!1,this.emit("error",cause3),cause3;else if(retryIn instanceof Error)return this.#isOpen=!1,this.emit("error",cause3),new errors_1.ReconnectStrategyError(retryIn,cause3);return retryIn}async connect(){if(this.#isOpen)throw Error("Socket already opened");return this.#isOpen=!0,this.#connect()}async#connect(){let retries=0;do try{this.#socket=await this.#createSocket(),this.emit("connect");try{if(await this.#initiator(),!this.#socket||this.#socket.destroyed||!this.#socket.readable||!this.#socket.writable){let retryIn=this.#shouldReconnect(retries++,new errors_1.SocketClosedUnexpectedlyError);if(typeof retryIn!=="number")throw retryIn;await(0,promises_1.setTimeout)(retryIn),this.emit("reconnecting");continue}}catch(err){throw this.#socket.destroy(),this.#socket=void 0,err}this.#isReady=!0,this.#socketEpoch++,this.emit("ready")}catch(err){let retryIn=this.#shouldReconnect(retries++,err);if(typeof retryIn!=="number")throw retryIn;this.emit("error",err),await(0,promises_1.setTimeout)(retryIn),this.emit("reconnecting")}while(this.#isOpen&&!this.#isReady)}setMaintenanceTimeout(ms){if((0,enterprise_maintenance_manager_1.dbgMaintenance)(`Set socket timeout to ${ms}`),this.#maintenanceTimeout===ms){(0,enterprise_maintenance_manager_1.dbgMaintenance)(`Socket already set maintenanceCommandTimeout to ${ms}, skipping`);return}if(this.#maintenanceTimeout=ms,ms!==void 0)this.#socket?.setTimeout(ms);else this.#socket?.setTimeout(this.#socketTimeout??0)}async#createSocket(){let socket=this.#socketFactory.create(),onTimeout;if(this.#connectTimeout!==void 0)onTimeout=()=>socket.destroy(new errors_1.ConnectionTimeoutError),socket.once("timeout",onTimeout),socket.setTimeout(this.#connectTimeout);if(this.#isSocketUnrefed)socket.unref();if(await(0,node_events_1.once)(socket,this.#socketFactory.event),onTimeout)socket.removeListener("timeout",onTimeout);if(this.#socketTimeout)socket.once("timeout",()=>{let error3=this.#maintenanceTimeout?new errors_1.SocketTimeoutDuringMaintenanceError(this.#maintenanceTimeout):new errors_1.SocketTimeoutError(this.#socketTimeout);socket.destroy(error3)}),socket.setTimeout(this.#socketTimeout);return socket.once("error",(err)=>this.#onSocketError(err)).once("close",(hadError)=>{if(hadError||!this.#isOpen||this.#socket!==socket)return;this.#onSocketError(new errors_1.SocketClosedUnexpectedlyError)}).on("drain",()=>this.emit("drain")).on("data",(data)=>this.emit("data",data)),socket}#onSocketError(err){let wasReady=this.#isReady;if(this.#isReady=!1,this.emit("error",err),!wasReady||!this.#isOpen||typeof this.#shouldReconnect(0,err)!=="number")return;this.emit("reconnecting"),this.#connect().catch(()=>{})}write(iterable){if(!this.#socket)return;this.#socket.cork();for(let args2 of iterable){for(let toWrite of args2)this.#socket.write(toWrite);if(this.#socket.writableNeedDrain)break}this.#socket.uncork()}async quit(fn2){if(!this.#isOpen)throw new errors_1.ClientClosedError;this.#isOpen=!1;let reply=await fn2();return this.destroySocket(),reply}close(){if(!this.#isOpen)throw new errors_1.ClientClosedError;this.#isOpen=!1}destroy(){if(!this.#isOpen)throw new errors_1.ClientClosedError;this.#isOpen=!1,this.destroySocket()}destroySocket(){if(this.#isReady=!1,this.#socket)this.#socket.destroy(),this.#socket=void 0;this.emit("end")}ref(){this.#isSocketUnrefed=!1,this.#socket?.ref()}unref(){this.#isSocketUnrefed=!0,this.#socket?.unref()}defaultReconnectStrategy(retries,cause3){if(cause3 instanceof errors_1.SocketTimeoutError)return!1;let jitter=Math.floor(Math.random()*200);return Math.min(Math.pow(2,retries)*50,2000)+jitter}}exports.default=RedisSocket}),require_token=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Token=void 0;class Token{value;expiresAtMs;receivedAtMs;constructor(value,expiresAtMs,receivedAtMs){this.value=value,this.expiresAtMs=expiresAtMs,this.receivedAtMs=receivedAtMs}getTtlMs(now){if(this.expiresAtMs<now)return 0;return this.expiresAtMs-now}}exports.Token=Token}),require_token_manager=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.TokenManager=exports.IDPError=void 0;var token_1=require_token();class IDPError extends Error{message;isRetryable;constructor(message,isRetryable){super(message);this.message=message,this.isRetryable=isRetryable,this.name="IDPError"}}exports.IDPError=IDPError;class TokenManager{identityProvider;config;currentToken=null;refreshTimeout=null;listener=null;retryAttempt=0;constructor(identityProvider,config2){if(this.identityProvider=identityProvider,this.config=config2,this.config.expirationRefreshRatio>1)throw Error("expirationRefreshRatio must be less than or equal to 1");if(this.config.expirationRefreshRatio<0)throw Error("expirationRefreshRatio must be greater or equal to 0")}start(listener,initialDelayMs=0){if(this.listener)this.stop();return this.listener=listener,this.retryAttempt=0,this.scheduleNextRefresh(initialDelayMs),{dispose:()=>this.stop()}}calculateRetryDelay(){if(!this.config.retry)return 0;let{initialDelayMs,maxDelayMs,backoffMultiplier,jitterPercentage}=this.config.retry,delay3=initialDelayMs*Math.pow(backoffMultiplier,this.retryAttempt-1);if(delay3=Math.min(delay3,maxDelayMs),jitterPercentage){let jitterRange=delay3*(jitterPercentage/100),jitterAmount=Math.random()*jitterRange-jitterRange/2;delay3+=jitterAmount}return Math.max(0,Math.floor(delay3))}shouldRetry(error3){if(!this.config.retry)return!1;let{maxAttempts,isRetryable}=this.config.retry;if(this.retryAttempt>=maxAttempts)return!1;if(isRetryable)return isRetryable(error3,this.retryAttempt);return!1}isRunning(){return this.listener!==null}async refresh(){if(!this.listener)throw Error("TokenManager is not running, but refresh was called");try{await this.identityProvider.requestToken().then(this.handleNewToken),this.retryAttempt=0}catch(error3){if(this.shouldRetry(error3)){this.retryAttempt++;let retryDelay=this.calculateRetryDelay();this.notifyError(`Token refresh failed (attempt ${this.retryAttempt}), retrying in ${retryDelay}ms: ${error3}`,!0),this.scheduleNextRefresh(retryDelay)}else this.notifyError(error3,!1),this.stop()}}handleNewToken=async({token:nativeToken,ttlMs})=>{if(!this.listener)throw Error("TokenManager is not running, but a new token was received");let token=this.wrapAndSetCurrentToken(nativeToken,ttlMs);this.listener.onNext(token),this.scheduleNextRefresh(this.calculateRefreshTime(token))};wrapAndSetCurrentToken(nativeToken,ttlMs){let now=Date.now(),token=new token_1.Token(nativeToken,now+ttlMs,now);return this.currentToken=token,token}scheduleNextRefresh(delayMs){if(this.refreshTimeout)clearTimeout(this.refreshTimeout),this.refreshTimeout=null;if(delayMs===0)this.refresh();else this.refreshTimeout=setTimeout(()=>this.refresh(),delayMs)}calculateRefreshTime(token,now=Date.now()){let ttlMs=token.getTtlMs(now);return Math.floor(ttlMs*this.config.expirationRefreshRatio)}stop(){if(this.refreshTimeout)clearTimeout(this.refreshTimeout),this.refreshTimeout=null;this.listener=null,this.currentToken=null,this.retryAttempt=0}getCurrentToken(){return this.currentToken}notifyError(error3,isRetryable){let errorMessage=error3 instanceof Error?error3.message:String(error3);if(!this.listener)throw Error(`TokenManager is not running but received an error: ${errorMessage}`);this.listener.onError(new IDPError(errorMessage,isRetryable))}}exports.TokenManager=TokenManager}),require_credentials_provider=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.UnableToObtainNewCredentialsError=exports.CredentialsError=void 0;class CredentialsError extends Error{constructor(message){super(`Re-authentication with latest credentials failed: ${message}`);this.name="CredentialsError"}}exports.CredentialsError=CredentialsError;class UnableToObtainNewCredentialsError extends Error{constructor(message){super(`Unable to obtain new credentials : ${message}`);this.name="UnableToObtainNewCredentialsError"}}exports.UnableToObtainNewCredentialsError=UnableToObtainNewCredentialsError}),require_authx=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Token=exports.CredentialsError=exports.UnableToObtainNewCredentialsError=exports.IDPError=exports.TokenManager=void 0;var token_manager_1=require_token_manager();Object.defineProperty(exports,"TokenManager",{enumerable:!0,get:function(){return token_manager_1.TokenManager}}),Object.defineProperty(exports,"IDPError",{enumerable:!0,get:function(){return token_manager_1.IDPError}});var credentials_provider_1=require_credentials_provider();Object.defineProperty(exports,"UnableToObtainNewCredentialsError",{enumerable:!0,get:function(){return credentials_provider_1.UnableToObtainNewCredentialsError}}),Object.defineProperty(exports,"CredentialsError",{enumerable:!0,get:function(){return credentials_provider_1.CredentialsError}});var token_1=require_token();Object.defineProperty(exports,"Token",{enumerable:!0,get:function(){return token_1.Token}})}),require_linked_list=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.EmptyAwareSinglyLinkedList=exports.SinglyLinkedList=exports.DoublyLinkedList=void 0;var events_1=__importDefault(__require2("events"));class DoublyLinkedList{#length=0;get length(){return this.#length}#head;get head(){return this.#head}#tail;get tail(){return this.#tail}push(value){if(++this.#length,this.#tail===void 0)return this.#head=this.#tail={previous:this.#head,next:void 0,value};return this.#tail=this.#tail.next={previous:this.#tail,next:void 0,value}}unshift(value){if(++this.#length,this.#head===void 0)return this.#head=this.#tail={previous:void 0,next:void 0,value};return this.#head=this.#head.previous={previous:void 0,next:this.#head,value}}add(value,prepend6=!1){return prepend6?this.unshift(value):this.push(value)}shift(){if(this.#head===void 0)return;--this.#length;let node=this.#head;if(node.next)node.next.previous=void 0,this.#head=node.next,node.next=void 0;else this.#head=this.#tail=void 0;return node.value}remove(node){if(this.#length===0)return;if(--this.#length,this.#tail===node)this.#tail=node.previous;if(this.#head===node)this.#head=node.next;else{if(node.previous)node.previous.next=node.next;if(node.next)node.next.previous=node.previous}node.previous=void 0,node.next=void 0}reset(){this.#length=0,this.#head=this.#tail=void 0}*[Symbol.iterator](){let node=this.#head;while(node!==void 0)yield node.value,node=node.next}*nodes(){let node=this.#head;while(node){let next4=node.next;yield node,node=next4}}}exports.DoublyLinkedList=DoublyLinkedList;class SinglyLinkedList{#length=0;get length(){return this.#length}#head;get head(){return this.#head}#tail;get tail(){return this.#tail}push(value){++this.#length;let node={value,next:void 0,removed:!1};if(this.#head===void 0)return this.#head=this.#tail=node;return this.#tail.next=this.#tail=node}remove(node,parent){if(node.removed)throw Error("node already removed");if(--this.#length,this.#head===node)if(this.#tail===node)this.#head=this.#tail=void 0;else this.#head=node.next;else if(this.#tail===node)this.#tail=parent,parent.next=void 0;else parent.next=node.next;node.removed=!0}shift(){if(this.#head===void 0)return;let node=this.#head;if(--this.#length===0)this.#head=this.#tail=void 0;else this.#head=node.next;return node.removed=!0,node.value}reset(){this.#length=0,this.#head=this.#tail=void 0}*[Symbol.iterator](){let node=this.#head;while(node!==void 0)yield node.value,node=node.next}}exports.SinglyLinkedList=SinglyLinkedList;class EmptyAwareSinglyLinkedList extends SinglyLinkedList{events=new events_1.default;reset(){let old=this.length;if(super.reset(),old!==this.length&&this.length===0)this.events.emit("empty")}shift(){let old=this.length,ret=super.shift();if(old!==this.length&&this.length===0)this.events.emit("empty");return ret}remove(node,parent){let old=this.length;if(super.remove(node,parent),old!==this.length&&this.length===0)this.events.emit("empty")}}exports.EmptyAwareSinglyLinkedList=EmptyAwareSinglyLinkedList}),require_encoder=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var CRLF=`\r
|
|
78
|
+
`;function encodeCommand(args2){let toWrite=[],strings="*"+args2.length+CRLF;for(let i=0;i<args2.length;i++){let arg=args2[i];if(typeof arg==="string")strings+="$"+Buffer.byteLength(arg)+CRLF+arg+CRLF;else if(arg instanceof Buffer)toWrite.push(strings+"$"+arg.length.toString()+CRLF,arg),strings=CRLF;else throw TypeError(`"arguments[${i}]" must be of type "string | Buffer", got ${typeof arg} instead.`)}return toWrite.push(strings),toWrite}exports.default=encodeCommand}),require_pub_sub=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PubSub=exports.PUBSUB_TYPE=void 0,exports.PUBSUB_TYPE={CHANNELS:"CHANNELS",PATTERNS:"PATTERNS",SHARDED:"SHARDED"};var COMMANDS={[exports.PUBSUB_TYPE.CHANNELS]:{subscribe:Buffer.from("subscribe"),unsubscribe:Buffer.from("unsubscribe"),message:Buffer.from("message")},[exports.PUBSUB_TYPE.PATTERNS]:{subscribe:Buffer.from("psubscribe"),unsubscribe:Buffer.from("punsubscribe"),message:Buffer.from("pmessage")},[exports.PUBSUB_TYPE.SHARDED]:{subscribe:Buffer.from("ssubscribe"),unsubscribe:Buffer.from("sunsubscribe"),message:Buffer.from("smessage")}};class PubSub{static isStatusReply(reply){return COMMANDS[exports.PUBSUB_TYPE.CHANNELS].subscribe.equals(reply[0])||COMMANDS[exports.PUBSUB_TYPE.CHANNELS].unsubscribe.equals(reply[0])||COMMANDS[exports.PUBSUB_TYPE.PATTERNS].subscribe.equals(reply[0])||COMMANDS[exports.PUBSUB_TYPE.PATTERNS].unsubscribe.equals(reply[0])||COMMANDS[exports.PUBSUB_TYPE.SHARDED].subscribe.equals(reply[0])}static isShardedUnsubscribe(reply){return COMMANDS[exports.PUBSUB_TYPE.SHARDED].unsubscribe.equals(reply[0])}static#channelsArray(channels){return Array.isArray(channels)?channels:[channels]}static#listenersSet(listeners,returnBuffers){return returnBuffers?listeners.buffers:listeners.strings}#subscribing=0;#isActive=!1;get isActive(){return this.#isActive}listeners={[exports.PUBSUB_TYPE.CHANNELS]:new Map,[exports.PUBSUB_TYPE.PATTERNS]:new Map,[exports.PUBSUB_TYPE.SHARDED]:new Map};subscribe(type,channels,listener,returnBuffers){let args2=[COMMANDS[type].subscribe],channelsArray=PubSub.#channelsArray(channels);for(let channel of channelsArray){let channelListeners=this.listeners[type].get(channel);if(!channelListeners||channelListeners.unsubscribing)args2.push(channel)}if(args2.length===1){for(let channel of channelsArray)PubSub.#listenersSet(this.listeners[type].get(channel),returnBuffers).add(listener);return}return this.#isActive=!0,this.#subscribing++,{args:args2,channelsCounter:args2.length-1,resolve:()=>{this.#subscribing--;for(let channel of channelsArray){let listeners=this.listeners[type].get(channel);if(!listeners)listeners={unsubscribing:!1,buffers:new Set,strings:new Set},this.listeners[type].set(channel,listeners);PubSub.#listenersSet(listeners,returnBuffers).add(listener)}},reject:()=>{this.#subscribing--,this.#updateIsActive()}}}extendChannelListeners(type,channel,listeners){if(!this.#extendChannelListeners(type,channel,listeners))return;return this.#isActive=!0,this.#subscribing++,{args:[COMMANDS[type].subscribe,channel],channelsCounter:1,resolve:()=>this.#subscribing--,reject:()=>{this.#subscribing--,this.#updateIsActive()}}}#extendChannelListeners(type,channel,listeners){let existingListeners=this.listeners[type].get(channel);if(!existingListeners)return this.listeners[type].set(channel,listeners),!0;for(let listener of listeners.buffers)existingListeners.buffers.add(listener);for(let listener of listeners.strings)existingListeners.strings.add(listener);return!1}extendTypeListeners(type,listeners){let args2=[COMMANDS[type].subscribe];for(let[channel,channelListeners]of listeners)if(this.#extendChannelListeners(type,channel,channelListeners))args2.push(channel);if(args2.length===1)return;return this.#isActive=!0,this.#subscribing++,{args:args2,channelsCounter:args2.length-1,resolve:()=>this.#subscribing--,reject:()=>{this.#subscribing--,this.#updateIsActive()}}}unsubscribe(type,channels,listener,returnBuffers){let listeners=this.listeners[type];if(!channels)return this.#unsubscribeCommand([COMMANDS[type].unsubscribe],NaN,()=>listeners.clear());let channelsArray=PubSub.#channelsArray(channels);if(!listener)return this.#unsubscribeCommand([COMMANDS[type].unsubscribe,...channelsArray],channelsArray.length,()=>{for(let channel of channelsArray)listeners.delete(channel)});let args2=[COMMANDS[type].unsubscribe];for(let channel of channelsArray){let sets=listeners.get(channel);if(sets){let current2,other;if(returnBuffers)current2=sets.buffers,other=sets.strings;else current2=sets.strings,other=sets.buffers;if((current2.has(listener)?current2.size-1:current2.size)!==0||other.size!==0)continue;sets.unsubscribing=!0}args2.push(channel)}if(args2.length===1){for(let channel of channelsArray)PubSub.#listenersSet(listeners.get(channel),returnBuffers).delete(listener);return}return this.#unsubscribeCommand(args2,args2.length-1,()=>{for(let channel of channelsArray){let sets=listeners.get(channel);if(!sets)continue;if((returnBuffers?sets.buffers:sets.strings).delete(listener),sets.buffers.size===0&&sets.strings.size===0)listeners.delete(channel)}})}#unsubscribeCommand(args2,channelsCounter,removeListeners){return{args:args2,channelsCounter,resolve:()=>{removeListeners(),this.#updateIsActive()},reject:void 0}}#updateIsActive(){this.#isActive=this.listeners[exports.PUBSUB_TYPE.CHANNELS].size!==0||this.listeners[exports.PUBSUB_TYPE.PATTERNS].size!==0||this.listeners[exports.PUBSUB_TYPE.SHARDED].size!==0||this.#subscribing!==0}reset(){this.#isActive=!1,this.#subscribing=0}resubscribe(){let commands=[];for(let[type,listeners]of Object.entries(this.listeners)){if(!listeners.size)continue;if(this.#isActive=!0,type===exports.PUBSUB_TYPE.SHARDED)this.#shardedResubscribe(commands,listeners);else this.#normalResubscribe(commands,type,listeners)}return commands}#normalResubscribe(commands,type,listeners){this.#subscribing++;let callback=()=>this.#subscribing--;commands.push({args:[COMMANDS[type].subscribe,...listeners.keys()],channelsCounter:listeners.size,resolve:callback,reject:callback})}#shardedResubscribe(commands,listeners){let callback=()=>this.#subscribing--;for(let channel of listeners.keys())this.#subscribing++,commands.push({args:[COMMANDS[exports.PUBSUB_TYPE.SHARDED].subscribe,channel],channelsCounter:1,resolve:callback,reject:callback})}handleMessageReply(reply){if(COMMANDS[exports.PUBSUB_TYPE.CHANNELS].message.equals(reply[0]))return this.#emitPubSubMessage(exports.PUBSUB_TYPE.CHANNELS,reply[2],reply[1]),!0;else if(COMMANDS[exports.PUBSUB_TYPE.PATTERNS].message.equals(reply[0]))return this.#emitPubSubMessage(exports.PUBSUB_TYPE.PATTERNS,reply[3],reply[2],reply[1]),!0;else if(COMMANDS[exports.PUBSUB_TYPE.SHARDED].message.equals(reply[0]))return this.#emitPubSubMessage(exports.PUBSUB_TYPE.SHARDED,reply[2],reply[1]),!0;return!1}removeShardedListeners(channel){let listeners=this.listeners[exports.PUBSUB_TYPE.SHARDED].get(channel);return this.listeners[exports.PUBSUB_TYPE.SHARDED].delete(channel),this.#updateIsActive(),listeners}removeAllListeners(){let result={[exports.PUBSUB_TYPE.CHANNELS]:this.listeners[exports.PUBSUB_TYPE.CHANNELS],[exports.PUBSUB_TYPE.PATTERNS]:this.listeners[exports.PUBSUB_TYPE.PATTERNS],[exports.PUBSUB_TYPE.SHARDED]:this.listeners[exports.PUBSUB_TYPE.SHARDED]};return this.#updateIsActive(),this.listeners[exports.PUBSUB_TYPE.CHANNELS]=new Map,this.listeners[exports.PUBSUB_TYPE.PATTERNS]=new Map,this.listeners[exports.PUBSUB_TYPE.SHARDED]=new Map,result}#emitPubSubMessage(type,message,channel,pattern){let keyString=(pattern??channel).toString(),listeners=this.listeners[type].get(keyString);if(!listeners)return;for(let listener of listeners.buffers)listener(message,channel);if(!listeners.strings.size)return;let channelString=pattern?channel.toString():keyString,messageString=channelString==="__redis__:invalidate"?message===null?null:message.map((x)=>x.toString()):message.toString();for(let listener of listeners.strings)listener(messageString,channelString)}}exports.PubSub=PubSub}),require_commands_queue=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var linked_list_1=require_linked_list(),encoder_1=__importDefault(require_encoder()),decoder_1=require_decoder(),pub_sub_1=require_pub_sub(),errors_1=require_errors(),enterprise_maintenance_manager_1=require_enterprise_maintenance_manager(),PONG=Buffer.from("pong"),RESET=Buffer.from("RESET"),RESP2_PUSH_TYPE_MAPPING={...decoder_1.PUSH_TYPE_MAPPING,[decoder_1.RESP_TYPES.SIMPLE_STRING]:Buffer};class RedisCommandsQueue{#respVersion;#maxLength;#toWrite=new linked_list_1.DoublyLinkedList;#waitingForReply=new linked_list_1.EmptyAwareSinglyLinkedList;#onShardedChannelMoved;#chainInExecution;decoder;#pubSub=new pub_sub_1.PubSub;#pushHandlers=[this.#onPush.bind(this)];#maintenanceCommandTimeout;setMaintenanceCommandTimeout(ms){if(this.#maintenanceCommandTimeout===ms){(0,enterprise_maintenance_manager_1.dbgMaintenance)(`Queue already set maintenanceCommandTimeout to ${ms}, skipping`);return}if((0,enterprise_maintenance_manager_1.dbgMaintenance)(`Setting maintenance command timeout to ${ms}`),this.#maintenanceCommandTimeout=ms,this.#maintenanceCommandTimeout===void 0){(0,enterprise_maintenance_manager_1.dbgMaintenance)("Queue will keep maintenanceCommandTimeout for exisitng commands, just to be on the safe side. New commands will receive normal timeouts");return}let counter6=0,total=this.#toWrite.length;for(let node of this.#toWrite.nodes()){let command=node.value;RedisCommandsQueue.#removeTimeoutListener(command),counter6++;let newTimeout=this.#maintenanceCommandTimeout,signal=AbortSignal.timeout(newTimeout);command.timeout={signal,listener:()=>{this.#toWrite.remove(node),command.reject(new errors_1.CommandTimeoutDuringMaintenanceError(newTimeout))},originalTimeout:command.timeout?.originalTimeout},signal.addEventListener("abort",command.timeout.listener,{once:!0})}(0,enterprise_maintenance_manager_1.dbgMaintenance)(`Total of ${counter6} of ${total} timeouts reset to ${ms}`)}get isPubSubActive(){return this.#pubSub.isActive}constructor(respVersion,maxLength,onShardedChannelMoved){this.#respVersion=respVersion,this.#maxLength=maxLength,this.#onShardedChannelMoved=onShardedChannelMoved,this.decoder=this.#initiateDecoder()}#onReply(reply){this.#waitingForReply.shift().resolve(reply)}#onErrorReply(err){this.#waitingForReply.shift().reject(err)}#onPush(push){if(this.#pubSub.handleMessageReply(push))return!0;let isShardedUnsubscribe=pub_sub_1.PubSub.isShardedUnsubscribe(push);if(isShardedUnsubscribe&&!this.#waitingForReply.length){let channel=push[1].toString();return this.#onShardedChannelMoved(channel,this.#pubSub.removeShardedListeners(channel)),!0}else if(isShardedUnsubscribe||pub_sub_1.PubSub.isStatusReply(push)){let head6=this.#waitingForReply.head.value;if(Number.isNaN(head6.channelsCounter)&&push[2]===0||--head6.channelsCounter===0)this.#waitingForReply.shift().resolve();return!0}return!1}#getTypeMapping(){return this.#waitingForReply.head.value.typeMapping??{}}#initiateDecoder(){return new decoder_1.Decoder({onReply:(reply)=>this.#onReply(reply),onErrorReply:(err)=>this.#onErrorReply(err),onPush:(push)=>{for(let pushHandler of this.#pushHandlers)if(pushHandler(push))return},getTypeMapping:()=>this.#getTypeMapping()})}addPushHandler(handler){this.#pushHandlers.push(handler)}async waitForInflightCommandsToComplete(){if(this.#waitingForReply.length===0)return;return new Promise((resolve)=>{this.#waitingForReply.events.on("empty",resolve)})}addCommand(args2,options){if(this.#maxLength&&this.#toWrite.length+this.#waitingForReply.length>=this.#maxLength)return Promise.reject(Error("The queue is full"));else if(options?.abortSignal?.aborted)return Promise.reject(new errors_1.AbortError);return new Promise((resolve,reject)=>{let node,value={args:args2,chainId:options?.chainId,abort:void 0,timeout:void 0,resolve,reject,channelsCounter:void 0,typeMapping:options?.typeMapping},timeout5=this.#maintenanceCommandTimeout??options?.timeout,wasInMaintenance=this.#maintenanceCommandTimeout!==void 0;if(timeout5){let signal2=AbortSignal.timeout(timeout5);value.timeout={signal:signal2,listener:()=>{this.#toWrite.remove(node),value.reject(wasInMaintenance?new errors_1.CommandTimeoutDuringMaintenanceError(timeout5):new errors_1.TimeoutError)},originalTimeout:options?.timeout},signal2.addEventListener("abort",value.timeout.listener,{once:!0})}let signal=options?.abortSignal;if(signal)value.abort={signal,listener:()=>{this.#toWrite.remove(node),value.reject(new errors_1.AbortError)}},signal.addEventListener("abort",value.abort.listener,{once:!0});node=this.#toWrite.add(value,options?.asap)})}#addPubSubCommand(command,asap=!1,chainId){return new Promise((resolve,reject)=>{this.#toWrite.add({args:command.args,chainId,abort:void 0,timeout:void 0,resolve(){command.resolve(),resolve()},reject(err){command.reject?.(),reject(err)},channelsCounter:command.channelsCounter,typeMapping:decoder_1.PUSH_TYPE_MAPPING},asap)})}#setupPubSubHandler(){if(this.#respVersion!==2)return;this.decoder.onReply=(reply)=>{if(Array.isArray(reply)){if(this.#onPush(reply))return;if(PONG.equals(reply[0])){let{resolve,typeMapping}=this.#waitingForReply.shift(),buffer3=reply[1].length===0?reply[0]:reply[1];resolve(typeMapping?.[decoder_1.RESP_TYPES.SIMPLE_STRING]===Buffer?buffer3:buffer3.toString());return}}return this.#onReply(reply)},this.decoder.getTypeMapping=()=>RESP2_PUSH_TYPE_MAPPING}subscribe(type,channels,listener,returnBuffers){let command=this.#pubSub.subscribe(type,channels,listener,returnBuffers);if(!command)return;return this.#setupPubSubHandler(),this.#addPubSubCommand(command)}#resetDecoderCallbacks(){this.decoder.onReply=(reply)=>this.#onReply(reply),this.decoder.getTypeMapping=()=>this.#getTypeMapping()}unsubscribe(type,channels,listener,returnBuffers){let command=this.#pubSub.unsubscribe(type,channels,listener,returnBuffers);if(!command)return;if(command&&this.#respVersion===2){let{resolve}=command;command.resolve=()=>{if(!this.#pubSub.isActive)this.#resetDecoderCallbacks();resolve()}}return this.#addPubSubCommand(command)}removeAllPubSubListeners(){return this.#pubSub.removeAllListeners()}resubscribe(chainId){let commands=this.#pubSub.resubscribe();if(!commands.length)return;return this.#setupPubSubHandler(),Promise.all(commands.map((command)=>this.#addPubSubCommand(command,!0,chainId)))}extendPubSubChannelListeners(type,channel,listeners){let command=this.#pubSub.extendChannelListeners(type,channel,listeners);if(!command)return;return this.#setupPubSubHandler(),this.#addPubSubCommand(command)}extendPubSubListeners(type,listeners){let command=this.#pubSub.extendTypeListeners(type,listeners);if(!command)return;return this.#setupPubSubHandler(),this.#addPubSubCommand(command)}getPubSubListeners(type){return this.#pubSub.listeners[type]}monitor(callback,options){return new Promise((resolve,reject)=>{let typeMapping=options?.typeMapping??{};this.#toWrite.add({args:["MONITOR"],chainId:options?.chainId,abort:void 0,timeout:void 0,resolve:()=>{if(this.#resetFallbackOnReply)this.#resetFallbackOnReply=callback;else this.decoder.onReply=callback;this.decoder.getTypeMapping=()=>typeMapping,resolve()},reject,channelsCounter:void 0,typeMapping},options?.asap)})}resetDecoder(){this.#resetDecoderCallbacks(),this.decoder.reset()}#resetFallbackOnReply;async reset(chainId,typeMapping){return new Promise((resolve,reject)=>{this.#resetFallbackOnReply=this.decoder.onReply,this.decoder.onReply=(reply)=>{if(typeof reply==="string"&&reply==="RESET"||reply instanceof Buffer&&RESET.equals(reply)){this.#resetDecoderCallbacks(),this.#resetFallbackOnReply=void 0,this.#pubSub.reset(),this.#waitingForReply.shift().resolve(reply);return}this.#resetFallbackOnReply(reply)},this.#toWrite.push({args:["RESET"],chainId,abort:void 0,timeout:void 0,resolve,reject,channelsCounter:void 0,typeMapping})})}isWaitingToWrite(){return this.#toWrite.length>0}*commandsToWrite(){let toSend=this.#toWrite.shift();while(toSend){let encoded;try{encoded=(0,encoder_1.default)(toSend.args)}catch(err){toSend.reject(err),toSend=this.#toWrite.shift();continue}if(toSend.args=void 0,toSend.abort)RedisCommandsQueue.#removeAbortListener(toSend),toSend.abort=void 0;if(toSend.timeout)RedisCommandsQueue.#removeTimeoutListener(toSend),toSend.timeout=void 0;this.#chainInExecution=toSend.chainId,toSend.chainId=void 0,this.#waitingForReply.push(toSend),yield encoded,toSend=this.#toWrite.shift()}}#flushWaitingForReply(err){for(let node of this.#waitingForReply)node.reject(err);this.#waitingForReply.reset()}static#removeAbortListener(command){command.abort.signal.removeEventListener("abort",command.abort.listener)}static#removeTimeoutListener(command){command.timeout?.signal.removeEventListener("abort",command.timeout.listener)}static#flushToWrite(toBeSent,err){if(toBeSent.abort)RedisCommandsQueue.#removeAbortListener(toBeSent);if(toBeSent.timeout)RedisCommandsQueue.#removeTimeoutListener(toBeSent);toBeSent.reject(err)}flushWaitingForReply(err){if(this.resetDecoder(),this.#pubSub.reset(),this.#flushWaitingForReply(err),!this.#chainInExecution)return;while(this.#toWrite.head?.value.chainId===this.#chainInExecution)RedisCommandsQueue.#flushToWrite(this.#toWrite.shift(),err);this.#chainInExecution=void 0}flushAll(err){this.resetDecoder(),this.#pubSub.reset(),this.#flushWaitingForReply(err);for(let node of this.#toWrite)RedisCommandsQueue.#flushToWrite(node,err);this.#toWrite.reset()}isEmpty(){return this.#toWrite.length===0&&this.#waitingForReply.length===0}}exports.default=RedisCommandsQueue}),require_commander=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.scriptArgumentsPrefix=exports.functionArgumentsPrefix=exports.getTransformReply=exports.attachConfig=void 0;function throwResp3SearchModuleUnstableError(){throw Error("Some RESP3 results for Redis Query Engine responses may change. Refer to the readme for guidance")}function attachConfig({BaseClass,commands,createCommand,createModuleCommand,createFunctionCommand,createScriptCommand,config:config2}){let RESP=config2?.RESP??2,Class4=class extends BaseClass{};for(let[name,command]of Object.entries(commands))if(config2?.RESP==3&&command.unstableResp3&&!config2.unstableResp3)Class4.prototype[name]=throwResp3SearchModuleUnstableError;else Class4.prototype[name]=createCommand(command,RESP);if(config2?.modules)for(let[moduleName,module2]of Object.entries(config2.modules)){let fns=Object.create(null);for(let[name,command]of Object.entries(module2))if(config2.RESP==3&&command.unstableResp3&&!config2.unstableResp3)fns[name]=throwResp3SearchModuleUnstableError;else fns[name]=createModuleCommand(command,RESP);attachNamespace(Class4.prototype,moduleName,fns)}if(config2?.functions)for(let[library,commands2]of Object.entries(config2.functions)){let fns=Object.create(null);for(let[name,command]of Object.entries(commands2))fns[name]=createFunctionCommand(name,command,RESP);attachNamespace(Class4.prototype,library,fns)}if(config2?.scripts)for(let[name,script]of Object.entries(config2.scripts))Class4.prototype[name]=createScriptCommand(script,RESP);return Class4}exports.attachConfig=attachConfig;function attachNamespace(prototype,name,fns){Object.defineProperty(prototype,name,{get(){let value=Object.create(fns);return value._self=this,Object.defineProperty(this,name,{value}),value}})}function getTransformReply(command,resp){switch(typeof command.transformReply){case"function":return command.transformReply;case"object":return command.transformReply[resp]}}exports.getTransformReply=getTransformReply;function functionArgumentsPrefix(name,fn2){let prefix=[fn2.IS_READ_ONLY?"FCALL_RO":"FCALL",name];if(fn2.NUMBER_OF_KEYS!==void 0)prefix.push(fn2.NUMBER_OF_KEYS.toString());return prefix}exports.functionArgumentsPrefix=functionArgumentsPrefix;function scriptArgumentsPrefix(script){let prefix=[script.IS_READ_ONLY?"EVALSHA_RO":"EVALSHA",script.SHA1];if(script.NUMBER_OF_KEYS!==void 0)prefix.push(script.NUMBER_OF_KEYS.toString());return prefix}exports.scriptArgumentsPrefix=scriptArgumentsPrefix}),require_multi_command=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var errors_1=require_errors();class RedisMultiCommand{typeMapping;constructor(typeMapping){this.typeMapping=typeMapping}queue=[];scriptsInUse=new Set;addCommand(args2,transformReply){this.queue.push({args:args2,transformReply})}addScript(script,args2,transformReply){let redisArgs=[];if(redisArgs.preserve=args2.preserve,this.scriptsInUse.has(script.SHA1))redisArgs.push("EVALSHA",script.SHA1);else this.scriptsInUse.add(script.SHA1),redisArgs.push("EVAL",script.SCRIPT);if(script.NUMBER_OF_KEYS!==void 0)redisArgs.push(script.NUMBER_OF_KEYS.toString());redisArgs.push(...args2),this.addCommand(redisArgs,transformReply)}transformReplies(rawReplies){let errorIndexes=[],replies=rawReplies.map((reply,i)=>{if(reply instanceof errors_1.ErrorReply)return errorIndexes.push(i),reply;let{transformReply,args:args2}=this.queue[i];return transformReply?transformReply(reply,args2.preserve,this.typeMapping):reply});if(errorIndexes.length)throw new errors_1.MultiErrorReply(replies,errorIndexes);return replies}}exports.default=RedisMultiCommand}),require_multi_command2=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var commands_1=__importDefault(require_commands()),multi_command_1=__importDefault(require_multi_command()),commander_1=require_commander(),parser_1=require_parser();class RedisClientMultiCommand{static#createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this.addCommand(redisArgs,transformReply)}}static#createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this._self.addCommand(redisArgs,transformReply)}}static#createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;parser.push(...prefix),fn2.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this._self.addCommand(redisArgs,transformReply)}}static#createScriptCommand(script,resp){let transformReply=(0,commander_1.getTransformReply)(script,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;script.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this.#addScript(script,redisArgs,transformReply)}}static extend(config2){return(0,commander_1.attachConfig)({BaseClass:RedisClientMultiCommand,commands:commands_1.default,createCommand:RedisClientMultiCommand.#createCommand,createModuleCommand:RedisClientMultiCommand.#createModuleCommand,createFunctionCommand:RedisClientMultiCommand.#createFunctionCommand,createScriptCommand:RedisClientMultiCommand.#createScriptCommand,config:config2})}#multi;#executeMulti;#executePipeline;#selectedDB;constructor(executeMulti,executePipeline,typeMapping){this.#multi=new multi_command_1.default(typeMapping),this.#executeMulti=executeMulti,this.#executePipeline=executePipeline}SELECT(db,transformReply){return this.#selectedDB=db,this.#multi.addCommand(["SELECT",db.toString()],transformReply),this}select=this.SELECT;addCommand(args2,transformReply){return this.#multi.addCommand(args2,transformReply),this}#addScript(script,args2,transformReply){return this.#multi.addScript(script,args2,transformReply),this}async exec(execAsPipeline=!1){if(execAsPipeline)return this.execAsPipeline();return this.#multi.transformReplies(await this.#executeMulti(this.#multi.queue,this.#selectedDB))}EXEC=this.exec;execTyped(execAsPipeline=!1){return this.exec(execAsPipeline)}async execAsPipeline(){if(this.#multi.queue.length===0)return[];return this.#multi.transformReplies(await this.#executePipeline(this.#multi.queue,this.#selectedDB))}execAsPipelineTyped(){return this.execAsPipeline()}}exports.default=RedisClientMultiCommand}),require_legacy_mode=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RedisLegacyClient=void 0;var commander_1=require_commander(),commands_1=__importDefault(require_commands()),multi_command_1=__importDefault(require_multi_command());class RedisLegacyClient{static#transformArguments(redisArgs,args2){let callback;if(typeof args2[args2.length-1]==="function")callback=args2.pop();return RedisLegacyClient.pushArguments(redisArgs,args2),callback}static pushArguments(redisArgs,args2){for(let i=0;i<args2.length;++i){let arg=args2[i];if(Array.isArray(arg))RedisLegacyClient.pushArguments(redisArgs,arg);else redisArgs.push(typeof arg==="number"||arg instanceof Date?arg.toString():arg)}}static getTransformReply(command,resp){return command.TRANSFORM_LEGACY_REPLY?(0,commander_1.getTransformReply)(command,resp):void 0}static#createCommand(name,command,resp){let transformReply=RedisLegacyClient.getTransformReply(command,resp);return function(...args2){let redisArgs=[name],callback=RedisLegacyClient.#transformArguments(redisArgs,args2),promise3=this.#client.sendCommand(redisArgs);if(!callback){promise3.catch((err)=>this.#client.emit("error",err));return}promise3.then((reply)=>callback(null,transformReply?transformReply(reply):reply)).catch((err)=>callback(err))}}#client;#Multi;constructor(client){this.#client=client;let RESP=client.options?.RESP??2;for(let[name,command]of Object.entries(commands_1.default))this[name]=RedisLegacyClient.#createCommand(name,command,RESP);this.#Multi=LegacyMultiCommand.factory(RESP)}sendCommand(...args2){let redisArgs=[],callback=RedisLegacyClient.#transformArguments(redisArgs,args2),promise3=this.#client.sendCommand(redisArgs);if(!callback){promise3.catch((err)=>this.#client.emit("error",err));return}promise3.then((reply)=>callback(null,reply)).catch((err)=>callback(err))}multi(){return this.#Multi(this.#client)}}exports.RedisLegacyClient=RedisLegacyClient;class LegacyMultiCommand{static#createCommand(name,command,resp){let transformReply=RedisLegacyClient.getTransformReply(command,resp);return function(...args2){let redisArgs=[name];return RedisLegacyClient.pushArguments(redisArgs,args2),this.#multi.addCommand(redisArgs,transformReply),this}}static factory(resp){let Multi=class extends LegacyMultiCommand{};for(let[name,command]of Object.entries(commands_1.default))Multi.prototype[name]=LegacyMultiCommand.#createCommand(name,command,resp);return(client)=>{return new Multi(client)}}#multi=new multi_command_1.default;#client;constructor(client){this.#client=client}sendCommand(...args2){let redisArgs=[];return RedisLegacyClient.pushArguments(redisArgs,args2),this.#multi.addCommand(redisArgs),this}exec(cb){let promise3=this.#client._executeMulti(this.#multi.queue);if(!cb){promise3.catch((err)=>this.#client.emit("error",err));return}promise3.then((results)=>cb(null,this.#multi.transformReplies(results))).catch((err)=>cb?.(err))}}}),require_cache=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PooledNoRedirectClientSideCache=exports.BasicPooledClientSideCache=exports.PooledClientSideCacheProvider=exports.BasicClientSideCache=exports.ClientSideCacheProvider=exports.CacheStats=void 0;var stream_1=__require2("stream");class CacheStats{hitCount;missCount;loadSuccessCount;loadFailureCount;totalLoadTime;evictionCount;constructor(hitCount,missCount,loadSuccessCount,loadFailureCount,totalLoadTime,evictionCount){if(this.hitCount=hitCount,this.missCount=missCount,this.loadSuccessCount=loadSuccessCount,this.loadFailureCount=loadFailureCount,this.totalLoadTime=totalLoadTime,this.evictionCount=evictionCount,hitCount<0||missCount<0||loadSuccessCount<0||loadFailureCount<0||totalLoadTime<0||evictionCount<0)throw Error("All statistics values must be non-negative")}static of(hitCount=0,missCount=0,loadSuccessCount=0,loadFailureCount=0,totalLoadTime=0,evictionCount=0){return new CacheStats(hitCount,missCount,loadSuccessCount,loadFailureCount,totalLoadTime,evictionCount)}static empty(){return CacheStats.EMPTY_STATS}static EMPTY_STATS=new CacheStats(0,0,0,0,0,0);requestCount(){return this.hitCount+this.missCount}hitRate(){let requestCount=this.requestCount();return requestCount===0?1:this.hitCount/requestCount}missRate(){let requestCount=this.requestCount();return requestCount===0?0:this.missCount/requestCount}loadCount(){return this.loadSuccessCount+this.loadFailureCount}loadFailureRate(){let loadCount=this.loadCount();return loadCount===0?0:this.loadFailureCount/loadCount}averageLoadPenalty(){let loadCount=this.loadCount();return loadCount===0?0:this.totalLoadTime/loadCount}minus(other){return CacheStats.of(Math.max(0,this.hitCount-other.hitCount),Math.max(0,this.missCount-other.missCount),Math.max(0,this.loadSuccessCount-other.loadSuccessCount),Math.max(0,this.loadFailureCount-other.loadFailureCount),Math.max(0,this.totalLoadTime-other.totalLoadTime),Math.max(0,this.evictionCount-other.evictionCount))}plus(other){return CacheStats.of(this.hitCount+other.hitCount,this.missCount+other.missCount,this.loadSuccessCount+other.loadSuccessCount,this.loadFailureCount+other.loadFailureCount,this.totalLoadTime+other.totalLoadTime,this.evictionCount+other.evictionCount)}}exports.CacheStats=CacheStats;class DisabledStatsCounter{static INSTANCE=new DisabledStatsCounter;constructor(){}recordHits(count32){}recordMisses(count32){}recordLoadSuccess(loadTime){}recordLoadFailure(loadTime){}recordEvictions(count32){}snapshot(){return CacheStats.empty()}}function disabledStatsCounter(){return DisabledStatsCounter.INSTANCE}class DefaultStatsCounter{#hitCount=0;#missCount=0;#loadSuccessCount=0;#loadFailureCount=0;#totalLoadTime=0;#evictionCount=0;recordHits(count32){this.#hitCount+=count32}recordMisses(count32){this.#missCount+=count32}recordLoadSuccess(loadTime){this.#loadSuccessCount++,this.#totalLoadTime+=loadTime}recordLoadFailure(loadTime){this.#loadFailureCount++,this.#totalLoadTime+=loadTime}recordEvictions(count32){this.#evictionCount+=count32}snapshot(){return CacheStats.of(this.#hitCount,this.#missCount,this.#loadSuccessCount,this.#loadFailureCount,this.#totalLoadTime,this.#evictionCount)}static create(){return new DefaultStatsCounter}}function generateCacheKey(redisArgs){let tmp=Array(redisArgs.length*2);for(let i=0;i<redisArgs.length;i++)tmp[i]=redisArgs[i].length,tmp[i+redisArgs.length]=redisArgs[i];return tmp.join("_")}class ClientSideCacheEntryBase{#invalidated=!1;#expireTime;constructor(ttl){if(ttl==0)this.#expireTime=0;else this.#expireTime=Date.now()+ttl}invalidate(){this.#invalidated=!0}validate(){return!this.#invalidated&&(this.#expireTime==0||Date.now()<this.#expireTime)}}class ClientSideCacheEntryValue extends ClientSideCacheEntryBase{#value;get value(){return this.#value}constructor(ttl,value){super(ttl);this.#value=value}}class ClientSideCacheEntryPromise extends ClientSideCacheEntryBase{#sendCommandPromise;get promise(){return this.#sendCommandPromise}constructor(ttl,sendCommandPromise){super(ttl);this.#sendCommandPromise=sendCommandPromise}}class ClientSideCacheProvider extends stream_1.EventEmitter{}exports.ClientSideCacheProvider=ClientSideCacheProvider;class BasicClientSideCache extends ClientSideCacheProvider{#cacheKeyToEntryMap;#keyToCacheKeySetMap;ttl;maxEntries;lru;#statsCounter;recordEvictions(count32){this.#statsCounter.recordEvictions(count32)}recordHits(count32){this.#statsCounter.recordHits(count32)}recordMisses(count32){this.#statsCounter.recordMisses(count32)}constructor(config2){super();this.#cacheKeyToEntryMap=new Map,this.#keyToCacheKeySetMap=new Map,this.ttl=config2?.ttl??0,this.maxEntries=config2?.maxEntries??0,this.lru=config2?.evictPolicy!=="FIFO";let recordStats=config2?.recordStats!==!1;this.#statsCounter=recordStats?DefaultStatsCounter.create():disabledStatsCounter()}async handleCache(client,parser,fn2,transformReply,typeMapping){let reply,cacheKey=generateCacheKey(parser.redisArgs),cacheEntry=this.get(cacheKey);if(cacheEntry)if(cacheEntry instanceof ClientSideCacheEntryValue)return this.#statsCounter.recordHits(1),structuredClone(cacheEntry.value);else if(cacheEntry instanceof ClientSideCacheEntryPromise)this.#statsCounter.recordMisses(1),reply=await cacheEntry.promise;else throw Error("unknown cache entry type");else{this.#statsCounter.recordMisses(1);let startTime=performance.now(),promise3=fn2();cacheEntry=this.createPromiseEntry(client,promise3),this.set(cacheKey,cacheEntry,parser.keys);try{reply=await promise3;let loadTime=performance.now()-startTime;this.#statsCounter.recordLoadSuccess(loadTime)}catch(err){let loadTime=performance.now()-startTime;if(this.#statsCounter.recordLoadFailure(loadTime),cacheEntry.validate())this.delete(cacheKey);throw err}}let val;if(transformReply)val=transformReply(reply,parser.preserve,typeMapping);else val=reply;if(cacheEntry.validate())cacheEntry=this.createValueEntry(client,val),this.set(cacheKey,cacheEntry,parser.keys),this.emit("cached-key",cacheKey);return structuredClone(val)}trackingOn(){return["CLIENT","TRACKING","ON"]}invalidate(key){if(key===null){this.clear(!1),this.emit("invalidate",key);return}let keySet=this.#keyToCacheKeySetMap.get(key.toString());if(keySet){for(let cacheKey of keySet){let entry=this.#cacheKeyToEntryMap.get(cacheKey);if(entry)entry.invalidate();this.#cacheKeyToEntryMap.delete(cacheKey)}this.#keyToCacheKeySetMap.delete(key.toString())}this.emit("invalidate",key)}clear(resetStats=!0){let oldSize=this.#cacheKeyToEntryMap.size;if(this.#cacheKeyToEntryMap.clear(),this.#keyToCacheKeySetMap.clear(),resetStats){if(!(this.#statsCounter instanceof DisabledStatsCounter))this.#statsCounter=DefaultStatsCounter.create()}else if(oldSize>0)this.#statsCounter.recordEvictions(oldSize)}get(cacheKey){let val=this.#cacheKeyToEntryMap.get(cacheKey);if(val&&!val.validate()){this.delete(cacheKey),this.#statsCounter.recordEvictions(1),this.emit("cache-evict",cacheKey);return}if(val!==void 0&&this.lru)this.#cacheKeyToEntryMap.delete(cacheKey),this.#cacheKeyToEntryMap.set(cacheKey,val);return val}delete(cacheKey){let entry=this.#cacheKeyToEntryMap.get(cacheKey);if(entry)entry.invalidate(),this.#cacheKeyToEntryMap.delete(cacheKey)}has(cacheKey){return this.#cacheKeyToEntryMap.has(cacheKey)}set(cacheKey,cacheEntry,keys3){let count32=this.#cacheKeyToEntryMap.size,oldEntry=this.#cacheKeyToEntryMap.get(cacheKey);if(oldEntry)count32--,oldEntry.invalidate();if(this.maxEntries>0&&count32>=this.maxEntries)this.deleteOldest(),this.#statsCounter.recordEvictions(1);this.#cacheKeyToEntryMap.set(cacheKey,cacheEntry);for(let key of keys3){if(!this.#keyToCacheKeySetMap.has(key.toString()))this.#keyToCacheKeySetMap.set(key.toString(),new Set);this.#keyToCacheKeySetMap.get(key.toString()).add(cacheKey)}}size(){return this.#cacheKeyToEntryMap.size}createValueEntry(client,value){return new ClientSideCacheEntryValue(this.ttl,value)}createPromiseEntry(client,sendCommandPromise){return new ClientSideCacheEntryPromise(this.ttl,sendCommandPromise)}stats(){return this.#statsCounter.snapshot()}onError(){this.clear()}onClose(){this.clear()}deleteOldest(){let n=this.#cacheKeyToEntryMap[Symbol.iterator]().next();if(!n.done){let key=n.value[0],entry=this.#cacheKeyToEntryMap.get(key);if(entry)entry.invalidate();this.#cacheKeyToEntryMap.delete(key)}}entryEntries(){return this.#cacheKeyToEntryMap.entries()}keySetEntries(){return this.#keyToCacheKeySetMap.entries()}}exports.BasicClientSideCache=BasicClientSideCache;class PooledClientSideCacheProvider extends BasicClientSideCache{#disabled=!1;disable(){this.#disabled=!0}enable(){this.#disabled=!1}get(cacheKey){if(this.#disabled)return;return super.get(cacheKey)}has(cacheKey){if(this.#disabled)return!1;return super.has(cacheKey)}onPoolClose(){this.clear()}}exports.PooledClientSideCacheProvider=PooledClientSideCacheProvider;class BasicPooledClientSideCache extends PooledClientSideCacheProvider{onError(){this.clear(!1)}onClose(){this.clear(!1)}}exports.BasicPooledClientSideCache=BasicPooledClientSideCache;class PooledClientSideCacheEntryValue extends ClientSideCacheEntryValue{#creator;constructor(ttl,creator,value){super(ttl,value);this.#creator=creator}validate(){let ret=super.validate();if(this.#creator)ret=ret&&this.#creator.client.isReady&&this.#creator.client.socketEpoch==this.#creator.epoch;return ret}}class PooledClientSideCacheEntryPromise extends ClientSideCacheEntryPromise{#creator;constructor(ttl,creator,sendCommandPromise){super(ttl,sendCommandPromise);this.#creator=creator}validate(){return super.validate()&&this.#creator.client.isReady&&this.#creator.client.socketEpoch==this.#creator.epoch}}class PooledNoRedirectClientSideCache extends BasicPooledClientSideCache{createValueEntry(client,value){let creator={epoch:client.socketEpoch,client};return new PooledClientSideCacheEntryValue(this.ttl,creator,value)}createPromiseEntry(client,sendCommandPromise){let creator={epoch:client.socketEpoch,client};return new PooledClientSideCacheEntryPromise(this.ttl,creator,sendCommandPromise)}onError(){}onClose(){}}exports.PooledNoRedirectClientSideCache=PooledNoRedirectClientSideCache}),require_single_entry_cache=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});class SingleEntryCache{#cached;#serializedKey;get(keyObj){return JSON.stringify(keyObj,makeCircularReplacer())===this.#serializedKey?this.#cached:void 0}set(keyObj,obj){this.#cached=obj,this.#serializedKey=JSON.stringify(keyObj,makeCircularReplacer())}}exports.default=SingleEntryCache;function makeCircularReplacer(){let seen=new WeakSet;return function(_,value){if(value&&typeof value==="object"){if(seen.has(value))return"circular";return seen.add(value),value}return value}}}),require_pool=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RedisClientPool=void 0;var commands_1=__importDefault(require_commands()),_1=__importDefault(require_client()),node_events_1=__require2("node:events"),linked_list_1=require_linked_list(),errors_1=require_errors(),commander_1=require_commander(),multi_command_1=__importDefault(require_multi_command2()),cache_1=require_cache(),parser_1=require_parser(),single_entry_cache_1=__importDefault(require_single_entry_cache());class RedisClientPool extends node_events_1.EventEmitter{static#createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this.execute((client)=>client._executeCommand(command,parser,this._commandOptions,transformReply))}}static#createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self.execute((client)=>client._executeCommand(command,parser,this._self._commandOptions,transformReply))}}static#createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),fn2.parseCommand(parser,...args2),this._self.execute((client)=>client._executeCommand(fn2,parser,this._self._commandOptions,transformReply))}}static#createScriptCommand(script,resp){let prefix=(0,commander_1.scriptArgumentsPrefix)(script),transformReply=(0,commander_1.getTransformReply)(script,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.pushVariadic(prefix),script.parseCommand(parser,...args2),this.execute((client)=>client._executeScript(script,parser,this._commandOptions,transformReply))}}static#SingleEntryCache=new single_entry_cache_1.default;static create(clientOptions,options){let Pool=RedisClientPool.#SingleEntryCache.get(clientOptions);if(!Pool)Pool=(0,commander_1.attachConfig)({BaseClass:RedisClientPool,commands:commands_1.default,createCommand:RedisClientPool.#createCommand,createModuleCommand:RedisClientPool.#createModuleCommand,createFunctionCommand:RedisClientPool.#createFunctionCommand,createScriptCommand:RedisClientPool.#createScriptCommand,config:clientOptions}),Pool.prototype.Multi=multi_command_1.default.extend(clientOptions),RedisClientPool.#SingleEntryCache.set(clientOptions,Pool);return Object.create(new Pool(clientOptions,options))}static#DEFAULTS={minimum:1,maximum:100,acquireTimeout:3000,cleanupDelay:3000};#clientFactory;#options;#idleClients=new linked_list_1.SinglyLinkedList;get idleClients(){return this._self.#idleClients.length}#clientsInUse=new linked_list_1.DoublyLinkedList;get clientsInUse(){return this._self.#clientsInUse.length}get totalClients(){return this._self.#idleClients.length+this._self.#clientsInUse.length}#tasksQueue=new linked_list_1.SinglyLinkedList;get tasksQueueLength(){return this._self.#tasksQueue.length}#isOpen=!1;get isOpen(){return this._self.#isOpen}#isClosing=!1;get isClosing(){return this._self.#isClosing}#clientSideCache;get clientSideCache(){return this._self.#clientSideCache}constructor(clientOptions,options){super();if(this.#options={...RedisClientPool.#DEFAULTS,...options},options?.clientSideCache){if(clientOptions===void 0)clientOptions={};if(options.clientSideCache instanceof cache_1.PooledClientSideCacheProvider)this.#clientSideCache=clientOptions.clientSideCache=options.clientSideCache;else{let cscConfig=options.clientSideCache;this.#clientSideCache=clientOptions.clientSideCache=new cache_1.BasicPooledClientSideCache(cscConfig)}}this.#clientFactory=_1.default.factory(clientOptions).bind(void 0,clientOptions)}_self=this;_commandOptions;withCommandOptions(options){let proxy=Object.create(this._self);return proxy._commandOptions=options,proxy}#commandOptionsProxy(key,value){let proxy=Object.create(this._self);return proxy._commandOptions=Object.create(this._commandOptions??null),proxy._commandOptions[key]=value,proxy}withTypeMapping(typeMapping){return this._self.#commandOptionsProxy("typeMapping",typeMapping)}withAbortSignal(abortSignal){return this._self.#commandOptionsProxy("abortSignal",abortSignal)}asap(){return this._self.#commandOptionsProxy("asap",!0)}async connect(){if(this._self.#isOpen)return;this._self.#isOpen=!0;let promises=[];while(promises.length<this._self.#options.minimum)promises.push(this._self.#create());try{await Promise.all(promises)}catch(err){throw this.destroy(),err}return this}async#create(){let node=this._self.#clientsInUse.push(this._self.#clientFactory().on("error",(err)=>this.emit("error",err)));try{await node.value.connect()}catch(err){throw this._self.#clientsInUse.remove(node),err}this._self.#returnClient(node)}execute(fn2){return new Promise((resolve,reject)=>{let client=this._self.#idleClients.shift(),{tail:tail2}=this._self.#tasksQueue;if(!client){let timeout5;if(this._self.#options.acquireTimeout>0)timeout5=setTimeout(()=>{this._self.#tasksQueue.remove(task,tail2),reject(new errors_1.TimeoutError("Timeout waiting for a client"))},this._self.#options.acquireTimeout);let task=this._self.#tasksQueue.push({timeout:timeout5,resolve,reject,fn:fn2});if(this.totalClients<this._self.#options.maximum)this._self.#create();return}let node=this._self.#clientsInUse.push(client);this._self.#executeTask(node,resolve,reject,fn2)})}#executeTask(node,resolve,reject,fn2){let result=fn2(node.value);if(result instanceof Promise)result.then(resolve,reject).finally(()=>this.#returnClient(node));else resolve(result),this.#returnClient(node)}#returnClient(node){let task=this.#tasksQueue.shift();if(task){clearTimeout(task.timeout),this.#executeTask(node,task.resolve,task.reject,task.fn);return}this.#clientsInUse.remove(node),this.#idleClients.push(node.value),this.#scheduleCleanup()}cleanupTimeout;#scheduleCleanup(){if(this.totalClients<=this.#options.minimum)return;clearTimeout(this.cleanupTimeout),this.cleanupTimeout=setTimeout(()=>this.#cleanup(),this.#options.cleanupDelay)}#cleanup(){let toDestroy=Math.min(this.#idleClients.length,this.totalClients-this.#options.minimum);for(let i=0;i<toDestroy;i++)this.#idleClients.shift().destroy()}sendCommand(args2,options){return this.execute((client)=>client.sendCommand(args2,options))}MULTI(){return new this.Multi((commands,selectedDB)=>this.execute((client)=>client._executeMulti(commands,selectedDB)),(commands)=>this.execute((client)=>client._executePipeline(commands)),this._commandOptions?.typeMapping)}multi=this.MULTI;async close(){if(this._self.#isClosing)return;if(!this._self.#isOpen)return;this._self.#isClosing=!0;try{let promises=[];for(let client of this._self.#idleClients)promises.push(client.close());for(let client of this._self.#clientsInUse)promises.push(client.close());await Promise.all(promises),this.#clientSideCache?.onPoolClose(),this._self.#idleClients.reset(),this._self.#clientsInUse.reset()}catch(err){}finally{this._self.#isClosing=!1}}destroy(){for(let client of this._self.#idleClients)client.destroy();this._self.#idleClients.reset();for(let client of this._self.#clientsInUse)client.destroy();this._self.#clientSideCache?.onPoolClose(),this._self.#clientsInUse.reset(),this._self.#isOpen=!1}}exports.RedisClientPool=RedisClientPool}),require_package2=__commonJS2((exports,module)=>{module.exports={name:"@redis/client",version:"5.10.0",license:"MIT",main:"./dist/index.js",types:"./dist/index.d.ts",files:["dist/","!dist/tsconfig.tsbuildinfo"],scripts:{test:"nyc -r text-summary -r lcov mocha -r tsx './lib/**/*.spec.ts'",release:"release-it"},dependencies:{"cluster-key-slot":"1.1.2"},devDependencies:{"@redis/test-utils":"*","@types/sinon":"^17.0.3",sinon:"^17.0.1"},engines:{node:">= 18"},repository:{type:"git",url:"git://github.com/redis/node-redis.git"},bugs:{url:"https://github.com/redis/node-redis/issues"},homepage:"https://github.com/redis/node-redis/tree/master/packages/client",keywords:["redis"]}}),require_client=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}},_a;Object.defineProperty(exports,"__esModule",{value:!0});var commands_1=__importDefault(require_commands()),socket_1=__importDefault(require_socket()),authx_1=require_authx(),commands_queue_1=__importDefault(require_commands_queue()),node_events_1=__require2("node:events"),commander_1=require_commander(),errors_1=require_errors(),node_url_1=__require2("node:url"),pub_sub_1=require_pub_sub(),multi_command_1=__importDefault(require_multi_command2()),HELLO_1=__importDefault(require_HELLO()),legacy_mode_1=require_legacy_mode(),pool_1=require_pool(),generic_transformers_1=require_generic_transformers(),cache_1=require_cache(),parser_1=require_parser(),single_entry_cache_1=__importDefault(require_single_entry_cache()),package_json_1=require_package2(),enterprise_maintenance_manager_1=__importDefault(require_enterprise_maintenance_manager());class RedisClient extends node_events_1.EventEmitter{static#createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self._executeCommand(command,parser,this._commandOptions,transformReply)}}static#createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self._executeCommand(command,parser,this._self._commandOptions,transformReply)}}static#createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),fn2.parseCommand(parser,...args2),this._self._executeCommand(fn2,parser,this._self._commandOptions,transformReply)}}static#createScriptCommand(script,resp){let prefix=(0,commander_1.scriptArgumentsPrefix)(script),transformReply=(0,commander_1.getTransformReply)(script,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),script.parseCommand(parser,...args2),this._executeScript(script,parser,this._commandOptions,transformReply)}}static#SingleEntryCache=new single_entry_cache_1.default;static factory(config2){let Client=_a.#SingleEntryCache.get(config2);if(!Client)Client=(0,commander_1.attachConfig)({BaseClass:_a,commands:commands_1.default,createCommand:_a.#createCommand,createModuleCommand:_a.#createModuleCommand,createFunctionCommand:_a.#createFunctionCommand,createScriptCommand:_a.#createScriptCommand,config:config2}),Client.prototype.Multi=multi_command_1.default.extend(config2),_a.#SingleEntryCache.set(config2,Client);return(options)=>{return Object.create(new Client(options))}}static create(options){return _a.factory(options)(options)}static parseOptions(options){if(options?.url){let parsed=_a.parseURL(options.url);if(options.socket){if(options.socket.tls!==void 0&&options.socket.tls!==parsed.socket.tls)throw TypeError(`tls socket option is set to ${options.socket.tls} which is mismatch with protocol or the URL ${options.url} passed`);parsed.socket=Object.assign(options.socket,parsed.socket)}Object.assign(options,parsed)}return options}static parseURL(url3){let{hostname,port:port3,protocol,username,password,pathname}=new node_url_1.URL(url3),parsed={socket:{host:hostname,tls:!1}};if(protocol!=="redis:"&&protocol!=="rediss:")throw TypeError("Invalid protocol");if(parsed.socket.tls=protocol==="rediss:",port3)parsed.socket.port=Number(port3);if(username)parsed.username=decodeURIComponent(username);if(password)parsed.password=decodeURIComponent(password);if(username||password)parsed.credentialsProvider={type:"async-credentials-provider",credentials:async()=>({username:username?decodeURIComponent(username):void 0,password:password?decodeURIComponent(password):void 0})};if(pathname.length>1){let database=Number(pathname.substring(1));if(isNaN(database))throw TypeError("Invalid pathname");parsed.database=database}return parsed}#options;#socket;#queue;#selectedDB=0;#monitorCallback;_self=this;_commandOptions;#dirtyWatch;#watchEpoch;#clientSideCache;#credentialsSubscription=null;#paused=!1;get clientSideCache(){return this._self.#clientSideCache}get options(){return this._self.#options}get isOpen(){return this._self.#socket.isOpen}get isReady(){return this._self.#socket.isReady}get isPubSubActive(){return this._self.#queue.isPubSubActive}get socketEpoch(){return this._self.#socket.socketEpoch}get isWatching(){return this._self.#watchEpoch!==void 0}get isDirtyWatch(){return this._self.#dirtyWatch!==void 0}setDirtyWatch(msg){this._self.#dirtyWatch=msg}constructor(options){super();if(this.#validateOptions(options),this.#options=this.#initiateOptions(options),this.#queue=this.#initiateQueue(),this.#socket=this.#initiateSocket(),this.#options.maintNotifications!=="disabled")new enterprise_maintenance_manager_1.default(this.#queue,this,this.#options);if(this.#options.clientSideCache){if(this.#options.clientSideCache instanceof cache_1.ClientSideCacheProvider)this.#clientSideCache=this.#options.clientSideCache;else{let cscConfig=this.#options.clientSideCache;this.#clientSideCache=new cache_1.BasicClientSideCache(cscConfig)}this.#queue.addPushHandler((push)=>{if(push[0].toString()!=="invalidate")return!1;if(push[1]!==null)for(let key of push[1])this.#clientSideCache?.invalidate(key);else this.#clientSideCache?.invalidate(null);return!0})}else if(options?.emitInvalidate)this.#queue.addPushHandler((push)=>{if(push[0].toString()!=="invalidate")return!1;if(push[1]!==null)for(let key of push[1])this.emit("invalidate",key);else this.emit("invalidate",null);return!0})}#validateOptions(options){if(options?.clientSideCache&&options?.RESP!==3)throw Error("Client Side Caching is only supported with RESP3");if(options?.emitInvalidate&&options?.RESP!==3)throw Error("emitInvalidate is only supported with RESP3");if(options?.clientSideCache&&options?.emitInvalidate)throw Error("emitInvalidate is not supported (or necessary) when clientSideCache is enabled");if(options?.maintNotifications&&options?.maintNotifications!=="disabled"&&options?.RESP!==3)throw Error("Graceful Maintenance is only supported with RESP3")}#initiateOptions(options={}){if(!options.credentialsProvider&&(options.username||options.password))options.credentialsProvider={type:"async-credentials-provider",credentials:async()=>({username:options.username,password:options.password})};if(options.database)this._self.#selectedDB=options.database;if(options.commandOptions)this._commandOptions=options.commandOptions;if(options.maintNotifications!=="disabled")enterprise_maintenance_manager_1.default.setupDefaultMaintOptions(options);if(options.url){let parsedOptions=_a.parseOptions(options);if(parsedOptions?.database)this._self.#selectedDB=parsedOptions.database;return parsedOptions}return options}#initiateQueue(){return new commands_queue_1.default(this.#options.RESP??2,this.#options.commandsQueueMaxLength,(channel,listeners)=>this.emit("sharded-channel-moved",channel,listeners))}reAuthenticate=async(credentials)=>{if(!(this.isPubSubActive&&!this.#options.RESP))await this.sendCommand((0,generic_transformers_1.parseArgs)(commands_1.default.AUTH,{username:credentials.username,password:credentials.password??""}))};#subscribeForStreamingCredentials(cp){return cp.subscribe({onNext:(credentials)=>{this.reAuthenticate(credentials).catch((error3)=>{let errorMessage=error3 instanceof Error?error3.message:String(error3);cp.onReAuthenticationError(new authx_1.CredentialsError(errorMessage))})},onError:(e)=>{let errorMessage=`Error from streaming credentials provider: ${e.message}`;cp.onReAuthenticationError(new authx_1.UnableToObtainNewCredentialsError(errorMessage))}})}async#handshake(chainId,asap){let promises=[],commandsWithErrorHandlers=await this.#getHandshakeCommands();if(asap)commandsWithErrorHandlers.reverse();for(let{cmd,errorHandler}of commandsWithErrorHandlers)promises.push(this.#queue.addCommand(cmd,{chainId,asap}).catch(errorHandler));return promises}async#getHandshakeCommands(){let commands=[],cp=this.#options.credentialsProvider;if(this.#options.RESP){let hello={};if(cp&&cp.type==="async-credentials-provider"){let credentials=await cp.credentials();if(credentials.password)hello.AUTH={username:credentials.username??"default",password:credentials.password}}if(cp&&cp.type==="streaming-credentials-provider"){let[credentials,disposable]=await this.#subscribeForStreamingCredentials(cp);if(this.#credentialsSubscription=disposable,credentials.password)hello.AUTH={username:credentials.username??"default",password:credentials.password}}if(this.#options.name)hello.SETNAME=this.#options.name;commands.push({cmd:(0,generic_transformers_1.parseArgs)(HELLO_1.default,this.#options.RESP,hello)})}else{if(cp&&cp.type==="async-credentials-provider"){let credentials=await cp.credentials();if(credentials.username||credentials.password)commands.push({cmd:(0,generic_transformers_1.parseArgs)(commands_1.default.AUTH,{username:credentials.username,password:credentials.password??""})})}if(cp&&cp.type==="streaming-credentials-provider"){let[credentials,disposable]=await this.#subscribeForStreamingCredentials(cp);if(this.#credentialsSubscription=disposable,credentials.username||credentials.password)commands.push({cmd:(0,generic_transformers_1.parseArgs)(commands_1.default.AUTH,{username:credentials.username,password:credentials.password??""})})}if(this.#options.name)commands.push({cmd:(0,generic_transformers_1.parseArgs)(commands_1.default.CLIENT_SETNAME,this.#options.name)})}if(this.#selectedDB!==0)commands.push({cmd:["SELECT",this.#selectedDB.toString()]});if(this.#options.readonly)commands.push({cmd:(0,generic_transformers_1.parseArgs)(commands_1.default.READONLY)});if(!this.#options.disableClientInfo)commands.push({cmd:["CLIENT","SETINFO","LIB-VER",package_json_1.version],errorHandler:()=>{}}),commands.push({cmd:["CLIENT","SETINFO","LIB-NAME",this.#options.clientInfoTag?`node-redis(${this.#options.clientInfoTag})`:"node-redis"],errorHandler:()=>{}});if(this.#clientSideCache)commands.push({cmd:this.#clientSideCache.trackingOn()});if(this.#options?.emitInvalidate)commands.push({cmd:["CLIENT","TRACKING","ON"]});let maintenanceHandshakeCmd=await enterprise_maintenance_manager_1.default.getHandshakeCommand(this.#options);if(maintenanceHandshakeCmd)commands.push(maintenanceHandshakeCmd);return commands}#attachListeners(socket){socket.on("data",(chunk32)=>{try{this.#queue.decoder.write(chunk32)}catch(err){this.#queue.resetDecoder(),this.emit("error",err)}}).on("error",(err)=>{if(this.emit("error",err),this.#clientSideCache?.onError(),this.#socket.isOpen&&!this.#options.disableOfflineQueue)this.#queue.flushWaitingForReply(err);else this.#queue.flushAll(err)}).on("connect",()=>this.emit("connect")).on("ready",()=>{this.emit("ready"),this.#setPingTimer(),this.#maybeScheduleWrite()}).on("reconnecting",()=>this.emit("reconnecting")).on("drain",()=>this.#maybeScheduleWrite()).on("end",()=>this.emit("end"))}#initiateSocket(){let socketInitiator=async()=>{let promises=[],chainId=Symbol("Socket Initiator"),resubscribePromise=this.#queue.resubscribe(chainId);if(resubscribePromise?.catch((error3)=>{if(error3.message&&error3.message.startsWith("MOVED"))this.emit("__MOVED",this._self.#queue.removeAllPubSubListeners())}),resubscribePromise)promises.push(resubscribePromise);if(this.#monitorCallback)promises.push(this.#queue.monitor(this.#monitorCallback,{typeMapping:this._commandOptions?.typeMapping,chainId,asap:!0}));if(promises.push(...await this.#handshake(chainId,!0)),promises.length)return this.#write(),Promise.all(promises)},socket=new socket_1.default(socketInitiator,this.#options.socket);return this.#attachListeners(socket),socket}#pingTimer;#setPingTimer(){if(!this.#options.pingInterval||!this.#socket.isReady)return;clearTimeout(this.#pingTimer),this.#pingTimer=setTimeout(()=>{if(!this.#socket.isReady)return;this.sendCommand(["PING"]).then((reply)=>this.emit("ping-interval",reply)).catch((err)=>this.emit("error",err)).finally(()=>this.#setPingTimer())},this.#options.pingInterval)}withCommandOptions(options){let proxy=Object.create(this._self);return proxy._commandOptions=options,proxy}_commandOptionsProxy(key,value){let proxy=Object.create(this._self);return proxy._commandOptions=Object.create(this._commandOptions??null),proxy._commandOptions[key]=value,proxy}withTypeMapping(typeMapping){return this._commandOptionsProxy("typeMapping",typeMapping)}withAbortSignal(abortSignal){return this._commandOptionsProxy("abortSignal",abortSignal)}asap(){return this._commandOptionsProxy("asap",!0)}legacy(){return new legacy_mode_1.RedisLegacyClient(this)}createPool(options){return pool_1.RedisClientPool.create(this._self.#options,options)}duplicate(overrides){return new(Object.getPrototypeOf(this)).constructor({...this._self.#options,commandOptions:this._commandOptions,...overrides})}async connect(){return await this._self.#socket.connect(),this}_ejectSocket(){let socket=this._self.#socket;return this._self.#socket=null,socket.removeAllListeners(),socket}_insertSocket(socket){if(this._self.#socket)this._self._ejectSocket().destroy();this._self.#socket=socket,this._self.#attachListeners(this._self.#socket)}_maintenanceUpdate(update5){this._self.#socket.setMaintenanceTimeout(update5.relaxedSocketTimeout),this._self.#queue.setMaintenanceCommandTimeout(update5.relaxedCommandTimeout)}_pause(){this._self.#paused=!0}_unpause(){this._self.#paused=!1,this._self.#maybeScheduleWrite()}async _executeCommand(command,parser,commandOptions,transformReply){let csc=this._self.#clientSideCache,defaultTypeMapping=this._self.#options.commandOptions===commandOptions,fn2=()=>{return this.sendCommand(parser.redisArgs,commandOptions)};if(csc&&command.CACHEABLE&&defaultTypeMapping)return await csc.handleCache(this._self,parser,fn2,transformReply,commandOptions?.typeMapping);else{let reply=await fn2();if(transformReply)return transformReply(reply,parser.preserve,commandOptions?.typeMapping);return reply}}async _executeScript(script,parser,options,transformReply){let args2=parser.redisArgs,reply;try{reply=await this.sendCommand(args2,options)}catch(err){if(!err?.message?.startsWith?.("NOSCRIPT"))throw err;args2[0]="EVAL",args2[1]=script.SCRIPT,reply=await this.sendCommand(args2,options)}return transformReply?transformReply(reply,parser.preserve,options?.typeMapping):reply}sendCommand(args2,options){if(!this._self.#socket.isOpen)return Promise.reject(new errors_1.ClientClosedError);else if(!this._self.#socket.isReady&&this._self.#options.disableOfflineQueue)return Promise.reject(new errors_1.ClientOfflineError);let opts={...this._self._commandOptions,...options},promise3=this._self.#queue.addCommand(args2,opts);return this._self.#scheduleWrite(),promise3}async SELECT(db){await this.sendCommand(["SELECT",db.toString()]),this._self.#selectedDB=db}select=this.SELECT;#pubSubCommand(promise3){if(promise3===void 0)return Promise.resolve();return this.#scheduleWrite(),promise3}SUBSCRIBE(channels,listener,bufferMode){return this._self.#pubSubCommand(this._self.#queue.subscribe(pub_sub_1.PUBSUB_TYPE.CHANNELS,channels,listener,bufferMode))}subscribe=this.SUBSCRIBE;UNSUBSCRIBE(channels,listener,bufferMode){return this._self.#pubSubCommand(this._self.#queue.unsubscribe(pub_sub_1.PUBSUB_TYPE.CHANNELS,channels,listener,bufferMode))}unsubscribe=this.UNSUBSCRIBE;PSUBSCRIBE(patterns,listener,bufferMode){return this._self.#pubSubCommand(this._self.#queue.subscribe(pub_sub_1.PUBSUB_TYPE.PATTERNS,patterns,listener,bufferMode))}pSubscribe=this.PSUBSCRIBE;PUNSUBSCRIBE(patterns,listener,bufferMode){return this._self.#pubSubCommand(this._self.#queue.unsubscribe(pub_sub_1.PUBSUB_TYPE.PATTERNS,patterns,listener,bufferMode))}pUnsubscribe=this.PUNSUBSCRIBE;SSUBSCRIBE(channels,listener,bufferMode){return this._self.#pubSubCommand(this._self.#queue.subscribe(pub_sub_1.PUBSUB_TYPE.SHARDED,channels,listener,bufferMode))}sSubscribe=this.SSUBSCRIBE;SUNSUBSCRIBE(channels,listener,bufferMode){return this._self.#pubSubCommand(this._self.#queue.unsubscribe(pub_sub_1.PUBSUB_TYPE.SHARDED,channels,listener,bufferMode))}sUnsubscribe=this.SUNSUBSCRIBE;async WATCH(key){let reply=await this._self.sendCommand((0,generic_transformers_1.pushVariadicArguments)(["WATCH"],key));return this._self.#watchEpoch??=this._self.socketEpoch,reply}watch=this.WATCH;async UNWATCH(){let reply=await this._self.sendCommand(["UNWATCH"]);return this._self.#watchEpoch=void 0,reply}unwatch=this.UNWATCH;getPubSubListeners(type){return this._self.#queue.getPubSubListeners(type)}extendPubSubChannelListeners(type,channel,listeners){return this._self.#pubSubCommand(this._self.#queue.extendPubSubChannelListeners(type,channel,listeners))}extendPubSubListeners(type,listeners){return this._self.#pubSubCommand(this._self.#queue.extendPubSubListeners(type,listeners))}#write(){if(this.#paused)return;this.#socket.write(this.#queue.commandsToWrite())}#scheduledWrite;#scheduleWrite(){if(!this.#socket.isReady||this.#scheduledWrite)return;this.#scheduledWrite=setImmediate(()=>{this.#write(),this.#scheduledWrite=void 0})}#maybeScheduleWrite(){if(!this.#queue.isWaitingToWrite())return;this.#scheduleWrite()}async _executePipeline(commands,selectedDB){if(!this._self.#socket.isOpen)return Promise.reject(new errors_1.ClientClosedError);let chainId=Symbol("Pipeline Chain"),promise3=Promise.all(commands.map(({args:args2})=>this._self.#queue.addCommand(args2,{chainId,typeMapping:this._commandOptions?.typeMapping})));this._self.#scheduleWrite();let result=await promise3;if(selectedDB!==void 0)this._self.#selectedDB=selectedDB;return result}async _executeMulti(commands,selectedDB){let dirtyWatch=this._self.#dirtyWatch;this._self.#dirtyWatch=void 0;let watchEpoch=this._self.#watchEpoch;if(this._self.#watchEpoch=void 0,!this._self.#socket.isOpen)throw new errors_1.ClientClosedError;if(dirtyWatch)throw new errors_1.WatchError(dirtyWatch);if(watchEpoch&&watchEpoch!==this._self.socketEpoch)throw new errors_1.WatchError("Client reconnected after WATCH");let typeMapping=this._commandOptions?.typeMapping,chainId=Symbol("MULTI Chain"),promises=[this._self.#queue.addCommand(["MULTI"],{chainId})];for(let{args:args2}of commands)promises.push(this._self.#queue.addCommand(args2,{chainId,typeMapping}));promises.push(this._self.#queue.addCommand(["EXEC"],{chainId})),this._self.#scheduleWrite();let results=await Promise.all(promises),execResult=results[results.length-1];if(execResult===null)throw new errors_1.WatchError;if(selectedDB!==void 0)this._self.#selectedDB=selectedDB;return execResult}MULTI(){return new this.Multi(this._executeMulti.bind(this),this._executePipeline.bind(this),this._commandOptions?.typeMapping)}multi=this.MULTI;async*scanIterator(options){let cursor=options?.cursor??"0";do{let reply=await this.scan(cursor,options);cursor=reply.cursor,yield reply.keys}while(cursor!=="0")}async*hScanIterator(key,options){let cursor=options?.cursor??"0";do{let reply=await this.hScan(key,cursor,options);cursor=reply.cursor,yield reply.entries}while(cursor!=="0")}async*hScanValuesIterator(key,options){let cursor=options?.cursor??"0";do{let reply=await this.hScanNoValues(key,cursor,options);cursor=reply.cursor,yield reply.fields}while(cursor!=="0")}async*hScanNoValuesIterator(key,options){let cursor=options?.cursor??"0";do{let reply=await this.hScanNoValues(key,cursor,options);cursor=reply.cursor,yield reply.fields}while(cursor!=="0")}async*sScanIterator(key,options){let cursor=options?.cursor??"0";do{let reply=await this.sScan(key,cursor,options);cursor=reply.cursor,yield reply.members}while(cursor!=="0")}async*zScanIterator(key,options){let cursor=options?.cursor??"0";do{let reply=await this.zScan(key,cursor,options);cursor=reply.cursor,yield reply.members}while(cursor!=="0")}async MONITOR(callback){let promise3=this._self.#queue.monitor(callback,{typeMapping:this._commandOptions?.typeMapping});this._self.#scheduleWrite(),await promise3,this._self.#monitorCallback=callback}monitor=this.MONITOR;async reset(){let chainId=Symbol("Reset Chain"),promises=[this._self.#queue.reset(chainId)],selectedDB=this._self.#options?.database??0;this._self.#credentialsSubscription?.dispose(),this._self.#credentialsSubscription=null,promises.push(...await this._self.#handshake(chainId,!1)),this._self.#scheduleWrite(),await Promise.all(promises),this._self.#selectedDB=selectedDB,this._self.#monitorCallback=void 0,this._self.#dirtyWatch=void 0,this._self.#watchEpoch=void 0}resetIfDirty(){let shouldReset=!1;if(this._self.#selectedDB!==(this._self.#options?.database??0))console.warn("Returning a client with a different selected DB"),shouldReset=!0;if(this._self.#monitorCallback)console.warn("Returning a client with active MONITOR"),shouldReset=!0;if(this._self.#queue.isPubSubActive)console.warn("Returning a client with active PubSub"),shouldReset=!0;if(this._self.#dirtyWatch||this._self.#watchEpoch)console.warn("Returning a client with active WATCH"),shouldReset=!0;if(shouldReset)return this.reset()}QUIT(){return this._self.#credentialsSubscription?.dispose(),this._self.#credentialsSubscription=null,this._self.#socket.quit(async()=>{clearTimeout(this._self.#pingTimer);let quitPromise=this._self.#queue.addCommand(["QUIT"]);return this._self.#scheduleWrite(),quitPromise})}quit=this.QUIT;disconnect(){return Promise.resolve(this.destroy())}close(){return new Promise((resolve)=>{if(clearTimeout(this._self.#pingTimer),this._self.#socket.close(),this._self.#clientSideCache?.onClose(),this._self.#queue.isEmpty())return this._self.#socket.destroySocket(),resolve();let maybeClose=()=>{if(!this._self.#queue.isEmpty())return;this._self.#socket.off("data",maybeClose),this._self.#socket.destroySocket(),resolve()};this._self.#socket.on("data",maybeClose),this._self.#credentialsSubscription?.dispose(),this._self.#credentialsSubscription=null})}destroy(){clearTimeout(this._self.#pingTimer),this._self.#queue.flushAll(new errors_1.DisconnectsClientError),this._self.#socket.destroy(),this._self.#clientSideCache?.onClose(),this._self.#credentialsSubscription?.dispose(),this._self.#credentialsSubscription=null}ref(){this._self.#socket.ref()}unref(){this._self.#socket.unref()}}_a=RedisClient,exports.default=RedisClient}),require_lib=__commonJS2((exports,module)=>{var lookup=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920],toUTF8Array=function(str){var char,i=0,p=0,utf8=[],len=str.length;for(;i<len;i++)if(char=str.charCodeAt(i),char<128)utf8[p++]=char;else if(char<2048)utf8[p++]=char>>6|192,utf8[p++]=char&63|128;else if((char&64512)===55296&&i+1<str.length&&(str.charCodeAt(i+1)&64512)===56320)char=65536+((char&1023)<<10)+(str.charCodeAt(++i)&1023),utf8[p++]=char>>18|240,utf8[p++]=char>>12&63|128,utf8[p++]=char>>6&63|128,utf8[p++]=char&63|128;else utf8[p++]=char>>12|224,utf8[p++]=char>>6&63|128,utf8[p++]=char&63|128;return utf8},generate=module.exports=function(str){var char,i=0,start3=-1,result=0,resultHash=0,utf8=typeof str==="string"?toUTF8Array(str):str,len=utf8.length;while(i<len){if(char=utf8[i++],start3===-1){if(char===123)start3=i}else if(char!==125)resultHash=lookup[(char^resultHash>>8)&255]^resultHash<<8;else if(i-1!==start3)return resultHash&16383;result=lookup[(char^result>>8)&255]^result<<8}return result&16383};module.exports.generateMulti=function(keys3){var i=1,len=keys3.length,base=generate(keys3[0]);while(i<len)if(generate(keys3[i++])!==base)return-1;return base}}),require_cluster_slots=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}},_a;Object.defineProperty(exports,"__esModule",{value:!0});var errors_1=require_errors(),client_1=__importDefault(require_client()),pub_sub_1=require_pub_sub(),cluster_key_slot_1=__importDefault(require_lib()),cache_1=require_cache();class RedisClusterSlots{static#SLOTS=16384;#options;#clientFactory;#emit;slots=Array(_a.#SLOTS);masters=[];replicas=[];nodeByAddress=new Map;pubSubNode;clientSideCache;#isOpen=!1;get isOpen(){return this.#isOpen}#validateOptions(options){if(options?.clientSideCache&&options?.RESP!==3)throw Error("Client Side Caching is only supported with RESP3")}constructor(options,emit2){if(this.#validateOptions(options),this.#options=options,options?.clientSideCache)if(options.clientSideCache instanceof cache_1.PooledClientSideCacheProvider)this.clientSideCache=options.clientSideCache;else this.clientSideCache=new cache_1.BasicPooledClientSideCache(options.clientSideCache);this.#clientFactory=client_1.default.factory(this.#options),this.#emit=emit2}async connect(){if(this.#isOpen)throw Error("Cluster already open");this.#isOpen=!0;try{await this.#discoverWithRootNodes(),this.#emit("connect")}catch(err){throw this.#isOpen=!1,err}}async#discoverWithRootNodes(){let start3=Math.floor(Math.random()*this.#options.rootNodes.length);for(let i=start3;i<this.#options.rootNodes.length;i++){if(!this.#isOpen)throw Error("Cluster closed");if(await this.#discover(this.#options.rootNodes[i]))return}for(let i=0;i<start3;i++){if(!this.#isOpen)throw Error("Cluster closed");if(await this.#discover(this.#options.rootNodes[i]))return}throw new errors_1.RootNodesUnavailableError}#resetSlots(){this.slots=Array(_a.#SLOTS),this.masters=[],this.replicas=[],this._randomNodeIterator=void 0}async#discover(rootNode){this.clientSideCache?.clear(),this.clientSideCache?.disable();try{let addressesInUse=new Set,promises=[],eagerConnect=this.#options.minimizeConnections!==!0,shards=await this.#getShards(rootNode);this.#resetSlots();for(let{from,to,master,replicas}of shards){let shard={master:this.#initiateSlotNode(master,!1,eagerConnect,addressesInUse,promises)};if(this.#options.useReplicas)shard.replicas=replicas.map((replica)=>this.#initiateSlotNode(replica,!0,eagerConnect,addressesInUse,promises));for(let i=from;i<=to;i++)this.slots[i]=shard}if(this.pubSubNode&&!addressesInUse.has(this.pubSubNode.address)){let channelsListeners=this.pubSubNode.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS),patternsListeners=this.pubSubNode.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS);if(this.pubSubNode.client.destroy(),channelsListeners.size||patternsListeners.size)promises.push(this.#initiatePubSubClient({[pub_sub_1.PUBSUB_TYPE.CHANNELS]:channelsListeners,[pub_sub_1.PUBSUB_TYPE.PATTERNS]:patternsListeners}))}for(let[address,node]of this.nodeByAddress.entries()){if(addressesInUse.has(address))continue;if(node.client)node.client.destroy();let{pubSub}=node;if(pubSub)pubSub.client.destroy();this.nodeByAddress.delete(address)}return await Promise.all(promises),this.clientSideCache?.enable(),!0}catch(err){return this.#emit("error",err),!1}}async#getShards(rootNode){let options=this.#clientOptionsDefaults(rootNode);options.socket??={},options.socket.reconnectStrategy=!1,options.RESP=this.#options.RESP,options.commandOptions=void 0;let client=await this.#clientFactory(options).on("error",(err)=>this.#emit("error",err)).connect();try{return await client.clusterSlots()}finally{client.destroy()}}#getNodeAddress(address){switch(typeof this.#options.nodeAddressMap){case"object":return this.#options.nodeAddressMap[address];case"function":return this.#options.nodeAddressMap(address)}}#clientOptionsDefaults(options){if(!this.#options.defaults)return options;let socket;if(this.#options.defaults.socket)socket={...this.#options.defaults.socket,...options?.socket};else socket=options?.socket;return{...this.#options.defaults,...options,socket}}#initiateSlotNode(shard,readonly,eagerConnent,addressesInUse,promises){let address=`${shard.host}:${shard.port}`,node=this.nodeByAddress.get(address);if(!node){if(node={...shard,address,readonly,client:void 0,connectPromise:void 0},eagerConnent)promises.push(this.#createNodeClient(node));this.nodeByAddress.set(address,node)}if(!addressesInUse.has(address))addressesInUse.add(address),(readonly?this.replicas:this.masters).push(node);return node}#createClient(node,readonly=node.readonly){let socket=this.#getNodeAddress(node.address)??{host:node.host,port:node.port},clientInfo=Object.freeze({host:socket.host,port:socket.port}),emit2=this.#emit,client=this.#clientFactory(this.#clientOptionsDefaults({clientSideCache:this.clientSideCache,RESP:this.#options.RESP,socket,readonly})).on("error",(error3)=>emit2("node-error",error3,clientInfo)).on("reconnecting",()=>emit2("node-reconnecting",clientInfo)).once("ready",()=>emit2("node-ready",clientInfo)).once("connect",()=>emit2("node-connect",clientInfo)).once("end",()=>emit2("node-disconnect",clientInfo)).on("__MOVED",async(allPubSubListeners)=>{await this.rediscover(client),this.#emit("__resubscribeAllPubSubListeners",allPubSubListeners)});return client}#createNodeClient(node,readonly){let client=node.client=this.#createClient(node,readonly);return node.connectPromise=client.connect().finally(()=>node.connectPromise=void 0)}nodeClient(node){return node.connectPromise??node.client??this.#createNodeClient(node)}#runningRediscoverPromise;async rediscover(startWith){return this.#runningRediscoverPromise??=this.#rediscover(startWith).finally(()=>{this.#runningRediscoverPromise=void 0}),this.#runningRediscoverPromise}async#rediscover(startWith){if(await this.#discover(startWith.options))return;return this.#discoverWithRootNodes()}quit(){return this.#destroy((client)=>client.quit())}disconnect(){return this.#destroy((client)=>client.disconnect())}close(){return this.#destroy((client)=>client.close())}destroy(){this.#isOpen=!1;for(let client of this.#clients())client.destroy();if(this.pubSubNode)this.pubSubNode.client.destroy(),this.pubSubNode=void 0;this.#resetSlots(),this.nodeByAddress.clear(),this.#emit("disconnect")}*#clients(){for(let master of this.masters){if(master.client)yield master.client;if(master.pubSub)yield master.pubSub.client}for(let replica of this.replicas)if(replica.client)yield replica.client}async#destroy(fn2){this.#isOpen=!1;let promises=[];for(let client of this.#clients())promises.push(fn2(client));if(this.pubSubNode)promises.push(fn2(this.pubSubNode.client)),this.pubSubNode=void 0;this.#resetSlots(),this.nodeByAddress.clear(),await Promise.allSettled(promises),this.#emit("disconnect")}getClient(firstKey,isReadonly){if(!firstKey)return this.nodeClient(this.getRandomNode());let slotNumber=(0,cluster_key_slot_1.default)(firstKey);if(!isReadonly)return this.nodeClient(this.slots[slotNumber].master);return this.nodeClient(this.getSlotRandomNode(slotNumber))}*#iterateAllNodes(){if(this.masters.length+this.replicas.length===0)return;let i=Math.floor(Math.random()*(this.masters.length+this.replicas.length));if(i<this.masters.length){do yield this.masters[i];while(++i<this.masters.length);for(let replica of this.replicas)yield replica}else{i-=this.masters.length;do yield this.replicas[i];while(++i<this.replicas.length)}while(!0){for(let master of this.masters)yield master;for(let replica of this.replicas)yield replica}}_randomNodeIterator;getRandomNode(){return this._randomNodeIterator??=this.#iterateAllNodes(),this._randomNodeIterator.next().value}*#slotNodesIterator(slot){let i=Math.floor(Math.random()*(1+slot.replicas.length));if(i<slot.replicas.length)do yield slot.replicas[i];while(++i<slot.replicas.length);while(!0){yield slot.master;for(let replica of slot.replicas)yield replica}}getSlotRandomNode(slotNumber){let slot=this.slots[slotNumber];if(!slot.replicas?.length)return slot.master;return slot.nodesIterator??=this.#slotNodesIterator(slot),slot.nodesIterator.next().value}getMasterByAddress(address){let master=this.nodeByAddress.get(address);if(!master)return;return this.nodeClient(master)}getPubSubClient(){if(!this.pubSubNode)return this.#initiatePubSubClient();return this.pubSubNode.connectPromise??this.pubSubNode.client}async#initiatePubSubClient(toResubscribe){let index=Math.floor(Math.random()*(this.masters.length+this.replicas.length)),node=index<this.masters.length?this.masters[index]:this.replicas[index-this.masters.length],client=this.#createClient(node,!1);return this.pubSubNode={address:node.address,client,connectPromise:client.connect().then(async(client2)=>{if(toResubscribe)await Promise.all([client2.extendPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS,toResubscribe[pub_sub_1.PUBSUB_TYPE.CHANNELS]),client2.extendPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS,toResubscribe[pub_sub_1.PUBSUB_TYPE.PATTERNS])]);return this.pubSubNode.connectPromise=void 0,client2}).catch((err)=>{throw this.pubSubNode=void 0,err})},this.pubSubNode.connectPromise}async executeUnsubscribeCommand(unsubscribe){let client=await this.getPubSubClient();if(await unsubscribe(client),!client.isPubSubActive)client.destroy(),this.pubSubNode=void 0}getShardedPubSubClient(channel){let{master}=this.slots[(0,cluster_key_slot_1.default)(channel)];if(!master.pubSub)return this.#initiateShardedPubSubClient(master);return master.pubSub.connectPromise??master.pubSub.client}async#initiateShardedPubSubClient(master){let client=this.#createClient(master,!1).on("server-sunsubscribe",async(channel,listeners)=>{try{await this.rediscover(client),await(await this.getShardedPubSubClient(channel)).extendPubSubChannelListeners(pub_sub_1.PUBSUB_TYPE.SHARDED,channel,listeners)}catch(err){this.#emit("sharded-shannel-moved-error",err,channel,listeners)}});return master.pubSub={client,connectPromise:client.connect().then((client2)=>{return master.pubSub.connectPromise=void 0,client2}).catch((err)=>{throw master.pubSub=void 0,err})},master.pubSub.connectPromise}async executeShardedUnsubscribeCommand(channel,unsubscribe){let{master}=this.slots[(0,cluster_key_slot_1.default)(channel)];if(!master.pubSub)return;let client=master.pubSub.connectPromise?await master.pubSub.connectPromise:master.pubSub.client;if(await unsubscribe(client),!client.isPubSubActive)client.destroy(),master.pubSub=void 0}}_a=RedisClusterSlots,exports.default=RedisClusterSlots}),require_multi_command3=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var commands_1=__importDefault(require_commands()),multi_command_1=__importDefault(require_multi_command()),commander_1=require_commander(),parser_1=require_parser();class RedisClusterMultiCommand{static#createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;redisArgs.preserve=parser.preserve;let firstKey=parser.firstKey;return this.addCommand(firstKey,command.IS_READ_ONLY,redisArgs,transformReply)}}static#createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;redisArgs.preserve=parser.preserve;let firstKey=parser.firstKey;return this._self.addCommand(firstKey,command.IS_READ_ONLY,redisArgs,transformReply)}}static#createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;parser.push(...prefix),fn2.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;redisArgs.preserve=parser.preserve;let firstKey=parser.firstKey;return this._self.addCommand(firstKey,fn2.IS_READ_ONLY,redisArgs,transformReply)}}static#createScriptCommand(script,resp){let transformReply=(0,commander_1.getTransformReply)(script,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;script.parseCommand(parser,...args2);let scriptArgs=parser.redisArgs;scriptArgs.preserve=parser.preserve;let firstKey=parser.firstKey;return this.#addScript(firstKey,script.IS_READ_ONLY,script,scriptArgs,transformReply)}}static extend(config2){return(0,commander_1.attachConfig)({BaseClass:RedisClusterMultiCommand,commands:commands_1.default,createCommand:RedisClusterMultiCommand.#createCommand,createModuleCommand:RedisClusterMultiCommand.#createModuleCommand,createFunctionCommand:RedisClusterMultiCommand.#createFunctionCommand,createScriptCommand:RedisClusterMultiCommand.#createScriptCommand,config:config2})}#multi;#executeMulti;#executePipeline;#firstKey;#isReadonly=!0;constructor(executeMulti,executePipeline,routing,typeMapping){this.#multi=new multi_command_1.default(typeMapping),this.#executeMulti=executeMulti,this.#executePipeline=executePipeline,this.#firstKey=routing}#setState(firstKey,isReadonly){this.#firstKey??=firstKey,this.#isReadonly&&=isReadonly}addCommand(firstKey,isReadonly,args2,transformReply){return this.#setState(firstKey,isReadonly),this.#multi.addCommand(args2,transformReply),this}#addScript(firstKey,isReadonly,script,args2,transformReply){return this.#setState(firstKey,isReadonly),this.#multi.addScript(script,args2,transformReply),this}async exec(execAsPipeline=!1){if(execAsPipeline)return this.execAsPipeline();return this.#multi.transformReplies(await this.#executeMulti(this.#firstKey,this.#isReadonly,this.#multi.queue))}EXEC=this.exec;execTyped(execAsPipeline=!1){return this.exec(execAsPipeline)}async execAsPipeline(){if(this.#multi.queue.length===0)return[];return this.#multi.transformReplies(await this.#executePipeline(this.#firstKey,this.#isReadonly,this.#multi.queue))}execAsPipelineTyped(){return this.execAsPipeline()}}exports.default=RedisClusterMultiCommand}),require_cluster=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var commands_1=__importDefault(require_commands()),node_events_1=__require2("node:events"),commander_1=require_commander(),cluster_slots_1=__importDefault(require_cluster_slots()),multi_command_1=__importDefault(require_multi_command3()),errors_1=require_errors(),parser_1=require_parser(),ASKING_1=require_ASKING(),single_entry_cache_1=__importDefault(require_single_entry_cache());class RedisCluster extends node_events_1.EventEmitter{static#createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self._execute(parser.firstKey,command.IS_READ_ONLY,this._commandOptions,(client,opts)=>client._executeCommand(command,parser,opts,transformReply))}}static#createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self._execute(parser.firstKey,command.IS_READ_ONLY,this._self._commandOptions,(client,opts)=>client._executeCommand(command,parser,opts,transformReply))}}static#createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),fn2.parseCommand(parser,...args2),this._self._execute(parser.firstKey,fn2.IS_READ_ONLY,this._self._commandOptions,(client,opts)=>client._executeCommand(fn2,parser,opts,transformReply))}}static#createScriptCommand(script,resp){let prefix=(0,commander_1.scriptArgumentsPrefix)(script),transformReply=(0,commander_1.getTransformReply)(script,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),script.parseCommand(parser,...args2),this._self._execute(parser.firstKey,script.IS_READ_ONLY,this._commandOptions,(client,opts)=>client._executeScript(script,parser,opts,transformReply))}}static#SingleEntryCache=new single_entry_cache_1.default;static factory(config2){let Cluster=RedisCluster.#SingleEntryCache.get(config2);if(!Cluster)Cluster=(0,commander_1.attachConfig)({BaseClass:RedisCluster,commands:commands_1.default,createCommand:RedisCluster.#createCommand,createModuleCommand:RedisCluster.#createModuleCommand,createFunctionCommand:RedisCluster.#createFunctionCommand,createScriptCommand:RedisCluster.#createScriptCommand,config:config2}),Cluster.prototype.Multi=multi_command_1.default.extend(config2),RedisCluster.#SingleEntryCache.set(config2,Cluster);return(options)=>{return Object.create(new Cluster(options))}}static create(options){return RedisCluster.factory(options)(options)}_options;_slots;_self=this;_commandOptions;get slots(){return this._self._slots.slots}get clientSideCache(){return this._self._slots.clientSideCache}get masters(){return this._self._slots.masters}get replicas(){return this._self._slots.replicas}get nodeByAddress(){return this._self._slots.nodeByAddress}get pubSubNode(){return this._self._slots.pubSubNode}get isOpen(){return this._self._slots.isOpen}constructor(options){super();if(this._options=options,this._slots=new cluster_slots_1.default(options,this.emit.bind(this)),this.on("__resubscribeAllPubSubListeners",this.resubscribeAllPubSubListeners.bind(this)),options?.commandOptions)this._commandOptions=options.commandOptions}duplicate(overrides){return new(Object.getPrototypeOf(this)).constructor({...this._self._options,commandOptions:this._commandOptions,...overrides})}async connect(){return await this._self._slots.connect(),this}withCommandOptions(options){let proxy=Object.create(this);return proxy._commandOptions=options,proxy}_commandOptionsProxy(key,value){let proxy=Object.create(this);return proxy._commandOptions=Object.create(this._commandOptions??null),proxy._commandOptions[key]=value,proxy}withTypeMapping(typeMapping){return this._commandOptionsProxy("typeMapping",typeMapping)}_handleAsk(fn2){return async(client,options)=>{let chainId=Symbol("asking chain"),opts=options?{...options}:{};return opts.chainId=chainId,(await Promise.all([client.sendCommand([ASKING_1.ASKING_CMD],{chainId}),fn2(client,opts)]))[1]}}async _execute(firstKey,isReadonly,options,fn2){let maxCommandRedirections=this._options.maxCommandRedirections??16,client=await this._slots.getClient(firstKey,isReadonly),i=0,myFn=fn2;while(!0)try{return await myFn(client,options)}catch(err){if(myFn=fn2,++i>maxCommandRedirections||!(err instanceof Error))throw err;if(err.message.startsWith("ASK")){let address=err.message.substring(err.message.lastIndexOf(" ")+1),redirectTo=await this._slots.getMasterByAddress(address);if(!redirectTo)await this._slots.rediscover(client),redirectTo=await this._slots.getMasterByAddress(address);if(!redirectTo)throw Error(`Cannot find node ${address}`);client=redirectTo,myFn=this._handleAsk(fn2);continue}if(err.message.startsWith("MOVED")){await this._slots.rediscover(client),client=await this._slots.getClient(firstKey,isReadonly);continue}throw err}}async sendCommand(firstKey,isReadonly,args2,options){let opts={...this._self._commandOptions,...options};return this._self._execute(firstKey,isReadonly,opts,(client,opts2)=>client.sendCommand(args2,opts2))}MULTI(routing){return new this.Multi(async(firstKey,isReadonly,commands)=>{return(await this._self._slots.getClient(firstKey,isReadonly))._executeMulti(commands)},async(firstKey,isReadonly,commands)=>{return(await this._self._slots.getClient(firstKey,isReadonly))._executePipeline(commands)},routing,this._commandOptions?.typeMapping)}multi=this.MULTI;async SUBSCRIBE(channels,listener,bufferMode){return(await this._self._slots.getPubSubClient()).SUBSCRIBE(channels,listener,bufferMode)}subscribe=this.SUBSCRIBE;async UNSUBSCRIBE(channels,listener,bufferMode){return this._self._slots.executeUnsubscribeCommand((client)=>client.UNSUBSCRIBE(channels,listener,bufferMode))}unsubscribe=this.UNSUBSCRIBE;async PSUBSCRIBE(patterns,listener,bufferMode){return(await this._self._slots.getPubSubClient()).PSUBSCRIBE(patterns,listener,bufferMode)}pSubscribe=this.PSUBSCRIBE;async PUNSUBSCRIBE(patterns,listener,bufferMode){return this._self._slots.executeUnsubscribeCommand((client)=>client.PUNSUBSCRIBE(patterns,listener,bufferMode))}pUnsubscribe=this.PUNSUBSCRIBE;async SSUBSCRIBE(channels,listener,bufferMode){let maxCommandRedirections=this._self._options.maxCommandRedirections??16,firstChannel=Array.isArray(channels)?channels[0]:channels,client=await this._self._slots.getShardedPubSubClient(firstChannel);for(let i=0;;i++)try{return await client.SSUBSCRIBE(channels,listener,bufferMode)}catch(err){if(++i>maxCommandRedirections||!(err instanceof errors_1.ErrorReply))throw err;if(err.message.startsWith("MOVED")){await this._self._slots.rediscover(client),client=await this._self._slots.getShardedPubSubClient(firstChannel);continue}throw err}}sSubscribe=this.SSUBSCRIBE;SUNSUBSCRIBE(channels,listener,bufferMode){return this._self._slots.executeShardedUnsubscribeCommand(Array.isArray(channels)?channels[0]:channels,(client)=>client.SUNSUBSCRIBE(channels,listener,bufferMode))}resubscribeAllPubSubListeners(allListeners){for(let[channel,listeners]of allListeners.CHANNELS)listeners.buffers.forEach((bufListener)=>{this.subscribe(channel,bufListener,!0)}),listeners.strings.forEach((strListener)=>{this.subscribe(channel,strListener)});for(let[channel,listeners]of allListeners.PATTERNS)listeners.buffers.forEach((bufListener)=>{this.pSubscribe(channel,bufListener,!0)}),listeners.strings.forEach((strListener)=>{this.pSubscribe(channel,strListener)});for(let[channel,listeners]of allListeners.SHARDED)listeners.buffers.forEach((bufListener)=>{this.sSubscribe(channel,bufListener,!0)}),listeners.strings.forEach((strListener)=>{this.sSubscribe(channel,strListener)})}sUnsubscribe=this.SUNSUBSCRIBE;quit(){return this._self._slots.quit()}disconnect(){return this._self._slots.disconnect()}close(){return this._self._slots.clientSideCache?.onPoolClose(),this._self._slots.close()}destroy(){return this._self._slots.clientSideCache?.onPoolClose(),this._self._slots.destroy()}nodeClient(node){return this._self._slots.nodeClient(node)}getRandomNode(){return this._self._slots.getRandomNode()}getSlotRandomNode(slot){return this._self._slots.getSlotRandomNode(slot)}getMasters(){return this.masters}getSlotMaster(slot){return this.slots[slot].master}}exports.default=RedisCluster}),require_utils=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createScriptCommand=exports.createModuleCommand=exports.createFunctionCommand=exports.createCommand=exports.clientSocketToNode=exports.createNodeList=exports.parseNode=void 0;var parser_1=require_parser(),commander_1=require_commander();function parseNode(node){if(node.flags.includes("s_down")||node.flags.includes("disconnected")||node.flags.includes("failover_in_progress"))return;return{host:node.ip,port:Number(node.port)}}exports.parseNode=parseNode;function createNodeList(nodes){var nodeList=[];for(let nodeData of nodes){let node=parseNode(nodeData);if(node===void 0)continue;nodeList.push(node)}return nodeList}exports.createNodeList=createNodeList;function clientSocketToNode(socket){let s=socket;return{host:s.host,port:s.port}}exports.clientSocketToNode=clientSocketToNode;function createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self._execute(command.IS_READ_ONLY,(client)=>client._executeCommand(command,parser,this.commandOptions,transformReply))}}exports.createCommand=createCommand;function createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),fn2.parseCommand(parser,...args2),this._self._execute(fn2.IS_READ_ONLY,(client)=>client._executeCommand(fn2,parser,this._self.commandOptions,transformReply))}}exports.createFunctionCommand=createFunctionCommand;function createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return command.parseCommand(parser,...args2),this._self._execute(command.IS_READ_ONLY,(client)=>client._executeCommand(command,parser,this._self.commandOptions,transformReply))}}exports.createModuleCommand=createModuleCommand;function createScriptCommand(script,resp){let prefix=(0,commander_1.scriptArgumentsPrefix)(script),transformReply=(0,commander_1.getTransformReply)(script,resp);return async function(...args2){let parser=new parser_1.BasicCommandParser;return parser.push(...prefix),script.parseCommand(parser,...args2),this._self._execute(script.IS_READ_ONLY,(client)=>client._executeScript(script,parser,this.commandOptions,transformReply))}}exports.createScriptCommand=createScriptCommand}),require_multi_commands=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var commands_1=__importDefault(require_commands()),multi_command_1=__importDefault(require_multi_command()),commander_1=require_commander(),parser_1=require_parser();class RedisSentinelMultiCommand{static _createCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this.addCommand(command.IS_READ_ONLY,redisArgs,transformReply)}}static _createModuleCommand(command,resp){let transformReply=(0,commander_1.getTransformReply)(command,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;command.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this._self.addCommand(command.IS_READ_ONLY,redisArgs,transformReply)}}static _createFunctionCommand(name,fn2,resp){let prefix=(0,commander_1.functionArgumentsPrefix)(name,fn2),transformReply=(0,commander_1.getTransformReply)(fn2,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;parser.push(...prefix),fn2.parseCommand(parser,...args2);let redisArgs=parser.redisArgs;return redisArgs.preserve=parser.preserve,this._self.addCommand(fn2.IS_READ_ONLY,redisArgs,transformReply)}}static _createScriptCommand(script,resp){let transformReply=(0,commander_1.getTransformReply)(script,resp);return function(...args2){let parser=new parser_1.BasicCommandParser;script.parseCommand(parser,...args2);let scriptArgs=parser.redisArgs;return scriptArgs.preserve=parser.preserve,this.#addScript(script.IS_READ_ONLY,script,scriptArgs,transformReply)}}static extend(config2){return(0,commander_1.attachConfig)({BaseClass:RedisSentinelMultiCommand,commands:commands_1.default,createCommand:RedisSentinelMultiCommand._createCommand,createModuleCommand:RedisSentinelMultiCommand._createModuleCommand,createFunctionCommand:RedisSentinelMultiCommand._createFunctionCommand,createScriptCommand:RedisSentinelMultiCommand._createScriptCommand,config:config2})}#multi=new multi_command_1.default;#sentinel;#isReadonly=!0;constructor(sentinel,typeMapping){this.#multi=new multi_command_1.default(typeMapping),this.#sentinel=sentinel}#setState(isReadonly){this.#isReadonly&&=isReadonly}addCommand(isReadonly,args2,transformReply){return this.#setState(isReadonly),this.#multi.addCommand(args2,transformReply),this}#addScript(isReadonly,script,args2,transformReply){return this.#setState(isReadonly),this.#multi.addScript(script,args2,transformReply),this}async exec(execAsPipeline=!1){if(execAsPipeline)return this.execAsPipeline();return this.#multi.transformReplies(await this.#sentinel._executeMulti(this.#isReadonly,this.#multi.queue))}EXEC=this.exec;execTyped(execAsPipeline=!1){return this.exec(execAsPipeline)}async execAsPipeline(){if(this.#multi.queue.length===0)return[];return this.#multi.transformReplies(await this.#sentinel._executePipeline(this.#isReadonly,this.#multi.queue))}execAsPipelineTyped(){return this.execAsPipeline()}}exports.default=RedisSentinelMultiCommand}),require_pub_sub_proxy=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PubSubProxy=void 0;var node_events_1=__importDefault(__require2("node:events")),pub_sub_1=require_pub_sub(),client_1=__importDefault(require_client());class PubSubProxy extends node_events_1.default{#clientOptions;#onError;#node;#state;#subscriptions;constructor(clientOptions,onError5){super();this.#clientOptions=clientOptions,this.#onError=onError5}#createClient(){if(this.#node===void 0)throw Error("pubSubProxy: didn't define node to do pubsub against");return new client_1.default({...this.#clientOptions,socket:{...this.#clientOptions.socket,host:this.#node.host,port:this.#node.port}})}async#initiatePubSubClient(withSubscriptions=!1){let client=this.#createClient().on("error",this.#onError),connectPromise=client.connect().then(async(client2)=>{if(this.#state?.client!==client2)return client2.destroy(),this.#state?.connectPromise;if(withSubscriptions&&this.#subscriptions)await Promise.all([client2.extendPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS,this.#subscriptions[pub_sub_1.PUBSUB_TYPE.CHANNELS]),client2.extendPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS,this.#subscriptions[pub_sub_1.PUBSUB_TYPE.PATTERNS])]);if(this.#state.client!==client2)return client2.destroy(),this.#state?.connectPromise;return this.#state.connectPromise=void 0,client2}).catch((err)=>{throw this.#state=void 0,err});return this.#state={client,connectPromise},connectPromise}#getPubSubClient(){if(!this.#state)return this.#initiatePubSubClient();return this.#state.connectPromise??this.#state.client}async changeNode(node){if(this.#node=node,!this.#state)return;if(this.#state.connectPromise===void 0)this.#subscriptions={[pub_sub_1.PUBSUB_TYPE.CHANNELS]:this.#state.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.CHANNELS),[pub_sub_1.PUBSUB_TYPE.PATTERNS]:this.#state.client.getPubSubListeners(pub_sub_1.PUBSUB_TYPE.PATTERNS)},this.#state.client.destroy();await this.#initiatePubSubClient(!0)}#executeCommand(fn2){let client=this.#getPubSubClient();if(client instanceof client_1.default)return fn2(client);return client.then((client2)=>{if(client2===void 0)return;return fn2(client2)}).catch((err)=>{if(this.#state?.client.isPubSubActive)this.#state.client.destroy(),this.#state=void 0;throw err})}subscribe(channels,listener,bufferMode){return this.#executeCommand((client)=>client.SUBSCRIBE(channels,listener,bufferMode))}#unsubscribe(fn2){return this.#executeCommand(async(client)=>{let reply=await fn2(client);if(!client.isPubSubActive)client.destroy(),this.#state=void 0;return reply})}async unsubscribe(channels,listener,bufferMode){return this.#unsubscribe((client)=>client.UNSUBSCRIBE(channels,listener,bufferMode))}async pSubscribe(patterns,listener,bufferMode){return this.#executeCommand((client)=>client.PSUBSCRIBE(patterns,listener,bufferMode))}async pUnsubscribe(patterns,listener,bufferMode){return this.#unsubscribe((client)=>client.PUNSUBSCRIBE(patterns,listener,bufferMode))}destroy(){if(this.#subscriptions=void 0,this.#state===void 0)return;if(!this.#state.connectPromise)this.#state.client.destroy();this.#state=void 0}}exports.PubSubProxy=PubSubProxy}),require_SENTINEL_MASTER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,dbname){parser.push("SENTINEL","MASTER",dbname)},transformReply:{2:generic_transformers_1.transformTuplesReply,3:void 0}}}),require_SENTINEL_MONITOR=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,dbname,host,port3,quorum){parser.push("SENTINEL","MONITOR",dbname,host,port3,quorum)},transformReply:void 0}}),require_SENTINEL_REPLICAS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,dbname){parser.push("SENTINEL","REPLICAS",dbname)},transformReply:{2:(reply,preserve,typeMapping)=>{let inferred=reply,initial=[];return inferred.reduce((sentinels,x)=>{return sentinels.push((0,generic_transformers_1.transformTuplesReply)(x,void 0,typeMapping)),sentinels},initial)},3:void 0}}}),require_SENTINEL_SENTINELS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,dbname){parser.push("SENTINEL","SENTINELS",dbname)},transformReply:{2:(reply,preserve,typeMapping)=>{let inferred=reply,initial=[];return inferred.reduce((sentinels,x)=>{return sentinels.push((0,generic_transformers_1.transformTuplesReply)(x,void 0,typeMapping)),sentinels},initial)},3:void 0}}}),require_SENTINEL_SET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={parseCommand(parser,dbname,options){parser.push("SENTINEL","SET",dbname);for(let option32 of options)parser.push(option32.option,option32.value)},transformReply:void 0}}),require_commands2=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var SENTINEL_MASTER_1=__importDefault(require_SENTINEL_MASTER()),SENTINEL_MONITOR_1=__importDefault(require_SENTINEL_MONITOR()),SENTINEL_REPLICAS_1=__importDefault(require_SENTINEL_REPLICAS()),SENTINEL_SENTINELS_1=__importDefault(require_SENTINEL_SENTINELS()),SENTINEL_SET_1=__importDefault(require_SENTINEL_SET());exports.default={SENTINEL_SENTINELS:SENTINEL_SENTINELS_1.default,sentinelSentinels:SENTINEL_SENTINELS_1.default,SENTINEL_MASTER:SENTINEL_MASTER_1.default,sentinelMaster:SENTINEL_MASTER_1.default,SENTINEL_REPLICAS:SENTINEL_REPLICAS_1.default,sentinelReplicas:SENTINEL_REPLICAS_1.default,SENTINEL_MONITOR:SENTINEL_MONITOR_1.default,sentinelMonitor:SENTINEL_MONITOR_1.default,SENTINEL_SET:SENTINEL_SET_1.default,sentinelSet:SENTINEL_SET_1.default}}),require_module=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var commands_1=__importDefault(require_commands2());exports.default={sentinel:commands_1.default}}),require_wait_queue=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.WaitQueue=void 0;var linked_list_1=require_linked_list();class WaitQueue{#list=new linked_list_1.SinglyLinkedList;#queue=new linked_list_1.SinglyLinkedList;push(value){let resolve=this.#queue.shift();if(resolve!==void 0){resolve(value);return}this.#list.push(value)}shift(){return this.#list.shift()}wait(){return new Promise((resolve)=>this.#queue.push(resolve))}}exports.WaitQueue=WaitQueue}),require_sentinel=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RedisSentinelFactory=exports.RedisSentinelClient=void 0;var node_events_1=__require2("node:events"),client_1=__importDefault(require_client()),commander_1=require_commander(),commands_1=__importDefault(require_commands()),utils_1=require_utils(),multi_commands_1=__importDefault(require_multi_commands()),pub_sub_proxy_1=require_pub_sub_proxy(),promises_1=__require2("node:timers/promises"),module_1=__importDefault(require_module()),wait_queue_1=require_wait_queue(),cache_1=require_cache();class RedisSentinelClient{#clientInfo;#internal;_self;get isOpen(){return this._self.#internal.isOpen}get isReady(){return this._self.#internal.isReady}get commandOptions(){return this._self.#commandOptions}#commandOptions;constructor(internal,clientInfo,commandOptions){this._self=this,this.#internal=internal,this.#clientInfo=clientInfo,this.#commandOptions=commandOptions}static factory(config2){let SentinelClient=(0,commander_1.attachConfig)({BaseClass:RedisSentinelClient,commands:commands_1.default,createCommand:utils_1.createCommand,createModuleCommand:utils_1.createModuleCommand,createFunctionCommand:utils_1.createFunctionCommand,createScriptCommand:utils_1.createScriptCommand,config:config2});return SentinelClient.prototype.Multi=multi_commands_1.default.extend(config2),(internal,clientInfo,commandOptions)=>{return Object.create(new SentinelClient(internal,clientInfo,commandOptions))}}static create(options,internal,clientInfo,commandOptions){return RedisSentinelClient.factory(options)(internal,clientInfo,commandOptions)}withCommandOptions(options){let proxy=Object.create(this);return proxy._commandOptions=options,proxy}_commandOptionsProxy(key,value){let proxy=Object.create(this);return proxy._commandOptions=Object.create(this._self.#commandOptions??null),proxy._commandOptions[key]=value,proxy}withTypeMapping(typeMapping){return this._commandOptionsProxy("typeMapping",typeMapping)}async _execute(isReadonly,fn2){if(this._self.#clientInfo===void 0)throw Error("Attempted execution on released RedisSentinelClient lease");return await this._self.#internal.execute(fn2,this._self.#clientInfo)}async sendCommand(isReadonly,args2,options){return this._execute(isReadonly,(client)=>client.sendCommand(args2,options))}async _executePipeline(isReadonly,commands){return this._execute(isReadonly,(client)=>client._executePipeline(commands))}async _executeMulti(isReadonly,commands){return this._execute(isReadonly,(client)=>client._executeMulti(commands))}MULTI(){return new this.Multi(this)}multi=this.MULTI;WATCH(key){if(this._self.#clientInfo===void 0)throw Error("Attempted execution on released RedisSentinelClient lease");return this._execute(!1,(client)=>client.watch(key))}watch=this.WATCH;UNWATCH(){if(this._self.#clientInfo===void 0)throw Error("Attempted execution on released RedisSentinelClient lease");return this._execute(!1,(client)=>client.unwatch())}unwatch=this.UNWATCH;release(){if(this._self.#clientInfo===void 0)throw Error("RedisSentinelClient lease already released");let result=this._self.#internal.releaseClientLease(this._self.#clientInfo);return this._self.#clientInfo=void 0,result}}exports.RedisSentinelClient=RedisSentinelClient;class RedisSentinel extends node_events_1.EventEmitter{_self;#internal;#options;get isOpen(){return this._self.#internal.isOpen}get isReady(){return this._self.#internal.isReady}get commandOptions(){return this._self.#commandOptions}#commandOptions;#trace=()=>{};#reservedClientInfo;#masterClientCount=0;#masterClientInfo;get clientSideCache(){return this._self.#internal.clientSideCache}constructor(options){super();if(this._self=this,this.#options=options,options.commandOptions)this.#commandOptions=options.commandOptions;this.#internal=new RedisSentinelInternal(options),this.#internal.on("error",(err)=>this.emit("error",err)),this.#internal.on("topology-change",(event)=>{if(!this.emit("topology-change",event))this._self.#trace(`RedisSentinel: re-emit for topology-change for ${event.type} event returned false`)})}static factory(config2){let Sentinel=(0,commander_1.attachConfig)({BaseClass:RedisSentinel,commands:commands_1.default,createCommand:utils_1.createCommand,createModuleCommand:utils_1.createModuleCommand,createFunctionCommand:utils_1.createFunctionCommand,createScriptCommand:utils_1.createScriptCommand,config:config2});return Sentinel.prototype.Multi=multi_commands_1.default.extend(config2),(options)=>{return Object.create(new Sentinel(options))}}static create(options){return RedisSentinel.factory(options)(options)}withCommandOptions(options){let proxy=Object.create(this);return proxy._commandOptions=options,proxy}_commandOptionsProxy(key,value){let proxy=Object.create(this);return proxy._self.#commandOptions={...this._self.#commandOptions||{},[key]:value},proxy}withTypeMapping(typeMapping){return this._commandOptionsProxy("typeMapping",typeMapping)}async connect(){if(await this._self.#internal.connect(),this._self.#options.reserveClient)this._self.#reservedClientInfo=await this._self.#internal.getClientLease();return this}async _execute(isReadonly,fn2){let clientInfo;if(!isReadonly||!this._self.#internal.useReplicas)if(this._self.#reservedClientInfo)clientInfo=this._self.#reservedClientInfo;else this._self.#masterClientInfo??=await this._self.#internal.getClientLease(),clientInfo=this._self.#masterClientInfo,this._self.#masterClientCount++;try{return await this._self.#internal.execute(fn2,clientInfo)}finally{if(clientInfo!==void 0&&clientInfo===this._self.#masterClientInfo&&--this._self.#masterClientCount===0){let promise3=this._self.#internal.releaseClientLease(clientInfo);if(this._self.#masterClientInfo=void 0,promise3)await promise3}}}async use(fn2){let clientInfo=await this._self.#internal.getClientLease();try{return await fn2(RedisSentinelClient.create(this._self.#options,this._self.#internal,clientInfo,this._self.#commandOptions))}finally{let promise3=this._self.#internal.releaseClientLease(clientInfo);if(promise3)await promise3}}async sendCommand(isReadonly,args2,options){return this._execute(isReadonly,(client)=>client.sendCommand(args2,options))}async _executePipeline(isReadonly,commands){return this._execute(isReadonly,(client)=>client._executePipeline(commands))}async _executeMulti(isReadonly,commands){return this._execute(isReadonly,(client)=>client._executeMulti(commands))}MULTI(){return new this.Multi(this)}multi=this.MULTI;async close(){return this._self.#internal.close()}destroy(){return this._self.#internal.destroy()}async SUBSCRIBE(channels,listener,bufferMode){return this._self.#internal.subscribe(channels,listener,bufferMode)}subscribe=this.SUBSCRIBE;async UNSUBSCRIBE(channels,listener,bufferMode){return this._self.#internal.unsubscribe(channels,listener,bufferMode)}unsubscribe=this.UNSUBSCRIBE;async PSUBSCRIBE(patterns,listener,bufferMode){return this._self.#internal.pSubscribe(patterns,listener,bufferMode)}pSubscribe=this.PSUBSCRIBE;async PUNSUBSCRIBE(patterns,listener,bufferMode){return this._self.#internal.pUnsubscribe(patterns,listener,bufferMode)}pUnsubscribe=this.PUNSUBSCRIBE;async acquire(){let clientInfo=await this._self.#internal.getClientLease();return RedisSentinelClient.create(this._self.#options,this._self.#internal,clientInfo,this._self.#commandOptions)}getSentinelNode(){return this._self.#internal.getSentinelNode()}getMasterNode(){return this._self.#internal.getMasterNode()}getReplicaNodes(){return this._self.#internal.getReplicaNodes()}setTracer(tracer3){if(tracer3)this._self.#trace=(msg)=>{tracer3.push(msg)};else this._self.#trace=()=>{};this._self.#internal.setTracer(tracer3)}}exports.default=RedisSentinel;class RedisSentinelInternal extends node_events_1.EventEmitter{#isOpen=!1;get isOpen(){return this.#isOpen}#isReady=!1;get isReady(){return this.#isReady}#name;#nodeClientOptions;#sentinelClientOptions;#scanInterval;#passthroughClientErrorEvents;#RESP;#anotherReset=!1;#configEpoch=0;#sentinelRootNodes;#sentinelClient;#masterClients=[];#masterClientQueue;#masterPoolSize;#replicaClients=[];#replicaClientsIdx=0;#replicaPoolSize;get useReplicas(){return this.#replicaPoolSize>0}#connectPromise;#maxCommandRediscovers;#pubSubProxy;#scanTimer;#destroy=!1;#trace=()=>{};#clientSideCache;get clientSideCache(){return this.#clientSideCache}#validateOptions(options){if(options?.clientSideCache&&options?.RESP!==3)throw Error("Client Side Caching is only supported with RESP3")}constructor(options){super();if(this.#validateOptions(options),this.#name=options.name,this.#RESP=options.RESP,this.#sentinelRootNodes=Array.from(options.sentinelRootNodes),this.#maxCommandRediscovers=options.maxCommandRediscovers??16,this.#masterPoolSize=options.masterPoolSize??1,this.#replicaPoolSize=options.replicaPoolSize??0,this.#scanInterval=options.scanInterval??0,this.#passthroughClientErrorEvents=options.passthroughClientErrorEvents??!1,this.#nodeClientOptions=options.nodeClientOptions?{...options.nodeClientOptions}:{},this.#nodeClientOptions.url!==void 0)throw Error("invalid nodeClientOptions for Sentinel");if(options.clientSideCache)if(options.clientSideCache instanceof cache_1.PooledClientSideCacheProvider)this.#clientSideCache=this.#nodeClientOptions.clientSideCache=options.clientSideCache;else{let cscConfig=options.clientSideCache;this.#clientSideCache=this.#nodeClientOptions.clientSideCache=new cache_1.BasicPooledClientSideCache(cscConfig)}if(this.#sentinelClientOptions=options.sentinelClientOptions?Object.assign({},options.sentinelClientOptions):{},this.#sentinelClientOptions.modules=module_1.default,this.#sentinelClientOptions.url!==void 0)throw Error("invalid sentinelClientOptions for Sentinel");this.#masterClientQueue=new wait_queue_1.WaitQueue;for(let i=0;i<this.#masterPoolSize;i++)this.#masterClientQueue.push(i);this.#pubSubProxy=new pub_sub_proxy_1.PubSubProxy(this.#nodeClientOptions,(err)=>this.emit("error",err))}#createClient(node,clientOptions,reconnectStrategy){return client_1.default.create({RESP:this.#RESP,...clientOptions,socket:{...clientOptions.socket,host:node.host,port:node.port,...reconnectStrategy!==void 0&&{reconnectStrategy}}})}getClientLease(){let id2=this.#masterClientQueue.shift();if(id2!==void 0)return{id:id2};return this.#masterClientQueue.wait().then((id3)=>({id:id3}))}releaseClientLease(clientInfo){let client=this.#masterClients[clientInfo.id];if(client!==void 0){let dirtyPromise=client.resetIfDirty();if(dirtyPromise)return dirtyPromise.then(()=>this.#masterClientQueue.push(clientInfo.id))}this.#masterClientQueue.push(clientInfo.id)}async connect(){if(this.#isOpen)throw Error("already attempting to open");try{this.#isOpen=!0,this.#connectPromise=this.#connect(),await this.#connectPromise,this.#isReady=!0}finally{if(this.#connectPromise=void 0,this.#scanInterval>0)this.#scanTimer=setInterval(this.#reset.bind(this),this.#scanInterval)}}async#connect(){let count32=0;while(!0){if(this.#trace("starting connect loop"),count32+=1,this.#destroy){this.#trace("in #connect and want to destroy");return}try{if(this.#anotherReset=!1,await this.transform(this.analyze(await this.observe())),this.#anotherReset){this.#trace("#connect: anotherReset is true, so continuing");continue}this.#trace("#connect: returning");return}catch(e){if(this.#trace(`#connect: exception ${e.message}`),!this.#isReady&&count32>this.#maxCommandRediscovers)throw e;if(e.message!=="no valid master node")console.log(e);await(0,promises_1.setTimeout)(1000)}finally{this.#trace("finished connect")}}}async execute(fn2,clientInfo){let iter=0;while(!0){if(this.#connectPromise!==void 0)await this.#connectPromise;let client=this.#getClient(clientInfo);if(!client.isReady){await this.#reset();continue}let sockOpts=client.options?.socket;this.#trace("attemping to send command to "+sockOpts?.host+":"+sockOpts?.port);try{return await fn2(client)}catch(err){if(++iter>this.#maxCommandRediscovers||!(err instanceof Error))throw err;if(clientInfo!==void 0&&(err.message.startsWith("READONLY")||!client.isReady)){await this.#reset();continue}throw err}}}async#createPubSub(client){return await client.pSubscribe(["switch-master","[-+]sdown","+slave","+sentinel","[-+]odown","+slave-reconf-done"],(message,channel)=>{this.#handlePubSubControlChannel(channel,message)},!0),client}async#handlePubSubControlChannel(channel,message){this.#trace("pubsub control channel message on "+channel),this.#reset()}#getClient(clientInfo){if(clientInfo!==void 0)return this.#masterClients[clientInfo.id];if(this.#replicaClientsIdx>=this.#replicaClients.length)this.#replicaClientsIdx=0;if(this.#replicaClients.length==0)throw Error("no replicas available for read");return this.#replicaClients[this.#replicaClientsIdx++]}async#reset(){if(this.#isReady==!1||this.#destroy==!0)return;if(this.#connectPromise!==void 0)return this.#anotherReset=!0,await this.#connectPromise;try{return this.#connectPromise=this.#connect(),await this.#connectPromise}finally{this.#trace("finished reconfgure"),this.#connectPromise=void 0}}#handleSentinelFailure(node){let found=this.#sentinelRootNodes.findIndex((rootNode)=>rootNode.host===node.host&&rootNode.port===node.port);if(found!==-1)this.#sentinelRootNodes.splice(found,1);this.#reset()}async close(){if(this.#destroy=!0,this.#connectPromise!=null)await this.#connectPromise;if(this.#isReady=!1,this.#clientSideCache?.onPoolClose(),this.#scanTimer)clearInterval(this.#scanTimer),this.#scanTimer=void 0;let promises=[];if(this.#sentinelClient!==void 0){if(this.#sentinelClient.isOpen)promises.push(this.#sentinelClient.close());this.#sentinelClient=void 0}for(let client of this.#masterClients)if(client.isOpen)promises.push(client.close());this.#masterClients=[];for(let client of this.#replicaClients)if(client.isOpen)promises.push(client.close());this.#replicaClients=[],await Promise.all(promises),this.#pubSubProxy.destroy(),this.#isOpen=!1}async destroy(){if(this.#destroy=!0,this.#connectPromise!=null)await this.#connectPromise;if(this.#isReady=!1,this.#clientSideCache?.onPoolClose(),this.#scanTimer)clearInterval(this.#scanTimer),this.#scanTimer=void 0;if(this.#sentinelClient!==void 0){if(this.#sentinelClient.isOpen)this.#sentinelClient.destroy();this.#sentinelClient=void 0}for(let client of this.#masterClients)if(client.isOpen)client.destroy();this.#masterClients=[];for(let client of this.#replicaClients)if(client.isOpen)client.destroy();this.#replicaClients=[],this.#pubSubProxy.destroy(),this.#isOpen=!1,this.#destroy=!1}async subscribe(channels,listener,bufferMode){return this.#pubSubProxy.subscribe(channels,listener,bufferMode)}async unsubscribe(channels,listener,bufferMode){return this.#pubSubProxy.unsubscribe(channels,listener,bufferMode)}async pSubscribe(patterns,listener,bufferMode){return this.#pubSubProxy.pSubscribe(patterns,listener,bufferMode)}async pUnsubscribe(patterns,listener,bufferMode){return this.#pubSubProxy.pUnsubscribe(patterns,listener,bufferMode)}async observe(){for(let node of this.#sentinelRootNodes){let client;try{this.#trace(`observe: trying to connect to sentinel: ${node.host}:${node.port}`),client=this.#createClient(node,this.#sentinelClientOptions,!1),client.on("error",(err)=>this.emit("error",`obseve client error: ${err}`)),await client.connect(),this.#trace("observe: connected to sentinel");let[sentinelData,masterData,replicaData]=await Promise.all([client.sentinel.sentinelSentinels(this.#name),client.sentinel.sentinelMaster(this.#name),client.sentinel.sentinelReplicas(this.#name)]);return this.#trace("observe: got all sentinel data"),{sentinelConnected:node,sentinelData,masterData,replicaData,currentMaster:this.getMasterNode(),currentReplicas:this.getReplicaNodes(),currentSentinel:this.getSentinelNode(),replicaPoolSize:this.#replicaPoolSize,useReplicas:this.useReplicas}}catch(err){this.#trace(`observe: error ${err}`),this.emit("error",err)}finally{if(client!==void 0&&client.isOpen)this.#trace("observe: destroying sentinel client"),client.destroy()}}throw this.#trace("observe: none of the sentinels are available"),Error("None of the sentinels are available")}analyze(observed){let master=(0,utils_1.parseNode)(observed.masterData);if(master===void 0)throw this.#trace(`analyze: no valid master node because ${observed.masterData.flags}`),Error("no valid master node");if(master.host===observed.currentMaster?.host&&master.port===observed.currentMaster?.port)this.#trace(`analyze: master node hasn't changed from ${observed.currentMaster?.host}:${observed.currentMaster?.port}`),master=void 0;else this.#trace(`analyze: master node has changed to ${master.host}:${master.port} from ${observed.currentMaster?.host}:${observed.currentMaster?.port}`);let sentinel=observed.sentinelConnected;if(sentinel.host===observed.currentSentinel?.host&&sentinel.port===observed.currentSentinel.port)this.#trace("analyze: sentinel node hasn't changed"),sentinel=void 0;else this.#trace(`analyze: sentinel node has changed to ${sentinel.host}:${sentinel.port}`);let replicasToClose=[],replicasToOpen=new Map,desiredSet=new Set,seen=new Set;if(observed.useReplicas){let replicaList=(0,utils_1.createNodeList)(observed.replicaData);for(let node of replicaList)desiredSet.add(JSON.stringify(node));for(let[node,value]of observed.currentReplicas)if(!desiredSet.has(JSON.stringify(node)))replicasToClose.push(node),this.#trace(`analyze: adding ${node.host}:${node.port} to replicsToClose`);else if(seen.add(JSON.stringify(node)),value!=observed.replicaPoolSize)replicasToOpen.set(node,observed.replicaPoolSize-value),this.#trace(`analyze: adding ${node.host}:${node.port} to replicsToOpen`);for(let node of replicaList)if(!seen.has(JSON.stringify(node)))replicasToOpen.set(node,observed.replicaPoolSize),this.#trace(`analyze: adding ${node.host}:${node.port} to replicsToOpen`)}return{sentinelList:[observed.sentinelConnected].concat((0,utils_1.createNodeList)(observed.sentinelData)),epoch:Number(observed.masterData["config-epoch"]),sentinelToOpen:sentinel,masterToOpen:master,replicasToClose,replicasToOpen}}async transform(analyzed){this.#trace("transform: enter");let promises=[];if(analyzed.sentinelToOpen){if(this.#trace("transform: opening a new sentinel"),this.#sentinelClient!==void 0&&this.#sentinelClient.isOpen)this.#trace("transform: destroying old sentinel as open"),this.#sentinelClient.destroy(),this.#sentinelClient=void 0;else this.#trace("transform: not destroying old sentinel as not open");this.#trace(`transform: creating new sentinel to ${analyzed.sentinelToOpen.host}:${analyzed.sentinelToOpen.port}`);let node=analyzed.sentinelToOpen,client=this.#createClient(analyzed.sentinelToOpen,this.#sentinelClientOptions,!1);client.on("error",(err)=>{if(this.#passthroughClientErrorEvents)this.emit("error",Error(`Sentinel Client (${node.host}:${node.port}): ${err.message}`,{cause:err}));let event2={type:"SENTINEL",node:(0,utils_1.clientSocketToNode)(client.options.socket),error:err};this.emit("client-error",event2),this.#handleSentinelFailure(node)}).on("end",()=>this.#handleSentinelFailure(node)),this.#sentinelClient=client,this.#trace("transform: adding sentinel client connect() to promise list");let promise3=this.#sentinelClient.connect().then((client2)=>{return this.#createPubSub(client2)});promises.push(promise3),this.#trace(`created sentinel client to ${analyzed.sentinelToOpen.host}:${analyzed.sentinelToOpen.port}`);let event={type:"SENTINEL_CHANGE",node:analyzed.sentinelToOpen};if(this.#trace("transform: emiting topology-change event for sentinel_change"),!this.emit("topology-change",event))this.#trace("transform: emit for topology-change for sentinel_change returned false")}if(analyzed.masterToOpen){this.#trace("transform: opening a new master");let masterPromises=[],masterWatches=[];this.#trace("transform: destroying old masters if open");for(let client of this.#masterClients)if(masterWatches.push(client.isWatching||client.isDirtyWatch),client.isOpen)client.destroy();this.#masterClients=[],this.#trace("transform: creating all master clients and adding connect promises");for(let i=0;i<this.#masterPoolSize;i++){let node=analyzed.masterToOpen,client=this.#createClient(analyzed.masterToOpen,this.#nodeClientOptions);if(client.on("error",(err)=>{if(this.#passthroughClientErrorEvents)this.emit("error",Error(`Master Client (${node.host}:${node.port}): ${err.message}`,{cause:err}));let event2={type:"MASTER",node:(0,utils_1.clientSocketToNode)(client.options.socket),error:err};this.emit("client-error",event2)}),masterWatches[i])client.setDirtyWatch("sentinel config changed in middle of a WATCH Transaction");this.#masterClients.push(client),masterPromises.push(client.connect()),this.#trace(`created master client to ${analyzed.masterToOpen.host}:${analyzed.masterToOpen.port}`)}this.#trace("transform: adding promise to change #pubSubProxy node"),masterPromises.push(this.#pubSubProxy.changeNode(analyzed.masterToOpen)),promises.push(...masterPromises);let event={type:"MASTER_CHANGE",node:analyzed.masterToOpen};if(this.#trace("transform: emiting topology-change event for master_change"),!this.emit("topology-change",event))this.#trace("transform: emit for topology-change for master_change returned false");this.#configEpoch++}let replicaCloseSet=new Set;for(let node of analyzed.replicasToClose){let str=JSON.stringify(node);replicaCloseSet.add(str)}let newClientList=[],removedSet=new Set;for(let replica of this.#replicaClients){let node=(0,utils_1.clientSocketToNode)(replica.options.socket),str=JSON.stringify(node);if(replicaCloseSet.has(str)||!replica.isOpen){if(replica.isOpen){let sockOpts=replica.options?.socket;this.#trace(`destroying replica client to ${sockOpts?.host}:${sockOpts?.port}`),replica.destroy()}if(!removedSet.has(str)){let event={type:"REPLICA_REMOVE",node};this.emit("topology-change",event),removedSet.add(str)}}else newClientList.push(replica)}if(this.#replicaClients=newClientList,analyzed.replicasToOpen.size!=0)for(let[node,size14]of analyzed.replicasToOpen){for(let i=0;i<size14;i++){let client=this.#createClient(node,this.#nodeClientOptions);client.on("error",(err)=>{if(this.#passthroughClientErrorEvents)this.emit("error",Error(`Replica Client (${node.host}:${node.port}): ${err.message}`,{cause:err}));let event2={type:"REPLICA",node:(0,utils_1.clientSocketToNode)(client.options.socket),error:err};this.emit("client-error",event2)}),this.#replicaClients.push(client),promises.push(client.connect()),this.#trace(`created replica client to ${node.host}:${node.port}`)}let event={type:"REPLICA_ADD",node};this.emit("topology-change",event)}if(analyzed.sentinelList.length!=this.#sentinelRootNodes.length){this.#sentinelRootNodes=analyzed.sentinelList;let event={type:"SENTINE_LIST_CHANGE",size:analyzed.sentinelList.length};this.emit("topology-change",event)}await Promise.all(promises),this.#trace("transform: exit")}getMasterNode(){if(this.#masterClients.length==0)return;for(let master of this.#masterClients)if(master.isReady)return(0,utils_1.clientSocketToNode)(master.options.socket);return}getSentinelNode(){if(this.#sentinelClient===void 0)return;return(0,utils_1.clientSocketToNode)(this.#sentinelClient.options.socket)}getReplicaNodes(){let ret=new Map,initialMap=new Map;for(let replica of this.#replicaClients){let node=(0,utils_1.clientSocketToNode)(replica.options.socket),hash2=JSON.stringify(node);if(replica.isReady)initialMap.set(hash2,(initialMap.get(hash2)??0)+1);else if(!initialMap.has(hash2))initialMap.set(hash2,0)}for(let[key,value]of initialMap)ret.set(JSON.parse(key),value);return ret}setTracer(tracer3){if(tracer3)this.#trace=(msg)=>{tracer3.push(msg)};else this.#trace=()=>{}}}class RedisSentinelFactory extends node_events_1.EventEmitter{options;#sentinelRootNodes;#replicaIdx=-1;constructor(options){super();this.options=options,this.#sentinelRootNodes=options.sentinelRootNodes}async updateSentinelRootNodes(){for(let node of this.#sentinelRootNodes){let client=client_1.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:node.host,port:node.port,reconnectStrategy:!1},modules:module_1.default}).on("error",(err)=>this.emit(`updateSentinelRootNodes: ${err}`));try{await client.connect()}catch{if(client.isOpen)client.destroy();continue}try{let sentinelData=await client.sentinel.sentinelSentinels(this.options.name);this.#sentinelRootNodes=[node].concat((0,utils_1.createNodeList)(sentinelData));return}finally{client.destroy()}}throw Error("Couldn't connect to any sentinel node")}async getMasterNode(){let connected=!1;for(let node of this.#sentinelRootNodes){let client=client_1.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:node.host,port:node.port,reconnectStrategy:!1},modules:module_1.default}).on("error",(err)=>this.emit(`getMasterNode: ${err}`));try{await client.connect()}catch{if(client.isOpen)client.destroy();continue}connected=!0;try{let masterData=await client.sentinel.sentinelMaster(this.options.name),master=(0,utils_1.parseNode)(masterData);if(master===void 0)continue;return master}finally{client.destroy()}}if(connected)throw Error("Master Node Not Enumerated");throw Error("couldn't connect to any sentinels")}async getMasterClient(){let master=await this.getMasterNode();return client_1.default.create({...this.options.nodeClientOptions,socket:{...this.options.nodeClientOptions?.socket,host:master.host,port:master.port}})}async getReplicaNodes(){let connected=!1;for(let node of this.#sentinelRootNodes){let client=client_1.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:node.host,port:node.port,reconnectStrategy:!1},modules:module_1.default}).on("error",(err)=>this.emit(`getReplicaNodes: ${err}`));try{await client.connect()}catch{if(client.isOpen)client.destroy();continue}connected=!0;try{let replicaData=await client.sentinel.sentinelReplicas(this.options.name),replicas=(0,utils_1.createNodeList)(replicaData);if(replicas.length==0)continue;return replicas}finally{client.destroy()}}if(connected)throw Error("No Replicas Nodes Enumerated");throw Error("couldn't connect to any sentinels")}async getReplicaClient(){let replicas=await this.getReplicaNodes();if(replicas.length==0)throw Error("no available replicas");if(this.#replicaIdx++,this.#replicaIdx>=replicas.length)this.#replicaIdx=0;return client_1.default.create({...this.options.nodeClientOptions,socket:{...this.options.nodeClientOptions?.socket,host:replicas[this.#replicaIdx].host,port:replicas[this.#replicaIdx].port}})}}exports.RedisSentinelFactory=RedisSentinelFactory}),require_dist=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p))__createBinding(exports2,m,p)},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BasicPooledClientSideCache=exports.BasicClientSideCache=exports.REDIS_FLUSH_MODES=exports.COMMAND_LIST_FILTER_BY=exports.CLUSTER_SLOT_STATES=exports.FAILOVER_MODES=exports.CLIENT_KILL_FILTERS=exports.GEO_REPLY_WITH=exports.createSentinel=exports.createCluster=exports.createClientPool=exports.createClient=exports.defineScript=exports.VerbatimString=exports.RESP_TYPES=void 0;var decoder_1=require_decoder();Object.defineProperty(exports,"RESP_TYPES",{enumerable:!0,get:function(){return decoder_1.RESP_TYPES}});var verbatim_string_1=require_verbatim_string();Object.defineProperty(exports,"VerbatimString",{enumerable:!0,get:function(){return verbatim_string_1.VerbatimString}});var lua_script_1=require_lua_script();Object.defineProperty(exports,"defineScript",{enumerable:!0,get:function(){return lua_script_1.defineScript}}),__exportStar(require_errors(),exports);var client_1=__importDefault(require_client());exports.createClient=client_1.default.create;var pool_1=require_pool();exports.createClientPool=pool_1.RedisClientPool.create;var cluster_1=__importDefault(require_cluster());exports.createCluster=cluster_1.default.create;var sentinel_1=__importDefault(require_sentinel());exports.createSentinel=sentinel_1.default.create;var GEOSEARCH_WITH_1=require_GEOSEARCH_WITH();Object.defineProperty(exports,"GEO_REPLY_WITH",{enumerable:!0,get:function(){return GEOSEARCH_WITH_1.GEO_REPLY_WITH}});var commands_1=require_commands();Object.defineProperty(exports,"CLIENT_KILL_FILTERS",{enumerable:!0,get:function(){return commands_1.CLIENT_KILL_FILTERS}}),Object.defineProperty(exports,"FAILOVER_MODES",{enumerable:!0,get:function(){return commands_1.FAILOVER_MODES}}),Object.defineProperty(exports,"CLUSTER_SLOT_STATES",{enumerable:!0,get:function(){return commands_1.CLUSTER_SLOT_STATES}}),Object.defineProperty(exports,"COMMAND_LIST_FILTER_BY",{enumerable:!0,get:function(){return commands_1.COMMAND_LIST_FILTER_BY}}),Object.defineProperty(exports,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return commands_1.REDIS_FLUSH_MODES}});var cache_1=require_cache();Object.defineProperty(exports,"BasicClientSideCache",{enumerable:!0,get:function(){return cache_1.BasicClientSideCache}}),Object.defineProperty(exports,"BasicPooledClientSideCache",{enumerable:!0,get:function(){return cache_1.BasicPooledClientSideCache}})}),require_ADD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,item){parser.push("BF.ADD"),parser.pushKey(key),parser.push(item)},transformReply:generic_transformers_1.transformBooleanReply}}),require_CARD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("BF.CARD"),parser.pushKey(key)},transformReply:void 0}}),require_EXISTS2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,item){parser.push("BF.EXISTS"),parser.pushKey(key),parser.push(item)},transformReply:generic_transformers_1.transformBooleanReply}}),require_helpers=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformInfoV2Reply=void 0;var client_1=require_dist();function transformInfoV2Reply(reply,typeMapping){switch(typeMapping?typeMapping[client_1.RESP_TYPES.MAP]:void 0){case Array:return reply;case Map:{let ret=new Map;for(let i=0;i<reply.length;i+=2)ret.set(reply[i].toString(),reply[i+1]);return ret}default:{let ret=Object.create(null);for(let i=0;i<reply.length;i+=2)ret[reply[i].toString()]=reply[i+1];return ret}}}exports.transformInfoV2Reply=transformInfoV2Reply}),require_INFO2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("BF.INFO"),parser.pushKey(key)},transformReply:{2:(reply,_,typeMapping)=>{return(0,helpers_1.transformInfoV2Reply)(reply,typeMapping)},3:void 0}}}),require_INSERT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,items,options){if(parser.push("BF.INSERT"),parser.pushKey(key),options?.CAPACITY!==void 0)parser.push("CAPACITY",options.CAPACITY.toString());if(options?.ERROR!==void 0)parser.push("ERROR",options.ERROR.toString());if(options?.EXPANSION!==void 0)parser.push("EXPANSION",options.EXPANSION.toString());if(options?.NOCREATE)parser.push("NOCREATE");if(options?.NONSCALING)parser.push("NONSCALING");parser.push("ITEMS"),parser.pushVariadic(items)},transformReply:generic_transformers_1.transformBooleanArrayReply}}),require_LOADCHUNK=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,iterator,chunk32){parser.push("BF.LOADCHUNK"),parser.pushKey(key),parser.push(iterator.toString(),chunk32)},transformReply:void 0}}),require_MADD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,items){parser.push("BF.MADD"),parser.pushKey(key),parser.pushVariadic(items)},transformReply:generic_transformers_1.transformBooleanArrayReply}}),require_MEXISTS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,items){parser.push("BF.MEXISTS"),parser.pushKey(key),parser.pushVariadic(items)},transformReply:generic_transformers_1.transformBooleanArrayReply}}),require_RESERVE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,errorRate,capacity7,options){if(parser.push("BF.RESERVE"),parser.pushKey(key),parser.push(errorRate.toString(),capacity7.toString()),options?.EXPANSION)parser.push("EXPANSION",options.EXPANSION.toString());if(options?.NONSCALING)parser.push("NONSCALING")},transformReply:void 0}}),require_SCANDUMP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,iterator){parser.push("BF.SCANDUMP"),parser.pushKey(key),parser.push(iterator.toString())},transformReply(reply){return{iterator:reply[0],chunk:reply[1]}}}}),require_bloom=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p))__createBinding(exports2,m,p)},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ADD_1=__importDefault(require_ADD()),CARD_1=__importDefault(require_CARD()),EXISTS_1=__importDefault(require_EXISTS2()),INFO_1=__importDefault(require_INFO2()),INSERT_1=__importDefault(require_INSERT()),LOADCHUNK_1=__importDefault(require_LOADCHUNK()),MADD_1=__importDefault(require_MADD()),MEXISTS_1=__importDefault(require_MEXISTS()),RESERVE_1=__importDefault(require_RESERVE()),SCANDUMP_1=__importDefault(require_SCANDUMP());__exportStar(require_helpers(),exports),exports.default={ADD:ADD_1.default,add:ADD_1.default,CARD:CARD_1.default,card:CARD_1.default,EXISTS:EXISTS_1.default,exists:EXISTS_1.default,INFO:INFO_1.default,info:INFO_1.default,INSERT:INSERT_1.default,insert:INSERT_1.default,LOADCHUNK:LOADCHUNK_1.default,loadChunk:LOADCHUNK_1.default,MADD:MADD_1.default,mAdd:MADD_1.default,MEXISTS:MEXISTS_1.default,mExists:MEXISTS_1.default,RESERVE:RESERVE_1.default,reserve:RESERVE_1.default,SCANDUMP:SCANDUMP_1.default,scanDump:SCANDUMP_1.default}}),require_INCRBY2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,items){if(parser.push("CMS.INCRBY"),parser.pushKey(key),Array.isArray(items))for(let item of items)pushIncrByItem(parser,item);else pushIncrByItem(parser,items)},transformReply:void 0};function pushIncrByItem(parser,{item,incrementBy}){parser.push(item,incrementBy.toString())}}),require_INFO3=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var bloom_1=require_bloom();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("CMS.INFO"),parser.pushKey(key)},transformReply:{2:(reply,_,typeMapping)=>{return(0,bloom_1.transformInfoV2Reply)(reply,typeMapping)},3:void 0}}}),require_INITBYDIM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,width,depth){parser.push("CMS.INITBYDIM"),parser.pushKey(key),parser.push(width.toString(),depth.toString())},transformReply:void 0}}),require_INITBYPROB=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,error3,probability){parser.push("CMS.INITBYPROB"),parser.pushKey(key),parser.push(error3.toString(),probability.toString())},transformReply:void 0}}),require_MERGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,source){if(parser.push("CMS.MERGE"),parser.pushKey(destination),parser.push(source.length.toString()),isPlainSketches(source))parser.pushVariadic(source);else{for(let i=0;i<source.length;i++)parser.push(source[i].name);parser.push("WEIGHTS");for(let i=0;i<source.length;i++)parser.push(source[i].weight.toString())}},transformReply:void 0};function isPlainSketches(src){return typeof src[0]==="string"||src[0]instanceof Buffer}}),require_QUERY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,items){parser.push("CMS.QUERY"),parser.pushKey(key),parser.pushVariadic(items)},transformReply:void 0}}),require_count_min_sketch=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var INCRBY_1=__importDefault(require_INCRBY2()),INFO_1=__importDefault(require_INFO3()),INITBYDIM_1=__importDefault(require_INITBYDIM()),INITBYPROB_1=__importDefault(require_INITBYPROB()),MERGE_1=__importDefault(require_MERGE()),QUERY_1=__importDefault(require_QUERY());exports.default={INCRBY:INCRBY_1.default,incrBy:INCRBY_1.default,INFO:INFO_1.default,info:INFO_1.default,INITBYDIM:INITBYDIM_1.default,initByDim:INITBYDIM_1.default,INITBYPROB:INITBYPROB_1.default,initByProb:INITBYPROB_1.default,MERGE:MERGE_1.default,merge:MERGE_1.default,QUERY:QUERY_1.default,query:QUERY_1.default}}),require_ADD2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,item){parser.push("CF.ADD"),parser.pushKey(key),parser.push(item)},transformReply:generic_transformers_1.transformBooleanReply}}),require_ADDNX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,item){parser.push("CF.ADDNX"),parser.pushKey(key),parser.push(item)},transformReply:generic_transformers_1.transformBooleanReply}}),require_COUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,item){parser.push("CF.COUNT"),parser.pushKey(key),parser.push(item)},transformReply:void 0}}),require_DEL2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,item){parser.push("CF.DEL"),parser.pushKey(key),parser.push(item)},transformReply:generic_transformers_1.transformBooleanReply}}),require_EXISTS3=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,item){parser.push("CF.EXISTS"),parser.pushKey(key),parser.push(item)},transformReply:generic_transformers_1.transformBooleanReply}}),require_INFO4=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var bloom_1=require_bloom();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("CF.INFO"),parser.pushKey(key)},transformReply:{2:(reply,_,typeMapping)=>{return(0,bloom_1.transformInfoV2Reply)(reply,typeMapping)},3:void 0}}}),require_INSERT2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseCfInsertArguments=void 0;var generic_transformers_1=require_generic_transformers();function parseCfInsertArguments(parser,key,items,options){if(parser.pushKey(key),options?.CAPACITY!==void 0)parser.push("CAPACITY",options.CAPACITY.toString());if(options?.NOCREATE)parser.push("NOCREATE");parser.push("ITEMS"),parser.pushVariadic(items)}exports.parseCfInsertArguments=parseCfInsertArguments,exports.default={IS_READ_ONLY:!1,parseCommand(...args2){args2[0].push("CF.INSERT"),parseCfInsertArguments(...args2)},transformReply:generic_transformers_1.transformBooleanArrayReply}}),require_INSERTNX=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var INSERT_1=__importStar(require_INSERT2());exports.default={IS_READ_ONLY:INSERT_1.default.IS_READ_ONLY,parseCommand(...args2){args2[0].push("CF.INSERTNX"),(0,INSERT_1.parseCfInsertArguments)(...args2)},transformReply:INSERT_1.default.transformReply}}),require_LOADCHUNK2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,iterator,chunk32){parser.push("CF.LOADCHUNK"),parser.pushKey(key),parser.push(iterator.toString(),chunk32)},transformReply:void 0}}),require_RESERVE2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,capacity7,options){if(parser.push("CF.RESERVE"),parser.pushKey(key),parser.push(capacity7.toString()),options?.BUCKETSIZE!==void 0)parser.push("BUCKETSIZE",options.BUCKETSIZE.toString());if(options?.MAXITERATIONS!==void 0)parser.push("MAXITERATIONS",options.MAXITERATIONS.toString());if(options?.EXPANSION!==void 0)parser.push("EXPANSION",options.EXPANSION.toString())},transformReply:void 0}}),require_SCANDUMP2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,iterator){parser.push("CF.SCANDUMP"),parser.pushKey(key),parser.push(iterator.toString())},transformReply(reply){return{iterator:reply[0],chunk:reply[1]}}}}),require_cuckoo=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ADD_1=__importDefault(require_ADD2()),ADDNX_1=__importDefault(require_ADDNX()),COUNT_1=__importDefault(require_COUNT()),DEL_1=__importDefault(require_DEL2()),EXISTS_1=__importDefault(require_EXISTS3()),INFO_1=__importDefault(require_INFO4()),INSERT_1=__importDefault(require_INSERT2()),INSERTNX_1=__importDefault(require_INSERTNX()),LOADCHUNK_1=__importDefault(require_LOADCHUNK2()),RESERVE_1=__importDefault(require_RESERVE2()),SCANDUMP_1=__importDefault(require_SCANDUMP2());exports.default={ADD:ADD_1.default,add:ADD_1.default,ADDNX:ADDNX_1.default,addNX:ADDNX_1.default,COUNT:COUNT_1.default,count:COUNT_1.default,DEL:DEL_1.default,del:DEL_1.default,EXISTS:EXISTS_1.default,exists:EXISTS_1.default,INFO:INFO_1.default,info:INFO_1.default,INSERT:INSERT_1.default,insert:INSERT_1.default,INSERTNX:INSERTNX_1.default,insertNX:INSERTNX_1.default,LOADCHUNK:LOADCHUNK_1.default,loadChunk:LOADCHUNK_1.default,RESERVE:RESERVE_1.default,reserve:RESERVE_1.default,SCANDUMP:SCANDUMP_1.default,scanDump:SCANDUMP_1.default}}),require_ADD3=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,values3){parser.push("TDIGEST.ADD"),parser.pushKey(key);for(let value of values3)parser.push(value.toString())},transformReply:void 0}}),require_BYRANK=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformByRankArguments=void 0;var generic_transformers_1=require_generic_transformers();function transformByRankArguments(parser,key,ranks){parser.pushKey(key);for(let rank of ranks)parser.push(rank.toString())}exports.transformByRankArguments=transformByRankArguments,exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("TDIGEST.BYRANK"),transformByRankArguments(...args2)},transformReply:generic_transformers_1.transformDoubleArrayReply}}),require_BYREVRANK=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var BYRANK_1=__importStar(require_BYRANK());exports.default={IS_READ_ONLY:BYRANK_1.default.IS_READ_ONLY,parseCommand(...args2){args2[0].push("TDIGEST.BYREVRANK"),(0,BYRANK_1.transformByRankArguments)(...args2)},transformReply:BYRANK_1.default.transformReply}}),require_CDF=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,values3){parser.push("TDIGEST.CDF"),parser.pushKey(key);for(let item of values3)parser.push(item.toString())},transformReply:generic_transformers_1.transformDoubleArrayReply}}),require_CREATE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("TDIGEST.CREATE"),parser.pushKey(key),options?.COMPRESSION!==void 0)parser.push("COMPRESSION",options.COMPRESSION.toString())},transformReply:void 0}}),require_INFO5=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var bloom_1=require_bloom();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TDIGEST.INFO"),parser.pushKey(key)},transformReply:{2:(reply,_,typeMapping)=>{return(0,bloom_1.transformInfoV2Reply)(reply,typeMapping)},3:void 0}}}),require_MAX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TDIGEST.MAX"),parser.pushKey(key)},transformReply:generic_transformers_1.transformDoubleReply}}),require_MERGE2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,source,options){if(parser.push("TDIGEST.MERGE"),parser.pushKey(destination),parser.pushKeysLength(source),options?.COMPRESSION!==void 0)parser.push("COMPRESSION",options.COMPRESSION.toString());if(options?.OVERRIDE)parser.push("OVERRIDE")},transformReply:void 0}}),require_MIN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TDIGEST.MIN"),parser.pushKey(key)},transformReply:generic_transformers_1.transformDoubleReply}}),require_QUANTILE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,quantiles){parser.push("TDIGEST.QUANTILE"),parser.pushKey(key);for(let quantile of quantiles)parser.push(quantile.toString())},transformReply:generic_transformers_1.transformDoubleArrayReply}}),require_RANK=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformRankArguments=void 0;function transformRankArguments(parser,key,values3){parser.pushKey(key);for(let value of values3)parser.push(value.toString())}exports.transformRankArguments=transformRankArguments,exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("TDIGEST.RANK"),transformRankArguments(...args2)},transformReply:void 0}}),require_RESET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key){parser.push("TDIGEST.RESET"),parser.pushKey(key)},transformReply:void 0}}),require_REVRANK=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var RANK_1=__importStar(require_RANK());exports.default={IS_READ_ONLY:RANK_1.default.IS_READ_ONLY,parseCommand(...args2){args2[0].push("TDIGEST.REVRANK"),(0,RANK_1.transformRankArguments)(...args2)},transformReply:RANK_1.default.transformReply}}),require_TRIMMED_MEAN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,lowCutPercentile,highCutPercentile){parser.push("TDIGEST.TRIMMED_MEAN"),parser.pushKey(key),parser.push(lowCutPercentile.toString(),highCutPercentile.toString())},transformReply:generic_transformers_1.transformDoubleReply}}),require_t_digest=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ADD_1=__importDefault(require_ADD3()),BYRANK_1=__importDefault(require_BYRANK()),BYREVRANK_1=__importDefault(require_BYREVRANK()),CDF_1=__importDefault(require_CDF()),CREATE_1=__importDefault(require_CREATE()),INFO_1=__importDefault(require_INFO5()),MAX_1=__importDefault(require_MAX()),MERGE_1=__importDefault(require_MERGE2()),MIN_1=__importDefault(require_MIN()),QUANTILE_1=__importDefault(require_QUANTILE()),RANK_1=__importDefault(require_RANK()),RESET_1=__importDefault(require_RESET()),REVRANK_1=__importDefault(require_REVRANK()),TRIMMED_MEAN_1=__importDefault(require_TRIMMED_MEAN());exports.default={ADD:ADD_1.default,add:ADD_1.default,BYRANK:BYRANK_1.default,byRank:BYRANK_1.default,BYREVRANK:BYREVRANK_1.default,byRevRank:BYREVRANK_1.default,CDF:CDF_1.default,cdf:CDF_1.default,CREATE:CREATE_1.default,create:CREATE_1.default,INFO:INFO_1.default,info:INFO_1.default,MAX:MAX_1.default,max:MAX_1.default,MERGE:MERGE_1.default,merge:MERGE_1.default,MIN:MIN_1.default,min:MIN_1.default,QUANTILE:QUANTILE_1.default,quantile:QUANTILE_1.default,RANK:RANK_1.default,rank:RANK_1.default,RESET:RESET_1.default,reset:RESET_1.default,REVRANK:REVRANK_1.default,revRank:REVRANK_1.default,TRIMMED_MEAN:TRIMMED_MEAN_1.default,trimmedMean:TRIMMED_MEAN_1.default}}),require_ADD4=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,items){parser.push("TOPK.ADD"),parser.pushKey(key),parser.pushVariadic(items)},transformReply:void 0}}),require_COUNT2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,items){parser.push("TOPK.COUNT"),parser.pushKey(key),parser.pushVariadic(items)},transformReply:void 0}}),require_INCRBY3=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});function pushIncrByItem(parser,{item,incrementBy}){parser.push(item,incrementBy.toString())}exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,items){if(parser.push("TOPK.INCRBY"),parser.pushKey(key),Array.isArray(items))for(let item of items)pushIncrByItem(parser,item);else pushIncrByItem(parser,items)},transformReply:void 0}}),require_INFO6=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),bloom_1=require_bloom();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TOPK.INFO"),parser.pushKey(key)},transformReply:{2:(reply,preserve,typeMapping)=>{return reply[7]=generic_transformers_1.transformDoubleReply[2](reply[7],preserve,typeMapping),(0,bloom_1.transformInfoV2Reply)(reply,typeMapping)},3:void 0}}}),require_LIST_WITHCOUNT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TOPK.LIST"),parser.pushKey(key),parser.push("WITHCOUNT")},transformReply(rawReply){let reply=[];for(let i=0;i<rawReply.length;i++)reply.push({item:rawReply[i],count:rawReply[++i]});return reply}}}),require_LIST=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TOPK.LIST"),parser.pushKey(key)},transformReply:void 0}}),require_QUERY2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,items){parser.push("TOPK.QUERY"),parser.pushKey(key),parser.pushVariadic(items)},transformReply:generic_transformers_1.transformBooleanArrayReply}}),require_RESERVE3=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,topK,options){if(parser.push("TOPK.RESERVE"),parser.pushKey(key),parser.push(topK.toString()),options)parser.push(options.width.toString(),options.depth.toString(),options.decay.toString())},transformReply:void 0}}),require_top_k=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ADD_1=__importDefault(require_ADD4()),COUNT_1=__importDefault(require_COUNT2()),INCRBY_1=__importDefault(require_INCRBY3()),INFO_1=__importDefault(require_INFO6()),LIST_WITHCOUNT_1=__importDefault(require_LIST_WITHCOUNT()),LIST_1=__importDefault(require_LIST()),QUERY_1=__importDefault(require_QUERY2()),RESERVE_1=__importDefault(require_RESERVE3());exports.default={ADD:ADD_1.default,add:ADD_1.default,COUNT:COUNT_1.default,count:COUNT_1.default,INCRBY:INCRBY_1.default,incrBy:INCRBY_1.default,INFO:INFO_1.default,info:INFO_1.default,LIST_WITHCOUNT:LIST_WITHCOUNT_1.default,listWithCount:LIST_WITHCOUNT_1.default,LIST:LIST_1.default,list:LIST_1.default,QUERY:QUERY_1.default,query:QUERY_1.default,RESERVE:RESERVE_1.default,reserve:RESERVE_1.default}}),require_commands3=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var bloom_1=__importDefault(require_bloom()),count_min_sketch_1=__importDefault(require_count_min_sketch()),cuckoo_1=__importDefault(require_cuckoo()),t_digest_1=__importDefault(require_t_digest()),top_k_1=__importDefault(require_top_k());exports.default={bf:bloom_1.default,cms:count_min_sketch_1.default,cf:cuckoo_1.default,tDigest:t_digest_1.default,topK:top_k_1.default}}),require_lib2=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var commands_1=require_commands3();Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return __importDefault(commands_1).default}})}),require_ARRAPPEND=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,json,...jsons){parser.push("JSON.ARRAPPEND"),parser.pushKey(key),parser.push(path,(0,generic_transformers_1.transformRedisJsonArgument)(json));for(let i=0;i<jsons.length;i++)parser.push((0,generic_transformers_1.transformRedisJsonArgument)(jsons[i]))},transformReply:void 0}}),require_ARRINDEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,path,json,options){if(parser.push("JSON.ARRINDEX"),parser.pushKey(key),parser.push(path,(0,generic_transformers_1.transformRedisJsonArgument)(json)),options?.range){if(parser.push(options.range.start.toString()),options.range.stop!==void 0)parser.push(options.range.stop.toString())}},transformReply:void 0}}),require_ARRINSERT=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,index,json,...jsons){parser.push("JSON.ARRINSERT"),parser.pushKey(key),parser.push(path,index.toString(),(0,generic_transformers_1.transformRedisJsonArgument)(json));for(let i=0;i<jsons.length;i++)parser.push((0,generic_transformers_1.transformRedisJsonArgument)(jsons[i]))},transformReply:void 0}}),require_ARRLEN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("JSON.ARRLEN"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_ARRPOP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.ARRPOP"),parser.pushKey(key),options){if(parser.push(options.path),options.index!==void 0)parser.push(options.index.toString())}},transformReply(reply){return(0,generic_transformers_1.isArrayReply)(reply)?reply.map((item)=>(0,generic_transformers_1.transformRedisJsonNullReply)(item)):(0,generic_transformers_1.transformRedisJsonNullReply)(reply)}}}),require_ARRTRIM=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,start3,stop22){parser.push("JSON.ARRTRIM"),parser.pushKey(key),parser.push(path,start3.toString(),stop22.toString())},transformReply:void 0}}),require_CLEAR=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.CLEAR"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_DEBUG_MEMORY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.DEBUG","MEMORY"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_DEL3=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.DEL"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_FORGET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.FORGET"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_GET2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.GET"),parser.pushKey(key),options?.path!==void 0)parser.pushVariadic(options.path)},transformReply:generic_transformers_1.transformRedisJsonNullReply}}),require_MERGE3=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,value){parser.push("JSON.MERGE"),parser.pushKey(key),parser.push(path,(0,generic_transformers_1.transformRedisJsonArgument)(value))},transformReply:void 0}}),require_MGET2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys3,path){parser.push("JSON.MGET"),parser.pushKeys(keys3),parser.push(path)},transformReply(reply){return reply.map((json)=>(0,generic_transformers_1.transformRedisJsonNullReply)(json))}}}),require_MSET2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,items){parser.push("JSON.MSET");for(let i=0;i<items.length;i++)parser.pushKey(items[i].key),parser.push(items[i].path,(0,generic_transformers_1.transformRedisJsonArgument)(items[i].value))},transformReply:void 0}}),require_NUMINCRBY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,by){parser.push("JSON.NUMINCRBY"),parser.pushKey(key),parser.push(path,by.toString())},transformReply:{2:(reply)=>{return JSON.parse(reply.toString())},3:void 0}}}),require_NUMMULTBY=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var NUMINCRBY_1=__importDefault(require_NUMINCRBY());exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,by){parser.push("JSON.NUMMULTBY"),parser.pushKey(key),parser.push(path,by.toString())},transformReply:NUMINCRBY_1.default.transformReply}}),require_OBJKEYS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){if(parser.push("JSON.OBJKEYS"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_OBJLEN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("JSON.OBJLEN"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path)},transformReply:void 0}}),require_SET2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,json,options){if(parser.push("JSON.SET"),parser.pushKey(key),parser.push(path,(0,generic_transformers_1.transformRedisJsonArgument)(json)),options?.condition)parser.push(options?.condition);else if(options?.NX)parser.push("NX");else if(options?.XX)parser.push("XX")},transformReply:void 0}}),require_STRAPPEND=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,append4,options){if(parser.push("JSON.STRAPPEND"),parser.pushKey(key),options?.path!==void 0)parser.push(options.path);parser.push((0,generic_transformers_1.transformRedisJsonArgument)(append4))},transformReply:void 0}}),require_STRLEN2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("JSON.STRLEN"),parser.pushKey(key),options?.path)parser.push(options.path)},transformReply:void 0}}),require_TOGGLE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path){parser.push("JSON.TOGGLE"),parser.pushKey(key),parser.push(path)},transformReply:void 0}}),require_TYPE2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("JSON.TYPE"),parser.pushKey(key),options?.path)parser.push(options.path)},transformReply:{2:void 0,3:(reply)=>{return reply[0]}}}}),require_commands4=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformRedisJsonNullReply=exports.transformRedisJsonReply=exports.transformRedisJsonArgument=void 0;var ARRAPPEND_1=__importDefault(require_ARRAPPEND()),ARRINDEX_1=__importDefault(require_ARRINDEX()),ARRINSERT_1=__importDefault(require_ARRINSERT()),ARRLEN_1=__importDefault(require_ARRLEN()),ARRPOP_1=__importDefault(require_ARRPOP()),ARRTRIM_1=__importDefault(require_ARRTRIM()),CLEAR_1=__importDefault(require_CLEAR()),DEBUG_MEMORY_1=__importDefault(require_DEBUG_MEMORY()),DEL_1=__importDefault(require_DEL3()),FORGET_1=__importDefault(require_FORGET()),GET_1=__importDefault(require_GET2()),MERGE_1=__importDefault(require_MERGE3()),MGET_1=__importDefault(require_MGET2()),MSET_1=__importDefault(require_MSET2()),NUMINCRBY_1=__importDefault(require_NUMINCRBY()),NUMMULTBY_1=__importDefault(require_NUMMULTBY()),OBJKEYS_1=__importDefault(require_OBJKEYS()),OBJLEN_1=__importDefault(require_OBJLEN()),SET_1=__importDefault(require_SET2()),STRAPPEND_1=__importDefault(require_STRAPPEND()),STRLEN_1=__importDefault(require_STRLEN2()),TOGGLE_1=__importDefault(require_TOGGLE()),TYPE_1=__importDefault(require_TYPE2()),generic_transformers_1=require_generic_transformers();Object.defineProperty(exports,"transformRedisJsonArgument",{enumerable:!0,get:function(){return generic_transformers_1.transformRedisJsonArgument}}),Object.defineProperty(exports,"transformRedisJsonReply",{enumerable:!0,get:function(){return generic_transformers_1.transformRedisJsonReply}}),Object.defineProperty(exports,"transformRedisJsonNullReply",{enumerable:!0,get:function(){return generic_transformers_1.transformRedisJsonNullReply}}),exports.default={ARRAPPEND:ARRAPPEND_1.default,arrAppend:ARRAPPEND_1.default,ARRINDEX:ARRINDEX_1.default,arrIndex:ARRINDEX_1.default,ARRINSERT:ARRINSERT_1.default,arrInsert:ARRINSERT_1.default,ARRLEN:ARRLEN_1.default,arrLen:ARRLEN_1.default,ARRPOP:ARRPOP_1.default,arrPop:ARRPOP_1.default,ARRTRIM:ARRTRIM_1.default,arrTrim:ARRTRIM_1.default,CLEAR:CLEAR_1.default,clear:CLEAR_1.default,DEBUG_MEMORY:DEBUG_MEMORY_1.default,debugMemory:DEBUG_MEMORY_1.default,DEL:DEL_1.default,del:DEL_1.default,FORGET:FORGET_1.default,forget:FORGET_1.default,GET:GET_1.default,get:GET_1.default,MERGE:MERGE_1.default,merge:MERGE_1.default,MGET:MGET_1.default,mGet:MGET_1.default,MSET:MSET_1.default,mSet:MSET_1.default,NUMINCRBY:NUMINCRBY_1.default,numIncrBy:NUMINCRBY_1.default,NUMMULTBY:NUMMULTBY_1.default,numMultBy:NUMMULTBY_1.default,OBJKEYS:OBJKEYS_1.default,objKeys:OBJKEYS_1.default,OBJLEN:OBJLEN_1.default,objLen:OBJLEN_1.default,SET:SET_1.default,set:SET_1.default,STRAPPEND:STRAPPEND_1.default,strAppend:STRAPPEND_1.default,STRLEN:STRLEN_1.default,strLen:STRLEN_1.default,TOGGLE:TOGGLE_1.default,toggle:TOGGLE_1.default,TYPE:TYPE_1.default,type:TYPE_1.default}}),require_lib3=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var commands_1=require_commands4();Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return __importDefault(commands_1).default}})}),require__LIST=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser){parser.push("FT._LIST")},transformReply:{2:void 0,3:void 0}}}),require_CREATE2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.REDISEARCH_LANGUAGE=exports.parseSchema=exports.SCHEMA_GEO_SHAPE_COORD_SYSTEM=exports.VAMANA_COMPRESSION_ALGORITHM=exports.SCHEMA_VECTOR_FIELD_ALGORITHM=exports.SCHEMA_TEXT_FIELD_PHONETIC=exports.SCHEMA_FIELD_TYPE=void 0;var generic_transformers_1=require_generic_transformers();exports.SCHEMA_FIELD_TYPE={TEXT:"TEXT",NUMERIC:"NUMERIC",GEO:"GEO",TAG:"TAG",VECTOR:"VECTOR",GEOSHAPE:"GEOSHAPE"},exports.SCHEMA_TEXT_FIELD_PHONETIC={DM_EN:"dm:en",DM_FR:"dm:fr",FM_PT:"dm:pt",DM_ES:"dm:es"},exports.SCHEMA_VECTOR_FIELD_ALGORITHM={FLAT:"FLAT",HNSW:"HNSW",VAMANA:"SVS-VAMANA"},exports.VAMANA_COMPRESSION_ALGORITHM={LVQ4:"LVQ4",LVQ8:"LVQ8",LVQ4x4:"LVQ4x4",LVQ4x8:"LVQ4x8",LeanVec4x8:"LeanVec4x8",LeanVec8x8:"LeanVec8x8"},exports.SCHEMA_GEO_SHAPE_COORD_SYSTEM={SPHERICAL:"SPHERICAL",FLAT:"FLAT"};function parseCommonSchemaFieldOptions(parser,fieldOptions){if(fieldOptions.SORTABLE){if(parser.push("SORTABLE"),fieldOptions.SORTABLE==="UNF")parser.push("UNF")}if(fieldOptions.NOINDEX)parser.push("NOINDEX")}function parseSchema(parser,schema){for(let[field,fieldOptions]of Object.entries(schema)){if(parser.push(field),typeof fieldOptions==="string"){parser.push(fieldOptions);continue}if(fieldOptions.AS)parser.push("AS",fieldOptions.AS);if(parser.push(fieldOptions.type),fieldOptions.INDEXMISSING)parser.push("INDEXMISSING");switch(fieldOptions.type){case exports.SCHEMA_FIELD_TYPE.TEXT:if(fieldOptions.NOSTEM)parser.push("NOSTEM");if(fieldOptions.WEIGHT!==void 0)parser.push("WEIGHT",fieldOptions.WEIGHT.toString());if(fieldOptions.PHONETIC)parser.push("PHONETIC",fieldOptions.PHONETIC);if(fieldOptions.WITHSUFFIXTRIE)parser.push("WITHSUFFIXTRIE");if(fieldOptions.INDEXEMPTY)parser.push("INDEXEMPTY");parseCommonSchemaFieldOptions(parser,fieldOptions);break;case exports.SCHEMA_FIELD_TYPE.NUMERIC:case exports.SCHEMA_FIELD_TYPE.GEO:parseCommonSchemaFieldOptions(parser,fieldOptions);break;case exports.SCHEMA_FIELD_TYPE.TAG:if(fieldOptions.SEPARATOR)parser.push("SEPARATOR",fieldOptions.SEPARATOR);if(fieldOptions.CASESENSITIVE)parser.push("CASESENSITIVE");if(fieldOptions.WITHSUFFIXTRIE)parser.push("WITHSUFFIXTRIE");if(fieldOptions.INDEXEMPTY)parser.push("INDEXEMPTY");parseCommonSchemaFieldOptions(parser,fieldOptions);break;case exports.SCHEMA_FIELD_TYPE.VECTOR:parser.push(fieldOptions.ALGORITHM);let args2=[];if(args2.push("TYPE",fieldOptions.TYPE,"DIM",fieldOptions.DIM.toString(),"DISTANCE_METRIC",fieldOptions.DISTANCE_METRIC),fieldOptions.INITIAL_CAP!==void 0)args2.push("INITIAL_CAP",fieldOptions.INITIAL_CAP.toString());switch(fieldOptions.ALGORITHM){case exports.SCHEMA_VECTOR_FIELD_ALGORITHM.FLAT:if(fieldOptions.BLOCK_SIZE!==void 0)args2.push("BLOCK_SIZE",fieldOptions.BLOCK_SIZE.toString());break;case exports.SCHEMA_VECTOR_FIELD_ALGORITHM.HNSW:if(fieldOptions.M!==void 0)args2.push("M",fieldOptions.M.toString());if(fieldOptions.EF_CONSTRUCTION!==void 0)args2.push("EF_CONSTRUCTION",fieldOptions.EF_CONSTRUCTION.toString());if(fieldOptions.EF_RUNTIME!==void 0)args2.push("EF_RUNTIME",fieldOptions.EF_RUNTIME.toString());break;case exports.SCHEMA_VECTOR_FIELD_ALGORITHM.VAMANA:if(fieldOptions.COMPRESSION)args2.push("COMPRESSION",fieldOptions.COMPRESSION);if(fieldOptions.CONSTRUCTION_WINDOW_SIZE!==void 0)args2.push("CONSTRUCTION_WINDOW_SIZE",fieldOptions.CONSTRUCTION_WINDOW_SIZE.toString());if(fieldOptions.GRAPH_MAX_DEGREE!==void 0)args2.push("GRAPH_MAX_DEGREE",fieldOptions.GRAPH_MAX_DEGREE.toString());if(fieldOptions.SEARCH_WINDOW_SIZE!==void 0)args2.push("SEARCH_WINDOW_SIZE",fieldOptions.SEARCH_WINDOW_SIZE.toString());if(fieldOptions.EPSILON!==void 0)args2.push("EPSILON",fieldOptions.EPSILON.toString());if(fieldOptions.TRAINING_THRESHOLD!==void 0)args2.push("TRAINING_THRESHOLD",fieldOptions.TRAINING_THRESHOLD.toString());if(fieldOptions.REDUCE!==void 0)args2.push("REDUCE",fieldOptions.REDUCE.toString());break}parser.pushVariadicWithLength(args2);break;case exports.SCHEMA_FIELD_TYPE.GEOSHAPE:if(fieldOptions.COORD_SYSTEM!==void 0)parser.push("COORD_SYSTEM",fieldOptions.COORD_SYSTEM);break}}}exports.parseSchema=parseSchema,exports.REDISEARCH_LANGUAGE={ARABIC:"Arabic",BASQUE:"Basque",CATALANA:"Catalan",DANISH:"Danish",DUTCH:"Dutch",ENGLISH:"English",FINNISH:"Finnish",FRENCH:"French",GERMAN:"German",GREEK:"Greek",HUNGARIAN:"Hungarian",INDONESAIN:"Indonesian",IRISH:"Irish",ITALIAN:"Italian",LITHUANIAN:"Lithuanian",NEPALI:"Nepali",NORWEIGAN:"Norwegian",PORTUGUESE:"Portuguese",ROMANIAN:"Romanian",RUSSIAN:"Russian",SPANISH:"Spanish",SWEDISH:"Swedish",TAMIL:"Tamil",TURKISH:"Turkish",CHINESE:"Chinese"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,schema,options){if(parser.push("FT.CREATE",index),options?.ON)parser.push("ON",options.ON);if((0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"PREFIX",options?.PREFIX),options?.FILTER)parser.push("FILTER",options.FILTER);if(options?.LANGUAGE)parser.push("LANGUAGE",options.LANGUAGE);if(options?.LANGUAGE_FIELD)parser.push("LANGUAGE_FIELD",options.LANGUAGE_FIELD);if(options?.SCORE)parser.push("SCORE",options.SCORE.toString());if(options?.SCORE_FIELD)parser.push("SCORE_FIELD",options.SCORE_FIELD);if(options?.MAXTEXTFIELDS)parser.push("MAXTEXTFIELDS");if(options?.TEMPORARY)parser.push("TEMPORARY",options.TEMPORARY.toString());if(options?.NOOFFSETS)parser.push("NOOFFSETS");if(options?.NOHL)parser.push("NOHL");if(options?.NOFIELDS)parser.push("NOFIELDS");if(options?.NOFREQS)parser.push("NOFREQS");if(options?.SKIPINITIALSCAN)parser.push("SKIPINITIALSCAN");(0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"STOPWORDS",options?.STOPWORDS),parser.push("SCHEMA"),parseSchema(parser,schema)},transformReply:void 0}}),require_ALTER=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var CREATE_1=require_CREATE2();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,schema){parser.push("FT.ALTER",index,"SCHEMA","ADD"),(0,CREATE_1.parseSchema)(parser,schema)},transformReply:void 0}}),require_default=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_DIALECT=void 0,exports.DEFAULT_DIALECT="2"}),require_SEARCH=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseSearchOptions=exports.parseParamsArgument=void 0;var generic_transformers_1=require_generic_transformers(),default_1=require_default();function parseParamsArgument(parser,params){if(params){parser.push("PARAMS");let args2=[];for(let key in params){if(!Object.hasOwn(params,key))continue;let value=params[key];args2.push(key,typeof value==="number"?value.toString():value)}parser.pushVariadicWithLength(args2)}}exports.parseParamsArgument=parseParamsArgument;function parseSearchOptions(parser,options){if(options?.VERBATIM)parser.push("VERBATIM");if(options?.NOSTOPWORDS)parser.push("NOSTOPWORDS");if((0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"INKEYS",options?.INKEYS),(0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"INFIELDS",options?.INFIELDS),(0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"RETURN",options?.RETURN),options?.SUMMARIZE){if(parser.push("SUMMARIZE"),typeof options.SUMMARIZE==="object"){if((0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"FIELDS",options.SUMMARIZE.FIELDS),options.SUMMARIZE.FRAGS!==void 0)parser.push("FRAGS",options.SUMMARIZE.FRAGS.toString());if(options.SUMMARIZE.LEN!==void 0)parser.push("LEN",options.SUMMARIZE.LEN.toString());if(options.SUMMARIZE.SEPARATOR!==void 0)parser.push("SEPARATOR",options.SUMMARIZE.SEPARATOR)}}if(options?.HIGHLIGHT){if(parser.push("HIGHLIGHT"),typeof options.HIGHLIGHT==="object"){if((0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"FIELDS",options.HIGHLIGHT.FIELDS),options.HIGHLIGHT.TAGS)parser.push("TAGS",options.HIGHLIGHT.TAGS.open,options.HIGHLIGHT.TAGS.close)}}if(options?.SLOP!==void 0)parser.push("SLOP",options.SLOP.toString());if(options?.TIMEOUT!==void 0)parser.push("TIMEOUT",options.TIMEOUT.toString());if(options?.INORDER)parser.push("INORDER");if(options?.LANGUAGE)parser.push("LANGUAGE",options.LANGUAGE);if(options?.EXPANDER)parser.push("EXPANDER",options.EXPANDER);if(options?.SCORER)parser.push("SCORER",options.SCORER);if(options?.SORTBY){if(parser.push("SORTBY"),typeof options.SORTBY==="string"||options.SORTBY instanceof Buffer)parser.push(options.SORTBY);else if(parser.push(options.SORTBY.BY),options.SORTBY.DIRECTION)parser.push(options.SORTBY.DIRECTION)}if(options?.LIMIT)parser.push("LIMIT",options.LIMIT.from.toString(),options.LIMIT.size.toString());if(parseParamsArgument(parser,options?.PARAMS),options?.DIALECT)parser.push("DIALECT",options.DIALECT.toString());else parser.push("DIALECT",default_1.DEFAULT_DIALECT)}exports.parseSearchOptions=parseSearchOptions,exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,query,options){parser.push("FT.SEARCH",index,query),parseSearchOptions(parser,options)},transformReply:{2:(reply)=>{let withoutDocuments=reply.length>2&&!Array.isArray(reply[2]),documents=[],i=1;while(i<reply.length)documents.push({id:reply[i++],value:withoutDocuments?Object.create(null):documentValue(reply[i++])});return{total:reply[0],documents}},3:void 0},unstableResp3:!0};function documentValue(tuples){let message=Object.create(null);if(!tuples)return message;let i=0;while(i<tuples.length){let key=tuples[i++],value=tuples[i++];if(key==="$")try{Object.assign(message,JSON.parse(value));continue}catch{}message[key]=value}return message}}),require_AGGREGATE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseAggregateOptions=exports.FT_AGGREGATE_GROUP_BY_REDUCERS=exports.FT_AGGREGATE_STEPS=void 0;var SEARCH_1=require_SEARCH(),generic_transformers_1=require_generic_transformers(),default_1=require_default();exports.FT_AGGREGATE_STEPS={GROUPBY:"GROUPBY",SORTBY:"SORTBY",APPLY:"APPLY",LIMIT:"LIMIT",FILTER:"FILTER"},exports.FT_AGGREGATE_GROUP_BY_REDUCERS={COUNT:"COUNT",COUNT_DISTINCT:"COUNT_DISTINCT",COUNT_DISTINCTISH:"COUNT_DISTINCTISH",SUM:"SUM",MIN:"MIN",MAX:"MAX",AVG:"AVG",STDDEV:"STDDEV",QUANTILE:"QUANTILE",TOLIST:"TOLIST",FIRST_VALUE:"FIRST_VALUE",RANDOM_SAMPLE:"RANDOM_SAMPLE"},exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(parser,index,query,options){return parser.push("FT.AGGREGATE",index,query),parseAggregateOptions(parser,options)},transformReply:{2:(rawReply,preserve,typeMapping)=>{let results=[];for(let i=1;i<rawReply.length;i++)results.push((0,generic_transformers_1.transformTuplesReply)(rawReply[i],preserve,typeMapping));return{total:Number(rawReply[0]),results}},3:void 0},unstableResp3:!0};function parseAggregateOptions(parser,options){if(options?.VERBATIM)parser.push("VERBATIM");if(options?.ADDSCORES)parser.push("ADDSCORES");if(options?.LOAD){let args2=[];if(Array.isArray(options.LOAD))for(let load of options.LOAD)pushLoadField(args2,load);else pushLoadField(args2,options.LOAD);parser.push("LOAD"),parser.pushVariadicWithLength(args2)}if(options?.TIMEOUT!==void 0)parser.push("TIMEOUT",options.TIMEOUT.toString());if(options?.STEPS)for(let step4 of options.STEPS)switch(parser.push(step4.type),step4.type){case exports.FT_AGGREGATE_STEPS.GROUPBY:if(!step4.properties)parser.push("0");else parser.pushVariadicWithLength(step4.properties);if(Array.isArray(step4.REDUCE))for(let reducer of step4.REDUCE)parseGroupByReducer(parser,reducer);else parseGroupByReducer(parser,step4.REDUCE);break;case exports.FT_AGGREGATE_STEPS.SORTBY:let args2=[];if(Array.isArray(step4.BY))for(let by of step4.BY)pushSortByProperty(args2,by);else pushSortByProperty(args2,step4.BY);if(step4.MAX)args2.push("MAX",step4.MAX.toString());parser.pushVariadicWithLength(args2);break;case exports.FT_AGGREGATE_STEPS.APPLY:parser.push(step4.expression,"AS",step4.AS);break;case exports.FT_AGGREGATE_STEPS.LIMIT:parser.push(step4.from.toString(),step4.size.toString());break;case exports.FT_AGGREGATE_STEPS.FILTER:parser.push(step4.expression);break}if((0,SEARCH_1.parseParamsArgument)(parser,options?.PARAMS),options?.DIALECT)parser.push("DIALECT",options.DIALECT.toString());else parser.push("DIALECT",default_1.DEFAULT_DIALECT)}exports.parseAggregateOptions=parseAggregateOptions;function pushLoadField(args2,toLoad){if(typeof toLoad==="string"||toLoad instanceof Buffer)args2.push(toLoad);else if(args2.push(toLoad.identifier),toLoad.AS)args2.push("AS",toLoad.AS)}function parseGroupByReducer(parser,reducer){switch(parser.push("REDUCE",reducer.type),reducer.type){case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT:parser.push("0");break;case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT_DISTINCT:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT_DISTINCTISH:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.SUM:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.MIN:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.MAX:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.AVG:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.STDDEV:case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.TOLIST:parser.push("1",reducer.property);break;case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.QUANTILE:parser.push("2",reducer.property,reducer.quantile.toString());break;case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.FIRST_VALUE:{let args2=[reducer.property];if(reducer.BY){if(args2.push("BY"),typeof reducer.BY==="string"||reducer.BY instanceof Buffer)args2.push(reducer.BY);else if(args2.push(reducer.BY.property),reducer.BY.direction)args2.push(reducer.BY.direction)}parser.pushVariadicWithLength(args2);break}case exports.FT_AGGREGATE_GROUP_BY_REDUCERS.RANDOM_SAMPLE:parser.push("2",reducer.property,reducer.sampleSize.toString());break}if(reducer.AS)parser.push("AS",reducer.AS)}function pushSortByProperty(args2,sortBy){if(typeof sortBy==="string"||sortBy instanceof Buffer)args2.push(sortBy);else if(args2.push(sortBy.BY),sortBy.DIRECTION)args2.push(sortBy.DIRECTION)}}),require_AGGREGATE_WITHCURSOR=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var AGGREGATE_1=__importDefault(require_AGGREGATE());exports.default={IS_READ_ONLY:AGGREGATE_1.default.IS_READ_ONLY,parseCommand(parser,index,query,options){if(AGGREGATE_1.default.parseCommand(parser,index,query,options),parser.push("WITHCURSOR"),options?.COUNT!==void 0)parser.push("COUNT",options.COUNT.toString());if(options?.MAXIDLE!==void 0)parser.push("MAXIDLE",options.MAXIDLE.toString())},transformReply:{2:(reply)=>{return{...AGGREGATE_1.default.transformReply[2](reply[0]),cursor:reply[1]}},3:void 0},unstableResp3:!0}}),require_ALIASADD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,alias,index){parser.push("FT.ALIASADD",alias,index)},transformReply:void 0}}),require_ALIASDEL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,alias){parser.push("FT.ALIASDEL",alias)},transformReply:void 0}}),require_ALIASUPDATE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,alias,index){parser.push("FT.ALIASUPDATE",alias,index)},transformReply:void 0}}),require_CONFIG_GET2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,option32){parser.push("FT.CONFIG","GET",option32)},transformReply(reply){let transformedReply=Object.create(null);for(let item of reply){let[key,value]=item;transformedReply[key.toString()]=value}return transformedReply}}}),require_CONFIG_SET2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,property,value){parser.push("FT.CONFIG","SET",property,value)},transformReply:void 0}}),require_CURSOR_DEL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,cursorId){parser.push("FT.CURSOR","DEL",index,cursorId.toString())},transformReply:void 0}}),require_CURSOR_READ=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var AGGREGATE_WITHCURSOR_1=__importDefault(require_AGGREGATE_WITHCURSOR());exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,cursor,options){if(parser.push("FT.CURSOR","READ",index,cursor.toString()),options?.COUNT!==void 0)parser.push("COUNT",options.COUNT.toString())},transformReply:AGGREGATE_WITHCURSOR_1.default.transformReply,unstableResp3:!0}}),require_DICTADD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,dictionary,term){parser.push("FT.DICTADD",dictionary),parser.pushVariadic(term)},transformReply:void 0}}),require_DICTDEL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,dictionary,term){parser.push("FT.DICTDEL",dictionary),parser.pushVariadic(term)},transformReply:void 0}}),require_DICTDUMP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,dictionary){parser.push("FT.DICTDUMP",dictionary)},transformReply:{2:void 0,3:void 0}}}),require_DROPINDEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,options){if(parser.push("FT.DROPINDEX",index),options?.DD)parser.push("DD")},transformReply:{2:void 0,3:void 0}}}),require_EXPLAIN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var SEARCH_1=require_SEARCH(),default_1=require_default();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,query,options){if(parser.push("FT.EXPLAIN",index,query),(0,SEARCH_1.parseParamsArgument)(parser,options?.PARAMS),options?.DIALECT)parser.push("DIALECT",options.DIALECT.toString());else parser.push("DIALECT",default_1.DEFAULT_DIALECT)},transformReply:void 0}}),require_EXPLAINCLI=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var default_1=require_default();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,query,options){if(parser.push("FT.EXPLAINCLI",index,query),options?.DIALECT)parser.push("DIALECT",options.DIALECT.toString());else parser.push("DIALECT",default_1.DEFAULT_DIALECT)},transformReply:void 0}}),require_HYBRID=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),SEARCH_1=require_SEARCH();function parseSearchExpression(parser,search){if(parser.push("SEARCH",search.query),search.SCORER){if(parser.push("SCORER",search.SCORER.algorithm),search.SCORER.params)parser.push(...search.SCORER.params)}if(search.YIELD_SCORE_AS)parser.push("YIELD_SCORE_AS",search.YIELD_SCORE_AS)}function parseVectorExpression(parser,vsim){if(parser.push("VSIM",vsim.field,vsim.vectorData),vsim.method){if(vsim.method.KNN){let knn=vsim.method.KNN;if(parser.push("KNN","1","K",knn.K.toString()),knn.EF_RUNTIME!==void 0)parser.push("EF_RUNTIME",knn.EF_RUNTIME.toString());if(knn.YIELD_DISTANCE_AS)parser.push("YIELD_DISTANCE_AS",knn.YIELD_DISTANCE_AS)}if(vsim.method.RANGE){let range4=vsim.method.RANGE;if(parser.push("RANGE","1","RADIUS",range4.RADIUS.toString()),range4.EPSILON!==void 0)parser.push("EPSILON",range4.EPSILON.toString());if(range4.YIELD_DISTANCE_AS)parser.push("YIELD_DISTANCE_AS",range4.YIELD_DISTANCE_AS)}}if(vsim.FILTER){if(parser.push("FILTER",vsim.FILTER.expression),vsim.FILTER.POLICY){if(parser.push("POLICY",vsim.FILTER.POLICY),vsim.FILTER.POLICY==="BATCHES"&&vsim.FILTER.BATCHES)parser.push("BATCHES","BATCH_SIZE",vsim.FILTER.BATCHES.BATCH_SIZE.toString())}}if(vsim.YIELD_SCORE_AS)parser.push("YIELD_SCORE_AS",vsim.YIELD_SCORE_AS)}function parseCombineMethod(parser,combine11){if(!combine11)return;if(parser.push("COMBINE"),combine11.method.RRF){let rrf=combine11.method.RRF;if(parser.push("RRF",rrf.count.toString()),rrf.WINDOW!==void 0)parser.push("WINDOW",rrf.WINDOW.toString());if(rrf.CONSTANT!==void 0)parser.push("CONSTANT",rrf.CONSTANT.toString())}if(combine11.method.LINEAR){let linear22=combine11.method.LINEAR;if(parser.push("LINEAR",linear22.count.toString()),linear22.ALPHA!==void 0)parser.push("ALPHA",linear22.ALPHA.toString());if(linear22.BETA!==void 0)parser.push("BETA",linear22.BETA.toString())}if(combine11.method.FUNCTION)parser.push("FUNCTION",combine11.method.FUNCTION);if(combine11.YIELD_SCORE_AS)parser.push("YIELD_SCORE_AS",combine11.YIELD_SCORE_AS)}function parseHybridOptions(parser,options){if(!options)return;if(options.SEARCH)parseSearchExpression(parser,options.SEARCH);if(options.VSIM)parseVectorExpression(parser,options.VSIM);if(options.COMBINE)parseCombineMethod(parser,options.COMBINE);if((0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"LOAD",options.LOAD),options.GROUPBY){if((0,generic_transformers_1.parseOptionalVariadicArgument)(parser,"GROUPBY",options.GROUPBY.fields),options.GROUPBY.REDUCE)parser.push("REDUCE",options.GROUPBY.REDUCE.function,options.GROUPBY.REDUCE.count.toString()),parser.push(...options.GROUPBY.REDUCE.args)}if(options.APPLY)parser.push("APPLY",options.APPLY.expression,"AS",options.APPLY.AS);if(options.SORTBY){parser.push("SORTBY",options.SORTBY.count.toString());for(let sortField of options.SORTBY.fields)if(parser.push(sortField.field),sortField.direction)parser.push(sortField.direction)}if(options.FILTER)parser.push("FILTER",options.FILTER);if(options.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.num.toString());if((0,SEARCH_1.parseParamsArgument)(parser,options.PARAMS),options.EXPLAINSCORE)parser.push("EXPLAINSCORE");if(options.TIMEOUT!==void 0)parser.push("TIMEOUT",options.TIMEOUT.toString());if(options.WITHCURSOR){if(parser.push("WITHCURSOR"),options.WITHCURSOR.COUNT!==void 0)parser.push("COUNT",options.WITHCURSOR.COUNT.toString());if(options.WITHCURSOR.MAXIDLE!==void 0)parser.push("MAXIDLE",options.WITHCURSOR.MAXIDLE.toString())}}exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,options){parser.push("FT.HYBRID",index),parseHybridOptions(parser,options)},transformReply:{2:(reply)=>{if(Array.isArray(reply)&&reply.length===2&&typeof reply[1]==="number"){let[searchResults,cursor]=reply;return{...transformHybridSearchResults(searchResults),cursor}}else return transformHybridSearchResults(reply)},3:void 0},unstableResp3:!0};function transformHybridSearchResults(reply){let withoutDocuments=reply.length>2&&!Array.isArray(reply[2]),documents=[],i=1;while(i<reply.length)documents.push({id:reply[i++],value:withoutDocuments?Object.create(null):documentValue(reply[i++])});return{total:reply[0],documents}}function documentValue(tuples){let message=Object.create(null);if(!tuples)return message;let i=0;while(i<tuples.length){let key=tuples[i++],value=tuples[i++];if(key==="$")try{Object.assign(message,JSON.parse(value));continue}catch{}message[key]=value}return message}}),require_INFO7=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index){parser.push("FT.INFO",index)},transformReply:{2:transformV2Reply,3:void 0},unstableResp3:!0};function transformV2Reply(reply,preserve,typeMapping){let myTransformFunc=(0,generic_transformers_1.createTransformTuplesReplyFunc)(preserve,typeMapping),ret={};for(let i=0;i<reply.length;i+=2){let key=reply[i].toString();switch(key){case"index_name":case"index_options":case"num_docs":case"max_doc_id":case"num_terms":case"num_records":case"total_inverted_index_blocks":case"hash_indexing_failures":case"indexing":case"number_of_uses":case"cleaning":case"stopwords_list":ret[key]=reply[i+1];break;case"inverted_sz_mb":case"vector_index_sz_mb":case"offset_vectors_sz_mb":case"doc_table_size_mb":case"sortable_values_size_mb":case"key_table_size_mb":case"text_overhead_sz_mb":case"tag_overhead_sz_mb":case"total_index_memory_sz_mb":case"geoshapes_sz_mb":case"records_per_doc_avg":case"bytes_per_record_avg":case"offsets_per_term_avg":case"offset_bits_per_record_avg":case"total_indexing_time":case"percent_indexed":ret[key]=generic_transformers_1.transformDoubleReply[2](reply[i+1],void 0,typeMapping);break;case"index_definition":ret[key]=myTransformFunc(reply[i+1]);break;case"attributes":ret[key]=reply[i+1].map((attribute)=>myTransformFunc(attribute));break;case"gc_stats":{let innerRet={},array42=reply[i+1];for(let i2=0;i2<array42.length;i2+=2){let innerKey=array42[i2].toString();switch(innerKey){case"bytes_collected":case"total_ms_run":case"total_cycles":case"average_cycle_time_ms":case"last_run_time_ms":case"gc_numeric_trees_missed":case"gc_blocks_denied":innerRet[innerKey]=generic_transformers_1.transformDoubleReply[2](array42[i2+1],void 0,typeMapping);break}}ret[key]=innerRet;break}case"cursor_stats":{let innerRet={},array42=reply[i+1];for(let i2=0;i2<array42.length;i2+=2){let innerKey=array42[i2].toString();switch(innerKey){case"global_idle":case"global_total":case"index_capacity":case"index_total":innerRet[innerKey]=array42[i2+1];break}}ret[key]=innerRet;break}}}return ret}}),require_PROFILE_SEARCH=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var SEARCH_1=__importStar(require_SEARCH());exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,query,options){if(parser.push("FT.PROFILE",index,"SEARCH"),options?.LIMITED)parser.push("LIMITED");parser.push("QUERY",query),(0,SEARCH_1.parseSearchOptions)(parser,options)},transformReply:{2:(reply)=>{return{results:SEARCH_1.default.transformReply[2](reply[0]),profile:reply[1]}},3:(reply)=>reply},unstableResp3:!0}}),require_PROFILE_AGGREGATE=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var AGGREGATE_1=__importStar(require_AGGREGATE());exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,query,options){if(parser.push("FT.PROFILE",index,"AGGREGATE"),options?.LIMITED)parser.push("LIMITED");parser.push("QUERY",query),(0,AGGREGATE_1.parseAggregateOptions)(parser,options)},transformReply:{2:(reply)=>{return{results:AGGREGATE_1.default.transformReply[2](reply[0]),profile:reply[1]}},3:(reply)=>reply},unstableResp3:!0}}),require_SEARCH_NOCONTENT=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var SEARCH_1=__importDefault(require_SEARCH());exports.default={NOT_KEYED_COMMAND:SEARCH_1.default.NOT_KEYED_COMMAND,IS_READ_ONLY:SEARCH_1.default.IS_READ_ONLY,parseCommand(...args2){SEARCH_1.default.parseCommand(...args2),args2[0].push("NOCONTENT")},transformReply:{2:(reply)=>{return{total:reply[0],documents:reply.slice(1)}},3:void 0},unstableResp3:!0}}),require_SPELLCHECK=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var default_1=require_default();exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,query,options){if(parser.push("FT.SPELLCHECK",index,query),options?.DISTANCE)parser.push("DISTANCE",options.DISTANCE.toString());if(options?.TERMS)if(Array.isArray(options.TERMS))for(let term of options.TERMS)parseTerms(parser,term);else parseTerms(parser,options.TERMS);if(options?.DIALECT)parser.push("DIALECT",options.DIALECT.toString());else parser.push("DIALECT",default_1.DEFAULT_DIALECT)},transformReply:{2:(rawReply)=>{return rawReply.map(([,term,suggestions])=>({term,suggestions:suggestions.map(([score,suggestion])=>({score:Number(score),suggestion}))}))},3:void 0},unstableResp3:!0};function parseTerms(parser,{mode,dictionary}){parser.push("TERMS",mode,dictionary)}}),require_SUGADD=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,string22,score,options){if(parser.push("FT.SUGADD"),parser.pushKey(key),parser.push(string22,score.toString()),options?.INCR)parser.push("INCR");if(options?.PAYLOAD)parser.push("PAYLOAD",options.PAYLOAD)},transformReply:void 0}}),require_SUGDEL=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,string22){parser.push("FT.SUGDEL"),parser.pushKey(key),parser.push(string22)},transformReply:void 0}}),require_SUGGET=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,prefix,options){if(parser.push("FT.SUGGET"),parser.pushKey(key),parser.push(prefix),options?.FUZZY)parser.push("FUZZY");if(options?.MAX!==void 0)parser.push("MAX",options.MAX.toString())},transformReply:void 0}}),require_SUGGET_WITHPAYLOADS=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),SUGGET_1=__importDefault(require_SUGGET());exports.default={IS_READ_ONLY:SUGGET_1.default.IS_READ_ONLY,parseCommand(...args2){SUGGET_1.default.parseCommand(...args2),args2[0].push("WITHPAYLOADS")},transformReply(reply){if((0,generic_transformers_1.isNullReply)(reply))return null;let transformedReply=Array(reply.length/2),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],payload:reply[replyIndex++]};return transformedReply}}}),require_SUGGET_WITHSCORES_WITHPAYLOADS=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),SUGGET_1=__importDefault(require_SUGGET());exports.default={IS_READ_ONLY:SUGGET_1.default.IS_READ_ONLY,parseCommand(...args2){SUGGET_1.default.parseCommand(...args2),args2[0].push("WITHSCORES","WITHPAYLOADS")},transformReply:{2:(reply,preserve,typeMapping)=>{if((0,generic_transformers_1.isNullReply)(reply))return null;let transformedReply=Array(reply.length/3),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],score:generic_transformers_1.transformDoubleReply[2](reply[replyIndex++],preserve,typeMapping),payload:reply[replyIndex++]};return transformedReply},3:(reply)=>{if((0,generic_transformers_1.isNullReply)(reply))return null;let transformedReply=Array(reply.length/3),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],score:reply[replyIndex++],payload:reply[replyIndex++]};return transformedReply}}}}),require_SUGGET_WITHSCORES=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),SUGGET_1=__importDefault(require_SUGGET());exports.default={IS_READ_ONLY:SUGGET_1.default.IS_READ_ONLY,parseCommand(...args2){SUGGET_1.default.parseCommand(...args2),args2[0].push("WITHSCORES")},transformReply:{2:(reply,preserve,typeMapping)=>{if((0,generic_transformers_1.isNullReply)(reply))return null;let transformedReply=Array(reply.length/2),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],score:generic_transformers_1.transformDoubleReply[2](reply[replyIndex++],preserve,typeMapping)};return transformedReply},3:(reply)=>{if((0,generic_transformers_1.isNullReply)(reply))return null;let transformedReply=Array(reply.length/2),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],score:reply[replyIndex++]};return transformedReply}}}}),require_SUGLEN=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("FT.SUGLEN",key)},transformReply:void 0}}),require_SYNDUMP=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index){parser.push("FT.SYNDUMP",index)},transformReply:{2:(reply)=>{let result={},i=0;while(i<reply.length){let key=reply[i++].toString(),value=reply[i++];result[key]=value}return result},3:void 0}}}),require_SYNUPDATE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,groupId,terms,options){if(parser.push("FT.SYNUPDATE",index,groupId),options?.SKIPINITIALSCAN)parser.push("SKIPINITIALSCAN");parser.pushVariadic(terms)},transformReply:void 0}}),require_TAGVALS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,index,fieldName){parser.push("FT.TAGVALS",index,fieldName)},transformReply:{2:void 0,3:void 0}}}),require_commands5=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var _LIST_1=__importDefault(require__LIST()),ALTER_1=__importDefault(require_ALTER()),AGGREGATE_WITHCURSOR_1=__importDefault(require_AGGREGATE_WITHCURSOR()),AGGREGATE_1=__importDefault(require_AGGREGATE()),ALIASADD_1=__importDefault(require_ALIASADD()),ALIASDEL_1=__importDefault(require_ALIASDEL()),ALIASUPDATE_1=__importDefault(require_ALIASUPDATE()),CONFIG_GET_1=__importDefault(require_CONFIG_GET2()),CONFIG_SET_1=__importDefault(require_CONFIG_SET2()),CREATE_1=__importDefault(require_CREATE2()),CURSOR_DEL_1=__importDefault(require_CURSOR_DEL()),CURSOR_READ_1=__importDefault(require_CURSOR_READ()),DICTADD_1=__importDefault(require_DICTADD()),DICTDEL_1=__importDefault(require_DICTDEL()),DICTDUMP_1=__importDefault(require_DICTDUMP()),DROPINDEX_1=__importDefault(require_DROPINDEX()),EXPLAIN_1=__importDefault(require_EXPLAIN()),EXPLAINCLI_1=__importDefault(require_EXPLAINCLI()),HYBRID_1=__importDefault(require_HYBRID()),INFO_1=__importDefault(require_INFO7()),PROFILE_SEARCH_1=__importDefault(require_PROFILE_SEARCH()),PROFILE_AGGREGATE_1=__importDefault(require_PROFILE_AGGREGATE()),SEARCH_NOCONTENT_1=__importDefault(require_SEARCH_NOCONTENT()),SEARCH_1=__importDefault(require_SEARCH()),SPELLCHECK_1=__importDefault(require_SPELLCHECK()),SUGADD_1=__importDefault(require_SUGADD()),SUGDEL_1=__importDefault(require_SUGDEL()),SUGGET_WITHPAYLOADS_1=__importDefault(require_SUGGET_WITHPAYLOADS()),SUGGET_WITHSCORES_WITHPAYLOADS_1=__importDefault(require_SUGGET_WITHSCORES_WITHPAYLOADS()),SUGGET_WITHSCORES_1=__importDefault(require_SUGGET_WITHSCORES()),SUGGET_1=__importDefault(require_SUGGET()),SUGLEN_1=__importDefault(require_SUGLEN()),SYNDUMP_1=__importDefault(require_SYNDUMP()),SYNUPDATE_1=__importDefault(require_SYNUPDATE()),TAGVALS_1=__importDefault(require_TAGVALS());exports.default={_LIST:_LIST_1.default,_list:_LIST_1.default,ALTER:ALTER_1.default,alter:ALTER_1.default,AGGREGATE_WITHCURSOR:AGGREGATE_WITHCURSOR_1.default,aggregateWithCursor:AGGREGATE_WITHCURSOR_1.default,AGGREGATE:AGGREGATE_1.default,aggregate:AGGREGATE_1.default,ALIASADD:ALIASADD_1.default,aliasAdd:ALIASADD_1.default,ALIASDEL:ALIASDEL_1.default,aliasDel:ALIASDEL_1.default,ALIASUPDATE:ALIASUPDATE_1.default,aliasUpdate:ALIASUPDATE_1.default,CONFIG_GET:CONFIG_GET_1.default,configGet:CONFIG_GET_1.default,CONFIG_SET:CONFIG_SET_1.default,configSet:CONFIG_SET_1.default,CREATE:CREATE_1.default,create:CREATE_1.default,CURSOR_DEL:CURSOR_DEL_1.default,cursorDel:CURSOR_DEL_1.default,CURSOR_READ:CURSOR_READ_1.default,cursorRead:CURSOR_READ_1.default,DICTADD:DICTADD_1.default,dictAdd:DICTADD_1.default,DICTDEL:DICTDEL_1.default,dictDel:DICTDEL_1.default,DICTDUMP:DICTDUMP_1.default,dictDump:DICTDUMP_1.default,DROPINDEX:DROPINDEX_1.default,dropIndex:DROPINDEX_1.default,EXPLAIN:EXPLAIN_1.default,explain:EXPLAIN_1.default,EXPLAINCLI:EXPLAINCLI_1.default,explainCli:EXPLAINCLI_1.default,HYBRID:HYBRID_1.default,hybrid:HYBRID_1.default,INFO:INFO_1.default,info:INFO_1.default,PROFILESEARCH:PROFILE_SEARCH_1.default,profileSearch:PROFILE_SEARCH_1.default,PROFILEAGGREGATE:PROFILE_AGGREGATE_1.default,profileAggregate:PROFILE_AGGREGATE_1.default,SEARCH_NOCONTENT:SEARCH_NOCONTENT_1.default,searchNoContent:SEARCH_NOCONTENT_1.default,SEARCH:SEARCH_1.default,search:SEARCH_1.default,SPELLCHECK:SPELLCHECK_1.default,spellCheck:SPELLCHECK_1.default,SUGADD:SUGADD_1.default,sugAdd:SUGADD_1.default,SUGDEL:SUGDEL_1.default,sugDel:SUGDEL_1.default,SUGGET_WITHPAYLOADS:SUGGET_WITHPAYLOADS_1.default,sugGetWithPayloads:SUGGET_WITHPAYLOADS_1.default,SUGGET_WITHSCORES_WITHPAYLOADS:SUGGET_WITHSCORES_WITHPAYLOADS_1.default,sugGetWithScoresWithPayloads:SUGGET_WITHSCORES_WITHPAYLOADS_1.default,SUGGET_WITHSCORES:SUGGET_WITHSCORES_1.default,sugGetWithScores:SUGGET_WITHSCORES_1.default,SUGGET:SUGGET_1.default,sugGet:SUGGET_1.default,SUGLEN:SUGLEN_1.default,sugLen:SUGLEN_1.default,SYNDUMP:SYNDUMP_1.default,synDump:SYNDUMP_1.default,SYNUPDATE:SYNUPDATE_1.default,synUpdate:SYNUPDATE_1.default,TAGVALS:TAGVALS_1.default,tagVals:TAGVALS_1.default}}),require_lib4=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FT_AGGREGATE_STEPS=exports.FT_AGGREGATE_GROUP_BY_REDUCERS=exports.SCHEMA_VECTOR_FIELD_ALGORITHM=exports.SCHEMA_TEXT_FIELD_PHONETIC=exports.SCHEMA_FIELD_TYPE=exports.REDISEARCH_LANGUAGE=exports.default=void 0;var commands_1=require_commands5();Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return __importDefault(commands_1).default}});var CREATE_1=require_CREATE2();Object.defineProperty(exports,"REDISEARCH_LANGUAGE",{enumerable:!0,get:function(){return CREATE_1.REDISEARCH_LANGUAGE}}),Object.defineProperty(exports,"SCHEMA_FIELD_TYPE",{enumerable:!0,get:function(){return CREATE_1.SCHEMA_FIELD_TYPE}}),Object.defineProperty(exports,"SCHEMA_TEXT_FIELD_PHONETIC",{enumerable:!0,get:function(){return CREATE_1.SCHEMA_TEXT_FIELD_PHONETIC}}),Object.defineProperty(exports,"SCHEMA_VECTOR_FIELD_ALGORITHM",{enumerable:!0,get:function(){return CREATE_1.SCHEMA_VECTOR_FIELD_ALGORITHM}});var AGGREGATE_1=require_AGGREGATE();Object.defineProperty(exports,"FT_AGGREGATE_GROUP_BY_REDUCERS",{enumerable:!0,get:function(){return AGGREGATE_1.FT_AGGREGATE_GROUP_BY_REDUCERS}}),Object.defineProperty(exports,"FT_AGGREGATE_STEPS",{enumerable:!0,get:function(){return AGGREGATE_1.FT_AGGREGATE_STEPS}})}),require_helpers2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformRESP2LabelsWithSources=exports.transformRESP2Labels=exports.parseSelectedLabelsArguments=exports.resp3MapToValue=exports.resp2MapToValue=exports.transformSamplesReply=exports.transformSampleReply=exports.parseLabelsArgument=exports.transformTimestampArgument=exports.parseDuplicatePolicy=exports.TIME_SERIES_DUPLICATE_POLICIES=exports.parseChunkSizeArgument=exports.parseEncodingArgument=exports.TIME_SERIES_ENCODING=exports.parseRetentionArgument=exports.parseIgnoreArgument=void 0;var client_1=require_dist();function parseIgnoreArgument(parser,ignore3){if(ignore3!==void 0)parser.push("IGNORE",ignore3.maxTimeDiff.toString(),ignore3.maxValDiff.toString())}exports.parseIgnoreArgument=parseIgnoreArgument;function parseRetentionArgument(parser,retention){if(retention!==void 0)parser.push("RETENTION",retention.toString())}exports.parseRetentionArgument=parseRetentionArgument,exports.TIME_SERIES_ENCODING={COMPRESSED:"COMPRESSED",UNCOMPRESSED:"UNCOMPRESSED"};function parseEncodingArgument(parser,encoding){if(encoding!==void 0)parser.push("ENCODING",encoding)}exports.parseEncodingArgument=parseEncodingArgument;function parseChunkSizeArgument(parser,chunkSize){if(chunkSize!==void 0)parser.push("CHUNK_SIZE",chunkSize.toString())}exports.parseChunkSizeArgument=parseChunkSizeArgument,exports.TIME_SERIES_DUPLICATE_POLICIES={BLOCK:"BLOCK",FIRST:"FIRST",LAST:"LAST",MIN:"MIN",MAX:"MAX",SUM:"SUM"};function parseDuplicatePolicy(parser,duplicatePolicy){if(duplicatePolicy!==void 0)parser.push("DUPLICATE_POLICY",duplicatePolicy)}exports.parseDuplicatePolicy=parseDuplicatePolicy;function transformTimestampArgument(timestamp){if(typeof timestamp==="string")return timestamp;return(typeof timestamp==="number"?timestamp:timestamp.getTime()).toString()}exports.transformTimestampArgument=transformTimestampArgument;function parseLabelsArgument(parser,labels){if(labels){parser.push("LABELS");for(let[label,value]of Object.entries(labels))parser.push(label,value)}}exports.parseLabelsArgument=parseLabelsArgument,exports.transformSampleReply={2(reply){let[timestamp,value]=reply;return{timestamp,value:Number(value)}},3(reply){let[timestamp,value]=reply;return{timestamp,value}}},exports.transformSamplesReply={2(reply){return reply.map((sample)=>exports.transformSampleReply[2](sample))},3(reply){return reply.map((sample)=>exports.transformSampleReply[3](sample))}};function resp2MapToValue(wrappedReply,parseFunc,typeMapping){let reply=wrappedReply;switch(typeMapping?.[client_1.RESP_TYPES.MAP]){case Map:{let ret=new Map;for(let wrappedTuple of reply){let tuple22=wrappedTuple,key=tuple22[0];ret.set(key.toString(),parseFunc(tuple22))}return ret}case Array:{for(let wrappedTuple of reply){let tuple22=wrappedTuple;tuple22[1]=parseFunc(tuple22)}return reply}default:{let ret=Object.create(null);for(let wrappedTuple of reply){let tuple22=wrappedTuple,key=tuple22[0];ret[key.toString()]=parseFunc(tuple22)}return ret}}}exports.resp2MapToValue=resp2MapToValue;function resp3MapToValue(wrappedReply,parseFunc){let reply=wrappedReply;if(reply instanceof Array)for(let i=1;i<reply.length;i+=2)reply[i]=parseFunc(reply[i]);else if(reply instanceof Map)for(let[key,value]of reply.entries())reply.set(key,parseFunc(value));else for(let[key,value]of Object.entries(reply))reply[key]=parseFunc(value);return reply}exports.resp3MapToValue=resp3MapToValue;function parseSelectedLabelsArguments(parser,selectedLabels){parser.push("SELECTED_LABELS"),parser.pushVariadic(selectedLabels)}exports.parseSelectedLabelsArguments=parseSelectedLabelsArguments;function transformRESP2Labels(labels,typeMapping){let unwrappedLabels=labels;switch(typeMapping?.[client_1.RESP_TYPES.MAP]){case Map:let map222=new Map;for(let tuple22 of unwrappedLabels){let[key,value]=tuple22,unwrappedKey=key;map222.set(unwrappedKey.toString(),value)}return map222;case Array:return unwrappedLabels.flat();case Object:default:let labelsObject=Object.create(null);for(let tuple22 of unwrappedLabels){let[key,value]=tuple22,unwrappedKey=key;labelsObject[unwrappedKey.toString()]=value}return labelsObject}}exports.transformRESP2Labels=transformRESP2Labels;function transformRESP2LabelsWithSources(labels,typeMapping){let unwrappedLabels=labels,to=unwrappedLabels.length-2,transformedLabels;switch(typeMapping?.[client_1.RESP_TYPES.MAP]){case Map:let map222=new Map;for(let i=0;i<to;i++){let[key,value]=unwrappedLabels[i],unwrappedKey=key;map222.set(unwrappedKey.toString(),value)}transformedLabels=map222;break;case Array:transformedLabels=unwrappedLabels.slice(0,to).flat();break;case Object:default:let labelsObject=Object.create(null);for(let i=0;i<to;i++){let[key,value]=unwrappedLabels[i],unwrappedKey=key;labelsObject[unwrappedKey.toString()]=value}transformedLabels=labelsObject;break}let unwrappedSourcesTuple=unwrappedLabels[unwrappedLabels.length-1],transformedSources=transformRESP2Sources(unwrappedSourcesTuple[1]);return{labels:transformedLabels,sources:transformedSources}}exports.transformRESP2LabelsWithSources=transformRESP2LabelsWithSources;function transformRESP2Sources(sourcesRaw){let unwrappedSources=sourcesRaw;if(typeof unwrappedSources==="string")return unwrappedSources.split(",");let indexOfComma=unwrappedSources.indexOf(",");if(indexOfComma===-1)return[unwrappedSources];let sourcesArray=[unwrappedSources.subarray(0,indexOfComma)],previousComma=indexOfComma+1;while(!0){let indexOf=unwrappedSources.indexOf(",",previousComma);if(indexOf===-1){sourcesArray.push(unwrappedSources.subarray(previousComma));break}let source=unwrappedSources.subarray(previousComma,indexOf);sourcesArray.push(source),previousComma=indexOf+1}return sourcesArray}}),require_ADD5=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,timestamp,value,options){if(parser.push("TS.ADD"),parser.pushKey(key),parser.push((0,helpers_1.transformTimestampArgument)(timestamp),value.toString()),(0,helpers_1.parseRetentionArgument)(parser,options?.RETENTION),(0,helpers_1.parseEncodingArgument)(parser,options?.ENCODING),(0,helpers_1.parseChunkSizeArgument)(parser,options?.CHUNK_SIZE),options?.ON_DUPLICATE)parser.push("ON_DUPLICATE",options.ON_DUPLICATE);(0,helpers_1.parseLabelsArgument)(parser,options?.LABELS),(0,helpers_1.parseIgnoreArgument)(parser,options?.IGNORE)},transformReply:void 0}}),require_ALTER2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){parser.push("TS.ALTER"),parser.pushKey(key),(0,helpers_1.parseRetentionArgument)(parser,options?.RETENTION),(0,helpers_1.parseChunkSizeArgument)(parser,options?.CHUNK_SIZE),(0,helpers_1.parseDuplicatePolicy)(parser,options?.DUPLICATE_POLICY),(0,helpers_1.parseLabelsArgument)(parser,options?.LABELS),(0,helpers_1.parseIgnoreArgument)(parser,options?.IGNORE)},transformReply:void 0}}),require_CREATE3=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){parser.push("TS.CREATE"),parser.pushKey(key),(0,helpers_1.parseRetentionArgument)(parser,options?.RETENTION),(0,helpers_1.parseEncodingArgument)(parser,options?.ENCODING),(0,helpers_1.parseChunkSizeArgument)(parser,options?.CHUNK_SIZE),(0,helpers_1.parseDuplicatePolicy)(parser,options?.DUPLICATE_POLICY),(0,helpers_1.parseLabelsArgument)(parser,options?.LABELS),(0,helpers_1.parseIgnoreArgument)(parser,options?.IGNORE)},transformReply:void 0}}),require_CREATERULE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.TIME_SERIES_AGGREGATION_TYPE=void 0,exports.TIME_SERIES_AGGREGATION_TYPE={AVG:"AVG",FIRST:"FIRST",LAST:"LAST",MIN:"MIN",MAX:"MAX",SUM:"SUM",RANGE:"RANGE",COUNT:"COUNT",STD_P:"STD.P",STD_S:"STD.S",VAR_P:"VAR.P",VAR_S:"VAR.S",TWA:"TWA"},exports.default={IS_READ_ONLY:!1,parseCommand(parser,sourceKey,destinationKey,aggregationType,bucketDuration,alignTimestamp){if(parser.push("TS.CREATERULE"),parser.pushKeys([sourceKey,destinationKey]),parser.push("AGGREGATION",aggregationType,bucketDuration.toString()),alignTimestamp!==void 0)parser.push(alignTimestamp.toString())},transformReply:void 0}}),require_INCRBY4=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseIncrByArguments=void 0;var helpers_1=require_helpers2();function parseIncrByArguments(parser,key,value,options){if(parser.pushKey(key),parser.push(value.toString()),options?.TIMESTAMP!==void 0&&options?.TIMESTAMP!==null)parser.push("TIMESTAMP",(0,helpers_1.transformTimestampArgument)(options.TIMESTAMP));if((0,helpers_1.parseRetentionArgument)(parser,options?.RETENTION),options?.UNCOMPRESSED)parser.push("UNCOMPRESSED");(0,helpers_1.parseChunkSizeArgument)(parser,options?.CHUNK_SIZE),(0,helpers_1.parseLabelsArgument)(parser,options?.LABELS),(0,helpers_1.parseIgnoreArgument)(parser,options?.IGNORE)}exports.parseIncrByArguments=parseIncrByArguments,exports.default={IS_READ_ONLY:!1,parseCommand(...args2){args2[0].push("TS.INCRBY"),parseIncrByArguments(...args2)},transformReply:void 0}}),require_DECRBY2=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var INCRBY_1=__importStar(require_INCRBY4());exports.default={IS_READ_ONLY:INCRBY_1.default.IS_READ_ONLY,parseCommand(...args2){args2[0].push("TS.DECRBY"),(0,INCRBY_1.parseIncrByArguments)(...args2)},transformReply:INCRBY_1.default.transformReply}}),require_DEL4=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,fromTimestamp,toTimestamp){parser.push("TS.DEL"),parser.pushKey(key),parser.push((0,helpers_1.transformTimestampArgument)(fromTimestamp),(0,helpers_1.transformTimestampArgument)(toTimestamp))},transformReply:void 0}}),require_DELETERULE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!1,parseCommand(parser,sourceKey,destinationKey){parser.push("TS.DELETERULE"),parser.pushKeys([sourceKey,destinationKey])},transformReply:void 0}}),require_GET3=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,options){if(parser.push("TS.GET"),parser.pushKey(key),options?.LATEST)parser.push("LATEST")},transformReply:{2(reply){return reply.length===0?null:{timestamp:reply[0],value:Number(reply[1])}},3(reply){return reply.length===0?null:{timestamp:reply[0],value:reply[1]}}}}}),require_INFO8=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key){parser.push("TS.INFO"),parser.pushKey(key)},transformReply:{2:(reply,_,typeMapping)=>{let ret={};for(let i=0;i<reply.length;i+=2){let key=reply[i].toString();switch(key){case"totalSamples":case"memoryUsage":case"firstTimestamp":case"lastTimestamp":case"retentionTime":case"chunkCount":case"chunkSize":case"chunkType":case"duplicatePolicy":case"sourceKey":case"ignoreMaxTimeDiff":ret[key]=reply[i+1];break;case"labels":ret[key]=reply[i+1].map(([name,value])=>({name,value}));break;case"rules":ret[key]=reply[i+1].map(([key2,timeBucket,aggregationType])=>({key:key2,timeBucket,aggregationType}));break;case"ignoreMaxValDiff":ret[key]=generic_transformers_1.transformDoubleReply[2](reply[27],void 0,typeMapping);break}}return ret},3:void 0},unstableResp3:!0}}),require_INFO_DEBUG=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var INFO_1=__importDefault(require_INFO8());exports.default={IS_READ_ONLY:INFO_1.default.IS_READ_ONLY,parseCommand(parser,key){INFO_1.default.parseCommand(parser,key),parser.push("DEBUG")},transformReply:{2:(reply,_,typeMapping)=>{let ret=INFO_1.default.transformReply[2](reply,_,typeMapping);for(let i=0;i<reply.length;i+=2){let key=reply[i].toString();switch(key){case"keySelfName":{ret[key]=reply[i+1];break}case"Chunks":{ret.chunks=reply[i+1].map((chunk32)=>({startTimestamp:chunk32[1],endTimestamp:chunk32[3],samples:chunk32[5],size:chunk32[7],bytesPerSample:chunk32[9]}));break}}}return ret},3:void 0},unstableResp3:!0}}),require_MADD2=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,toAdd){parser.push("TS.MADD");for(let{key,timestamp,value}of toAdd)parser.pushKey(key),parser.push((0,helpers_1.transformTimestampArgument)(timestamp),value.toString())},transformReply:void 0}}),require_MGET3=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseFilterArgument=exports.parseLatestArgument=void 0;var helpers_1=require_helpers2();function parseLatestArgument(parser,latest){if(latest)parser.push("LATEST")}exports.parseLatestArgument=parseLatestArgument;function parseFilterArgument(parser,filter11){parser.push("FILTER"),parser.pushVariadic(filter11)}exports.parseFilterArgument=parseFilterArgument,exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,filter11,options){parser.push("TS.MGET"),parseLatestArgument(parser,options?.LATEST),parseFilterArgument(parser,filter11)},transformReply:{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([,,sample])=>{return{sample:helpers_1.transformSampleReply[2](sample)}},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([,sample])=>{return{sample:helpers_1.transformSampleReply[3](sample)}})}}}}),require_MGET_WITHLABELS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTransformMGetLabelsReply=void 0;var MGET_1=require_MGET3(),helpers_1=require_helpers2();function createTransformMGetLabelsReply(){return{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([,labels,sample])=>{return{labels:(0,helpers_1.transformRESP2Labels)(labels),sample:helpers_1.transformSampleReply[2](sample)}},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([labels,sample])=>{return{labels,sample:helpers_1.transformSampleReply[3](sample)}})}}}exports.createTransformMGetLabelsReply=createTransformMGetLabelsReply,exports.default={IS_READ_ONLY:!0,parseCommand(parser,filter11,options){parser.push("TS.MGET"),(0,MGET_1.parseLatestArgument)(parser,options?.LATEST),parser.push("WITHLABELS"),(0,MGET_1.parseFilterArgument)(parser,filter11)},transformReply:createTransformMGetLabelsReply()}}),require_MGET_SELECTED_LABELS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var MGET_1=require_MGET3(),helpers_1=require_helpers2(),MGET_WITHLABELS_1=require_MGET_WITHLABELS();exports.default={IS_READ_ONLY:!0,parseCommand(parser,filter11,selectedLabels,options){parser.push("TS.MGET"),(0,MGET_1.parseLatestArgument)(parser,options?.LATEST),(0,helpers_1.parseSelectedLabelsArguments)(parser,selectedLabels),(0,MGET_1.parseFilterArgument)(parser,filter11)},transformReply:(0,MGET_WITHLABELS_1.createTransformMGetLabelsReply)()}}),require_RANGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformRangeArguments=exports.parseRangeArguments=exports.TIME_SERIES_BUCKET_TIMESTAMP=void 0;var helpers_1=require_helpers2();exports.TIME_SERIES_BUCKET_TIMESTAMP={LOW:"-",MIDDLE:"~",END:"+"};function parseRangeArguments(parser,fromTimestamp,toTimestamp,options){if(parser.push((0,helpers_1.transformTimestampArgument)(fromTimestamp),(0,helpers_1.transformTimestampArgument)(toTimestamp)),options?.LATEST)parser.push("LATEST");if(options?.FILTER_BY_TS){parser.push("FILTER_BY_TS");for(let timestamp of options.FILTER_BY_TS)parser.push((0,helpers_1.transformTimestampArgument)(timestamp))}if(options?.FILTER_BY_VALUE)parser.push("FILTER_BY_VALUE",options.FILTER_BY_VALUE.min.toString(),options.FILTER_BY_VALUE.max.toString());if(options?.COUNT!==void 0)parser.push("COUNT",options.COUNT.toString());if(options?.AGGREGATION){if(options?.ALIGN!==void 0)parser.push("ALIGN",(0,helpers_1.transformTimestampArgument)(options.ALIGN));if(parser.push("AGGREGATION",options.AGGREGATION.type,(0,helpers_1.transformTimestampArgument)(options.AGGREGATION.timeBucket)),options.AGGREGATION.BUCKETTIMESTAMP)parser.push("BUCKETTIMESTAMP",options.AGGREGATION.BUCKETTIMESTAMP);if(options.AGGREGATION.EMPTY)parser.push("EMPTY")}}exports.parseRangeArguments=parseRangeArguments;function transformRangeArguments(parser,key,fromTimestamp,toTimestamp,options){parser.pushKey(key),parseRangeArguments(parser,fromTimestamp,toTimestamp,options)}exports.transformRangeArguments=transformRangeArguments,exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("TS.RANGE"),transformRangeArguments(...args2)},transformReply:{2(reply){return helpers_1.transformSamplesReply[2](reply)},3(reply){return helpers_1.transformSamplesReply[3](reply)}}}}),require_MRANGE_GROUPBY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.extractResp3MRangeSources=exports.createTransformMRangeGroupByArguments=exports.parseGroupByArguments=exports.TIME_SERIES_REDUCERS=void 0;var helpers_1=require_helpers2(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();exports.TIME_SERIES_REDUCERS={AVG:"AVG",SUM:"SUM",MIN:"MIN",MAX:"MAX",RANGE:"RANGE",COUNT:"COUNT",STD_P:"STD.P",STD_S:"STD.S",VAR_P:"VAR.P",VAR_S:"VAR.S"};function parseGroupByArguments(parser,groupBy3){parser.push("GROUPBY",groupBy3.label,"REDUCE",groupBy3.REDUCE)}exports.parseGroupByArguments=parseGroupByArguments;function createTransformMRangeGroupByArguments(command){return(parser,fromTimestamp,toTimestamp,filter11,groupBy3,options)=>{parser.push(command),(0,RANGE_1.parseRangeArguments)(parser,fromTimestamp,toTimestamp,options),(0,MGET_1.parseFilterArgument)(parser,filter11),parseGroupByArguments(parser,groupBy3)}}exports.createTransformMRangeGroupByArguments=createTransformMRangeGroupByArguments;function extractResp3MRangeSources(raw){let unwrappedMetadata2=raw;if(unwrappedMetadata2 instanceof Map)return unwrappedMetadata2.get("sources");else if(unwrappedMetadata2 instanceof Array)return unwrappedMetadata2[1];else return unwrappedMetadata2.sources}exports.extractResp3MRangeSources=extractResp3MRangeSources,exports.default={IS_READ_ONLY:!0,parseCommand:createTransformMRangeGroupByArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([_key,_labels,samples])=>{return{samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([_labels,_metadata1,metadata2,samples])=>{return{sources:extractResp3MRangeSources(metadata2),samples:helpers_1.transformSamplesReply[3](samples)}})}}}}),require_MRANGE_SELECTED_LABELS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTransformMRangeSelectedLabelsArguments=void 0;var helpers_1=require_helpers2(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();function createTransformMRangeSelectedLabelsArguments(command){return(parser,fromTimestamp,toTimestamp,selectedLabels,filter11,options)=>{parser.push(command),(0,RANGE_1.parseRangeArguments)(parser,fromTimestamp,toTimestamp,options),(0,helpers_1.parseSelectedLabelsArguments)(parser,selectedLabels),(0,MGET_1.parseFilterArgument)(parser,filter11)}}exports.createTransformMRangeSelectedLabelsArguments=createTransformMRangeSelectedLabelsArguments,exports.default={IS_READ_ONLY:!0,parseCommand:createTransformMRangeSelectedLabelsArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([_key,labels,samples])=>{return{labels:(0,helpers_1.transformRESP2Labels)(labels,typeMapping),samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([_key,labels,samples])=>{return{labels,samples:helpers_1.transformSamplesReply[3](samples)}})}}}}),require_MRANGE_SELECTED_LABELS_GROUPBY=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createMRangeSelectedLabelsGroupByTransformArguments=void 0;var helpers_1=require_helpers2(),RANGE_1=require_RANGE(),MRANGE_GROUPBY_1=require_MRANGE_GROUPBY(),MGET_1=require_MGET3(),MRANGE_SELECTED_LABELS_1=__importDefault(require_MRANGE_SELECTED_LABELS());function createMRangeSelectedLabelsGroupByTransformArguments(command){return(parser,fromTimestamp,toTimestamp,selectedLabels,filter11,groupBy3,options)=>{parser.push(command),(0,RANGE_1.parseRangeArguments)(parser,fromTimestamp,toTimestamp,options),(0,helpers_1.parseSelectedLabelsArguments)(parser,selectedLabels),(0,MGET_1.parseFilterArgument)(parser,filter11),(0,MRANGE_GROUPBY_1.parseGroupByArguments)(parser,groupBy3)}}exports.createMRangeSelectedLabelsGroupByTransformArguments=createMRangeSelectedLabelsGroupByTransformArguments,exports.default={IS_READ_ONLY:!0,parseCommand:createMRangeSelectedLabelsGroupByTransformArguments("TS.MRANGE"),transformReply:{2:MRANGE_SELECTED_LABELS_1.default.transformReply[2],3(reply){return(0,helpers_1.resp3MapToValue)(reply,([labels,_metadata,metadata2,samples])=>{return{labels,sources:(0,MRANGE_GROUPBY_1.extractResp3MRangeSources)(metadata2),samples:helpers_1.transformSamplesReply[3](samples)}})}}}}),require_MRANGE_WITHLABELS_GROUPBY=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createMRangeWithLabelsGroupByTransformArguments=void 0;var helpers_1=require_helpers2(),RANGE_1=require_RANGE(),MRANGE_GROUPBY_1=require_MRANGE_GROUPBY(),MGET_1=require_MGET3();function createMRangeWithLabelsGroupByTransformArguments(command){return(parser,fromTimestamp,toTimestamp,filter11,groupBy3,options)=>{parser.push(command),(0,RANGE_1.parseRangeArguments)(parser,fromTimestamp,toTimestamp,options),parser.push("WITHLABELS"),(0,MGET_1.parseFilterArgument)(parser,filter11),(0,MRANGE_GROUPBY_1.parseGroupByArguments)(parser,groupBy3)}}exports.createMRangeWithLabelsGroupByTransformArguments=createMRangeWithLabelsGroupByTransformArguments,exports.default={IS_READ_ONLY:!0,parseCommand:createMRangeWithLabelsGroupByTransformArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([_key,labels,samples])=>{let transformed=(0,helpers_1.transformRESP2LabelsWithSources)(labels);return{labels:transformed.labels,sources:transformed.sources,samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([labels,_metadata,metadata2,samples])=>{return{labels,sources:(0,MRANGE_GROUPBY_1.extractResp3MRangeSources)(metadata2),samples:helpers_1.transformSamplesReply[3](samples)}})}}}}),require_MRANGE_WITHLABELS=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTransformMRangeWithLabelsArguments=void 0;var helpers_1=require_helpers2(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();function createTransformMRangeWithLabelsArguments(command){return(parser,fromTimestamp,toTimestamp,filter11,options)=>{parser.push(command),(0,RANGE_1.parseRangeArguments)(parser,fromTimestamp,toTimestamp,options),parser.push("WITHLABELS"),(0,MGET_1.parseFilterArgument)(parser,filter11)}}exports.createTransformMRangeWithLabelsArguments=createTransformMRangeWithLabelsArguments,exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:createTransformMRangeWithLabelsArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([_key,labels,samples])=>{let unwrappedLabels=labels,labelsObject=Object.create(null);for(let tuple22 of unwrappedLabels){let[key,value]=tuple22,unwrappedKey=key;labelsObject[unwrappedKey.toString()]=value}return{labels:labelsObject,samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([labels,_metadata,samples])=>{return{labels,samples:helpers_1.transformSamplesReply[3](samples)}})}}}}),require_MRANGE=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTransformMRangeArguments=void 0;var helpers_1=require_helpers2(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();function createTransformMRangeArguments(command){return(parser,fromTimestamp,toTimestamp,filter11,options)=>{parser.push(command),(0,RANGE_1.parseRangeArguments)(parser,fromTimestamp,toTimestamp,options),(0,MGET_1.parseFilterArgument)(parser,filter11)}}exports.createTransformMRangeArguments=createTransformMRangeArguments,exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:createTransformMRangeArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return(0,helpers_1.resp2MapToValue)(reply,([_key,_labels,samples])=>{return helpers_1.transformSamplesReply[2](samples)},typeMapping)},3(reply){return(0,helpers_1.resp3MapToValue)(reply,([_labels,_metadata,samples])=>{return helpers_1.transformSamplesReply[3](samples)})}}}}),require_MREVRANGE_GROUPBY=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var MRANGE_GROUPBY_1=__importStar(require_MRANGE_GROUPBY());exports.default={IS_READ_ONLY:MRANGE_GROUPBY_1.default.IS_READ_ONLY,parseCommand:(0,MRANGE_GROUPBY_1.createTransformMRangeGroupByArguments)("TS.MREVRANGE"),transformReply:MRANGE_GROUPBY_1.default.transformReply}}),require_MREVRANGE_SELECTED_LABELS_GROUPBY=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var MRANGE_SELECTED_LABELS_GROUPBY_1=__importStar(require_MRANGE_SELECTED_LABELS_GROUPBY());exports.default={IS_READ_ONLY:MRANGE_SELECTED_LABELS_GROUPBY_1.default.IS_READ_ONLY,parseCommand:(0,MRANGE_SELECTED_LABELS_GROUPBY_1.createMRangeSelectedLabelsGroupByTransformArguments)("TS.MREVRANGE"),transformReply:MRANGE_SELECTED_LABELS_GROUPBY_1.default.transformReply}}),require_MREVRANGE_SELECTED_LABELS=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var MRANGE_SELECTED_LABELS_1=__importStar(require_MRANGE_SELECTED_LABELS());exports.default={IS_READ_ONLY:MRANGE_SELECTED_LABELS_1.default.IS_READ_ONLY,parseCommand:(0,MRANGE_SELECTED_LABELS_1.createTransformMRangeSelectedLabelsArguments)("TS.MREVRANGE"),transformReply:MRANGE_SELECTED_LABELS_1.default.transformReply}}),require_MREVRANGE_WITHLABELS_GROUPBY=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var MRANGE_WITHLABELS_GROUPBY_1=__importStar(require_MRANGE_WITHLABELS_GROUPBY());exports.default={IS_READ_ONLY:MRANGE_WITHLABELS_GROUPBY_1.default.IS_READ_ONLY,parseCommand:(0,MRANGE_WITHLABELS_GROUPBY_1.createMRangeWithLabelsGroupByTransformArguments)("TS.MREVRANGE"),transformReply:MRANGE_WITHLABELS_GROUPBY_1.default.transformReply}}),require_MREVRANGE_WITHLABELS=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var MRANGE_WITHLABELS_1=__importStar(require_MRANGE_WITHLABELS());exports.default={NOT_KEYED_COMMAND:MRANGE_WITHLABELS_1.default.NOT_KEYED_COMMAND,IS_READ_ONLY:MRANGE_WITHLABELS_1.default.IS_READ_ONLY,parseCommand:(0,MRANGE_WITHLABELS_1.createTransformMRangeWithLabelsArguments)("TS.MREVRANGE"),transformReply:MRANGE_WITHLABELS_1.default.transformReply}}),require_MREVRANGE=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var MRANGE_1=__importStar(require_MRANGE());exports.default={NOT_KEYED_COMMAND:MRANGE_1.default.NOT_KEYED_COMMAND,IS_READ_ONLY:MRANGE_1.default.IS_READ_ONLY,parseCommand:(0,MRANGE_1.createTransformMRangeArguments)("TS.MREVRANGE"),transformReply:MRANGE_1.default.transformReply}}),require_QUERYINDEX=__commonJS2((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,filter11){parser.push("TS.QUERYINDEX"),parser.pushVariadic(filter11)},transformReply:{2:void 0,3:void 0}}}),require_REVRANGE=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k)}return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});var RANGE_1=__importStar(require_RANGE());exports.default={IS_READ_ONLY:RANGE_1.default.IS_READ_ONLY,parseCommand(...args2){args2[0].push("TS.REVRANGE"),(0,RANGE_1.transformRangeArguments)(...args2)},transformReply:RANGE_1.default.transformReply}}),require_commands6=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p))__createBinding(exports2,m,p)},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var ADD_1=__importDefault(require_ADD5()),ALTER_1=__importDefault(require_ALTER2()),CREATE_1=__importDefault(require_CREATE3()),CREATERULE_1=__importDefault(require_CREATERULE()),DECRBY_1=__importDefault(require_DECRBY2()),DEL_1=__importDefault(require_DEL4()),DELETERULE_1=__importDefault(require_DELETERULE()),GET_1=__importDefault(require_GET3()),INCRBY_1=__importDefault(require_INCRBY4()),INFO_DEBUG_1=__importDefault(require_INFO_DEBUG()),INFO_1=__importDefault(require_INFO8()),MADD_1=__importDefault(require_MADD2()),MGET_SELECTED_LABELS_1=__importDefault(require_MGET_SELECTED_LABELS()),MGET_WITHLABELS_1=__importDefault(require_MGET_WITHLABELS()),MGET_1=__importDefault(require_MGET3()),MRANGE_GROUPBY_1=__importDefault(require_MRANGE_GROUPBY()),MRANGE_SELECTED_LABELS_GROUPBY_1=__importDefault(require_MRANGE_SELECTED_LABELS_GROUPBY()),MRANGE_SELECTED_LABELS_1=__importDefault(require_MRANGE_SELECTED_LABELS()),MRANGE_WITHLABELS_GROUPBY_1=__importDefault(require_MRANGE_WITHLABELS_GROUPBY()),MRANGE_WITHLABELS_1=__importDefault(require_MRANGE_WITHLABELS()),MRANGE_1=__importDefault(require_MRANGE()),MREVRANGE_GROUPBY_1=__importDefault(require_MREVRANGE_GROUPBY()),MREVRANGE_SELECTED_LABELS_GROUPBY_1=__importDefault(require_MREVRANGE_SELECTED_LABELS_GROUPBY()),MREVRANGE_SELECTED_LABELS_1=__importDefault(require_MREVRANGE_SELECTED_LABELS()),MREVRANGE_WITHLABELS_GROUPBY_1=__importDefault(require_MREVRANGE_WITHLABELS_GROUPBY()),MREVRANGE_WITHLABELS_1=__importDefault(require_MREVRANGE_WITHLABELS()),MREVRANGE_1=__importDefault(require_MREVRANGE()),QUERYINDEX_1=__importDefault(require_QUERYINDEX()),RANGE_1=__importDefault(require_RANGE()),REVRANGE_1=__importDefault(require_REVRANGE());__exportStar(require_helpers2(),exports),exports.default={ADD:ADD_1.default,add:ADD_1.default,ALTER:ALTER_1.default,alter:ALTER_1.default,CREATE:CREATE_1.default,create:CREATE_1.default,CREATERULE:CREATERULE_1.default,createRule:CREATERULE_1.default,DECRBY:DECRBY_1.default,decrBy:DECRBY_1.default,DEL:DEL_1.default,del:DEL_1.default,DELETERULE:DELETERULE_1.default,deleteRule:DELETERULE_1.default,GET:GET_1.default,get:GET_1.default,INCRBY:INCRBY_1.default,incrBy:INCRBY_1.default,INFO_DEBUG:INFO_DEBUG_1.default,infoDebug:INFO_DEBUG_1.default,INFO:INFO_1.default,info:INFO_1.default,MADD:MADD_1.default,mAdd:MADD_1.default,MGET_SELECTED_LABELS:MGET_SELECTED_LABELS_1.default,mGetSelectedLabels:MGET_SELECTED_LABELS_1.default,MGET_WITHLABELS:MGET_WITHLABELS_1.default,mGetWithLabels:MGET_WITHLABELS_1.default,MGET:MGET_1.default,mGet:MGET_1.default,MRANGE_GROUPBY:MRANGE_GROUPBY_1.default,mRangeGroupBy:MRANGE_GROUPBY_1.default,MRANGE_SELECTED_LABELS_GROUPBY:MRANGE_SELECTED_LABELS_GROUPBY_1.default,mRangeSelectedLabelsGroupBy:MRANGE_SELECTED_LABELS_GROUPBY_1.default,MRANGE_SELECTED_LABELS:MRANGE_SELECTED_LABELS_1.default,mRangeSelectedLabels:MRANGE_SELECTED_LABELS_1.default,MRANGE_WITHLABELS_GROUPBY:MRANGE_WITHLABELS_GROUPBY_1.default,mRangeWithLabelsGroupBy:MRANGE_WITHLABELS_GROUPBY_1.default,MRANGE_WITHLABELS:MRANGE_WITHLABELS_1.default,mRangeWithLabels:MRANGE_WITHLABELS_1.default,MRANGE:MRANGE_1.default,mRange:MRANGE_1.default,MREVRANGE_GROUPBY:MREVRANGE_GROUPBY_1.default,mRevRangeGroupBy:MREVRANGE_GROUPBY_1.default,MREVRANGE_SELECTED_LABELS_GROUPBY:MREVRANGE_SELECTED_LABELS_GROUPBY_1.default,mRevRangeSelectedLabelsGroupBy:MREVRANGE_SELECTED_LABELS_GROUPBY_1.default,MREVRANGE_SELECTED_LABELS:MREVRANGE_SELECTED_LABELS_1.default,mRevRangeSelectedLabels:MREVRANGE_SELECTED_LABELS_1.default,MREVRANGE_WITHLABELS_GROUPBY:MREVRANGE_WITHLABELS_GROUPBY_1.default,mRevRangeWithLabelsGroupBy:MREVRANGE_WITHLABELS_GROUPBY_1.default,MREVRANGE_WITHLABELS:MREVRANGE_WITHLABELS_1.default,mRevRangeWithLabels:MREVRANGE_WITHLABELS_1.default,MREVRANGE:MREVRANGE_1.default,mRevRange:MREVRANGE_1.default,QUERYINDEX:QUERYINDEX_1.default,queryIndex:QUERYINDEX_1.default,RANGE:RANGE_1.default,range:RANGE_1.default,REVRANGE:REVRANGE_1.default,revRange:REVRANGE_1.default}}),require_lib5=__commonJS2((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TIME_SERIES_REDUCERS=exports.TIME_SERIES_BUCKET_TIMESTAMP=exports.TIME_SERIES_AGGREGATION_TYPE=exports.TIME_SERIES_DUPLICATE_POLICIES=exports.TIME_SERIES_ENCODING=exports.default=void 0;var commands_1=require_commands6();Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return __importDefault(commands_1).default}}),Object.defineProperty(exports,"TIME_SERIES_ENCODING",{enumerable:!0,get:function(){return commands_1.TIME_SERIES_ENCODING}}),Object.defineProperty(exports,"TIME_SERIES_DUPLICATE_POLICIES",{enumerable:!0,get:function(){return commands_1.TIME_SERIES_DUPLICATE_POLICIES}});var CREATERULE_1=require_CREATERULE();Object.defineProperty(exports,"TIME_SERIES_AGGREGATION_TYPE",{enumerable:!0,get:function(){return CREATERULE_1.TIME_SERIES_AGGREGATION_TYPE}});var RANGE_1=require_RANGE();Object.defineProperty(exports,"TIME_SERIES_BUCKET_TIMESTAMP",{enumerable:!0,get:function(){return RANGE_1.TIME_SERIES_BUCKET_TIMESTAMP}});var MRANGE_GROUPBY_1=require_MRANGE_GROUPBY();Object.defineProperty(exports,"TIME_SERIES_REDUCERS",{enumerable:!0,get:function(){return MRANGE_GROUPBY_1.TIME_SERIES_REDUCERS}})}),require_dist2=__commonJS2((exports)=>{var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]}),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p))__createBinding(exports2,m,p)},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createSentinel=exports.createCluster=exports.createClientPool=exports.createClient=void 0;var client_1=require_dist(),bloom_1=__importDefault(require_lib2()),json_1=__importDefault(require_lib3()),search_1=__importDefault(require_lib4()),time_series_1=__importDefault(require_lib5());__exportStar(require_dist(),exports),__exportStar(require_lib2(),exports),__exportStar(require_lib3(),exports),__exportStar(require_lib4(),exports),__exportStar(require_lib5(),exports);var modules={...bloom_1.default,json:json_1.default,ft:search_1.default,ts:time_series_1.default};function createClient(options){return(0,client_1.createClient)({...options,modules:{...modules,...options?.modules}})}exports.createClient=createClient;function createClientPool(clientOptions,options){return(0,client_1.createClientPool)({...clientOptions,modules:{...modules,...clientOptions?.modules}},options)}exports.createClientPool=createClientPool;function createCluster(options){return(0,client_1.createCluster)({...options,modules:{...modules,...options?.modules}})}exports.createCluster=createCluster;function createSentinel(options){return(0,client_1.createSentinel)({...options,modules:{...modules,...options?.modules}})}exports.createSentinel=createSentinel}),isFunction3=(input)=>typeof input==="function",dual2=function(arity,body){if(typeof arity==="function")return function(){if(arity(arguments))return body.apply(this,arguments);return(self)=>body(self,...arguments)};switch(arity){case 0:case 1:throw RangeError(`Invalid arity ${arity}`);case 2:return function(a,b){if(arguments.length>=2)return body(a,b);return function(self){return body(self,a)}};case 3:return function(a,b,c){if(arguments.length>=3)return body(a,b,c);return function(self){return body(self,a,b)}};case 4:return function(a,b,c,d){if(arguments.length>=4)return body(a,b,c,d);return function(self){return body(self,a,b,c)}};case 5:return function(a,b,c,d,e){if(arguments.length>=5)return body(a,b,c,d,e);return function(self){return body(self,a,b,c,d)}};default:return function(){if(arguments.length>=arity)return body.apply(this,arguments);let args2=arguments;return function(self){return body(self,...args2)}}}},identity5=(a)=>a,constant2=(value)=>()=>value,constTrue2=constant2(!0),constFalse2=constant2(!1),constNull2=constant2(null),constUndefined2=constant2(void 0),constVoid2=constUndefined2;function pipe2(a,ab,bc,cd,de,ef,fg,gh,hi){switch(arguments.length){case 1:return a;case 2:return ab(a);case 3:return bc(ab(a));case 4:return cd(bc(ab(a)));case 5:return de(cd(bc(ab(a))));case 6:return ef(de(cd(bc(ab(a)))));case 7:return fg(ef(de(cd(bc(ab(a))))));case 8:return gh(fg(ef(de(cd(bc(ab(a)))))));case 9:return hi(gh(fg(ef(de(cd(bc(ab(a))))))));default:{let ret=arguments[0];for(let i=1;i<arguments.length;i++)ret=arguments[i](ret);return ret}}}var make55=(isEquivalent)=>(self,that)=>self===that||isEquivalent(self,that),mapInput6=dual2(2,(self,f)=>make55((x,y)=>self(f(x),f(y)))),array6=(item)=>make55((self,that)=>{if(self.length!==that.length)return!1;for(let i=0;i<self.length;i++)if(!item(self[i],that[i]))return!1;return!0}),let_6=(map27)=>dual2(3,(self,name,f)=>map27(self,(a)=>({...a,[name]:f(a)}))),bindTo6=(map27)=>dual2(2,(self,name)=>map27(self,(a)=>({[name]:a}))),bind6=(map27,flatMap18)=>dual2(3,(self,name,f)=>flatMap18(self,(a)=>map27(f(a),(b)=>({...a,[name]:b})))),globalStore2,globalValue2=(id2,compute)=>{if(!globalStore2)globalThis["effect/GlobalValue"]??=new Map,globalStore2=globalThis["effect/GlobalValue"];if(!globalStore2.has(id2))globalStore2.set(id2,compute());return globalStore2.get(id2)},isString2=(input)=>typeof input==="string",isNumber2=(input)=>typeof input==="number",isBoolean2=(input)=>typeof input==="boolean",isBigInt2=(input)=>typeof input==="bigint",isFunction22=isFunction3,isRecordOrArray2=(input)=>typeof input==="object"&&input!==null,isObject2=(input)=>isRecordOrArray2(input)||isFunction22(input),hasProperty2=dual2(2,(self,property)=>isObject2(self)&&(property in self)),isTagged2=dual2(2,(self,tag)=>hasProperty2(self,"_tag")&&self._tag===tag),isNullable2=(input)=>input===null||input===void 0,isIterable2=(input)=>typeof input==="string"||hasProperty2(input,Symbol.iterator),isPromiseLike2=(input)=>hasProperty2(input,"then")&&isFunction22(input.then),getBugErrorMessage2=(message)=>`BUG: ${message} - please report an issue at https://github.com/Effect-TS/effect/issues`,GenKindTypeId=Symbol.for("effect/Gen/GenKind"),isGenKind=(u)=>isObject2(u)&&(GenKindTypeId in u);class GenKindImpl{value;constructor(value){this.value=value}get _F(){return identity5}get _R(){return(_)=>_}get _O(){return(_)=>_}get _E(){return(_)=>_}[GenKindTypeId]=GenKindTypeId;[Symbol.iterator](){return new SingleShotGen3(this)}}class SingleShotGen3{self;called=!1;constructor(self){this.self=self}next(a){return this.called?{value:a,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(a){return{value:a,done:!0}}throw(e){throw e}[Symbol.iterator](){return new SingleShotGen3(this.self)}}var adapter=()=>function(){let x=arguments[0];for(let i=1;i<arguments.length;i++)x=arguments[i](x);return new GenKindImpl(x)},defaultIncHi2=335903614,defaultIncLo2=4150755663,MUL_HI2=1481765933,MUL_LO2=1284865837,BIT_532=9007199254740992,BIT_272=134217728;class PCGRandom2{_state;constructor(seedHi,seedLo,incHi,incLo){if(isNullable2(seedLo)&&isNullable2(seedHi))seedLo=Math.random()*4294967295>>>0,seedHi=0;else if(isNullable2(seedLo))seedLo=seedHi,seedHi=0;if(isNullable2(incLo)&&isNullable2(incHi))incLo=this._state?this._state[3]:defaultIncLo2,incHi=this._state?this._state[2]:defaultIncHi2;else if(isNullable2(incLo))incLo=incHi,incHi=0;return this._state=new Int32Array([0,0,incHi>>>0,((incLo||0)|1)>>>0]),this._next(),add642(this._state,this._state[0],this._state[1],seedHi>>>0,seedLo>>>0),this._next(),this}getState(){return[this._state[0],this._state[1],this._state[2],this._state[3]]}setState(state){this._state[0]=state[0],this._state[1]=state[1],this._state[2]=state[2],this._state[3]=state[3]|1}integer(max6){return Math.round(this.number()*Number.MAX_SAFE_INTEGER)%max6}number(){let hi=(this._next()&67108863)*1,lo=(this._next()&134217727)*1;return(hi*BIT_272+lo)/BIT_532}_next(){let oldHi=this._state[0]>>>0,oldLo=this._state[1]>>>0;mul642(this._state,oldHi,oldLo,MUL_HI2,MUL_LO2),add642(this._state,this._state[0],this._state[1],this._state[2],this._state[3]);let xsHi=oldHi>>>18,xsLo=(oldLo>>>18|oldHi<<14)>>>0;xsHi=(xsHi^oldHi)>>>0,xsLo=(xsLo^oldLo)>>>0;let xorshifted=(xsLo>>>27|xsHi<<5)>>>0,rot=oldHi>>>27,rot2=(-rot>>>0&31)>>>0;return(xorshifted>>>rot|xorshifted<<rot2)>>>0}}function mul642(out,aHi,aLo,bHi,bLo){let c1=(aLo>>>16)*(bLo&65535)>>>0,c0=(aLo&65535)*(bLo>>>16)>>>0,lo=(aLo&65535)*(bLo&65535)>>>0,hi=(aLo>>>16)*(bLo>>>16)+((c0>>>16)+(c1>>>16))>>>0;if(c0=c0<<16>>>0,lo=lo+c0>>>0,lo>>>0<c0>>>0)hi=hi+1>>>0;if(c1=c1<<16>>>0,lo=lo+c1>>>0,lo>>>0<c1>>>0)hi=hi+1>>>0;hi=hi+Math.imul(aLo,bHi)>>>0,hi=hi+Math.imul(aHi,bLo)>>>0,out[0]=hi,out[1]=lo}function add642(out,aHi,aLo,bHi,bLo){let hi=aHi+bHi>>>0,lo=aLo+bLo>>>0;if(lo>>>0<aLo>>>0)hi=hi+1|0;out[0]=hi,out[1]=lo}var YieldWrapTypeId2=Symbol.for("effect/Utils/YieldWrap");class YieldWrap2{#value;constructor(value){this.#value=value}[YieldWrapTypeId2](){return this.#value}}function yieldWrapGet2(self){if(typeof self==="object"&&self!==null&&YieldWrapTypeId2 in self)return self[YieldWrapTypeId2]();throw Error(getBugErrorMessage2("yieldWrapGet"))}var structuralRegionState2=globalValue2("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0})),standard2={effect_internal_function:(body)=>{return body()}},forced2={effect_internal_function:(body)=>{try{return body()}finally{}}},isNotOptimizedAway2=standard2.effect_internal_function(()=>Error().stack)?.includes("effect_internal_function")===!0,internalCall2=isNotOptimizedAway2?standard2.effect_internal_function:forced2.effect_internal_function,genConstructor2=function*(){}.constructor,isGeneratorFunction2=(u)=>isObject2(u)&&u.constructor===genConstructor2,randomHashCache2=globalValue2(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),symbol3=Symbol.for("effect/Hash"),hash2=(self)=>{if(structuralRegionState2.enabled===!0)return 0;switch(typeof self){case"number":return number6(self);case"bigint":return string4(self.toString(10));case"boolean":return string4(String(self));case"symbol":return string4(String(self));case"string":return string4(self);case"undefined":return string4("undefined");case"function":case"object":if(self===null)return string4("null");else if(self instanceof Date)return hash2(self.toISOString());else if(self instanceof URL)return hash2(self.href);else if(isHash2(self))return self[symbol3]();else return random4(self);default:throw Error(`BUG: unhandled typeof ${typeof self} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},random4=(self)=>{if(!randomHashCache2.has(self))randomHashCache2.set(self,number6(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return randomHashCache2.get(self)},combine11=(b)=>(self)=>self*53^b,optimize2=(n)=>n&3221225471|n>>>1&1073741824,isHash2=(u)=>hasProperty2(u,symbol3),number6=(n)=>{if(n!==n||n===1/0)return 0;let h=n|0;if(h!==n)h^=n*4294967295;while(n>4294967295)h^=n/=4294967295;return optimize2(h)},string4=(str)=>{let h=5381,i=str.length;while(i)h=h*33^str.charCodeAt(--i);return optimize2(h)},structureKeys2=(o,keys3)=>{let h=12289;for(let i=0;i<keys3.length;i++)h^=pipe2(string4(keys3[i]),combine11(hash2(o[keys3[i]])));return optimize2(h)},structure2=(o)=>structureKeys2(o,Object.keys(o)),array22=(arr)=>{let h=6151;for(let i=0;i<arr.length;i++)h=pipe2(h,combine11(hash2(arr[i])));return optimize2(h)},cached4=function(){if(arguments.length===1){let self2=arguments[0];return function(hash3){return Object.defineProperty(self2,symbol3,{value(){return hash3},enumerable:!1}),hash3}}let self=arguments[0],hash22=arguments[1];return Object.defineProperty(self,symbol3,{value(){return hash22},enumerable:!1}),hash22},symbol22=Symbol.for("effect/Equal");function equals4(){if(arguments.length===1)return(self)=>compareBoth2(self,arguments[0]);return compareBoth2(arguments[0],arguments[1])}function compareBoth2(self,that){if(self===that)return!0;let selfType=typeof self;if(selfType!==typeof that)return!1;if(selfType==="object"||selfType==="function"){if(self!==null&&that!==null){if(isEqual2(self)&&isEqual2(that))if(hash2(self)===hash2(that)&&self[symbol22](that))return!0;else return structuralRegionState2.enabled&&structuralRegionState2.tester?structuralRegionState2.tester(self,that):!1;else if(self instanceof Date&&that instanceof Date)return self.toISOString()===that.toISOString();else if(self instanceof URL&&that instanceof URL)return self.href===that.href}if(structuralRegionState2.enabled){if(Array.isArray(self)&&Array.isArray(that))return self.length===that.length&&self.every((v,i)=>compareBoth2(v,that[i]));if(Object.getPrototypeOf(self)===Object.prototype&&Object.getPrototypeOf(self)===Object.prototype){let keysSelf=Object.keys(self),keysThat=Object.keys(that);if(keysSelf.length===keysThat.length){for(let key of keysSelf)if(!((key in that)&&compareBoth2(self[key],that[key])))return structuralRegionState2.tester?structuralRegionState2.tester(self,that):!1;return!0}}return structuralRegionState2.tester?structuralRegionState2.tester(self,that):!1}}return structuralRegionState2.enabled&&structuralRegionState2.tester?structuralRegionState2.tester(self,that):!1}var isEqual2=(u)=>hasProperty2(u,symbol22),equivalence2=()=>equals4,NodeInspectSymbol2=Symbol.for("nodejs.util.inspect.custom"),toJSON2=(x)=>{try{if(hasProperty2(x,"toJSON")&&isFunction22(x.toJSON)&&x.toJSON.length===0)return x.toJSON();else if(Array.isArray(x))return x.map(toJSON2)}catch{return{}}return redact2(x)},format4=(x)=>JSON.stringify(x,null,2),BaseProto2={toJSON(){return toJSON2(this)},[NodeInspectSymbol2](){return this.toJSON()},toString(){return format4(this.toJSON())}},toStringUnknown2=(u,whitespace=2)=>{if(typeof u==="string")return u;try{return typeof u==="object"?stringifyCircular2(u,whitespace):String(u)}catch{return String(u)}},stringifyCircular2=(obj,whitespace)=>{let cache=[],retVal=JSON.stringify(obj,(_key,value)=>typeof value==="object"&&value!==null?cache.includes(value)?void 0:cache.push(value)&&(redactableState2.fiberRefs!==void 0&&isRedactable2(value)?value[symbolRedactable2](redactableState2.fiberRefs):value):value,whitespace);return cache=void 0,retVal},symbolRedactable2=Symbol.for("effect/Inspectable/Redactable"),isRedactable2=(u)=>typeof u==="object"&&u!==null&&(symbolRedactable2 in u),redactableState2=globalValue2("effect/Inspectable/redactableState",()=>({fiberRefs:void 0})),withRedactableContext2=(context7,f)=>{let prev=redactableState2.fiberRefs;redactableState2.fiberRefs=context7;try{return f()}finally{redactableState2.fiberRefs=prev}},redact2=(u)=>{if(isRedactable2(u)&&redactableState2.fiberRefs!==void 0)return u[symbolRedactable2](redactableState2.fiberRefs);return u},pipeArguments2=(self,args2)=>{switch(args2.length){case 0:return self;case 1:return args2[0](self);case 2:return args2[1](args2[0](self));case 3:return args2[2](args2[1](args2[0](self)));case 4:return args2[3](args2[2](args2[1](args2[0](self))));case 5:return args2[4](args2[3](args2[2](args2[1](args2[0](self)))));case 6:return args2[5](args2[4](args2[3](args2[2](args2[1](args2[0](self))))));case 7:return args2[6](args2[5](args2[4](args2[3](args2[2](args2[1](args2[0](self)))))));case 8:return args2[7](args2[6](args2[5](args2[4](args2[3](args2[2](args2[1](args2[0](self))))))));case 9:return args2[8](args2[7](args2[6](args2[5](args2[4](args2[3](args2[2](args2[1](args2[0](self)))))))));default:{let ret=self;for(let i=0,len=args2.length;i<len;i++)ret=args2[i](ret);return ret}}},OP_ASYNC2="Async",OP_COMMIT2="Commit",OP_FAILURE2="Failure",OP_ON_FAILURE3="OnFailure",OP_ON_SUCCESS3="OnSuccess",OP_ON_SUCCESS_AND_FAILURE2="OnSuccessAndFailure",OP_SUCCESS2="Success",OP_SYNC3="Sync",OP_TAG2="Tag",OP_UPDATE_RUNTIME_FLAGS2="UpdateRuntimeFlags",OP_WHILE2="While",OP_ITERATOR2="Iterator",OP_WITH_RUNTIME2="WithRuntime",OP_YIELD3="Yield",OP_REVERT_FLAGS2="RevertFlags",moduleVersion2="3.19.9",getCurrentVersion2=()=>moduleVersion2,EffectTypeId4=Symbol.for("effect/Effect"),StreamTypeId4=Symbol.for("effect/Stream"),SinkTypeId3=Symbol.for("effect/Sink"),ChannelTypeId3=Symbol.for("effect/Channel"),effectVariance2={_R:(_)=>_,_E:(_)=>_,_A:(_)=>_,_V:getCurrentVersion2()},sinkVariance3={_A:(_)=>_,_In:(_)=>_,_L:(_)=>_,_E:(_)=>_,_R:(_)=>_},channelVariance3={_Env:(_)=>_,_InErr:(_)=>_,_InElem:(_)=>_,_InDone:(_)=>_,_OutErr:(_)=>_,_OutElem:(_)=>_,_OutDone:(_)=>_},EffectPrototype3={[EffectTypeId4]:effectVariance2,[StreamTypeId4]:effectVariance2,[SinkTypeId3]:sinkVariance3,[ChannelTypeId3]:channelVariance3,[symbol22](that){return this===that},[symbol3](){return cached4(this,random4(this))},[Symbol.iterator](){return new SingleShotGen3(new YieldWrap2(this))},pipe(){return pipeArguments2(this,arguments)}},StructuralPrototype2={[symbol3](){return cached4(this,structure2(this))},[symbol22](that){let selfKeys=Object.keys(this),thatKeys=Object.keys(that);if(selfKeys.length!==thatKeys.length)return!1;for(let key of selfKeys)if(!((key in that)&&equals4(this[key],that[key])))return!1;return!0}},CommitPrototype3={...EffectPrototype3,_op:OP_COMMIT2},StructuralCommitPrototype2={...CommitPrototype3,...StructuralPrototype2},Base3=function(){function Base22(){}return Base22.prototype=CommitPrototype3,Base22}(),TypeId19=Symbol.for("effect/Option"),CommonProto3={...EffectPrototype3,[TypeId19]:{_A:(_)=>_},[NodeInspectSymbol2](){return this.toJSON()},toString(){return format4(this.toJSON())}},SomeProto2=Object.assign(Object.create(CommonProto3),{_tag:"Some",_op:"Some",[symbol22](that){return isOption2(that)&&isSome3(that)&&equals4(this.value,that.value)},[symbol3](){return cached4(this,combine11(hash2(this._tag))(hash2(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:toJSON2(this.value)}}}),NoneHash2=hash2("None"),NoneProto2=Object.assign(Object.create(CommonProto3),{_tag:"None",_op:"None",[symbol22](that){return isOption2(that)&&isNone4(that)},[symbol3](){return NoneHash2},toJSON(){return{_id:"Option",_tag:this._tag}}}),isOption2=(input)=>hasProperty2(input,TypeId19),isNone4=(fa)=>fa._tag==="None",isSome3=(fa)=>fa._tag==="Some",none10=Object.create(NoneProto2),some7=(value)=>{let a=Object.create(SomeProto2);return a.value=value,a},TypeId22=Symbol.for("effect/Either"),CommonProto22={...EffectPrototype3,[TypeId22]:{_R:(_)=>_},[NodeInspectSymbol2](){return this.toJSON()},toString(){return format4(this.toJSON())}},RightProto2=Object.assign(Object.create(CommonProto22),{_tag:"Right",_op:"Right",[symbol22](that){return isEither3(that)&&isRight4(that)&&equals4(this.right,that.right)},[symbol3](){return combine11(hash2(this._tag))(hash2(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:toJSON2(this.right)}}}),LeftProto2=Object.assign(Object.create(CommonProto22),{_tag:"Left",_op:"Left",[symbol22](that){return isEither3(that)&&isLeft4(that)&&equals4(this.left,that.left)},[symbol3](){return combine11(hash2(this._tag))(hash2(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:toJSON2(this.left)}}}),isEither3=(input)=>hasProperty2(input,TypeId22),isLeft4=(ma)=>ma._tag==="Left",isRight4=(ma)=>ma._tag==="Right",left3=(left22)=>{let a=Object.create(LeftProto2);return a.left=left22,a},right3=(right22)=>{let a=Object.create(RightProto2);return a.right=right22,a},getLeft2=(self)=>isRight4(self)?none10:some7(self.left),getRight2=(self)=>isLeft4(self)?none10:some7(self.right),right22=right3,left22=left3,isLeft22=isLeft4,isRight22=isRight4,match19=dual2(2,(self,{onLeft,onRight})=>isLeft22(self)?onLeft(self.left):onRight(self.right)),merge11=match19({onLeft:identity5,onRight:identity5}),isNonEmptyArray3=(self)=>self.length>0,exports_Option2={};__export2(exports_Option2,{zipWith:()=>zipWith15,zipRight:()=>zipRight12,zipLeft:()=>zipLeft9,void:()=>void_9,toRefinement:()=>toRefinement,toArray:()=>toArray4,tap:()=>tap8,some:()=>some22,reduceCompact:()=>reduceCompact,productMany:()=>productMany,product:()=>product,partitionMap:()=>partitionMap3,orElseSome:()=>orElseSome2,orElseEither:()=>orElseEither5,orElse:()=>orElse12,none:()=>none22,mergeWith:()=>mergeWith5,match:()=>match22,map:()=>map27,liftThrowable:()=>liftThrowable2,liftPredicate:()=>liftPredicate4,liftNullable:()=>liftNullable,lift2:()=>lift2,let:()=>let_22,isSome:()=>isSome22,isOption:()=>isOption22,isNone:()=>isNone22,getRight:()=>getRight22,getOrder:()=>getOrder,getOrUndefined:()=>getOrUndefined2,getOrThrowWith:()=>getOrThrowWith3,getOrThrow:()=>getOrThrow2,getOrNull:()=>getOrNull,getOrElse:()=>getOrElse6,getLeft:()=>getLeft22,getEquivalence:()=>getEquivalence4,gen:()=>gen3,fromNullable:()=>fromNullable4,fromIterable:()=>fromIterable11,flatten:()=>flatten14,flatMapNullable:()=>flatMapNullable,flatMap:()=>flatMap18,firstSomeOf:()=>firstSomeOf,filterMap:()=>filterMap8,filter:()=>filter10,exists:()=>exists3,containsWith:()=>containsWith3,contains:()=>contains4,composeK:()=>composeK,bindTo:()=>bindTo22,bind:()=>bind22,asVoid:()=>asVoid5,as:()=>as10,ap:()=>ap2,andThen:()=>andThen7,all:()=>all9,TypeId:()=>TypeId32,Do:()=>Do5});var make210=(compare)=>(self,that)=>self===that?0:compare(self,that),number22=make210((self,that)=>self<that?-1:1),mapInput22=dual2(2,(self,f)=>make210((b1,b2)=>self(f(b1),f(b2)))),greaterThan4=(O)=>dual2(2,(self,that)=>O(self,that)===1),TypeId32=Symbol.for("effect/Option"),none22=()=>none10,some22=some7,isOption22=isOption2,isNone22=isNone4,isSome22=isSome3,match22=dual2(2,(self,{onNone,onSome})=>isNone22(self)?onNone():onSome(self.value)),toRefinement=(f)=>(a)=>isSome22(f(a)),fromIterable11=(collection)=>{for(let a of collection)return some22(a);return none22()},getRight22=getRight2,getLeft22=getLeft2,getOrElse6=dual2(2,(self,onNone)=>isNone22(self)?onNone():self.value),orElse12=dual2(2,(self,that)=>isNone22(self)?that():self),orElseSome2=dual2(2,(self,onNone)=>isNone22(self)?some22(onNone()):self),orElseEither5=dual2(2,(self,that)=>isNone22(self)?map27(that(),right3):map27(self,left3)),firstSomeOf=(collection)=>{let out=none22();for(out of collection)if(isSome22(out))return out;return out},fromNullable4=(nullableValue)=>nullableValue==null?none22():some22(nullableValue),liftNullable=(f)=>(...a)=>fromNullable4(f(...a)),getOrNull=getOrElse6(constNull2),getOrUndefined2=getOrElse6(constUndefined2),liftThrowable2=(f)=>(...a)=>{try{return some22(f(...a))}catch{return none22()}},getOrThrowWith3=dual2(2,(self,onNone)=>{if(isSome22(self))return self.value;throw onNone()}),getOrThrow2=getOrThrowWith3(()=>Error("getOrThrow called on a None")),map27=dual2(2,(self,f)=>isNone22(self)?none22():some22(f(self.value))),as10=dual2(2,(self,b)=>map27(self,()=>b)),asVoid5=as10(void 0),void_9=some22(void 0),flatMap18=dual2(2,(self,f)=>isNone22(self)?none22():f(self.value)),andThen7=dual2(2,(self,f)=>flatMap18(self,(a)=>{let b=isFunction3(f)?f(a):f;return isOption22(b)?b:some22(b)})),flatMapNullable=dual2(2,(self,f)=>isNone22(self)?none22():fromNullable4(f(self.value))),flatten14=flatMap18(identity5),zipRight12=dual2(2,(self,that)=>flatMap18(self,()=>that)),zipLeft9=dual2(2,(self,that)=>tap8(self,()=>that)),composeK=dual2(2,(afb,bfc)=>(a)=>flatMap18(afb(a),bfc)),tap8=dual2(2,(self,f)=>flatMap18(self,(a)=>map27(f(a),()=>a))),product=(self,that)=>isSome22(self)&&isSome22(that)?some22([self.value,that.value]):none22(),productMany=(self,collection)=>{if(isNone22(self))return none22();let out=[self.value];for(let o of collection){if(isNone22(o))return none22();out.push(o.value)}return some22(out)},all9=(input)=>{if(Symbol.iterator in input){let out2=[];for(let o of input){if(isNone22(o))return none22();out2.push(o.value)}return some22(out2)}let out={};for(let key of Object.keys(input)){let o=input[key];if(isNone22(o))return none22();out[key]=o.value}return some22(out)},zipWith15=dual2(3,(self,that,f)=>map27(product(self,that),([a,b])=>f(a,b))),ap2=dual2(2,(self,that)=>zipWith15(self,that,(f,a)=>f(a))),reduceCompact=dual2(3,(self,b,f)=>{let out=b;for(let oa of self)if(isSome22(oa))out=f(out,oa.value);return out}),toArray4=(self)=>isNone22(self)?[]:[self.value],partitionMap3=dual2(2,(self,f)=>{if(isNone22(self))return[none22(),none22()];let e=f(self.value);return isLeft4(e)?[some22(e.left),none22()]:[none22(),some22(e.right)]}),filterMap8=flatMap18,filter10=dual2(2,(self,predicate)=>filterMap8(self,(b)=>predicate(b)?some7(b):none10)),getEquivalence4=(isEquivalent)=>make55((x,y)=>isNone22(x)?isNone22(y):isNone22(y)?!1:isEquivalent(x.value,y.value)),getOrder=(O)=>make210((self,that)=>isSome22(self)?isSome22(that)?O(self.value,that.value):1:-1),lift2=(f)=>dual2(2,(self,that)=>zipWith15(self,that,f)),liftPredicate4=dual2(2,(b,predicate)=>predicate(b)?some22(b):none22()),containsWith3=(isEquivalent)=>dual2(2,(self,a)=>isNone22(self)?!1:isEquivalent(self.value,a)),_equivalence5=equivalence2(),contains4=containsWith3(_equivalence5),exists3=dual2(2,(self,refinement)=>isNone22(self)?!1:refinement(self.value)),bindTo22=bindTo6(map27),let_22=let_6(map27),bind22=bind6(map27,flatMap18),Do5=some22({}),adapter2=adapter(),gen3=(...args2)=>{let iterator=(args2.length===1?args2[0]:args2[1].bind(args2[0]))(adapter2),state=iterator.next();while(!state.done){let current2=isGenKind(state.value)?state.value.value:yieldWrapGet2(state.value);if(isNone22(current2))return current2;state=iterator.next(current2.value)}return some22(state.value)},mergeWith5=(f)=>(o1,o2)=>{if(isNone22(o1))return o2;else if(isNone22(o2))return o1;return some22(f(o1.value,o2.value))},make310=(...elements)=>elements,findFirst7=dual2(2,(self,f)=>{let i=0;for(let a of self){let o=f(a,i);if(isBoolean2(o)){if(o)return some22(a)}else if(isSome22(o))return o;i++}return none22()}),constEmpty2={[Symbol.iterator](){return constEmptyIterator2}},constEmptyIterator2={next(){return{done:!0,value:void 0}}},allocate2=(n)=>Array(n),makeBy3=dual2(2,(n,f)=>{let max6=Math.max(1,Math.floor(n)),out=Array(max6);for(let i=0;i<max6;i++)out[i]=f(i);return out}),fromIterable22=(collection)=>Array.isArray(collection)?collection:Array.from(collection),ensure2=(self)=>Array.isArray(self)?self:[self],prepend6=dual2(2,(self,head6)=>[head6,...self]),append4=dual2(2,(self,last4)=>[...self,last4]),appendAll4=dual2(2,(self,that)=>fromIterable22(self).concat(fromIterable22(that))),isEmptyArray2=(self)=>self.length===0,isEmptyReadonlyArray2=isEmptyArray2,isNonEmptyArray22=isNonEmptyArray3,isNonEmptyReadonlyArray2=isNonEmptyArray3,isOutOfBounds2=(i,as22)=>i<0||i>=as22.length,clamp4=(i,as22)=>Math.floor(Math.min(Math.max(0,i),as22.length)),get17=dual2(2,(self,index)=>{let i=Math.floor(index);return isOutOfBounds2(i,self)?none22():some22(self[i])}),unsafeGet8=dual2(2,(self,index)=>{let i=Math.floor(index);if(isOutOfBounds2(i,self))throw Error(`Index ${i} out of bounds`);return self[i]}),head6=get17(0),headNonEmpty3=unsafeGet8(0),last4=(self)=>isNonEmptyReadonlyArray2(self)?some22(lastNonEmpty2(self)):none22(),lastNonEmpty2=(self)=>self[self.length-1],tailNonEmpty3=(self)=>self.slice(1),spanIndex2=(self,predicate)=>{let i=0;for(let a of self){if(!predicate(a,i))break;i++}return i},span4=dual2(2,(self,predicate)=>splitAt3(self,spanIndex2(self,predicate))),drop5=dual2(2,(self,n)=>{let input=fromIterable22(self);return input.slice(clamp4(n,input),input.length)}),findFirstIndex2=dual2(2,(self,predicate)=>{let i=0;for(let a of self){if(predicate(a,i))return some22(i);i++}return none22()}),findLastIndex2=dual2(2,(self,predicate)=>{let input=fromIterable22(self);for(let i=input.length-1;i>=0;i--)if(predicate(input[i],i))return some22(i);return none22()}),findFirst22=findFirst7,findLast2=dual2(2,(self,f)=>{let input=fromIterable22(self);for(let i=input.length-1;i>=0;i--){let a=input[i],o=f(a,i);if(isBoolean2(o)){if(o)return some22(a)}else if(isSome22(o))return o}return none22()}),modify5=dual2(3,(self,i,f)=>{let out=Array.from(self);if(isOutOfBounds2(i,out))return out;let b=f(out[i]);return out[i]=b,out}),remove7=dual2(2,(self,i)=>{let out=Array.from(self);if(isOutOfBounds2(i,out))return out;return out.splice(i,1),out}),reverse4=(self)=>Array.from(self).reverse(),sort2=dual2(2,(self,O)=>{let out=Array.from(self);return out.sort(O),out}),zip12=dual2(2,(self,that)=>zipWith22(self,that,make310)),zipWith22=dual2(3,(self,that,f)=>{let as22=fromIterable22(self),bs=fromIterable22(that);if(isNonEmptyReadonlyArray2(as22)&&isNonEmptyReadonlyArray2(bs)){let out=[f(headNonEmpty3(as22),headNonEmpty3(bs))],len=Math.min(as22.length,bs.length);for(let i=1;i<len;i++)out[i]=f(as22[i],bs[i]);return out}return[]}),unzip2=(self)=>{let input=fromIterable22(self);if(isNonEmptyReadonlyArray2(input)){let fa=[input[0][0]],fb=[input[0][1]];for(let i=1;i<input.length;i++)fa[i]=input[i][0],fb[i]=input[i][1];return[fa,fb]}return[[],[]]},containsWith22=(isEquivalent)=>dual2(2,(self,a)=>{for(let i of self)if(isEquivalent(a,i))return!0;return!1}),_equivalence22=equivalence2(),contains22=containsWith22(_equivalence22),splitAt3=dual2(2,(self,n)=>{let input=Array.from(self),_n=Math.floor(n);if(isNonEmptyReadonlyArray2(input)){if(_n>=1)return splitNonEmptyAt2(input,_n);return[[],input]}return[input,[]]}),splitNonEmptyAt2=dual2(2,(self,n)=>{let _n=Math.max(1,Math.floor(n));return _n>=self.length?[copy4(self),[]]:[prepend6(self.slice(1,_n),headNonEmpty3(self)),self.slice(_n)]}),copy4=(self)=>self.slice(),unionWith4=dual2(3,(self,that,isEquivalent)=>{let a=fromIterable22(self),b=fromIterable22(that);if(isNonEmptyReadonlyArray2(a)){if(isNonEmptyReadonlyArray2(b))return dedupeWith2(isEquivalent)(appendAll4(a,b));return a}return b}),union10=dual2(2,(self,that)=>unionWith4(self,that,_equivalence22)),intersectionWith=(isEquivalent)=>{let has5=containsWith22(isEquivalent);return dual2(2,(self,that)=>{let bs=fromIterable22(that);return fromIterable22(self).filter((a)=>has5(bs,a))})},intersection3=intersectionWith(_equivalence22),differenceWith2=(isEquivalent)=>{let has5=containsWith22(isEquivalent);return dual2(2,(self,that)=>{let bs=fromIterable22(that);return fromIterable22(self).filter((a)=>!has5(bs,a))})},difference4=differenceWith2(_equivalence22),empty31=()=>[],of6=(a)=>[a],map28=dual2(2,(self,f)=>self.map(f)),flatMap22=dual2(2,(self,f)=>{if(isEmptyReadonlyArray2(self))return[];let out=[];for(let i=0;i<self.length;i++){let inner=f(self[i],i);for(let j=0;j<inner.length;j++)out.push(inner[j])}return out}),flatten22=flatMap22(identity5),filterMap22=dual2(2,(self,f)=>{let as22=fromIterable22(self),out=[];for(let i=0;i<as22.length;i++){let o=f(as22[i],i);if(isSome22(o))out.push(o.value)}return out}),filterMapWhile5=dual2(2,(self,f)=>{let i=0,out=[];for(let a of self){let b=f(a,i);if(isSome22(b))out.push(b.value);else break;i++}return out}),partitionMap22=dual2(2,(self,f)=>{let left32=[],right32=[],as22=fromIterable22(self);for(let i=0;i<as22.length;i++){let e=f(as22[i],i);if(isLeft22(e))left32.push(e.left);else right32.push(e.right)}return[left32,right32]}),getSomes2=filterMap22(identity5),filter22=dual2(2,(self,predicate)=>{let as22=fromIterable22(self),out=[];for(let i=0;i<as22.length;i++)if(predicate(as22[i],i))out.push(as22[i]);return out}),partition7=dual2(2,(self,predicate)=>{let left32=[],right32=[],as22=fromIterable22(self);for(let i=0;i<as22.length;i++)if(predicate(as22[i],i))right32.push(as22[i]);else left32.push(as22[i]);return[left32,right32]}),separate2=partitionMap22(identity5),reduce13=dual2(3,(self,b,f)=>fromIterable22(self).reduce((b2,a,i)=>f(b2,a,i),b)),reduceRight5=dual2(3,(self,b,f)=>fromIterable22(self).reduceRight((b2,a,i)=>f(b2,a,i),b)),every7=dual2(2,(self,refinement)=>self.every(refinement)),unfold6=(b,f)=>{let out=[],next4=b,o;while(isSome22(o=f(next4))){let[a,b2]=o.value;out.push(a),next4=b2}return out},getEquivalence22=array6,dedupeWith2=dual2(2,(self,isEquivalent)=>{let input=fromIterable22(self);if(isNonEmptyReadonlyArray2(input)){let out=[headNonEmpty3(input)],rest=tailNonEmpty3(input);for(let r of rest)if(out.every((a)=>!isEquivalent(r,a)))out.push(r);return out}return[]}),dedupe2=(self)=>dedupeWith2(self,equivalence2()),dedupeAdjacentWith=dual2(2,(self,isEquivalent)=>{let out=[],lastA=none22();for(let a of self)if(isNone22(lastA)||!isEquivalent(a,lastA.value))out.push(a),lastA=some22(a);return out}),dedupeAdjacent2=dedupeAdjacentWith(equivalence2()),join4=dual2(2,(self,sep)=>fromIterable22(self).join(sep)),mapAccum7=dual2(3,(self,s,f)=>{let i=0,s1=s,out=[];for(let a of self){let r=f(s1,a,i);s1=r[0],out.push(r[1]),i++}return[s1,out]}),Order5=number22,nextPow22=(n)=>{let nextPow=Math.ceil(Math.log(n)/Math.log(2));return Math.max(Math.pow(2,nextPow),2)},escape2=(string22)=>string22.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&"),not2=(self)=>!self,exports_Context2={};__export2(exports_Context2,{unsafeMake:()=>unsafeMake11,unsafeGet:()=>unsafeGet32,pick:()=>pick22,omit:()=>omit22,mergeAll:()=>mergeAll22,merge:()=>merge32,make:()=>make56,isTag:()=>isTag22,isReference:()=>isReference22,isContext:()=>isContext22,getOrElse:()=>getOrElse32,getOption:()=>getOption22,get:()=>get32,empty:()=>empty32,add:()=>add22,TagTypeId:()=>TagTypeId22,Tag:()=>Tag22,ReferenceTypeId:()=>ReferenceTypeId22,Reference:()=>Reference22,GenericTag:()=>GenericTag2});var TagTypeId3=Symbol.for("effect/Context/Tag"),ReferenceTypeId3=Symbol.for("effect/Context/Reference"),STMSymbolKey3="effect/STM",STMTypeId3=Symbol.for(STMSymbolKey3),TagProto2={...EffectPrototype3,_op:"Tag",[STMTypeId3]:effectVariance2,[TagTypeId3]:{_Service:(_)=>_,_Identifier:(_)=>_},toString(){return format4(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[NodeInspectSymbol2](){return this.toJSON()},of(self){return self},context(self){return make410(this,self)}},ReferenceProto2={...TagProto2,[ReferenceTypeId3]:ReferenceTypeId3},makeGenericTag2=(key)=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=Error();Error.stackTraceLimit=limit;let tag=Object.create(TagProto2);return Object.defineProperty(tag,"stack",{get(){return creationError.stack}}),tag.key=key,tag},Tag4=(id2)=>()=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=Error();Error.stackTraceLimit=limit;function TagClass(){}return Object.setPrototypeOf(TagClass,TagProto2),TagClass.key=id2,Object.defineProperty(TagClass,"stack",{get(){return creationError.stack}}),TagClass},Reference3=()=>(id2,options)=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=Error();Error.stackTraceLimit=limit;function ReferenceClass(){}return Object.setPrototypeOf(ReferenceClass,ReferenceProto2),ReferenceClass.key=id2,ReferenceClass.defaultValue=options.defaultValue,Object.defineProperty(ReferenceClass,"stack",{get(){return creationError.stack}}),ReferenceClass},TypeId42=Symbol.for("effect/Context"),ContextProto2={[TypeId42]:{_Services:(_)=>_},[symbol22](that){if(isContext3(that)){if(this.unsafeMap.size===that.unsafeMap.size){for(let k of this.unsafeMap.keys())if(!that.unsafeMap.has(k)||!equals4(this.unsafeMap.get(k),that.unsafeMap.get(k)))return!1;return!0}}return!1},[symbol3](){return cached4(this,number6(this.unsafeMap.size))},pipe(){return pipeArguments2(this,arguments)},toString(){return format4(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(toJSON2)}},[NodeInspectSymbol2](){return this.toJSON()}},makeContext2=(unsafeMap)=>{let context7=Object.create(ContextProto2);return context7.unsafeMap=unsafeMap,context7},serviceNotFoundError2=(tag)=>{let error3=Error(`Service not found${tag.key?`: ${String(tag.key)}`:""}`);if(tag.stack){let lines=tag.stack.split(`
|
|
77
79
|
`);if(lines.length>2){let afterAt=lines[2].match(/at (.*)/);if(afterAt)error3.message=error3.message+` (defined at ${afterAt[1]})`}}if(error3.stack){let lines=error3.stack.split(`
|
|
78
80
|
`);lines.splice(1,3),error3.stack=lines.join(`
|
|
79
81
|
`)}return error3},isContext3=(u)=>hasProperty2(u,TypeId42),isTag3=(u)=>hasProperty2(u,TagTypeId3),isReference3=(u)=>hasProperty2(u,ReferenceTypeId3),_empty8=makeContext2(new Map),empty210=()=>_empty8,make410=(tag,service3)=>makeContext2(new Map([[tag.key,service3]])),add5=dual2(3,(self,tag,service3)=>{let map32=new Map(self.unsafeMap);return map32.set(tag.key,service3),makeContext2(map32)}),defaultValueCache2=globalValue2("effect/Context/defaultValueCache",()=>new Map),getDefaultValue2=(tag)=>{if(defaultValueCache2.has(tag.key))return defaultValueCache2.get(tag.key);let value=tag.defaultValue();return defaultValueCache2.set(tag.key,value),value},unsafeGetReference2=(self,tag)=>{return self.unsafeMap.has(tag.key)?self.unsafeMap.get(tag.key):getDefaultValue2(tag)},unsafeGet22=dual2(2,(self,tag)=>{if(!self.unsafeMap.has(tag.key)){if(ReferenceTypeId3 in tag)return getDefaultValue2(tag);throw serviceNotFoundError2(tag)}return self.unsafeMap.get(tag.key)}),get22=unsafeGet22,getOrElse22=dual2(3,(self,tag,orElse22)=>{if(!self.unsafeMap.has(tag.key))return isReference3(tag)?getDefaultValue2(tag):orElse22();return self.unsafeMap.get(tag.key)}),getOption3=dual2(2,(self,tag)=>{if(!self.unsafeMap.has(tag.key))return isReference3(tag)?some7(getDefaultValue2(tag)):none10;return some7(self.unsafeMap.get(tag.key))}),merge22=dual2(2,(self,that)=>{let map32=new Map(self.unsafeMap);for(let[tag,s]of that.unsafeMap)map32.set(tag,s);return makeContext2(map32)}),mergeAll10=(...ctxs)=>{let map32=new Map;for(let i=0;i<ctxs.length;i++)ctxs[i].unsafeMap.forEach((value,key)=>{map32.set(key,value)});return makeContext2(map32)},pick3=(...tags)=>(self)=>{let tagSet=new Set(tags.map((_)=>_.key)),newEnv=new Map;for(let[tag,s]of self.unsafeMap.entries())if(tagSet.has(tag))newEnv.set(tag,s);return makeContext2(newEnv)},omit3=(...tags)=>(self)=>{let newEnv=new Map(self.unsafeMap);for(let tag of tags)newEnv.delete(tag.key);return makeContext2(newEnv)},TagTypeId22=TagTypeId3,ReferenceTypeId22=ReferenceTypeId3,GenericTag2=makeGenericTag2,unsafeMake11=makeContext2,isContext22=isContext3,isTag22=isTag3,isReference22=isReference3,empty32=empty210,make56=make410,add22=add5,get32=get22,getOrElse32=getOrElse22,unsafeGet32=unsafeGet22,getOption22=getOption3,merge32=merge22,mergeAll22=mergeAll10,pick22=pick3,omit22=omit3,Tag22=Tag4,Reference22=Reference3,exports_Chunk2={};__export2(exports_Chunk2,{zipWith:()=>zipWith32,zip:()=>zip22,unzip:()=>unzip22,unsafeLast:()=>unsafeLast2,unsafeHead:()=>unsafeHead3,unsafeGet:()=>unsafeGet42,unsafeFromNonEmptyArray:()=>unsafeFromNonEmptyArray2,unsafeFromArray:()=>unsafeFromArray2,union:()=>union22,toReadonlyArray:()=>toReadonlyArray2,toArray:()=>toArray22,takeWhile:()=>takeWhile6,takeRight:()=>takeRight4,take:()=>take9,tailNonEmpty:()=>tailNonEmpty22,tail:()=>tail,splitWhere:()=>splitWhere2,splitNonEmptyAt:()=>splitNonEmptyAt22,splitAt:()=>splitAt22,split:()=>split3,sortWith:()=>sortWith,sort:()=>sort22,some:()=>some32,size:()=>size14,separate:()=>separate22,reverse:()=>reverse22,replaceOption:()=>replaceOption,replace:()=>replace,removeOption:()=>removeOption,remove:()=>remove22,reduceRight:()=>reduceRight22,reduce:()=>reduce22,range:()=>range4,prependAll:()=>prependAll2,prepend:()=>prepend22,partitionMap:()=>partitionMap32,partition:()=>partition22,of:()=>of22,modifyOption:()=>modifyOption,modify:()=>modify22,mapAccum:()=>mapAccum22,map:()=>map32,makeBy:()=>makeBy22,make:()=>make62,lastNonEmpty:()=>lastNonEmpty22,last:()=>last22,join:()=>join22,isNonEmpty:()=>isNonEmpty6,isEmpty:()=>isEmpty15,isChunk:()=>isChunk2,intersection:()=>intersection22,headNonEmpty:()=>headNonEmpty22,head:()=>head22,getEquivalence:()=>getEquivalence32,get:()=>get42,fromIterable:()=>fromIterable32,forEach:()=>forEach9,flatten:()=>flatten32,flatMap:()=>flatMap32,findLastIndex:()=>findLastIndex22,findLast:()=>findLast22,findFirstIndex:()=>findFirstIndex22,findFirst:()=>findFirst32,filterMapWhile:()=>filterMapWhile22,filterMap:()=>filterMap32,filter:()=>filter32,every:()=>every22,empty:()=>empty42,dropWhile:()=>dropWhile6,dropRight:()=>dropRight3,drop:()=>drop22,differenceWith:()=>differenceWith22,difference:()=>difference22,dedupeAdjacent:()=>dedupeAdjacent22,dedupe:()=>dedupe22,containsWith:()=>containsWith32,contains:()=>contains32,compact:()=>compact2,chunksOf:()=>chunksOf,appendAll:()=>appendAll22,append:()=>append22});var TypeId52=Symbol.for("effect/Chunk");function copy22(src,srcPos,dest,destPos,len){for(let i=srcPos;i<Math.min(src.length,srcPos+len);i++)dest[destPos+i-srcPos]=src[i];return dest}var emptyArray2=[],getEquivalence32=(isEquivalent)=>make55((self,that)=>self.length===that.length&&toReadonlyArray2(self).every((value,i)=>isEquivalent(value,unsafeGet42(that,i)))),_equivalence32=getEquivalence32(equals4),ChunkProto2={[TypeId52]:{_A:(_)=>_},toString(){return format4(this.toJSON())},toJSON(){return{_id:"Chunk",values:toReadonlyArray2(this).map(toJSON2)}},[NodeInspectSymbol2](){return this.toJSON()},[symbol22](that){return isChunk2(that)&&_equivalence32(this,that)},[symbol3](){return cached4(this,array22(toReadonlyArray2(this)))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return emptyArray2[Symbol.iterator]();default:return toReadonlyArray2(this)[Symbol.iterator]()}},pipe(){return pipeArguments2(this,arguments)}},makeChunk2=(backing)=>{let chunk5=Object.create(ChunkProto2);switch(chunk5.backing=backing,backing._tag){case"IEmpty":{chunk5.length=0,chunk5.depth=0,chunk5.left=chunk5,chunk5.right=chunk5;break}case"IConcat":{chunk5.length=backing.left.length+backing.right.length,chunk5.depth=1+Math.max(backing.left.depth,backing.right.depth),chunk5.left=backing.left,chunk5.right=backing.right;break}case"IArray":{chunk5.length=backing.array.length,chunk5.depth=0,chunk5.left=_empty22,chunk5.right=_empty22;break}case"ISingleton":{chunk5.length=1,chunk5.depth=0,chunk5.left=_empty22,chunk5.right=_empty22;break}case"ISlice":{chunk5.length=backing.length,chunk5.depth=backing.chunk.depth+1,chunk5.left=_empty22,chunk5.right=_empty22;break}}return chunk5},isChunk2=(u)=>hasProperty2(u,TypeId52),_empty22=makeChunk2({_tag:"IEmpty"}),empty42=()=>_empty22,make62=(...as22)=>unsafeFromNonEmptyArray2(as22),of22=(a)=>makeChunk2({_tag:"ISingleton",a}),fromIterable32=(self)=>isChunk2(self)?self:unsafeFromArray2(fromIterable22(self)),copyToArray2=(self,array32,initial)=>{switch(self.backing._tag){case"IArray":{copy22(self.backing.array,0,array32,initial,self.length);break}case"IConcat":{copyToArray2(self.left,array32,initial),copyToArray2(self.right,array32,initial+self.left.length);break}case"ISingleton":{array32[initial]=self.backing.a;break}case"ISlice":{let i=0,j=initial;while(i<self.length)array32[j]=unsafeGet42(self,i),i+=1,j+=1;break}}},toArray_2=(self)=>toReadonlyArray2(self).slice(),toArray22=toArray_2,toReadonlyArray_2=(self)=>{switch(self.backing._tag){case"IEmpty":return emptyArray2;case"IArray":return self.backing.array;default:{let arr=Array(self.length);return copyToArray2(self,arr,0),self.backing={_tag:"IArray",array:arr},self.left=_empty22,self.right=_empty22,self.depth=0,arr}}},toReadonlyArray2=toReadonlyArray_2,reverseChunk2=(self)=>{switch(self.backing._tag){case"IEmpty":case"ISingleton":return self;case"IArray":return makeChunk2({_tag:"IArray",array:reverse4(self.backing.array)});case"IConcat":return makeChunk2({_tag:"IConcat",left:reverse22(self.backing.right),right:reverse22(self.backing.left)});case"ISlice":return unsafeFromArray2(reverse4(toReadonlyArray2(self)))}},reverse22=reverseChunk2,get42=dual2(2,(self,index)=>index<0||index>=self.length?none22():some22(unsafeGet42(self,index))),unsafeFromArray2=(self)=>self.length===0?empty42():self.length===1?of22(self[0]):makeChunk2({_tag:"IArray",array:self}),unsafeFromNonEmptyArray2=(self)=>unsafeFromArray2(self),unsafeGet42=dual2(2,(self,index)=>{switch(self.backing._tag){case"IEmpty":throw Error("Index out of bounds");case"ISingleton":{if(index!==0)throw Error("Index out of bounds");return self.backing.a}case"IArray":{if(index>=self.length||index<0)throw Error("Index out of bounds");return self.backing.array[index]}case"IConcat":return index<self.left.length?unsafeGet42(self.left,index):unsafeGet42(self.right,index-self.left.length);case"ISlice":return unsafeGet42(self.backing.chunk,index+self.backing.offset)}}),append22=dual2(2,(self,a)=>appendAll22(self,of22(a))),prepend22=dual2(2,(self,elem)=>appendAll22(of22(elem),self)),take9=dual2(2,(self,n)=>{if(n<=0)return _empty22;else if(n>=self.length)return self;else switch(self.backing._tag){case"ISlice":return makeChunk2({_tag:"ISlice",chunk:self.backing.chunk,length:n,offset:self.backing.offset});case"IConcat":{if(n>self.left.length)return makeChunk2({_tag:"IConcat",left:self.left,right:take9(self.right,n-self.left.length)});return take9(self.left,n)}default:return makeChunk2({_tag:"ISlice",chunk:self,offset:0,length:n})}}),drop22=dual2(2,(self,n)=>{if(n<=0)return self;else if(n>=self.length)return _empty22;else switch(self.backing._tag){case"ISlice":return makeChunk2({_tag:"ISlice",chunk:self.backing.chunk,offset:self.backing.offset+n,length:self.backing.length-n});case"IConcat":{if(n>self.left.length)return drop22(self.right,n-self.left.length);return makeChunk2({_tag:"IConcat",left:drop22(self.left,n),right:self.right})}default:return makeChunk2({_tag:"ISlice",chunk:self,offset:n,length:self.length-n})}}),dropRight3=dual2(2,(self,n)=>take9(self,Math.max(0,self.length-n))),dropWhile6=dual2(2,(self,predicate)=>{let arr=toReadonlyArray2(self),len=arr.length,i=0;while(i<len&&predicate(arr[i]))i++;return drop22(self,i)}),prependAll2=dual2(2,(self,that)=>appendAll22(that,self)),appendAll22=dual2(2,(self,that)=>{if(self.backing._tag==="IEmpty")return that;if(that.backing._tag==="IEmpty")return self;let diff8=that.depth-self.depth;if(Math.abs(diff8)<=1)return makeChunk2({_tag:"IConcat",left:self,right:that});else if(diff8<-1)if(self.left.depth>=self.right.depth){let nr=appendAll22(self.right,that);return makeChunk2({_tag:"IConcat",left:self.left,right:nr})}else{let nrr=appendAll22(self.right.right,that);if(nrr.depth===self.depth-3){let nr=makeChunk2({_tag:"IConcat",left:self.right.left,right:nrr});return makeChunk2({_tag:"IConcat",left:self.left,right:nr})}else{let nl=makeChunk2({_tag:"IConcat",left:self.left,right:self.right.left});return makeChunk2({_tag:"IConcat",left:nl,right:nrr})}}else if(that.right.depth>=that.left.depth){let nl=appendAll22(self,that.left);return makeChunk2({_tag:"IConcat",left:nl,right:that.right})}else{let nll=appendAll22(self,that.left.left);if(nll.depth===that.depth-3){let nl=makeChunk2({_tag:"IConcat",left:nll,right:that.left.right});return makeChunk2({_tag:"IConcat",left:nl,right:that.right})}else{let nr=makeChunk2({_tag:"IConcat",left:that.left.right,right:that.right});return makeChunk2({_tag:"IConcat",left:nll,right:nr})}}}),filterMap32=dual2(2,(self,f)=>unsafeFromArray2(filterMap22(self,f))),filter32=dual2(2,(self,predicate)=>unsafeFromArray2(filter22(self,predicate))),filterMapWhile22=dual2(2,(self,f)=>unsafeFromArray2(filterMapWhile5(self,f))),compact2=(self)=>filterMap32(self,identity5),flatMap32=dual2(2,(self,f)=>{if(self.backing._tag==="ISingleton")return f(self.backing.a,0);let out=_empty22,i=0;for(let k of self)out=appendAll22(out,f(k,i++));return out}),forEach9=dual2(2,(self,f)=>toReadonlyArray2(self).forEach(f)),flatten32=flatMap32(identity5),chunksOf=dual2(2,(self,n)=>{let gr=[],current2=[];if(toReadonlyArray2(self).forEach((a)=>{if(current2.push(a),current2.length>=n)gr.push(unsafeFromArray2(current2)),current2=[]}),current2.length>0)gr.push(unsafeFromArray2(current2));return unsafeFromArray2(gr)}),intersection22=dual2(2,(self,that)=>unsafeFromArray2(intersection3(toReadonlyArray2(self),toReadonlyArray2(that)))),isEmpty15=(self)=>self.length===0,isNonEmpty6=(self)=>self.length>0,head22=get42(0),unsafeHead3=(self)=>unsafeGet42(self,0),headNonEmpty22=unsafeHead3,last22=(self)=>get42(self,self.length-1),unsafeLast2=(self)=>unsafeGet42(self,self.length-1),lastNonEmpty22=unsafeLast2,map32=dual2(2,(self,f)=>self.backing._tag==="ISingleton"?of22(f(self.backing.a,0)):unsafeFromArray2(pipe2(toReadonlyArray2(self),map28((a,i)=>f(a,i))))),mapAccum22=dual2(3,(self,s,f)=>{let[s1,as22]=mapAccum7(self,s,f);return[s1,unsafeFromArray2(as22)]}),partition22=dual2(2,(self,predicate)=>pipe2(partition7(toReadonlyArray2(self),predicate),([l,r])=>[unsafeFromArray2(l),unsafeFromArray2(r)])),partitionMap32=dual2(2,(self,f)=>pipe2(partitionMap22(toReadonlyArray2(self),f),([l,r])=>[unsafeFromArray2(l),unsafeFromArray2(r)])),separate22=(self)=>pipe2(separate2(toReadonlyArray2(self)),([l,r])=>[unsafeFromArray2(l),unsafeFromArray2(r)]),size14=(self)=>self.length,sort22=dual2(2,(self,O)=>unsafeFromArray2(sort2(toReadonlyArray2(self),O))),sortWith=dual2(3,(self,f,order)=>sort22(self,mapInput22(order,f))),splitAt22=dual2(2,(self,n)=>[take9(self,n),drop22(self,n)]),splitNonEmptyAt22=dual2(2,(self,n)=>{let _n=Math.max(1,Math.floor(n));return _n>=self.length?[self,empty42()]:[take9(self,_n),drop22(self,_n)]}),split3=dual2(2,(self,n)=>chunksOf(self,Math.ceil(self.length/Math.floor(n)))),splitWhere2=dual2(2,(self,predicate)=>{let i=0;for(let a of toReadonlyArray2(self))if(predicate(a))break;else i++;return splitAt22(self,i)}),tail=(self)=>self.length>0?some22(drop22(self,1)):none22(),tailNonEmpty22=(self)=>drop22(self,1),takeRight4=dual2(2,(self,n)=>drop22(self,self.length-n)),takeWhile6=dual2(2,(self,predicate)=>{let out=[];for(let a of toReadonlyArray2(self))if(predicate(a))out.push(a);else break;return unsafeFromArray2(out)}),union22=dual2(2,(self,that)=>unsafeFromArray2(union10(toReadonlyArray2(self),toReadonlyArray2(that)))),dedupe22=(self)=>unsafeFromArray2(dedupe2(toReadonlyArray2(self))),dedupeAdjacent22=(self)=>unsafeFromArray2(dedupeAdjacent2(self)),unzip22=(self)=>{let[left32,right32]=unzip2(self);return[unsafeFromArray2(left32),unsafeFromArray2(right32)]},zipWith32=dual2(3,(self,that,f)=>unsafeFromArray2(zipWith22(self,that,f))),zip22=dual2(2,(self,that)=>zipWith32(self,that,(a,b)=>[a,b])),remove22=dual2(2,(self,i)=>{if(i<0||i>=self.length)return self;return unsafeFromArray2(remove7(toReadonlyArray2(self),i))}),removeOption=dual2(2,(self,i)=>{if(i<0||i>=self.length)return none22();return some22(unsafeFromArray2(remove7(toReadonlyArray2(self),i)))}),modifyOption=dual2(3,(self,i,f)=>{if(i<0||i>=self.length)return none22();return some22(unsafeFromArray2(modify5(toReadonlyArray2(self),i,f)))}),modify22=dual2(3,(self,i,f)=>getOrElse6(modifyOption(self,i,f),()=>self)),replace=dual2(3,(self,i,b)=>modify22(self,i,()=>b)),replaceOption=dual2(3,(self,i,b)=>modifyOption(self,i,()=>b)),makeBy22=dual2(2,(n,f)=>fromIterable32(makeBy3(n,f))),range4=(start3,end6)=>start3<=end6?makeBy22(end6-start3+1,(i)=>start3+i):of22(start3),contains32=contains22,containsWith32=containsWith22,findFirst32=findFirst22,findFirstIndex22=findFirstIndex2,findLast22=findLast2,findLastIndex22=findLastIndex2,every22=dual2(2,(self,refinement)=>fromIterable22(self).every(refinement)),some32=dual2(2,(self,predicate)=>fromIterable22(self).some(predicate)),join22=join4,reduce22=reduce13,reduceRight22=reduceRight5,differenceWith22=(isEquivalent)=>{return dual2(2,(self,that)=>unsafeFromArray2(differenceWith2(isEquivalent)(that,self)))},difference22=dual2(2,(self,that)=>unsafeFromArray2(difference4(that,self))),TypeId62=Symbol.for("effect/Duration"),bigint04=BigInt(0),bigint242=BigInt(24),bigint602=BigInt(60),bigint1e32=BigInt(1000),bigint1e62=BigInt(1e6),bigint1e92=BigInt(1e9),DURATION_REGEX2=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,decode2=(input)=>{if(isDuration2(input))return input;else if(isNumber2(input))return millis2(input);else if(isBigInt2(input))return nanos2(input);else if(Array.isArray(input)&&input.length===2&&input.every(isNumber2)){if(input[0]===-1/0||input[1]===-1/0||Number.isNaN(input[0])||Number.isNaN(input[1]))return zero2;if(input[0]===1/0||input[1]===1/0)return infinity2;return nanos2(BigInt(Math.round(input[0]*1e9))+BigInt(Math.round(input[1])))}else if(isString2(input)){let match32=DURATION_REGEX2.exec(input);if(match32){let[_,valueStr,unit]=match32,value=Number(valueStr);switch(unit){case"nano":case"nanos":return nanos2(BigInt(valueStr));case"micro":case"micros":return micros2(BigInt(valueStr));case"milli":case"millis":return millis2(value);case"second":case"seconds":return seconds2(value);case"minute":case"minutes":return minutes2(value);case"hour":case"hours":return hours2(value);case"day":case"days":return days2(value);case"week":case"weeks":return weeks2(value)}}}throw Error("Invalid DurationInput")},zeroValue2={_tag:"Millis",millis:0},infinityValue2={_tag:"Infinity"},DurationProto2={[TypeId62]:TypeId62,[symbol3](){return cached4(this,structure2(this.value))},[symbol22](that){return isDuration2(that)&&equals22(this,that)},toString(){return`Duration(${format22(this)})`},toJSON(){switch(this.value._tag){case"Millis":return{_id:"Duration",_tag:"Millis",millis:this.value.millis};case"Nanos":return{_id:"Duration",_tag:"Nanos",hrtime:toHrTime2(this)};case"Infinity":return{_id:"Duration",_tag:"Infinity"}}},[NodeInspectSymbol2](){return this.toJSON()},pipe(){return pipeArguments2(this,arguments)}},make72=(input)=>{let duration5=Object.create(DurationProto2);if(isNumber2(input))if(isNaN(input)||input<=0)duration5.value=zeroValue2;else if(!Number.isFinite(input))duration5.value=infinityValue2;else if(!Number.isInteger(input))duration5.value={_tag:"Nanos",nanos:BigInt(Math.round(input*1e6))};else duration5.value={_tag:"Millis",millis:input};else if(input<=bigint04)duration5.value=zeroValue2;else duration5.value={_tag:"Nanos",nanos:input};return duration5},isDuration2=(u)=>hasProperty2(u,TypeId62),isFinite2=(self)=>self.value._tag!=="Infinity",isZero2=(self)=>{switch(self.value._tag){case"Millis":return self.value.millis===0;case"Nanos":return self.value.nanos===bigint04;case"Infinity":return!1}},zero2=make72(0),infinity2=make72(1/0),nanos2=(nanos22)=>make72(nanos22),micros2=(micros22)=>make72(micros22*bigint1e32),millis2=(millis22)=>make72(millis22),seconds2=(seconds22)=>make72(seconds22*1000),minutes2=(minutes22)=>make72(minutes22*60000),hours2=(hours22)=>make72(hours22*3600000),days2=(days22)=>make72(days22*86400000),weeks2=(weeks22)=>make72(weeks22*604800000),toMillis2=(self)=>match32(self,{onMillis:(millis22)=>millis22,onNanos:(nanos22)=>Number(nanos22)/1e6}),unsafeToNanos2=(self)=>{let _self=decode2(self);switch(_self.value._tag){case"Infinity":throw Error("Cannot convert infinite duration to nanos");case"Nanos":return _self.value.nanos;case"Millis":return BigInt(Math.round(_self.value.millis*1e6))}},toHrTime2=(self)=>{let _self=decode2(self);switch(_self.value._tag){case"Infinity":return[1/0,0];case"Nanos":return[Number(_self.value.nanos/bigint1e92),Number(_self.value.nanos%bigint1e92)];case"Millis":return[Math.floor(_self.value.millis/1000),Math.round(_self.value.millis%1000*1e6)]}},match32=dual2(2,(self,options)=>{let _self=decode2(self);switch(_self.value._tag){case"Nanos":return options.onNanos(_self.value.nanos);case"Infinity":return options.onMillis(1/0);case"Millis":return options.onMillis(_self.value.millis)}}),matchWith2=dual2(3,(self,that,options)=>{let _self=decode2(self),_that=decode2(that);if(_self.value._tag==="Infinity"||_that.value._tag==="Infinity")return options.onMillis(toMillis2(_self),toMillis2(_that));else if(_self.value._tag==="Nanos"||_that.value._tag==="Nanos"){let selfNanos=_self.value._tag==="Nanos"?_self.value.nanos:BigInt(Math.round(_self.value.millis*1e6)),thatNanos=_that.value._tag==="Nanos"?_that.value.nanos:BigInt(Math.round(_that.value.millis*1e6));return options.onNanos(selfNanos,thatNanos)}return options.onMillis(_self.value.millis,_that.value.millis)}),Equivalence3=(self,that)=>matchWith2(self,that,{onMillis:(self2,that2)=>self2===that2,onNanos:(self2,that2)=>self2===that2}),sum3=dual2(2,(self,that)=>matchWith2(self,that,{onMillis:(self2,that2)=>make72(self2+that2),onNanos:(self2,that2)=>make72(self2+that2)})),lessThanOrEqualTo22=dual2(2,(self,that)=>matchWith2(self,that,{onMillis:(self2,that2)=>self2<=that2,onNanos:(self2,that2)=>self2<=that2})),greaterThan22=dual2(2,(self,that)=>matchWith2(self,that,{onMillis:(self2,that2)=>self2>that2,onNanos:(self2,that2)=>self2>that2})),greaterThanOrEqualTo22=dual2(2,(self,that)=>matchWith2(self,that,{onMillis:(self2,that2)=>self2>=that2,onNanos:(self2,that2)=>self2>=that2})),equals22=dual2(2,(self,that)=>Equivalence3(decode2(self),decode2(that))),parts2=(self)=>{let duration5=decode2(self);if(duration5.value._tag==="Infinity")return{days:1/0,hours:1/0,minutes:1/0,seconds:1/0,millis:1/0,nanos:1/0};let nanos22=unsafeToNanos2(duration5),ms=nanos22/bigint1e62,sec=ms/bigint1e32,min22=sec/bigint602,hr=min22/bigint602,days22=hr/bigint242;return{days:Number(days22),hours:Number(hr%bigint242),minutes:Number(min22%bigint602),seconds:Number(sec%bigint602),millis:Number(ms%bigint1e32),nanos:Number(nanos22%bigint1e62)}},format22=(self)=>{let duration5=decode2(self);if(duration5.value._tag==="Infinity")return"Infinity";if(isZero2(duration5))return"0";let fragments=parts2(duration5),pieces=[];if(fragments.days!==0)pieces.push(`${fragments.days}d`);if(fragments.hours!==0)pieces.push(`${fragments.hours}h`);if(fragments.minutes!==0)pieces.push(`${fragments.minutes}m`);if(fragments.seconds!==0)pieces.push(`${fragments.seconds}s`);if(fragments.millis!==0)pieces.push(`${fragments.millis}ms`);if(fragments.nanos!==0)pieces.push(`${fragments.nanos}ns`);return pieces.join(" ")},SIZE2=5,BUCKET_SIZE2=Math.pow(2,5),MASK2=BUCKET_SIZE2-1,MAX_INDEX_NODE2=BUCKET_SIZE2/2,MIN_ARRAY_NODE2=BUCKET_SIZE2/4;function popcount2(x){return x-=x>>1&1431655765,x=(x&858993459)+(x>>2&858993459),x=x+(x>>4)&252645135,x+=x>>8,x+=x>>16,x&127}function hashFragment2(shift2,h){return h>>>shift2&MASK2}function toBitmap2(x){return 1<<x}function fromBitmap2(bitmap,bit){return popcount2(bitmap&bit-1)}var make82=(value,previous2)=>({value,previous:previous2});function arrayUpdate2(mutate5,at,v,arr){let out=arr;if(!mutate5){let len=arr.length;out=Array(len);for(let i=0;i<len;++i)out[i]=arr[i]}return out[at]=v,out}function arraySpliceOut2(mutate5,at,arr){let newLen=arr.length-1,i=0,g=0,out=arr;if(mutate5)i=g=at;else{out=Array(newLen);while(i<at)out[g++]=arr[i++]}++i;while(i<=newLen)out[g++]=arr[i++];if(mutate5)out.length=newLen;return out}function arraySpliceIn2(mutate5,at,v,arr){let len=arr.length;if(mutate5){let i2=len;while(i2>=at)arr[i2--]=arr[i2];return arr[at]=v,arr}let i=0,g=0,out=Array(len+1);while(i<at)out[g++]=arr[i++];out[at]=v;while(i<len)out[++g]=arr[i++];return out}class EmptyNode2{_tag="EmptyNode";modify(edit,_shift,f,hash22,key,size22){let v=f(none22());if(isNone22(v))return new EmptyNode2;return++size22.value,new LeafNode2(edit,hash22,key,v)}}function isEmptyNode2(a){return isTagged2(a,"EmptyNode")}function isLeafNode2(node){return isEmptyNode2(node)||node._tag==="LeafNode"||node._tag==="CollisionNode"}function canEditNode2(node,edit){return isEmptyNode2(node)?!1:edit===node.edit}class LeafNode2{edit;hash;key;value;_tag="LeafNode";constructor(edit,hash22,key,value){this.edit=edit,this.hash=hash22,this.key=key,this.value=value}modify(edit,shift2,f,hash22,key,size22){if(equals4(key,this.key)){let v2=f(this.value);if(v2===this.value)return this;else if(isNone22(v2))return--size22.value,new EmptyNode2;if(canEditNode2(this,edit))return this.value=v2,this;return new LeafNode2(edit,hash22,key,v2)}let v=f(none22());if(isNone22(v))return this;return++size22.value,mergeLeaves2(edit,shift2,this.hash,this,hash22,new LeafNode2(edit,hash22,key,v))}}class CollisionNode2{edit;hash;children;_tag="CollisionNode";constructor(edit,hash22,children2){this.edit=edit,this.hash=hash22,this.children=children2}modify(edit,shift2,f,hash22,key,size22){if(hash22===this.hash){let canEdit=canEditNode2(this,edit),list=this.updateCollisionList(canEdit,edit,this.hash,this.children,f,key,size22);if(list===this.children)return this;return list.length>1?new CollisionNode2(edit,this.hash,list):list[0]}let v=f(none22());if(isNone22(v))return this;return++size22.value,mergeLeaves2(edit,shift2,this.hash,this,hash22,new LeafNode2(edit,hash22,key,v))}updateCollisionList(mutate5,edit,hash22,list,f,key,size22){let len=list.length;for(let i=0;i<len;++i){let child=list[i];if("key"in child&&equals4(key,child.key)){let value=child.value,newValue2=f(value);if(newValue2===value)return list;if(isNone22(newValue2))return--size22.value,arraySpliceOut2(mutate5,i,list);return arrayUpdate2(mutate5,i,new LeafNode2(edit,hash22,key,newValue2),list)}}let newValue=f(none22());if(isNone22(newValue))return list;return++size22.value,arrayUpdate2(mutate5,len,new LeafNode2(edit,hash22,key,newValue),list)}}class IndexedNode2{edit;mask;children;_tag="IndexedNode";constructor(edit,mask,children2){this.edit=edit,this.mask=mask,this.children=children2}modify(edit,shift2,f,hash22,key,size22){let mask=this.mask,children2=this.children,frag=hashFragment2(shift2,hash22),bit=toBitmap2(frag),indx=fromBitmap2(mask,bit),exists22=mask&bit,canEdit=canEditNode2(this,edit);if(!exists22){let _newChild=new EmptyNode2().modify(edit,shift2+SIZE2,f,hash22,key,size22);if(!_newChild)return this;return children2.length>=MAX_INDEX_NODE2?expand2(edit,frag,_newChild,mask,children2):new IndexedNode2(edit,mask|bit,arraySpliceIn2(canEdit,indx,_newChild,children2))}let current2=children2[indx],child=current2.modify(edit,shift2+SIZE2,f,hash22,key,size22);if(current2===child)return this;let bitmap=mask,newChildren;if(isEmptyNode2(child)){if(bitmap&=~bit,!bitmap)return new EmptyNode2;if(children2.length<=2&&isLeafNode2(children2[indx^1]))return children2[indx^1];newChildren=arraySpliceOut2(canEdit,indx,children2)}else newChildren=arrayUpdate2(canEdit,indx,child,children2);if(canEdit)return this.mask=bitmap,this.children=newChildren,this;return new IndexedNode2(edit,bitmap,newChildren)}}class ArrayNode2{edit;size;children;_tag="ArrayNode";constructor(edit,size22,children2){this.edit=edit,this.size=size22,this.children=children2}modify(edit,shift2,f,hash22,key,size22){let count6=this.size,children2=this.children,frag=hashFragment2(shift2,hash22),child=children2[frag],newChild=(child||new EmptyNode2).modify(edit,shift2+SIZE2,f,hash22,key,size22);if(child===newChild)return this;let canEdit=canEditNode2(this,edit),newChildren;if(isEmptyNode2(child)&&!isEmptyNode2(newChild))++count6,newChildren=arrayUpdate2(canEdit,frag,newChild,children2);else if(!isEmptyNode2(child)&&isEmptyNode2(newChild)){if(--count6,count6<=MIN_ARRAY_NODE2)return pack2(edit,count6,frag,children2);newChildren=arrayUpdate2(canEdit,frag,new EmptyNode2,children2)}else newChildren=arrayUpdate2(canEdit,frag,newChild,children2);if(canEdit)return this.size=count6,this.children=newChildren,this;return new ArrayNode2(edit,count6,newChildren)}}function pack2(edit,count6,removed,elements){let children2=Array(count6-1),g=0,bitmap=0;for(let i=0,len=elements.length;i<len;++i)if(i!==removed){let elem=elements[i];if(elem&&!isEmptyNode2(elem))children2[g++]=elem,bitmap|=1<<i}return new IndexedNode2(edit,bitmap,children2)}function expand2(edit,frag,child,bitmap,subNodes){let arr=[],bit=bitmap,count6=0;for(let i=0;bit;++i){if(bit&1)arr[i]=subNodes[count6++];bit>>>=1}return arr[frag]=child,new ArrayNode2(edit,count6+1,arr)}function mergeLeavesInner2(edit,shift2,h1,n1,h2,n2){if(h1===h2)return new CollisionNode2(edit,h1,[n2,n1]);let subH1=hashFragment2(shift2,h1),subH2=hashFragment2(shift2,h2);if(subH1===subH2)return(child)=>new IndexedNode2(edit,toBitmap2(subH1)|toBitmap2(subH2),[child]);else{let children2=subH1<subH2?[n1,n2]:[n2,n1];return new IndexedNode2(edit,toBitmap2(subH1)|toBitmap2(subH2),children2)}}function mergeLeaves2(edit,shift2,h1,n1,h2,n2){let stack=void 0,currentShift=shift2;while(!0){let res=mergeLeavesInner2(edit,currentShift,h1,n1,h2,n2);if(typeof res==="function")stack=make82(res,stack),currentShift=currentShift+SIZE2;else{let final=res;while(stack!=null)final=stack.value(final),stack=stack.previous;return final}}}var HashMapSymbolKey2="effect/HashMap",HashMapTypeId2=Symbol.for(HashMapSymbolKey2),HashMapProto2={[HashMapTypeId2]:HashMapTypeId2,[Symbol.iterator](){return new HashMapIterator2(this,(k,v)=>[k,v])},[symbol3](){let hash22=hash2(HashMapSymbolKey2);for(let item of this)hash22^=pipe2(hash2(item[0]),combine11(hash2(item[1])));return cached4(this,hash22)},[symbol22](that){if(isHashMap2(that)){if(that._size!==this._size)return!1;for(let item of this){let elem=pipe2(that,getHash2(item[0],hash2(item[0])));if(isNone22(elem))return!1;else if(!equals4(item[1],elem.value))return!1}return!0}return!1},toString(){return format4(this.toJSON())},toJSON(){return{_id:"HashMap",values:Array.from(this).map(toJSON2)}},[NodeInspectSymbol2](){return this.toJSON()},pipe(){return pipeArguments2(this,arguments)}},makeImpl3=(editable,edit,root,size22)=>{let map42=Object.create(HashMapProto2);return map42._editable=editable,map42._edit=edit,map42._root=root,map42._size=size22,map42};class HashMapIterator2{map;f;v;constructor(map42,f){this.map=map42,this.f=f,this.v=visitLazy2(this.map._root,this.f,void 0)}next(){if(isNone22(this.v))return{done:!0,value:void 0};let v0=this.v.value;return this.v=applyCont2(v0.cont),{done:!1,value:v0.value}}[Symbol.iterator](){return new HashMapIterator2(this.map,this.f)}}var applyCont2=(cont)=>cont?visitLazyChildren2(cont[0],cont[1],cont[2],cont[3],cont[4]):none22(),visitLazy2=(node,f,cont=void 0)=>{switch(node._tag){case"LeafNode":{if(isSome22(node.value))return some22({value:f(node.key,node.value.value),cont});return applyCont2(cont)}case"CollisionNode":case"ArrayNode":case"IndexedNode":{let children2=node.children;return visitLazyChildren2(children2.length,children2,0,f,cont)}default:return applyCont2(cont)}},visitLazyChildren2=(len,children2,i,f,cont)=>{while(i<len){let child=children2[i++];if(child&&!isEmptyNode2(child))return visitLazy2(child,f,[len,children2,i,f,cont])}return applyCont2(cont)},_empty32=makeImpl3(!1,0,new EmptyNode2,0),empty52=()=>_empty32,fromIterable42=(entries2)=>{let map42=beginMutation3(empty52());for(let entry of entries2)set8(map42,entry[0],entry[1]);return endMutation3(map42)},isHashMap2=(u)=>hasProperty2(u,HashMapTypeId2),isEmpty22=(self)=>self&&isEmptyNode2(self._root),get52=dual2(2,(self,key)=>getHash2(self,key,hash2(key))),getHash2=dual2(3,(self,key,hash22)=>{let node=self._root,shift2=0;while(!0)switch(node._tag){case"LeafNode":return equals4(key,node.key)?node.value:none22();case"CollisionNode":{if(hash22===node.hash){let children2=node.children;for(let i=0,len=children2.length;i<len;++i){let child=children2[i];if("key"in child&&equals4(key,child.key))return child.value}}return none22()}case"IndexedNode":{let frag=hashFragment2(shift2,hash22),bit=toBitmap2(frag);if(node.mask&bit){node=node.children[fromBitmap2(node.mask,bit)],shift2+=SIZE2;break}return none22()}case"ArrayNode":{if(node=node.children[hashFragment2(shift2,hash22)],node){shift2+=SIZE2;break}return none22()}default:return none22()}}),has5=dual2(2,(self,key)=>isSome22(getHash2(self,key,hash2(key)))),set8=dual2(3,(self,key,value)=>modifyAt3(self,key,()=>some22(value))),setTree2=dual2(3,(self,newRoot,newSize)=>{if(self._editable)return self._root=newRoot,self._size=newSize,self;return newRoot===self._root?self:makeImpl3(self._editable,self._edit,newRoot,newSize)}),keys3=(self)=>new HashMapIterator2(self,(key)=>key),size22=(self)=>self._size,beginMutation3=(self)=>makeImpl3(!0,self._edit+1,self._root,self._size),endMutation3=(self)=>{return self._editable=!1,self},mutate5=dual2(2,(self,f)=>{let transient=beginMutation3(self);return f(transient),endMutation3(transient)}),modifyAt3=dual2(3,(self,key,f)=>modifyHash2(self,key,hash2(key),f)),modifyHash2=dual2(4,(self,key,hash22,f)=>{let size32={value:self._size},newRoot=self._root.modify(self._editable?self._edit:NaN,0,f,hash22,key,size32);return pipe2(self,setTree2(newRoot,size32.value))}),remove32=dual2(2,(self,key)=>modifyAt3(self,key,none22)),map42=dual2(2,(self,f)=>reduce32(self,empty52(),(map52,value,key)=>set8(map52,key,f(value,key)))),forEach22=dual2(2,(self,f)=>reduce32(self,void 0,(_,value,key)=>f(value,key))),reduce32=dual2(3,(self,zero22,f)=>{let root=self._root;if(root._tag==="LeafNode")return isSome22(root.value)?f(zero22,root.value.value,root.key):zero22;if(root._tag==="EmptyNode")return zero22;let toVisit=[root.children],children2;while(children2=toVisit.pop())for(let i=0,len=children2.length;i<len;){let child=children2[i++];if(child&&!isEmptyNode2(child))if(child._tag==="LeafNode"){if(isSome22(child.value))zero22=f(zero22,child.value.value,child.key)}else toVisit.push(child.children)}return zero22}),HashSetSymbolKey2="effect/HashSet",HashSetTypeId2=Symbol.for(HashSetSymbolKey2),HashSetProto2={[HashSetTypeId2]:HashSetTypeId2,[Symbol.iterator](){return keys3(this._keyMap)},[symbol3](){return cached4(this,combine11(hash2(this._keyMap))(hash2(HashSetSymbolKey2)))},[symbol22](that){if(isHashSet2(that))return size22(this._keyMap)===size22(that._keyMap)&&equals4(this._keyMap,that._keyMap);return!1},toString(){return format4(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(toJSON2)}},[NodeInspectSymbol2](){return this.toJSON()},pipe(){return pipeArguments2(this,arguments)}},makeImpl22=(keyMap)=>{let set22=Object.create(HashSetProto2);return set22._keyMap=keyMap,set22},isHashSet2=(u)=>hasProperty2(u,HashSetTypeId2),_empty42=makeImpl22(empty52()),empty62=()=>_empty42,fromIterable52=(elements)=>{let set22=beginMutation22(empty62());for(let value of elements)add32(set22,value);return endMutation22(set22)},make92=(...elements)=>{let set22=beginMutation22(empty62());for(let value of elements)add32(set22,value);return endMutation22(set22)},has22=dual2(2,(self,value)=>has5(self._keyMap,value)),size32=(self)=>size22(self._keyMap),beginMutation22=(self)=>makeImpl22(beginMutation3(self._keyMap)),endMutation22=(self)=>{return self._keyMap._editable=!1,self},mutate22=dual2(2,(self,f)=>{let transient=beginMutation22(self);return f(transient),endMutation22(transient)}),add32=dual2(2,(self,value)=>self._keyMap._editable?(set8(value,!0)(self._keyMap),self):makeImpl22(set8(value,!0)(self._keyMap))),remove42=dual2(2,(self,value)=>self._keyMap._editable?(remove32(value)(self._keyMap),self):makeImpl22(remove32(value)(self._keyMap))),difference32=dual2(2,(self,that)=>mutate22(self,(set22)=>{for(let value of that)remove42(set22,value)})),union32=dual2(2,(self,that)=>mutate22(empty62(),(set22)=>{forEach32(self,(value)=>add32(set22,value));for(let value of that)add32(set22,value)})),forEach32=dual2(2,(self,f)=>forEach22(self._keyMap,(_,k)=>f(k))),reduce42=dual2(3,(self,zero22,f)=>reduce32(self._keyMap,zero22,(z,_,a)=>f(z,a))),empty72=empty62,fromIterable62=fromIterable52,make102=make92,has32=has22,size42=size32,add42=add32,remove52=remove42,difference42=difference32,union42=union32,forEach42=forEach32,reduce52=reduce42,TypeId72=Symbol.for("effect/MutableRef"),MutableRefProto2={[TypeId72]:TypeId72,toString(){return format4(this.toJSON())},toJSON(){return{_id:"MutableRef",current:toJSON2(this.current)}},[NodeInspectSymbol2](){return this.toJSON()},pipe(){return pipeArguments2(this,arguments)}},make112=(value)=>{let ref=Object.create(MutableRefProto2);return ref.current=value,ref},compareAndSet2=dual2(3,(self,oldValue,newValue)=>{if(equals4(oldValue,self.current))return self.current=newValue,!0;return!1}),get62=(self)=>self.current,set22=dual2(2,(self,value)=>{return self.current=value,self}),FiberIdSymbolKey2="effect/FiberId",FiberIdTypeId2=Symbol.for(FiberIdSymbolKey2),OP_NONE2="None",OP_RUNTIME2="Runtime",OP_COMPOSITE2="Composite",emptyHash2=string4(`${FiberIdSymbolKey2}-${OP_NONE2}`);class None4{[FiberIdTypeId2]=FiberIdTypeId2;_tag=OP_NONE2;id=-1;startTimeMillis=-1;[symbol3](){return emptyHash2}[symbol22](that){return isFiberId2(that)&&that._tag===OP_NONE2}toString(){return format4(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag}}[NodeInspectSymbol2](){return this.toJSON()}}class Runtime2{id;startTimeMillis;[FiberIdTypeId2]=FiberIdTypeId2;_tag=OP_RUNTIME2;constructor(id2,startTimeMillis){this.id=id2,this.startTimeMillis=startTimeMillis}[symbol3](){return cached4(this,string4(`${FiberIdSymbolKey2}-${this._tag}-${this.id}-${this.startTimeMillis}`))}[symbol22](that){return isFiberId2(that)&&that._tag===OP_RUNTIME2&&this.id===that.id&&this.startTimeMillis===that.startTimeMillis}toString(){return format4(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,id:this.id,startTimeMillis:this.startTimeMillis}}[NodeInspectSymbol2](){return this.toJSON()}}class Composite2{left;right;[FiberIdTypeId2]=FiberIdTypeId2;_tag=OP_COMPOSITE2;constructor(left32,right32){this.left=left32,this.right=right32}_hash;[symbol3](){return pipe2(string4(`${FiberIdSymbolKey2}-${this._tag}`),combine11(hash2(this.left)),combine11(hash2(this.right)),cached4(this))}[symbol22](that){return isFiberId2(that)&&that._tag===OP_COMPOSITE2&&equals4(this.left,that.left)&&equals4(this.right,that.right)}toString(){return format4(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,left:toJSON2(this.left),right:toJSON2(this.right)}}[NodeInspectSymbol2](){return this.toJSON()}}var none32=new None4,isFiberId2=(self)=>hasProperty2(self,FiberIdTypeId2),combine22=dual2(2,(self,that)=>{if(self._tag===OP_NONE2)return that;if(that._tag===OP_NONE2)return self;return new Composite2(self,that)}),combineAll3=(fiberIds)=>{return pipe2(fiberIds,reduce52(none32,(a,b)=>combine22(b)(a)))},ids3=(self)=>{switch(self._tag){case OP_NONE2:return empty72();case OP_RUNTIME2:return make102(self.id);case OP_COMPOSITE2:return pipe2(ids3(self.left),union42(ids3(self.right)))}},_fiberCounter2=globalValue2(Symbol.for("effect/Fiber/Id/_fiberCounter"),()=>make112(0)),threadName3=(self)=>{return Array.from(ids3(self)).map((n)=>`#${n}`).join(",")},unsafeMake22=()=>{let id2=get62(_fiberCounter2);return pipe2(_fiberCounter2,set22(id2+1)),new Runtime2(id2,Date.now())},none42=none32,combine32=combine22,combineAll22=combineAll3,ids22=ids3,threadName22=threadName3,unsafeMake32=unsafeMake22,empty82=empty52,fromIterable72=fromIterable42,isEmpty32=isEmpty22,get72=get52,set32=set8,keys22=keys3,mutate32=mutate5,modifyAt22=modifyAt3,map62=map42,forEach52=forEach22,reduce62=reduce32,TypeId82=Symbol.for("effect/List"),toArray32=(self)=>fromIterable22(self),getEquivalence42=(isEquivalent)=>mapInput6(getEquivalence22(isEquivalent),toArray32),_equivalence42=getEquivalence42(equals4),ConsProto2={[TypeId82]:TypeId82,_tag:"Cons",toString(){return format4(this.toJSON())},toJSON(){return{_id:"List",_tag:"Cons",values:toArray32(this).map(toJSON2)}},[NodeInspectSymbol2](){return this.toJSON()},[symbol22](that){return isList2(that)&&this._tag===that._tag&&_equivalence42(this,that)},[symbol3](){return cached4(this,array22(toArray32(this)))},[Symbol.iterator](){let done11=!1,self=this;return{next(){if(done11)return this.return();if(self._tag==="Nil")return done11=!0,this.return();let value=self.head;return self=self.tail,{done:done11,value}},return(value){if(!done11)done11=!0;return{done:!0,value}}}},pipe(){return pipeArguments2(this,arguments)}},makeCons2=(head32,tail2)=>{let cons2=Object.create(ConsProto2);return cons2.head=head32,cons2.tail=tail2,cons2},NilHash2=string4("Nil"),NilProto2={[TypeId82]:TypeId82,_tag:"Nil",toString(){return format4(this.toJSON())},toJSON(){return{_id:"List",_tag:"Nil"}},[NodeInspectSymbol2](){return this.toJSON()},[symbol3](){return NilHash2},[symbol22](that){return isList2(that)&&this._tag===that._tag},[Symbol.iterator](){return{next(){return{done:!0,value:void 0}}}},pipe(){return pipeArguments2(this,arguments)}},_Nil2=Object.create(NilProto2),isList2=(u)=>hasProperty2(u,TypeId82),isNil2=(self)=>self._tag==="Nil",isCons2=(self)=>self._tag==="Cons",nil2=()=>_Nil2,cons2=(head32,tail2)=>makeCons2(head32,tail2),empty92=nil2,of32=(value)=>makeCons2(value,_Nil2),appendAll32=dual2(2,(self,that)=>prependAll22(that,self)),prepend32=dual2(2,(self,element)=>cons2(element,self)),prependAll22=dual2(2,(self,prefix)=>{if(isNil2(self))return prefix;else if(isNil2(prefix))return self;else{let result=makeCons2(prefix.head,self),curr=result,that=prefix.tail;while(!isNil2(that)){let temp=makeCons2(that.head,self);curr.tail=temp,curr=temp,that=that.tail}return result}}),reduce72=dual2(3,(self,zero22,f)=>{let acc=zero22,these=self;while(!isNil2(these))acc=f(acc,these.head),these=these.tail;return acc}),reverse32=(self)=>{let result=empty92(),these=self;while(!isNil2(these))result=prepend32(result,these.head),these=these.tail;return result},ArrayProto2=Object.assign(Object.create(Array.prototype),{[symbol3](){return cached4(this,array22(this))},[symbol22](that){if(Array.isArray(that)&&this.length===that.length)return this.every((v,i)=>equals4(v,that[i]));else return!1}}),Structural3=function(){function Structural22(args2){if(args2)Object.assign(this,args2)}return Structural22.prototype=StructuralPrototype2,Structural22}(),struct4=(as22)=>Object.assign(Object.create(StructuralPrototype2),as22),ContextPatchTypeId2=Symbol.for("effect/DifferContextPatch");function variance7(a){return a}var PatchProto4={...Structural3.prototype,[ContextPatchTypeId2]:{_Value:variance7,_Patch:variance7}},EmptyProto4=Object.assign(Object.create(PatchProto4),{_tag:"Empty"}),_empty52=Object.create(EmptyProto4),empty102=()=>_empty52,AndThenProto4=Object.assign(Object.create(PatchProto4),{_tag:"AndThen"}),makeAndThen4=(first,second)=>{let o=Object.create(AndThenProto4);return o.first=first,o.second=second,o},AddServiceProto2=Object.assign(Object.create(PatchProto4),{_tag:"AddService"}),makeAddService2=(key,service3)=>{let o=Object.create(AddServiceProto2);return o.key=key,o.service=service3,o},RemoveServiceProto2=Object.assign(Object.create(PatchProto4),{_tag:"RemoveService"}),makeRemoveService2=(key)=>{let o=Object.create(RemoveServiceProto2);return o.key=key,o},UpdateServiceProto2=Object.assign(Object.create(PatchProto4),{_tag:"UpdateService"}),makeUpdateService2=(key,update5)=>{let o=Object.create(UpdateServiceProto2);return o.key=key,o.update=update5,o},diff8=(oldValue,newValue)=>{let missingServices=new Map(oldValue.unsafeMap),patch9=empty102();for(let[tag,newService]of newValue.unsafeMap.entries())if(missingServices.has(tag)){let old=missingServices.get(tag);if(missingServices.delete(tag),!equals4(old,newService))patch9=combine42(makeUpdateService2(tag,()=>newService))(patch9)}else missingServices.delete(tag),patch9=combine42(makeAddService2(tag,newService))(patch9);for(let[tag]of missingServices.entries())patch9=combine42(makeRemoveService2(tag))(patch9);return patch9},combine42=dual2(2,(self,that)=>makeAndThen4(self,that)),patch9=dual2(2,(self,context7)=>{if(self._tag==="Empty")return context7;let wasServiceUpdated=!1,patches=of22(self),updatedContext=new Map(context7.unsafeMap);while(isNonEmpty6(patches)){let head32=headNonEmpty22(patches),tail2=tailNonEmpty22(patches);switch(head32._tag){case"Empty":{patches=tail2;break}case"AddService":{updatedContext.set(head32.key,head32.service),patches=tail2;break}case"AndThen":{patches=prepend22(prepend22(tail2,head32.second),head32.first);break}case"RemoveService":{updatedContext.delete(head32.key),patches=tail2;break}case"UpdateService":{updatedContext.set(head32.key,head32.update(updatedContext.get(head32.key))),wasServiceUpdated=!0,patches=tail2;break}}}if(!wasServiceUpdated)return makeContext2(updatedContext);let map72=new Map;for(let[tag]of context7.unsafeMap)if(updatedContext.has(tag))map72.set(tag,updatedContext.get(tag)),updatedContext.delete(tag);for(let[tag,s]of updatedContext)map72.set(tag,s);return makeContext2(map72)}),HashSetPatchTypeId2=Symbol.for("effect/DifferHashSetPatch");function variance22(a){return a}var PatchProto22={...Structural3.prototype,[HashSetPatchTypeId2]:{_Value:variance22,_Key:variance22,_Patch:variance22}},EmptyProto22=Object.assign(Object.create(PatchProto22),{_tag:"Empty"}),_empty62=Object.create(EmptyProto22),empty112=()=>_empty62,AndThenProto22=Object.assign(Object.create(PatchProto22),{_tag:"AndThen"}),makeAndThen22=(first,second)=>{let o=Object.create(AndThenProto22);return o.first=first,o.second=second,o},AddProto2=Object.assign(Object.create(PatchProto22),{_tag:"Add"}),makeAdd2=(value)=>{let o=Object.create(AddProto2);return o.value=value,o},RemoveProto2=Object.assign(Object.create(PatchProto22),{_tag:"Remove"}),makeRemove2=(value)=>{let o=Object.create(RemoveProto2);return o.value=value,o},diff22=(oldValue,newValue)=>{let[removed,patch22]=reduce52([oldValue,empty112()],([set42,patch32],value)=>{if(has32(value)(set42))return[remove52(value)(set42),patch32];return[set42,combine52(makeAdd2(value))(patch32)]})(newValue);return reduce52(patch22,(patch32,value)=>combine52(makeRemove2(value))(patch32))(removed)},combine52=dual2(2,(self,that)=>makeAndThen22(self,that)),patch22=dual2(2,(self,oldValue)=>{if(self._tag==="Empty")return oldValue;let set42=oldValue,patches=of22(self);while(isNonEmpty6(patches)){let head32=headNonEmpty22(patches),tail2=tailNonEmpty22(patches);switch(head32._tag){case"Empty":{patches=tail2;break}case"AndThen":{patches=prepend22(head32.first)(prepend22(head32.second)(tail2));break}case"Add":{set42=add42(head32.value)(set42),patches=tail2;break}case"Remove":set42=remove52(head32.value)(set42),patches=tail2}}return set42}),ReadonlyArrayPatchTypeId2=Symbol.for("effect/DifferReadonlyArrayPatch");function variance32(a){return a}var PatchProto32={...Structural3.prototype,[ReadonlyArrayPatchTypeId2]:{_Value:variance32,_Patch:variance32}},EmptyProto32=Object.assign(Object.create(PatchProto32),{_tag:"Empty"}),_empty72=Object.create(EmptyProto32),empty122=()=>_empty72,AndThenProto32=Object.assign(Object.create(PatchProto32),{_tag:"AndThen"}),makeAndThen32=(first,second)=>{let o=Object.create(AndThenProto32);return o.first=first,o.second=second,o},AppendProto2=Object.assign(Object.create(PatchProto32),{_tag:"Append"}),makeAppend2=(values3)=>{let o=Object.create(AppendProto2);return o.values=values3,o},SliceProto2=Object.assign(Object.create(PatchProto32),{_tag:"Slice"}),makeSlice2=(from,until)=>{let o=Object.create(SliceProto2);return o.from=from,o.until=until,o},UpdateProto2=Object.assign(Object.create(PatchProto32),{_tag:"Update"}),makeUpdate2=(index,patch32)=>{let o=Object.create(UpdateProto2);return o.index=index,o.patch=patch32,o},diff32=(options)=>{let i=0,patch32=empty122();while(i<options.oldValue.length&&i<options.newValue.length){let oldElement=options.oldValue[i],newElement=options.newValue[i],valuePatch=options.differ.diff(oldElement,newElement);if(!equals4(valuePatch,options.differ.empty))patch32=combine62(patch32,makeUpdate2(i,valuePatch));i=i+1}if(i<options.oldValue.length)patch32=combine62(patch32,makeSlice2(0,i));if(i<options.newValue.length)patch32=combine62(patch32,makeAppend2(drop5(i)(options.newValue)));return patch32},combine62=dual2(2,(self,that)=>makeAndThen32(self,that)),patch32=dual2(3,(self,oldValue,differ3)=>{if(self._tag==="Empty")return oldValue;let readonlyArray2=oldValue.slice(),patches=of6(self);while(isNonEmptyArray22(patches)){let head32=headNonEmpty3(patches),tail2=tailNonEmpty3(patches);switch(head32._tag){case"Empty":{patches=tail2;break}case"AndThen":{tail2.unshift(head32.first,head32.second),patches=tail2;break}case"Append":{for(let value of head32.values)readonlyArray2.push(value);patches=tail2;break}case"Slice":{readonlyArray2=readonlyArray2.slice(head32.from,head32.until),patches=tail2;break}case"Update":{readonlyArray2[head32.index]=differ3.patch(head32.patch,readonlyArray2[head32.index]),patches=tail2;break}}}return readonlyArray2}),DifferTypeId2=Symbol.for("effect/Differ"),DifferProto2={[DifferTypeId2]:{_P:identity5,_V:identity5},pipe(){return pipeArguments2(this,arguments)}},make142=(params)=>{let differ3=Object.create(DifferProto2);return differ3.empty=params.empty,differ3.diff=params.diff,differ3.combine=params.combine,differ3.patch=params.patch,differ3},environment2=()=>make142({empty:empty102(),combine:(first,second)=>combine42(second)(first),diff:(oldValue,newValue)=>diff8(oldValue,newValue),patch:(patch42,oldValue)=>patch9(oldValue)(patch42)}),hashSet4=()=>make142({empty:empty112(),combine:(first,second)=>combine52(second)(first),diff:(oldValue,newValue)=>diff22(oldValue,newValue),patch:(patch42,oldValue)=>patch22(oldValue)(patch42)}),readonlyArray2=(differ3)=>make142({empty:empty122(),combine:(first,second)=>combine62(first,second),diff:(oldValue,newValue)=>diff32({oldValue,newValue,differ:differ3}),patch:(patch42,oldValue)=>patch32(patch42,oldValue,differ3)}),update5=()=>updateWith2((_,a)=>a),updateWith2=(f)=>make142({empty:identity5,combine:(first,second)=>{if(first===identity5)return second;if(second===identity5)return first;return(a)=>second(first(a))},diff:(oldValue,newValue)=>{if(equals4(oldValue,newValue))return identity5;return constant2(newValue)},patch:(patch42,oldValue)=>f(oldValue,patch42(oldValue))}),BIT_MASK2=255,BIT_SHIFT2=8,active2=(patch42)=>patch42&BIT_MASK2,enabled2=(patch42)=>patch42>>BIT_SHIFT2&BIT_MASK2,make152=(active22,enabled22)=>(active22&BIT_MASK2)+((enabled22&active22&BIT_MASK2)<<BIT_SHIFT2),empty132=make152(0,0),enable4=(flag)=>make152(flag,flag),disable4=(flag)=>make152(flag,0),exclude3=dual2(2,(self,flag)=>make152(active2(self)&~flag,enabled2(self))),andThen22=dual2(2,(self,that)=>self|that),invert2=(n)=>~n>>>0&BIT_MASK2,None22=0,Interruption2=1,OpSupervision2=2,RuntimeMetrics2=4,WindDown2=16,CooperativeYielding2=32,cooperativeYielding2=(self)=>isEnabled3(self,CooperativeYielding2),disable22=dual2(2,(self,flag)=>self&~flag),enable22=dual2(2,(self,flag)=>self|flag),interruptible5=(self)=>interruption2(self)&&!windDown2(self),interruption2=(self)=>isEnabled3(self,Interruption2),isEnabled3=dual2(2,(self,flag)=>(self&flag)!==0),make162=(...flags)=>flags.reduce((a,b)=>a|b,0),none52=make162(None22),runtimeMetrics2=(self)=>isEnabled3(self,RuntimeMetrics2),windDown2=(self)=>isEnabled3(self,WindDown2),diff42=dual2(2,(self,that)=>make152(self^that,that)),patch42=dual2(2,(self,patch52)=>self&(invert2(active2(patch52))|enabled2(patch52))|active2(patch52)&enabled2(patch52)),differ3=make142({empty:empty132,diff:(oldValue,newValue)=>diff42(oldValue,newValue),combine:(first,second)=>andThen22(second)(first),patch:(_patch,oldValue)=>patch42(oldValue,_patch)}),empty142=empty132,enable32=enable4,disable32=disable4,exclude22=exclude3,empty152={_tag:"Empty"},par2=(self,that)=>({_tag:"Par",left:self,right:that}),seq2=(self,that)=>({_tag:"Seq",left:self,right:that}),single2=(dataSource,blockedRequest)=>({_tag:"Single",dataSource,blockedRequest}),flatten42=(self)=>{let current2=of32(self),updated=empty92();while(!0){let[parallel4,sequential4]=reduce72(current2,[parallelCollectionEmpty2(),empty92()],([parallel22,sequential22],blockedRequest)=>{let[par22,seq22]=step4(blockedRequest);return[parallelCollectionCombine2(parallel22,par22),appendAll32(sequential22,seq22)]});if(updated=merge42(updated,parallel4),isNil2(sequential4))return reverse32(updated);current2=sequential4}throw Error("BUG: BlockedRequests.flatten - please report an issue at https://github.com/Effect-TS/effect/issues")},step4=(requests)=>{let current2=requests,parallel4=parallelCollectionEmpty2(),stack=empty92(),sequential4=empty92();while(!0)switch(current2._tag){case"Empty":{if(isNil2(stack))return[parallel4,sequential4];current2=stack.head,stack=stack.tail;break}case"Par":{stack=cons2(current2.right,stack),current2=current2.left;break}case"Seq":{let{left:left32,right:right32}=current2;switch(left32._tag){case"Empty":{current2=right32;break}case"Par":{let{left:l,right:r}=left32;current2=par2(seq2(l,right32),seq2(r,right32));break}case"Seq":{let{left:l,right:r}=left32;current2=seq2(l,seq2(r,right32));break}case"Single":{current2=left32,sequential4=cons2(right32,sequential4);break}}break}case"Single":{if(parallel4=parallelCollectionAdd2(parallel4,current2),isNil2(stack))return[parallel4,sequential4];current2=stack.head,stack=stack.tail;break}}throw Error("BUG: BlockedRequests.step - please report an issue at https://github.com/Effect-TS/effect/issues")},merge42=(sequential4,parallel4)=>{if(isNil2(sequential4))return of32(parallelCollectionToSequentialCollection2(parallel4));if(parallelCollectionIsEmpty2(parallel4))return sequential4;let seqHeadKeys=sequentialCollectionKeys2(sequential4.head),parKeys=parallelCollectionKeys2(parallel4);if(seqHeadKeys.length===1&&parKeys.length===1&&equals4(seqHeadKeys[0],parKeys[0]))return cons2(sequentialCollectionCombine2(sequential4.head,parallelCollectionToSequentialCollection2(parallel4)),sequential4.tail);return cons2(parallelCollectionToSequentialCollection2(parallel4),sequential4)},EntryTypeId2=Symbol.for("effect/RequestBlock/Entry");class EntryImpl2{request;result;listeners;ownerId;state;[EntryTypeId2]=blockedRequestVariance2;constructor(request2,result,listeners,ownerId,state){this.request=request2,this.result=result,this.listeners=listeners,this.ownerId=ownerId,this.state=state}}var blockedRequestVariance2={_R:(_)=>_},makeEntry2=(options)=>new EntryImpl2(options.request,options.result,options.listeners,options.ownerId,options.state),RequestBlockParallelTypeId2=Symbol.for("effect/RequestBlock/RequestBlockParallel"),parallelVariance2={_R:(_)=>_};class ParallelImpl2{map;[RequestBlockParallelTypeId2]=parallelVariance2;constructor(map72){this.map=map72}}var parallelCollectionEmpty2=()=>new ParallelImpl2(empty82()),parallelCollectionAdd2=(self,blockedRequest)=>new ParallelImpl2(modifyAt22(self.map,blockedRequest.dataSource,(_)=>orElseSome2(map27(_,append22(blockedRequest.blockedRequest)),()=>of22(blockedRequest.blockedRequest)))),parallelCollectionCombine2=(self,that)=>new ParallelImpl2(reduce62(self.map,that.map,(map72,value,key)=>set32(map72,key,match22(get72(map72,key),{onNone:()=>value,onSome:(other)=>appendAll22(value,other)})))),parallelCollectionIsEmpty2=(self)=>isEmpty32(self.map),parallelCollectionKeys2=(self)=>Array.from(keys22(self.map)),parallelCollectionToSequentialCollection2=(self)=>sequentialCollectionMake2(map62(self.map,(x)=>of22(x))),SequentialCollectionTypeId2=Symbol.for("effect/RequestBlock/RequestBlockSequential"),sequentialVariance2={_R:(_)=>_};class SequentialImpl2{map;[SequentialCollectionTypeId2]=sequentialVariance2;constructor(map72){this.map=map72}}var sequentialCollectionMake2=(map72)=>new SequentialImpl2(map72),sequentialCollectionCombine2=(self,that)=>new SequentialImpl2(reduce62(that.map,self.map,(map72,value,key)=>set32(map72,key,match22(get72(map72,key),{onNone:()=>empty42(),onSome:(a)=>appendAll22(a,value)})))),sequentialCollectionKeys2=(self)=>Array.from(keys22(self.map)),sequentialCollectionToChunk2=(self)=>Array.from(self.map),OP_DIE4="Die",OP_EMPTY4="Empty",OP_FAIL6="Fail",OP_INTERRUPT4="Interrupt",OP_PARALLEL3="Parallel",OP_SEQUENTIAL3="Sequential",CauseSymbolKey2="effect/Cause",CauseTypeId2=Symbol.for(CauseSymbolKey2),variance42={_E:(_)=>_},proto14={[CauseTypeId2]:variance42,[symbol3](){return pipe2(hash2(CauseSymbolKey2),combine11(hash2(flattenCause2(this))),cached4(this))},[symbol22](that){return isCause2(that)&&causeEquals2(this,that)},pipe(){return pipeArguments2(this,arguments)},toJSON(){switch(this._tag){case"Empty":return{_id:"Cause",_tag:this._tag};case"Die":return{_id:"Cause",_tag:this._tag,defect:toJSON2(this.defect)};case"Interrupt":return{_id:"Cause",_tag:this._tag,fiberId:this.fiberId.toJSON()};case"Fail":return{_id:"Cause",_tag:this._tag,failure:toJSON2(this.error)};case"Sequential":case"Parallel":return{_id:"Cause",_tag:this._tag,left:toJSON2(this.left),right:toJSON2(this.right)}}},toString(){return pretty3(this)},[NodeInspectSymbol2](){return this.toJSON()}},empty162=(()=>{let o=Object.create(proto14);return o._tag=OP_EMPTY4,o})(),fail19=(error3)=>{let o=Object.create(proto14);return o._tag=OP_FAIL6,o.error=error3,o},die12=(defect)=>{let o=Object.create(proto14);return o._tag=OP_DIE4,o.defect=defect,o},interrupt9=(fiberId3)=>{let o=Object.create(proto14);return o._tag=OP_INTERRUPT4,o.fiberId=fiberId3,o},parallel4=(left32,right32)=>{let o=Object.create(proto14);return o._tag=OP_PARALLEL3,o.left=left32,o.right=right32,o},sequential4=(left32,right32)=>{let o=Object.create(proto14);return o._tag=OP_SEQUENTIAL3,o.left=left32,o.right=right32,o},isCause2=(u)=>hasProperty2(u,CauseTypeId2),isEmptyType2=(self)=>self._tag===OP_EMPTY4,isDieType3=(self)=>self._tag===OP_DIE4,isEmpty52=(self)=>{if(self._tag===OP_EMPTY4)return!0;return reduce82(self,!0,(acc,cause3)=>{switch(cause3._tag){case OP_EMPTY4:return some22(acc);case OP_DIE4:case OP_FAIL6:case OP_INTERRUPT4:return some22(!1);default:return none22()}})},isInterrupted3=(self)=>isSome22(interruptOption2(self)),isInterruptedOnly3=(self)=>reduceWithContext3(void 0,IsInterruptedOnlyCauseReducer2)(self),failures2=(self)=>reverse22(reduce82(self,empty42(),(list,cause3)=>cause3._tag===OP_FAIL6?some22(pipe2(list,prepend22(cause3.error))):none22())),defects2=(self)=>reverse22(reduce82(self,empty42(),(list,cause3)=>cause3._tag===OP_DIE4?some22(pipe2(list,prepend22(cause3.defect))):none22())),interruptors3=(self)=>reduce82(self,empty72(),(set42,cause3)=>cause3._tag===OP_INTERRUPT4?some22(pipe2(set42,add42(cause3.fiberId))):none22()),failureOption2=(self)=>find4(self,(cause3)=>cause3._tag===OP_FAIL6?some22(cause3.error):none22()),failureOrCause3=(self)=>{let option5=failureOption2(self);switch(option5._tag){case"None":return right22(self);case"Some":return left22(option5.value)}},flipCauseOption3=(self)=>match42(self,{onEmpty:some22(empty162),onFail:map27(fail19),onDie:(defect)=>some22(die12(defect)),onInterrupt:(fiberId3)=>some22(interrupt9(fiberId3)),onSequential:mergeWith5(sequential4),onParallel:mergeWith5(parallel4)}),interruptOption2=(self)=>find4(self,(cause3)=>cause3._tag===OP_INTERRUPT4?some22(cause3.fiberId):none22()),keepDefects2=(self)=>match42(self,{onEmpty:none22(),onFail:()=>none22(),onDie:(defect)=>some22(die12(defect)),onInterrupt:()=>none22(),onSequential:mergeWith5(sequential4),onParallel:mergeWith5(parallel4)}),keepDefectsAndElectFailures2=(self)=>match42(self,{onEmpty:none22(),onFail:(failure)=>some22(die12(failure)),onDie:(defect)=>some22(die12(defect)),onInterrupt:()=>none22(),onSequential:mergeWith5(sequential4),onParallel:mergeWith5(parallel4)}),stripFailures2=(self)=>match42(self,{onEmpty:empty162,onFail:()=>empty162,onDie:die12,onInterrupt:interrupt9,onSequential:sequential4,onParallel:parallel4}),electFailures2=(self)=>match42(self,{onEmpty:empty162,onFail:die12,onDie:die12,onInterrupt:interrupt9,onSequential:sequential4,onParallel:parallel4}),map82=dual2(2,(self,f)=>flatMap72(self,(e)=>fail19(f(e)))),flatMap72=dual2(2,(self,f)=>match42(self,{onEmpty:empty162,onFail:(error3)=>f(error3),onDie:(defect)=>die12(defect),onInterrupt:(fiberId3)=>interrupt9(fiberId3),onSequential:(left32,right32)=>sequential4(left32,right32),onParallel:(left32,right32)=>parallel4(left32,right32)})),flatten52=(self)=>flatMap72(self,identity5),causeEquals2=(left32,right32)=>{let leftStack=of22(left32),rightStack=of22(right32);while(isNonEmpty6(leftStack)&&isNonEmpty6(rightStack)){let[leftParallel,leftSequential]=pipe2(headNonEmpty22(leftStack),reduce82([empty72(),empty42()],([parallel22,sequential22],cause3)=>{let[par22,seq22]=evaluateCause2(cause3);return some22([pipe2(parallel22,union42(par22)),pipe2(sequential22,appendAll22(seq22))])})),[rightParallel,rightSequential]=pipe2(headNonEmpty22(rightStack),reduce82([empty72(),empty42()],([parallel22,sequential22],cause3)=>{let[par22,seq22]=evaluateCause2(cause3);return some22([pipe2(parallel22,union42(par22)),pipe2(sequential22,appendAll22(seq22))])}));if(!equals4(leftParallel,rightParallel))return!1;leftStack=leftSequential,rightStack=rightSequential}return!0},flattenCause2=(cause3)=>{return flattenCauseLoop2(of22(cause3),empty42())},flattenCauseLoop2=(causes,flattened)=>{while(!0){let[parallel22,sequential22]=pipe2(causes,reduce13([empty72(),empty42()],([parallel32,sequential32],cause3)=>{let[par22,seq22]=evaluateCause2(cause3);return[pipe2(parallel32,union42(par22)),pipe2(sequential32,appendAll22(seq22))]})),updated=size42(parallel22)>0?pipe2(flattened,prepend22(parallel22)):flattened;if(isEmpty15(sequential22))return reverse22(updated);causes=sequential22,flattened=updated}throw Error(getBugErrorMessage2("Cause.flattenCauseLoop"))},find4=dual2(2,(self,pf)=>{let stack=[self];while(stack.length>0){let item=stack.pop(),option5=pf(item);switch(option5._tag){case"None":{switch(item._tag){case OP_SEQUENTIAL3:case OP_PARALLEL3:{stack.push(item.right),stack.push(item.left);break}}break}case"Some":return option5}}return none22()}),evaluateCause2=(self)=>{let cause3=self,stack=[],_parallel=empty72(),_sequential=empty42();while(cause3!==void 0)switch(cause3._tag){case OP_EMPTY4:{if(stack.length===0)return[_parallel,_sequential];cause3=stack.pop();break}case OP_FAIL6:{if(_parallel=add42(_parallel,make62(cause3._tag,cause3.error)),stack.length===0)return[_parallel,_sequential];cause3=stack.pop();break}case OP_DIE4:{if(_parallel=add42(_parallel,make62(cause3._tag,cause3.defect)),stack.length===0)return[_parallel,_sequential];cause3=stack.pop();break}case OP_INTERRUPT4:{if(_parallel=add42(_parallel,make62(cause3._tag,cause3.fiberId)),stack.length===0)return[_parallel,_sequential];cause3=stack.pop();break}case OP_SEQUENTIAL3:{switch(cause3.left._tag){case OP_EMPTY4:{cause3=cause3.right;break}case OP_SEQUENTIAL3:{cause3=sequential4(cause3.left.left,sequential4(cause3.left.right,cause3.right));break}case OP_PARALLEL3:{cause3=parallel4(sequential4(cause3.left.left,cause3.right),sequential4(cause3.left.right,cause3.right));break}default:{_sequential=prepend22(_sequential,cause3.right),cause3=cause3.left;break}}break}case OP_PARALLEL3:{stack.push(cause3.right),cause3=cause3.left;break}}throw Error(getBugErrorMessage2("Cause.evaluateCauseLoop"))},IsInterruptedOnlyCauseReducer2={emptyCase:constTrue2,failCase:constFalse2,dieCase:constFalse2,interruptCase:constTrue2,sequentialCase:(_,left32,right32)=>left32&&right32,parallelCase:(_,left32,right32)=>left32&&right32},OP_SEQUENTIAL_CASE2="SequentialCase",OP_PARALLEL_CASE2="ParallelCase",match42=dual2(2,(self,{onDie,onEmpty,onFail,onInterrupt:onInterrupt3,onParallel,onSequential})=>{return reduceWithContext3(self,void 0,{emptyCase:()=>onEmpty,failCase:(_,error3)=>onFail(error3),dieCase:(_,defect)=>onDie(defect),interruptCase:(_,fiberId3)=>onInterrupt3(fiberId3),sequentialCase:(_,left32,right32)=>onSequential(left32,right32),parallelCase:(_,left32,right32)=>onParallel(left32,right32)})}),reduce82=dual2(3,(self,zero22,pf)=>{let accumulator=zero22,cause3=self,causes=[];while(cause3!==void 0){let option5=pf(accumulator,cause3);switch(accumulator=isSome22(option5)?option5.value:accumulator,cause3._tag){case OP_SEQUENTIAL3:{causes.push(cause3.right),cause3=cause3.left;break}case OP_PARALLEL3:{causes.push(cause3.right),cause3=cause3.left;break}default:{cause3=void 0;break}}if(cause3===void 0&&causes.length>0)cause3=causes.pop()}return accumulator}),reduceWithContext3=dual2(3,(self,context7,reducer)=>{let input=[self],output=[];while(input.length>0){let cause3=input.pop();switch(cause3._tag){case OP_EMPTY4:{output.push(right22(reducer.emptyCase(context7)));break}case OP_FAIL6:{output.push(right22(reducer.failCase(context7,cause3.error)));break}case OP_DIE4:{output.push(right22(reducer.dieCase(context7,cause3.defect)));break}case OP_INTERRUPT4:{output.push(right22(reducer.interruptCase(context7,cause3.fiberId)));break}case OP_SEQUENTIAL3:{input.push(cause3.right),input.push(cause3.left),output.push(left22({_tag:OP_SEQUENTIAL_CASE2}));break}case OP_PARALLEL3:{input.push(cause3.right),input.push(cause3.left),output.push(left22({_tag:OP_PARALLEL_CASE2}));break}}}let accumulator=[];while(output.length>0){let either22=output.pop();switch(either22._tag){case"Left":{switch(either22.left._tag){case OP_SEQUENTIAL_CASE2:{let left32=accumulator.pop(),right32=accumulator.pop(),value=reducer.sequentialCase(context7,left32,right32);accumulator.push(value);break}case OP_PARALLEL_CASE2:{let left32=accumulator.pop(),right32=accumulator.pop(),value=reducer.parallelCase(context7,left32,right32);accumulator.push(value);break}}break}case"Right":{accumulator.push(either22.right);break}}}if(accumulator.length===0)throw Error("BUG: Cause.reduceWithContext - please report an issue at https://github.com/Effect-TS/effect/issues");return accumulator.pop()}),pretty3=(cause3,options)=>{if(isInterruptedOnly3(cause3))return"All fibers interrupted without errors.";return prettyErrors2(cause3).map(function(e){if(options?.renderErrorCause!==!0||e.cause===void 0)return e.stack;return`${e.stack} {
|