effect-redis 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +180 -180
- package/dist/index.js +7 -7
- package/package.json +2 -2
- package/src/redis.ts +21 -27
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{createRequire}from"node:module";var __create=Object.create;var{getPrototypeOf:__getProtoOf,defineProperty:__defProp,getOwnPropertyNames:__getOwnPropNames}=Object;var __hasOwnProp=Object.prototype.hasOwnProperty;var __toESM=(mod,isNodeMode,target)=>{target=mod!=null?__create(__getProtoOf(mod)):{};let to=isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target;for(let key of __getOwnPropNames(mod))if(!__hasOwnProp.call(to,key))__defProp(to,key,{get:()=>mod[key],enumerable:!0});return to};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_verbatim_string=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.VerbatimString=void 0;class VerbatimString extends String{format;constructor(format6,value6){super(value6);this.format=format6}}exports.VerbatimString=VerbatimString});var require_errors=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.MultiErrorReply=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(timeout4){super(`Socket timeout timeout. Expecting data, but didn't receive any in ${timeout4}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{constructor(message){super(message);this.stack=void 0}}exports.ErrorReply=ErrorReply;class SimpleError extends ErrorReply{isUnknownSubcommand(){return this.message.toLowerCase().indexOf("err unknown subcommand")!==-1}}exports.SimpleError=SimpleError;class BlobError extends ErrorReply{}exports.BlobError=BlobError;class TimeoutError extends Error{}exports.TimeoutError=TimeoutError;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});var 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(chunk4){if(this.#cursor>=chunk4.length){this.#cursor-=chunk4.length;return}if(this.#next){if(this.#next(chunk4)||this.#cursor>=chunk4.length){this.#cursor-=chunk4.length;return}}do{let type2=chunk4[this.#cursor];if(++this.#cursor===chunk4.length){this.#next=this.#continueDecodeTypeValue.bind(this,type2);break}if(this.#decodeTypeValue(type2,chunk4))break}while(this.#cursor<chunk4.length);this.#cursor-=chunk4.length}#continueDecodeTypeValue(type2,chunk4){return this.#next=void 0,this.#decodeTypeValue(type2,chunk4)}#decodeTypeValue(type2,chunk4){switch(type2){case exports.RESP_TYPES.NULL:return this.onReply(this.#decodeNull()),!1;case exports.RESP_TYPES.BOOLEAN:return this.#handleDecodedValue(this.onReply,this.#decodeBoolean(chunk4));case exports.RESP_TYPES.NUMBER:return this.#handleDecodedValue(this.onReply,this.#decodeNumber(this.getTypeMapping()[exports.RESP_TYPES.NUMBER],chunk4));case exports.RESP_TYPES.BIG_NUMBER:return this.#handleDecodedValue(this.onReply,this.#decodeBigNumber(this.getTypeMapping()[exports.RESP_TYPES.BIG_NUMBER],chunk4));case exports.RESP_TYPES.DOUBLE:return this.#handleDecodedValue(this.onReply,this.#decodeDouble(this.getTypeMapping()[exports.RESP_TYPES.DOUBLE],chunk4));case exports.RESP_TYPES.SIMPLE_STRING:return this.#handleDecodedValue(this.onReply,this.#decodeSimpleString(this.getTypeMapping()[exports.RESP_TYPES.SIMPLE_STRING],chunk4));case exports.RESP_TYPES.BLOB_STRING:return this.#handleDecodedValue(this.onReply,this.#decodeBlobString(this.getTypeMapping()[exports.RESP_TYPES.BLOB_STRING],chunk4));case exports.RESP_TYPES.VERBATIM_STRING:return this.#handleDecodedValue(this.onReply,this.#decodeVerbatimString(this.getTypeMapping()[exports.RESP_TYPES.VERBATIM_STRING],chunk4));case exports.RESP_TYPES.SIMPLE_ERROR:return this.#handleDecodedValue(this.onErrorReply,this.#decodeSimpleError(chunk4));case exports.RESP_TYPES.BLOB_ERROR:return this.#handleDecodedValue(this.onErrorReply,this.#decodeBlobError(chunk4));case exports.RESP_TYPES.ARRAY:return this.#handleDecodedValue(this.onReply,this.#decodeArray(this.getTypeMapping(),chunk4));case exports.RESP_TYPES.SET:return this.#handleDecodedValue(this.onReply,this.#decodeSet(this.getTypeMapping(),chunk4));case exports.RESP_TYPES.MAP:return this.#handleDecodedValue(this.onReply,this.#decodeMap(this.getTypeMapping(),chunk4));case exports.RESP_TYPES.PUSH:return this.#handleDecodedValue(this.onPush,this.#decodeArray(exports.PUSH_TYPE_MAPPING,chunk4));default:throw new Error(`Unknown RESP type ${type2} "${String.fromCharCode(type2)}"`)}}#handleDecodedValue(cb,value6){if(typeof value6==="function")return this.#next=this.#continueDecodeValue.bind(this,cb,value6),!0;return cb(value6),!1}#continueDecodeValue(cb,next5,chunk4){return this.#next=void 0,this.#handleDecodedValue(cb,next5(chunk4))}#decodeNull(){return this.#cursor+=2,null}#decodeBoolean(chunk4){let boolean4=chunk4[this.#cursor]===ASCII.t;return this.#cursor+=3,boolean4}#decodeNumber(type2,chunk4){if(type2===String)return this.#decodeSimpleString(String,chunk4);switch(chunk4[this.#cursor]){case ASCII["+"]:return this.#maybeDecodeNumberValue(!1,chunk4);case ASCII["-"]:return this.#maybeDecodeNumberValue(!0,chunk4);default:return this.#decodeNumberValue(!1,this.#decodeUnsingedNumber.bind(this,0),chunk4)}}#maybeDecodeNumberValue(isNegative2,chunk4){let cb=this.#decodeUnsingedNumber.bind(this,0);return++this.#cursor===chunk4.length?this.#decodeNumberValue.bind(this,isNegative2,cb):this.#decodeNumberValue(isNegative2,cb,chunk4)}#decodeNumberValue(isNegative2,numberCb,chunk4){let number5=numberCb(chunk4);return typeof number5==="function"?this.#decodeNumberValue.bind(this,isNegative2,number5):isNegative2?-number5:number5}#decodeUnsingedNumber(number5,chunk4){let cursor=this.#cursor;do{let byte=chunk4[cursor];if(byte===ASCII["\r"])return this.#cursor=cursor+2,number5;number5=number5*10+byte-ASCII["0"]}while(++cursor<chunk4.length);return this.#cursor=cursor,this.#decodeUnsingedNumber.bind(this,number5)}#decodeBigNumber(type2,chunk4){if(type2===String)return this.#decodeSimpleString(String,chunk4);switch(chunk4[this.#cursor]){case ASCII["+"]:return this.#maybeDecodeBigNumberValue(!1,chunk4);case ASCII["-"]:return this.#maybeDecodeBigNumberValue(!0,chunk4);default:return this.#decodeBigNumberValue(!1,this.#decodeUnsingedBigNumber.bind(this,0n),chunk4)}}#maybeDecodeBigNumberValue(isNegative2,chunk4){let cb=this.#decodeUnsingedBigNumber.bind(this,0n);return++this.#cursor===chunk4.length?this.#decodeBigNumberValue.bind(this,isNegative2,cb):this.#decodeBigNumberValue(isNegative2,cb,chunk4)}#decodeBigNumberValue(isNegative2,bigNumberCb,chunk4){let bigNumber=bigNumberCb(chunk4);return typeof bigNumber==="function"?this.#decodeBigNumberValue.bind(this,isNegative2,bigNumber):isNegative2?-bigNumber:bigNumber}#decodeUnsingedBigNumber(bigNumber,chunk4){let cursor=this.#cursor;do{let byte=chunk4[cursor];if(byte===ASCII["\r"])return this.#cursor=cursor+2,bigNumber;bigNumber=bigNumber*10n+BigInt(byte-ASCII["0"])}while(++cursor<chunk4.length);return this.#cursor=cursor,this.#decodeUnsingedBigNumber.bind(this,bigNumber)}#decodeDouble(type2,chunk4){if(type2===String)return this.#decodeSimpleString(String,chunk4);switch(chunk4[this.#cursor]){case ASCII.n:return this.#cursor+=5,NaN;case ASCII["+"]:return this.#maybeDecodeDoubleInteger(!1,chunk4);case ASCII["-"]:return this.#maybeDecodeDoubleInteger(!0,chunk4);default:return this.#decodeDoubleInteger(!1,0,chunk4)}}#maybeDecodeDoubleInteger(isNegative2,chunk4){return++this.#cursor===chunk4.length?this.#decodeDoubleInteger.bind(this,isNegative2,0):this.#decodeDoubleInteger(isNegative2,0,chunk4)}#decodeDoubleInteger(isNegative2,integer2,chunk4){if(chunk4[this.#cursor]===ASCII.i)return this.#cursor+=5,isNegative2?-1/0:1/0;return this.#continueDecodeDoubleInteger(isNegative2,integer2,chunk4)}#continueDecodeDoubleInteger(isNegative2,integer2,chunk4){let cursor=this.#cursor;do{let byte=chunk4[cursor];switch(byte){case ASCII["."]:return this.#cursor=cursor+1,this.#cursor<chunk4.length?this.#decodeDoubleDecimal(isNegative2,0,integer2,chunk4):this.#decodeDoubleDecimal.bind(this,isNegative2,0,integer2);case ASCII.E:case ASCII.e:this.#cursor=cursor+1;let i=isNegative2?-integer2:integer2;return this.#cursor<chunk4.length?this.#decodeDoubleExponent(i,chunk4):this.#decodeDoubleExponent.bind(this,i);case ASCII["\r"]:return this.#cursor=cursor+2,isNegative2?-integer2:integer2;default:integer2=integer2*10+byte-ASCII["0"]}}while(++cursor<chunk4.length);return this.#cursor=cursor,this.#continueDecodeDoubleInteger.bind(this,isNegative2,integer2)}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(isNegative2,decimalIndex,double,chunk4){let cursor=this.#cursor;do{let byte=chunk4[cursor];switch(byte){case ASCII.E:case ASCII.e:this.#cursor=cursor+1;let d=isNegative2?-double:double;return this.#cursor===chunk4.length?this.#decodeDoubleExponent.bind(this,d):this.#decodeDoubleExponent(d,chunk4);case ASCII["\r"]:return this.#cursor=cursor+2,isNegative2?-double:double}if(decimalIndex<_a.#DOUBLE_DECIMAL_MULTIPLIERS.length)double+=(byte-ASCII["0"])*_a.#DOUBLE_DECIMAL_MULTIPLIERS[decimalIndex++]}while(++cursor<chunk4.length);return this.#cursor=cursor,this.#decodeDoubleDecimal.bind(this,isNegative2,decimalIndex,double)}#decodeDoubleExponent(double,chunk4){switch(chunk4[this.#cursor]){case ASCII["+"]:return++this.#cursor===chunk4.length?this.#continueDecodeDoubleExponent.bind(this,!1,double,0):this.#continueDecodeDoubleExponent(!1,double,0,chunk4);case ASCII["-"]:return++this.#cursor===chunk4.length?this.#continueDecodeDoubleExponent.bind(this,!0,double,0):this.#continueDecodeDoubleExponent(!0,double,0,chunk4)}return this.#continueDecodeDoubleExponent(!1,double,0,chunk4)}#continueDecodeDoubleExponent(isNegative2,double,exponent,chunk4){let cursor=this.#cursor;do{let byte=chunk4[cursor];if(byte===ASCII["\r"])return this.#cursor=cursor+2,double*10**(isNegative2?-exponent:exponent);exponent=exponent*10+byte-ASCII["0"]}while(++cursor<chunk4.length);return this.#cursor=cursor,this.#continueDecodeDoubleExponent.bind(this,isNegative2,double,exponent)}#findCRLF(chunk4,cursor){while(chunk4[cursor]!==ASCII["\r"])if(++cursor===chunk4.length)return this.#cursor=chunk4.length,-1;return this.#cursor=cursor+2,cursor}#decodeSimpleString(type2,chunk4){let start5=this.#cursor,crlfIndex=this.#findCRLF(chunk4,start5);if(crlfIndex===-1)return this.#continueDecodeSimpleString.bind(this,[chunk4.subarray(start5)],type2);let slice=chunk4.subarray(start5,crlfIndex);return type2===Buffer?slice:slice.toString()}#continueDecodeSimpleString(chunks2,type2,chunk4){let start5=this.#cursor,crlfIndex=this.#findCRLF(chunk4,start5);if(crlfIndex===-1)return chunks2.push(chunk4.subarray(start5)),this.#continueDecodeSimpleString.bind(this,chunks2,type2);return chunks2.push(chunk4.subarray(start5,crlfIndex)),type2===Buffer?Buffer.concat(chunks2):chunks2.join("")}#decodeBlobString(type2,chunk4){if(chunk4[this.#cursor]===ASCII["-"])return this.#cursor+=4,null;let length3=this.#decodeUnsingedNumber(0,chunk4);if(typeof length3==="function")return this.#continueDecodeBlobStringLength.bind(this,length3,type2);else if(this.#cursor>=chunk4.length)return this.#decodeBlobStringWithLength.bind(this,length3,type2);return this.#decodeBlobStringWithLength(length3,type2,chunk4)}#continueDecodeBlobStringLength(lengthCb,type2,chunk4){let length3=lengthCb(chunk4);if(typeof length3==="function")return this.#continueDecodeBlobStringLength.bind(this,length3,type2);else if(this.#cursor>=chunk4.length)return this.#decodeBlobStringWithLength.bind(this,length3,type2);return this.#decodeBlobStringWithLength(length3,type2,chunk4)}#decodeStringWithLength(length3,skip,type2,chunk4){let end6=this.#cursor+length3;if(end6>=chunk4.length){let slice2=chunk4.subarray(this.#cursor);return this.#cursor=chunk4.length,this.#continueDecodeStringWithLength.bind(this,length3-slice2.length,[slice2],skip,type2)}let slice=chunk4.subarray(this.#cursor,end6);return this.#cursor=end6+skip,type2===Buffer?slice:slice.toString()}#continueDecodeStringWithLength(length3,chunks2,skip,type2,chunk4){let end6=this.#cursor+length3;if(end6>=chunk4.length){let slice=chunk4.subarray(this.#cursor);return chunks2.push(slice),this.#cursor=chunk4.length,this.#continueDecodeStringWithLength.bind(this,length3-slice.length,chunks2,skip,type2)}return chunks2.push(chunk4.subarray(this.#cursor,end6)),this.#cursor=end6+skip,type2===Buffer?Buffer.concat(chunks2):chunks2.join("")}#decodeBlobStringWithLength(length3,type2,chunk4){return this.#decodeStringWithLength(length3,2,type2,chunk4)}#decodeVerbatimString(type2,chunk4){return this.#continueDecodeVerbatimStringLength(this.#decodeUnsingedNumber.bind(this,0),type2,chunk4)}#continueDecodeVerbatimStringLength(lengthCb,type2,chunk4){let length3=lengthCb(chunk4);return typeof length3==="function"?this.#continueDecodeVerbatimStringLength.bind(this,length3,type2):this.#decodeVerbatimStringWithLength(length3,type2,chunk4)}#decodeVerbatimStringWithLength(length3,type2,chunk4){let stringLength=length3-4;if(type2===verbatim_string_1.VerbatimString)return this.#decodeVerbatimStringFormat(stringLength,chunk4);return this.#cursor+=4,this.#cursor>=chunk4.length?this.#decodeBlobStringWithLength.bind(this,stringLength,type2):this.#decodeBlobStringWithLength(stringLength,type2,chunk4)}#decodeVerbatimStringFormat(stringLength,chunk4){let formatCb=this.#decodeStringWithLength.bind(this,3,1,String);return this.#cursor>=chunk4.length?this.#continueDecodeVerbatimStringFormat.bind(this,stringLength,formatCb):this.#continueDecodeVerbatimStringFormat(stringLength,formatCb,chunk4)}#continueDecodeVerbatimStringFormat(stringLength,formatCb,chunk4){let format6=formatCb(chunk4);return typeof format6==="function"?this.#continueDecodeVerbatimStringFormat.bind(this,stringLength,format6):this.#decodeVerbatimStringWithFormat(stringLength,format6,chunk4)}#decodeVerbatimStringWithFormat(stringLength,format6,chunk4){return this.#continueDecodeVerbatimStringWithFormat(format6,this.#decodeBlobStringWithLength.bind(this,stringLength,String),chunk4)}#continueDecodeVerbatimStringWithFormat(format6,stringCb,chunk4){let string6=stringCb(chunk4);return typeof string6==="function"?this.#continueDecodeVerbatimStringWithFormat.bind(this,format6,string6):new verbatim_string_1.VerbatimString(format6,string6)}#decodeSimpleError(chunk4){let string6=this.#decodeSimpleString(String,chunk4);return typeof string6==="function"?this.#continueDecodeSimpleError.bind(this,string6):new errors_1.SimpleError(string6)}#continueDecodeSimpleError(stringCb,chunk4){let string6=stringCb(chunk4);return typeof string6==="function"?this.#continueDecodeSimpleError.bind(this,string6):new errors_1.SimpleError(string6)}#decodeBlobError(chunk4){let string6=this.#decodeBlobString(String,chunk4);return typeof string6==="function"?this.#continueDecodeBlobError.bind(this,string6):new errors_1.BlobError(string6)}#continueDecodeBlobError(stringCb,chunk4){let string6=stringCb(chunk4);return typeof string6==="function"?this.#continueDecodeBlobError.bind(this,string6):new errors_1.BlobError(string6)}#decodeNestedType(typeMapping,chunk4){let type2=chunk4[this.#cursor];return++this.#cursor===chunk4.length?this.#decodeNestedTypeValue.bind(this,type2,typeMapping):this.#decodeNestedTypeValue(type2,typeMapping,chunk4)}#decodeNestedTypeValue(type2,typeMapping,chunk4){switch(type2){case exports.RESP_TYPES.NULL:return this.#decodeNull();case exports.RESP_TYPES.BOOLEAN:return this.#decodeBoolean(chunk4);case exports.RESP_TYPES.NUMBER:return this.#decodeNumber(typeMapping[exports.RESP_TYPES.NUMBER],chunk4);case exports.RESP_TYPES.BIG_NUMBER:return this.#decodeBigNumber(typeMapping[exports.RESP_TYPES.BIG_NUMBER],chunk4);case exports.RESP_TYPES.DOUBLE:return this.#decodeDouble(typeMapping[exports.RESP_TYPES.DOUBLE],chunk4);case exports.RESP_TYPES.SIMPLE_STRING:return this.#decodeSimpleString(typeMapping[exports.RESP_TYPES.SIMPLE_STRING],chunk4);case exports.RESP_TYPES.BLOB_STRING:return this.#decodeBlobString(typeMapping[exports.RESP_TYPES.BLOB_STRING],chunk4);case exports.RESP_TYPES.VERBATIM_STRING:return this.#decodeVerbatimString(typeMapping[exports.RESP_TYPES.VERBATIM_STRING],chunk4);case exports.RESP_TYPES.SIMPLE_ERROR:return this.#decodeSimpleError(chunk4);case exports.RESP_TYPES.BLOB_ERROR:return this.#decodeBlobError(chunk4);case exports.RESP_TYPES.ARRAY:return this.#decodeArray(typeMapping,chunk4);case exports.RESP_TYPES.SET:return this.#decodeSet(typeMapping,chunk4);case exports.RESP_TYPES.MAP:return this.#decodeMap(typeMapping,chunk4);default:throw new Error(`Unknown RESP type ${type2} "${String.fromCharCode(type2)}"`)}}#decodeArray(typeMapping,chunk4){if(chunk4[this.#cursor]===ASCII["-"])return this.#cursor+=4,null;return this.#decodeArrayWithLength(this.#decodeUnsingedNumber(0,chunk4),typeMapping,chunk4)}#decodeArrayWithLength(length3,typeMapping,chunk4){return typeof length3==="function"?this.#continueDecodeArrayLength.bind(this,length3,typeMapping):this.#decodeArrayItems(new Array(length3),0,typeMapping,chunk4)}#continueDecodeArrayLength(lengthCb,typeMapping,chunk4){return this.#decodeArrayWithLength(lengthCb(chunk4),typeMapping,chunk4)}#decodeArrayItems(array7,filled,typeMapping,chunk4){for(let i=filled;i<array7.length;i++){if(this.#cursor>=chunk4.length)return this.#decodeArrayItems.bind(this,array7,i,typeMapping);let item=this.#decodeNestedType(typeMapping,chunk4);if(typeof item==="function")return this.#continueDecodeArrayItems.bind(this,array7,i,item,typeMapping);array7[i]=item}return array7}#continueDecodeArrayItems(array7,filled,itemCb,typeMapping,chunk4){let item=itemCb(chunk4);if(typeof item==="function")return this.#continueDecodeArrayItems.bind(this,array7,filled,item,typeMapping);return array7[filled++]=item,this.#decodeArrayItems(array7,filled,typeMapping,chunk4)}#decodeSet(typeMapping,chunk4){let length3=this.#decodeUnsingedNumber(0,chunk4);if(typeof length3==="function")return this.#continueDecodeSetLength.bind(this,length3,typeMapping);return this.#decodeSetItems(length3,typeMapping,chunk4)}#continueDecodeSetLength(lengthCb,typeMapping,chunk4){let length3=lengthCb(chunk4);return typeof length3==="function"?this.#continueDecodeSetLength.bind(this,length3,typeMapping):this.#decodeSetItems(length3,typeMapping,chunk4)}#decodeSetItems(length3,typeMapping,chunk4){return typeMapping[exports.RESP_TYPES.SET]===Set?this.#decodeSetAsSet(new Set,length3,typeMapping,chunk4):this.#decodeArrayItems(new Array(length3),0,typeMapping,chunk4)}#decodeSetAsSet(set15,remaining,typeMapping,chunk4){while(remaining>0){if(this.#cursor>=chunk4.length)return this.#decodeSetAsSet.bind(this,set15,remaining,typeMapping);let item=this.#decodeNestedType(typeMapping,chunk4);if(typeof item==="function")return this.#continueDecodeSetAsSet.bind(this,set15,remaining,item,typeMapping);set15.add(item),--remaining}return set15}#continueDecodeSetAsSet(set15,remaining,itemCb,typeMapping,chunk4){let item=itemCb(chunk4);if(typeof item==="function")return this.#continueDecodeSetAsSet.bind(this,set15,remaining,item,typeMapping);return set15.add(item),this.#decodeSetAsSet(set15,remaining-1,typeMapping,chunk4)}#decodeMap(typeMapping,chunk4){let length3=this.#decodeUnsingedNumber(0,chunk4);if(typeof length3==="function")return this.#continueDecodeMapLength.bind(this,length3,typeMapping);return this.#decodeMapItems(length3,typeMapping,chunk4)}#continueDecodeMapLength(lengthCb,typeMapping,chunk4){let length3=lengthCb(chunk4);return typeof length3==="function"?this.#continueDecodeMapLength.bind(this,length3,typeMapping):this.#decodeMapItems(length3,typeMapping,chunk4)}#decodeMapItems(length3,typeMapping,chunk4){switch(typeMapping[exports.RESP_TYPES.MAP]){case Map:return this.#decodeMapAsMap(new Map,length3,typeMapping,chunk4);case Array:return this.#decodeArrayItems(new Array(length3*2),0,typeMapping,chunk4);default:return this.#decodeMapAsObject(Object.create(null),length3,typeMapping,chunk4)}}#decodeMapAsMap(map31,remaining,typeMapping,chunk4){while(remaining>0){if(this.#cursor>=chunk4.length)return this.#decodeMapAsMap.bind(this,map31,remaining,typeMapping);let key=this.#decodeMapKey(typeMapping,chunk4);if(typeof key==="function")return this.#continueDecodeMapKey.bind(this,map31,remaining,key,typeMapping);if(this.#cursor>=chunk4.length)return this.#continueDecodeMapValue.bind(this,map31,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value6=this.#decodeNestedType(typeMapping,chunk4);if(typeof value6==="function")return this.#continueDecodeMapValue.bind(this,map31,remaining,key,value6,typeMapping);map31.set(key,value6),--remaining}return map31}#decodeMapKey(typeMapping,chunk4){let type2=chunk4[this.#cursor];return++this.#cursor===chunk4.length?this.#decodeMapKeyValue.bind(this,type2,typeMapping):this.#decodeMapKeyValue(type2,typeMapping,chunk4)}#decodeMapKeyValue(type2,typeMapping,chunk4){switch(type2){case exports.RESP_TYPES.SIMPLE_STRING:return this.#decodeSimpleString(String,chunk4);case exports.RESP_TYPES.BLOB_STRING:return this.#decodeBlobString(String,chunk4);default:return this.#decodeNestedTypeValue(type2,typeMapping,chunk4)}}#continueDecodeMapKey(map31,remaining,keyCb,typeMapping,chunk4){let key=keyCb(chunk4);if(typeof key==="function")return this.#continueDecodeMapKey.bind(this,map31,remaining,key,typeMapping);if(this.#cursor>=chunk4.length)return this.#continueDecodeMapValue.bind(this,map31,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value6=this.#decodeNestedType(typeMapping,chunk4);if(typeof value6==="function")return this.#continueDecodeMapValue.bind(this,map31,remaining,key,value6,typeMapping);return map31.set(key,value6),this.#decodeMapAsMap(map31,remaining-1,typeMapping,chunk4)}#continueDecodeMapValue(map31,remaining,key,valueCb,typeMapping,chunk4){let value6=valueCb(chunk4);if(typeof value6==="function")return this.#continueDecodeMapValue.bind(this,map31,remaining,key,value6,typeMapping);return map31.set(key,value6),this.#decodeMapAsMap(map31,remaining-1,typeMapping,chunk4)}#decodeMapAsObject(object,remaining,typeMapping,chunk4){while(remaining>0){if(this.#cursor>=chunk4.length)return this.#decodeMapAsObject.bind(this,object,remaining,typeMapping);let key=this.#decodeMapKey(typeMapping,chunk4);if(typeof key==="function")return this.#continueDecodeMapAsObjectKey.bind(this,object,remaining,key,typeMapping);if(this.#cursor>=chunk4.length)return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value6=this.#decodeNestedType(typeMapping,chunk4);if(typeof value6==="function")return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,value6,typeMapping);object[key]=value6,--remaining}return object}#continueDecodeMapAsObjectKey(object,remaining,keyCb,typeMapping,chunk4){let key=keyCb(chunk4);if(typeof key==="function")return this.#continueDecodeMapAsObjectKey.bind(this,object,remaining,key,typeMapping);if(this.#cursor>=chunk4.length)return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value6=this.#decodeNestedType(typeMapping,chunk4);if(typeof value6==="function")return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,value6,typeMapping);return object[key]=value6,this.#decodeMapAsObject(object,remaining-1,typeMapping,chunk4)}#continueDecodeMapAsObjectValue(object,remaining,key,valueCb,typeMapping,chunk4){let value6=valueCb(chunk4);if(typeof value6==="function")return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,value6,typeMapping);return object[key]=value6,this.#decodeMapAsObject(object,remaining-1,typeMapping,chunk4)}}exports.Decoder=Decoder;_a=Decoder});var require_lua_script=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.scriptSha1=exports.defineScript=void 0;var node_crypto_1=__require("node:crypto");function defineScript(script){return{...script,SHA1:scriptSha1(script.SCRIPT)}}exports.defineScript=defineScript;function scriptSha1(script){return node_crypto_1.createHash("sha1").update(script).digest("hex")}exports.scriptSha1=scriptSha1});var 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}});var 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}});var 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}});var 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}});var 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}}});var 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}});var 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}});var 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=new 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(keys9){if(Array.isArray(keys9))this.#redisArgs.push(keys9.length.toString());else this.#redisArgs.push("1");this.pushKeys(keys9)}pushKeys(keys9){if(Array.isArray(keys9))this.#keys.push(...keys9),this.#redisArgs.push(...keys9);else this.#keys.push(keys9),this.#redisArgs.push(keys9)}}exports.BasicCommandParser=BasicCommandParser});var require_generic_transformers=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});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 mapType2=typeMapping?typeMapping[decoder_1.RESP_TYPES.MAP]:void 0,inferred=reply;switch(mapType2){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[value6,score]=member;return{value:value6,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,value6){if(Array.isArray(value6))args2=args2.concat(value6);else args2.push(value6);return args2}exports.pushVariadicArguments=pushVariadicArguments;function pushVariadicNumberArguments(args2,value6){if(Array.isArray(value6))for(let item of value6)args2.push(item.toString());else args2.push(value6.toString());return args2}exports.pushVariadicNumberArguments=pushVariadicNumberArguments;function pushVariadicArgument(args2,value6){if(Array.isArray(value6))args2.push(value6.length.toString(),...value6);else args2.push("1",value6);return args2}exports.pushVariadicArgument=pushVariadicArgument;function parseOptionalVariadicArgument(parser,name,value6){if(value6===void 0)return;parser.push(name),parser.pushVariadicWithLength(value6)}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,range3){parser.push(range3.start.toString(),range3.end.toString())}function parseSlotRangesArguments(parser,ranges){if(Array.isArray(ranges))for(let range3 of ranges)parseSlotRangeArguments(parser,range3);else parseSlotRangeArguments(parser,ranges)}exports.parseSlotRangesArguments=parseSlotRangesArguments;function transformRangeReply([start5,end6]){return{start:start5,end:end6}}exports.transformRangeReply=transformRangeReply;function parseZKeysArguments(parser,keys9){if(Array.isArray(keys9)){if(parser.push(keys9.length.toString()),keys9.length)if(isPlainKeys(keys9))parser.pushKeys(keys9);else{for(let i=0;i<keys9.length;i++)parser.pushKey(keys9[i].key);parser.push("WEIGHTS");for(let i=0;i<keys9.length;i++)parser.push(transformDoubleArgument(keys9[i].weight))}}else if(parser.push("1"),isPlainKey(keys9))parser.pushKey(keys9);else parser.pushKey(keys9.key),parser.push("WEIGHTS",transformDoubleArgument(keys9.weight))}exports.parseZKeysArguments=parseZKeysArguments;function isPlainKey(key){return typeof key==="string"||key instanceof Buffer}function isPlainKeys(keys9){return isPlainKey(keys9[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]=reply;return{id:id2,message:transformTuplesReply(message,void 0,typeMapping)}}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});var 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,count5){if(parser.push("ACL","LOG"),count5!=null)parser.push(count5.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}}});var 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}});var 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}});var 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}});var 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}});var 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}});var require_APPEND=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,value6){parser.push("APPEND",key,value6)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var require_BITCOUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,range3){if(parser.push("BITCOUNT"),parser.pushKey(key),range3){if(parser.push(range3.start.toString()),parser.push(range3.end.toString()),range3.mode)parser.push(range3.mode)}},transformReply:void 0}});var 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}});var 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}});var 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}});var require_BITPOS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,bit,start5,end6,mode){if(parser.push("BITPOS"),parser.pushKey(key),parser.push(bit.toString()),start5!==void 0)parser.push(start5.toString());if(end6!==void 0)parser.push(end6.toString());if(mode)parser.push(mode)},transformReply:void 0}});var require_BLMOVE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,sourceSide,destinationSide,timeout4){parser.push("BLMOVE"),parser.pushKeys([source,destination]),parser.push(sourceSide,destinationSide,timeout4.toString())},transformReply:void 0}});var require_LMPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.parseLMPopArguments=void 0;function parseLMPopArguments(parser,keys9,side,options){if(parser.pushKeysLength(keys9),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}});var 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,timeout4,...args2){parser.push("BLMPOP",timeout4.toString()),LMPOP_1.parseLMPopArguments(parser,...args2)},transformReply:LMPOP_1.default.transformReply}});var require_BLPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,timeout4){parser.push("BLPOP"),parser.pushKeys(key),parser.push(timeout4.toString())},transformReply(reply){if(reply===null)return null;return{key:reply[0],element:reply[1]}}}});var 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,timeout4){parser.push("BRPOP"),parser.pushKeys(key),parser.push(timeout4.toString())},transformReply:BLPOP_1.default.transformReply}});var require_BRPOPLPUSH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,timeout4){parser.push("BRPOPLPUSH"),parser.pushKeys([source,destination]),parser.push(timeout4.toString())},transformReply:void 0}});var require_ZMPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.parseZMPopArguments=void 0;var generic_transformers_1=require_generic_transformers();function parseZMPopArguments(parser,keys9,side,options){if(parser.pushKeysLength(keys9),parser.push(side),options?.COUNT)parser.push("COUNT",options.COUNT.toString())}exports.parseZMPopArguments=parseZMPopArguments;exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys9,side,options){parser.push("ZMPOP"),parseZMPopArguments(parser,keys9,side,options)},transformReply:{2(reply,preserve,typeMapping){return reply===null?null:{key:reply[0],members:reply[1].map((member)=>{let[value6,score]=member;return{value:value6,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])}}}}});var 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,timeout4,...args2){parser.push("BZMPOP",timeout4.toString()),ZMPOP_1.parseZMPopArguments(parser,...args2)},transformReply:ZMPOP_1.default.transformReply}});var 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,keys9,timeout4){parser.push("BZPOPMAX"),parser.pushKeys(keys9),parser.push(timeout4.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]}}}}});var 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,keys9,timeout4){parser.push("BZPOPMIN"),parser.pushKeys(keys9),parser.push(timeout4.toString())},transformReply:BZPOPMAX_1.default.transformReply}});var require_CLIENT_CACHING=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,value6){parser.push("CLIENT","CACHING",value6?"YES":"NO")},transformReply:void 0}});var 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}});var 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}});var 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}});var 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 map31={};for(let item of rawReply.toString().matchAll(CLIENT_INFO_REGEX))map31[item[1]]=item[2];let reply={id:Number(map31.id),addr:map31.addr,fd:Number(map31.fd),name:map31.name,age:Number(map31.age),idle:Number(map31.idle),flags:map31.flags,db:Number(map31.db),sub:Number(map31.sub),psub:Number(map31.psub),multi:Number(map31.multi),qbuf:Number(map31.qbuf),qbufFree:Number(map31["qbuf-free"]),argvMem:Number(map31["argv-mem"]),obl:Number(map31.obl),oll:Number(map31.oll),omem:Number(map31.omem),totMem:Number(map31["tot-mem"]),events:map31.events,cmd:map31.cmd,user:map31.user,libName:map31["lib-name"],libVer:map31["lib-ver"]};if(map31.laddr!==void 0)reply.laddr=map31.laddr;if(map31.redir!==void 0)reply.redir=Number(map31.redir);if(map31.ssub!==void 0)reply.ssub=Number(map31.ssub);if(map31["multi-mem"]!==void 0)reply.multiMem=Number(map31["multi-mem"]);if(map31.resp!==void 0)reply.resp=Number(map31.resp);return reply}}});var 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 filter16 of filters)pushFilter(parser,filter16);else pushFilter(parser,filters)},transformReply:void 0};function pushFilter(parser,filter16){if(filter16===exports.CLIENT_KILL_FILTERS.SKIP_ME){parser.push("SKIPME");return}switch(parser.push(filter16.filter),filter16.filter){case exports.CLIENT_KILL_FILTERS.ADDRESS:parser.push(filter16.address);break;case exports.CLIENT_KILL_FILTERS.LOCAL_ADDRESS:parser.push(filter16.localAddress);break;case exports.CLIENT_KILL_FILTERS.ID:parser.push(typeof filter16.id==="number"?filter16.id.toString():filter16.id);break;case exports.CLIENT_KILL_FILTERS.TYPE:parser.push(filter16.type);break;case exports.CLIENT_KILL_FILTERS.USER:parser.push(filter16.username);break;case exports.CLIENT_KILL_FILTERS.SKIP_ME:parser.push(filter16.skipMe?"yes":"no");break;case exports.CLIENT_KILL_FILTERS.MAXAGE:parser.push(filter16.maxAge.toString());break}}});var 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,filter16){if(parser.push("CLIENT","LIST"),filter16)if(filter16.TYPE!==void 0)parser.push("TYPE",filter16.TYPE);else parser.push("ID"),parser.pushVariadic(filter16.ID)},transformReply(rawReply){let split2=rawReply.toString().split(`
|
|
2
|
-
`),length3=split2.length-1,reply=[];for(let i=0;i<length3;i++)reply.push(CLIENT_INFO_1.default.transformReply(split2[i]));return reply}}});var require_CLIENT_NO_EVICT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,value6){parser.push("CLIENT","NO-EVICT",value6?"ON":"OFF")},transformReply:void 0}});var require_CLIENT_NO_TOUCH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,value6){parser.push("CLIENT","NO-TOUCH",value6?"ON":"OFF")},transformReply:void 0}});var require_CLIENT_PAUSE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,timeout4,mode){if(parser.push("CLIENT","PAUSE",timeout4.toString()),mode)parser.push(mode)},transformReply:void 0}});var 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}});var 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}});var 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}}});var 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}});var 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}});var 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"),generic_transformers_1.parseSlotRangesArguments(parser,ranges)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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"),generic_transformers_1.parseSlotRangesArguments(parser,ranges)},transformReply:void 0}});var 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}});var 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}});var 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}});var require_CLUSTER_GETKEYSINSLOT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,slot,count5){parser.push("CLUSTER","GETKEYSINSLOT",slot.toString(),count5.toString())},transformReply:void 0}});var 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}});var 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}});var 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}}});var require_CLUSTER_MEET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,host,port){parser.push("CLUSTER","MEET",host,port.toString())},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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,port,id2]=node;return{host,port,id:id2}}});var 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}});var 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}});var 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}})}}});var 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?generic_transformers_1.transformCommandReply(command):null)}}});var 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}});var 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)}}});var 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}}});var 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}});var 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}});var require_CONFIG_SET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,...[parameterOrConfig,value6]){if(parser.push("CONFIG","SET"),typeof parameterOrConfig==="string"||parameterOrConfig instanceof Buffer)parser.push(parameterOrConfig,value6);else for(let[key,value7]of Object.entries(parameterOrConfig))parser.push(key,value7)},transformReply:void 0}});var 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}});var 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}});var require_DECR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key){parser.push("DECR"),parser.pushKey(key)},transformReply:void 0}});var 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}});var require_DEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys9){parser.push("DEL"),parser.pushKeys(keys9)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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"),EVAL_1.parseEvalArguments(...args2)},transformReply:EVAL_1.default.transformReply}});var 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"),EVAL_1.parseEvalArguments(...args2)},transformReply:EVAL_1.default.transformReply}});var 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"),EVAL_1.parseEvalArguments(...args2)},transformReply:EVAL_1.default.transformReply}});var 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)}});var 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)}}});var 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}});var 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]}})}}});var 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}});var 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),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}});var 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})}}});var 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){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}});var 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"),GEORADIUS_WITH_1.parseGeoRadiusWithArguments(...args2)},transformReply:GEORADIUS_WITH_2.default.transformReply}});var 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"),GEORADIUS_1.parseGeoRadiusArguments(...args2)},transformReply:GEORADIUS_1.default.transformReply}});var 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"),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}});var 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),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}});var 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),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}});var 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"),GEORADIUSBYMEMBER_WITH_1.parseGeoRadiusByMemberWithArguments(...args2)},transformReply:GEORADIUSBYMEMBER_WITH_1.default.transformReply}});var 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"),GEORADIUSBYMEMBER_1.parseGeoRadiusByMemberArguments(...args2)},transformReply:GEORADIUSBYMEMBER_1.default.transformReply}});var 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"),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}});var 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(GEOSEARCH_1.parseGeoSearchArguments(parser,source,from,by,options),options?.STOREDIST)parser.push("STOREDIST")},transformReply:void 0}});var 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}});var 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}});var 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}});var 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,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",generic_transformers_1.transformEXAT(options.EXAT));else if("PXAT"in options)parser.push("PXAT",generic_transformers_1.transformPXAT(options.PXAT));else parser.push("PERSIST")},transformReply:void 0}});var require_GETRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,start5,end6){parser.push("GETRANGE"),parser.pushKey(key),parser.push(start5.toString(),end6.toString())},transformReply:void 0}});var require_GETSET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,value6){parser.push("GETSET"),parser.pushKey(key),parser.push(value6)},transformReply:void 0}});var require_EXISTS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("EXISTS"),parser.pushKeys(keys9)},transformReply:void 0}});var require_EXPIRE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,seconds2,mode){if(parser.push("EXPIRE"),parser.pushKey(key),parser.push(seconds2.toString()),mode)parser.push(mode)},transformReply:void 0}});var require_EXPIREAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,timestamp,mode){if(parser.push("EXPIREAT"),parser.pushKey(key),parser.push(generic_transformers_1.transformEXAT(timestamp)),mode)parser.push(mode)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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"),EVAL_1.parseEvalArguments(...args2)},transformReply:EVAL_1.default.transformReply}});var 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"),EVAL_1.parseEvalArguments(...args2)},transformReply:EVAL_1.default.transformReply}});var 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}});var 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}});var 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}});var 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}});var 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}}});var 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}}});var 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}});var 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}});var 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(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}});var 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}});var 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}}});var 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}});var 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}});var 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(generic_transformers_1.transformEXAT(timestamp)),mode)parser.push(mode);parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}});var 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}});var 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}});var 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}}});var 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}});var 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}});var require_HINCRBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,field,increment2){parser.push("HINCRBY"),parser.pushKey(key),parser.push(field,increment2.toString())},transformReply:void 0}});var require_HINCRBYFLOAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,field,increment2){parser.push("HINCRBYFLOAT"),parser.pushKey(key),parser.push(field,increment2.toString())},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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(generic_transformers_1.transformPXAT(timestamp)),mode)parser.push(mode);parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}});var 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}});var 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}});var require_HRANDFIELD_COUNT_WITHVALUES=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count5){parser.push("HRANDFIELD"),parser.pushKey(key),parser.push(count5.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,value6]=entry;return{field,value:value6}})}}}});var require_HRANDFIELD_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count5){parser.push("HRANDFIELD"),parser.pushKey(key),parser.push(count5.toString())},transformReply:void 0}});var 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}});var 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,keys9]){return{cursor,keys:keys9}}}});var 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),SCAN_1.parseScanArguments(parser,cursor,options)},transformReply([cursor,rawEntries]){let entries3=[],i=0;while(i<rawEntries.length)entries3.push({field:rawEntries[i++],value:rawEntries[i++]});return{cursor,entries:entries3}}}});var 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}}}});var require_HSET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,...[key,value6,fieldValue]){if(parser.push("HSET"),parser.pushKey(key),typeof value6==="string"||typeof value6==="number"||value6 instanceof Buffer)parser.push(convertValue(value6),convertValue(fieldValue));else if(value6 instanceof Map)pushMap(parser,value6);else if(Array.isArray(value6))pushTuples(parser,value6);else pushObject(parser,value6)},transformReply:void 0};function pushMap(parser,map31){for(let[key,value6]of map31.entries())parser.push(convertValue(key),convertValue(value6))}function pushTuples(parser,tuples){for(let tuple4 of tuples){if(Array.isArray(tuple4)){pushTuples(parser,tuple4);continue}parser.push(convertValue(tuple4))}}function pushObject(parser,object){for(let key of Object.keys(object))parser.push(convertValue(key),convertValue(object[key]))}function convertValue(value6){return typeof value6==="number"?value6.toString():value6}});var 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,map31){parser.push(map31.size.toString());for(let[key,value6]of map31.entries())parser.push(convertValue(key),convertValue(value6))}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 tuple4 of tuples){if(Array.isArray(tuple4)){_pushTuples(parser,tuple4);continue}parser.push(convertValue(tuple4))}}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(value6){return typeof value6==="number"?value6.toString():value6}});var require_HSETNX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,field,value6){parser.push("HSETNX"),parser.pushKey(key),parser.push(field,value6)},transformReply:void 0}});var 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}});var 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}});var 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}});var require_INCR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key){parser.push("INCR"),parser.pushKey(key)},transformReply:void 0}});var require_INCRBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,increment2){parser.push("INCRBY"),parser.pushKey(key),parser.push(increment2.toString())},transformReply:void 0}});var require_INCRBYFLOAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,increment2){parser.push("INCRBYFLOAT"),parser.pushKey(key),parser.push(increment2.toString())},transformReply:void 0}});var 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}});var require_KEYS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,pattern2){parser.push("KEYS",pattern2)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}}});var 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}}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var require_LPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key){parser.push("LPOP"),parser.pushKey(key)},transformReply:void 0}});var 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,count5){LPOP_1.default.parseCommand(parser,key),parser.push(count5.toString())},transformReply:void 0}});var 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}});var 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,count5,options){LPOS_1.default.parseCommand(parser,key,element,options),parser.push("COUNT",count5.toString())},transformReply:void 0}});var 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}});var 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}});var require_LRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,start5,stop2){parser.push("LRANGE"),parser.pushKey(key),parser.push(start5.toString(),stop2.toString())},transformReply:void 0}});var require_LREM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count5,element){parser.push("LREM"),parser.pushKey(key),parser.push(count5.toString()),parser.push(element)},transformReply:void 0}});var 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}});var require_LTRIM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,start5,stop2){parser.push("LTRIM"),parser.pushKey(key),parser.push(start5.toString(),stop2.toString())},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}}});var 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}});var require_MGET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("MGET"),parser.pushKeys(keys9)},transformReply:void 0}});var require_MIGRATE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,host,port,key,destinationDb,timeout4,options){parser.push("MIGRATE",host,port.toString());let isKeyArray=Array.isArray(key);if(isKeyArray)parser.push("");else parser.push(key);if(parser.push(destinationDb.toString(),timeout4.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}});var 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}}});var 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}});var 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}});var 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}});var require_MSET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.parseMSetArguments=void 0;function parseMSetArguments(parser,toSet4){if(Array.isArray(toSet4)){if(toSet4.length==0)throw new Error("empty toSet Argument");if(Array.isArray(toSet4[0]))for(let tuple4 of toSet4)parser.pushKey(tuple4[0]),parser.push(tuple4[1]);else{let arr=toSet4;for(let i=0;i<arr.length;i+=2)parser.pushKey(arr[i]),parser.push(arr[i+1])}}else for(let tuple4 of Object.entries(toSet4))parser.pushKey(tuple4[0]),parser.push(tuple4[1])}exports.parseMSetArguments=parseMSetArguments;exports.default={IS_READ_ONLY:!0,parseCommand(parser,toSet4){return parser.push("MSET"),parseMSetArguments(parser,toSet4)},transformReply:void 0}});var require_MSETNX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var MSET_1=require_MSET();exports.default={IS_READ_ONLY:!0,parseCommand(parser,toSet4){return parser.push("MSETNX"),MSET_1.parseMSetArguments(parser,toSet4)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var require_PERSIST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key){parser.push("PERSIST"),parser.pushKey(key)},transformReply:void 0}});var 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}});var 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(generic_transformers_1.transformPXAT(msTimestamp)),mode)parser.push(mode)},transformReply:void 0}});var 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}});var 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}});var require_PFCOUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("PFCOUNT"),parser.pushKeys(keys9)},transformReply:void 0}});var 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}});var 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}});var require_PSETEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,ms,value6){parser.push("PSETEX"),parser.pushKey(key),parser.push(ms.toString(),value6)},transformReply:void 0}});var 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}});var 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}});var require_PUBSUB_CHANNELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,pattern2){if(parser.push("PUBSUB","CHANNELS"),pattern2)parser.push(pattern2)},transformReply:void 0}});var 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}});var 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()]=rawReply[i++].toString();return reply}}});var 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}}});var require_PUBSUB_SHARDCHANNELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,pattern2){if(parser.push("PUBSUB","SHARDCHANNELS"),pattern2)parser.push(pattern2)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var require_REPLICAOF=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,host,port){parser.push("REPLICAOF",host,port.toString())},transformReply:void 0}});var 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}});var 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}});var 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,port,replicationOffest2]=replica;return{host,port:Number(port),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}}}}}});var require_RPOP_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,count5){parser.push("RPOP"),parser.pushKey(key),parser.push(count5.toString())},transformReply:void 0}});var require_RPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key){parser.push("RPOP"),parser.pushKey(key)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var require_SDIFF=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("SDIFF"),parser.pushKeys(keys9)},transformReply:void 0}});var require_SDIFFSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,destination,keys9){parser.push("SDIFFSTORE"),parser.pushKey(destination),parser.pushKeys(keys9)},transformReply:void 0}});var require_SET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,value6,options){if(parser.push("SET"),parser.pushKey(key),parser.push(typeof value6==="number"?value6.toString():value6),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)parser.push(options.condition);else if(options?.NX)parser.push("NX");else if(options?.XX)parser.push("XX");if(options?.GET)parser.push("GET")},transformReply:void 0}});var require_SETBIT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,offset,value6){parser.push("SETBIT"),parser.pushKey(key),parser.push(offset.toString(),value6.toString())},transformReply:void 0}});var require_SETEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,seconds2,value6){parser.push("SETEX"),parser.pushKey(key),parser.push(seconds2.toString(),value6)},transformReply:void 0}});var require_SETNX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,value6){parser.push("SETNX"),parser.pushKey(key),parser.push(value6)},transformReply:void 0}});var require_SETRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,offset,value6){parser.push("SETRANGE"),parser.pushKey(key),parser.push(offset.toString(),value6)},transformReply:void 0}});var require_SINTER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("SINTER"),parser.pushKeys(keys9)},transformReply:void 0}});var require_SINTERCARD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys9,options){if(parser.push("SINTERCARD"),parser.pushKeysLength(keys9),typeof options==="number")parser.push("LIMIT",options.toString());else if(options?.LIMIT!==void 0)parser.push("LIMIT",options.LIMIT.toString())},transformReply:void 0}});var require_SINTERSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys9){parser.push("SINTERSTORE"),parser.pushKey(destination),parser.pushKeys(keys9)},transformReply:void 0}});var 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}});var 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}}});var 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}});var 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}});var 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 pattern2 of options.GET)parser.push("GET",pattern2);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}});var 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"),SORT_1.parseSortArguments(...args2)},transformReply:SORT_1.default.transformReply}});var 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}});var require_SPOP_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,count5){parser.push("SPOP"),parser.pushKey(key),parser.push(count5.toString())},transformReply:void 0}});var 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}});var 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}});var 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}});var 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,count5){SRANDMEMBER_1.default.parseCommand(parser,key),parser.push(count5.toString())},transformReply:void 0}});var 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}});var 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),SCAN_1.parseScanArguments(parser,cursor,options)},transformReply([cursor,members]){return{cursor,members}}}});var 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}});var require_SUNION=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("SUNION"),parser.pushKeys(keys9)},transformReply:void 0}});var require_SUNIONSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys9){parser.push("SUNIONSTORE"),parser.pushKey(destination),parser.pushKeys(keys9)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}});var require_UNLINK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys9){parser.push("UNLINK"),parser.pushKeys(keys9)},transformReply:void 0}});var require_WAIT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,numberOfReplicas,timeout4){parser.push("WAIT",numberOfReplicas.toString(),timeout4.toString())},transformReply:void 0}});var require_XACK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group2,id2){parser.push("XACK"),parser.pushKey(key),parser.push(group2),parser.pushVariadic(id2)},transformReply:void 0}});var 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())}parser.push(id2);for(let[key2,value6]of Object.entries(message))parser.push(key2,value6)}exports.parseXAddArguments=parseXAddArguments;exports.default={IS_READ_ONLY:!1,parseCommand(...args2){return parseXAddArguments(void 0,...args2)},transformReply:void 0}});var 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 XADD_1.parseXAddArguments("NOMKSTREAM",...args2)},transformReply:void 0}});var 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,group2,consumer,minIdleTime,start5,options){if(parser.push("XAUTOCLAIM"),parser.pushKey(key),parser.push(group2,consumer,minIdleTime.toString(),start5),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]}}}});var 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]}}}});var 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,group2,consumer,minIdleTime,id2,options){if(parser.push("XCLAIM"),parser.pushKey(key),parser.push(group2,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))}}});var 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}});var 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}});var require_XGROUP_CREATE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group2,id2,options){if(parser.push("XGROUP","CREATE"),parser.pushKey(key),parser.push(group2,id2),options?.MKSTREAM)parser.push("MKSTREAM");if(options?.ENTRIESREAD)parser.push("ENTRIESREAD",options.ENTRIESREAD.toString())},transformReply:void 0}});var require_XGROUP_CREATECONSUMER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group2,consumer){parser.push("XGROUP","CREATECONSUMER"),parser.pushKey(key),parser.push(group2,consumer)},transformReply:void 0}});var require_XGROUP_DELCONSUMER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group2,consumer){parser.push("XGROUP","DELCONSUMER"),parser.pushKey(key),parser.push(group2,consumer)},transformReply:void 0}});var require_XGROUP_DESTROY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group2){parser.push("XGROUP","DESTROY"),parser.pushKey(key),parser.push(group2)},transformReply:void 0}});var require_XGROUP_SETID=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group2,id2,options){if(parser.push("XGROUP","SETID"),parser.pushKey(key),parser.push(group2,id2),options?.ENTRIESREAD)parser.push("ENTRIESREAD",options.ENTRIESREAD.toString())},transformReply:void 0}});var require_XINFO_CONSUMERS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,group2){parser.push("XINFO","CONSUMERS"),parser.pushKey(key),parser.push(group2)},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}}});var 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((group2)=>{let unwrapped=group2;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}}});var 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(generic_transformers_1.isNullReply(entry))return entry;let[id2,message]=entry;return{id:id2,message:generic_transformers_1.transformTuplesReply(message)}}});var 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}});var require_XPENDING_RANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,group2,start5,end6,count5,options){if(parser.push("XPENDING"),parser.pushKey(key),parser.push(group2),options?.IDLE!==void 0)parser.push("IDLE",options.IDLE.toString());if(parser.push(start5,end6,count5.toString()),options?.consumer)parser.push(options.consumer)},transformReply(reply){return reply.map((pending5)=>{let unwrapped=pending5;return{id:unwrapped[0],consumer:unwrapped[1],millisecondsSinceLastDelivery:unwrapped[2],deliveriesCounter:unwrapped[3]}})}}});var require_XPENDING=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,group2){parser.push("XPENDING"),parser.pushKey(key),parser.push(group2)},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)}})}}}});var require_XRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.xRangeArguments=void 0;var generic_transformers_1=require_generic_transformers();function xRangeArguments(start5,end6,options){let args2=[start5,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))}}});var 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}});var 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,group2,consumer,streams,options){if(parser.push("XREADGROUP","GROUP",group2,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");XREAD_1.pushXReadStreams(parser,streams)},transformReply:{2:generic_transformers_1.transformStreamsMessagesReplyResp2,3:void 0},unstableResp3:!0}});var 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(XRANGE_1.xRangeArguments(args2[0],args2[1],args2[2]))},transformReply:XRANGE_1.default.transformReply}});var 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}});var 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())},transformReply:void 0}});var 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(generic_transformers_1.transformDoubleArgument(member.score),member.value)}});var 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"),ZADD_1.pushMembers(parser,members)},transformReply:generic_transformers_1.transformNullableDoubleReply}});var 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}});var 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,min4,max6){parser.push("ZCOUNT"),parser.pushKey(key),parser.push(generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6))},transformReply:void 0}});var require_ZDIFF=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("ZDIFF"),parser.pushKeysLength(keys9)},transformReply:void 0}});var 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,keys9){ZDIFF_1.default.parseCommand(parser,keys9),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}});var 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}});var require_ZINCRBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,increment2,member){parser.push("ZINCRBY"),parser.pushKey(key),parser.push(generic_transformers_1.transformDoubleArgument(increment2),member)},transformReply:generic_transformers_1.transformDoubleReply}});var require_ZINTER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.parseZInterArguments=void 0;var generic_transformers_1=require_generic_transformers();function parseZInterArguments(parser,keys9,options){if(generic_transformers_1.parseZKeysArguments(parser,keys9),options?.AGGREGATE)parser.push("AGGREGATE",options.AGGREGATE)}exports.parseZInterArguments=parseZInterArguments;exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys9,options){parser.push("ZINTER"),parseZInterArguments(parser,keys9,options)},transformReply:void 0}});var 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}});var require_ZINTERCARD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys9,options){if(parser.push("ZINTERCARD"),parser.pushKeysLength(keys9),typeof options==="number")parser.push("LIMIT",options.toString());else if(options?.LIMIT)parser.push("LIMIT",options.LIMIT.toString())},transformReply:void 0}});var require_ZINTERSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var ZINTER_1=require_ZINTER();exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys9,options){parser.push("ZINTERSTORE"),parser.pushKey(destination),ZINTER_1.parseZInterArguments(parser,keys9,options)},transformReply:void 0}});var require_ZLEXCOUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,min4,max6){parser.push("ZLEXCOUNT"),parser.pushKey(key),parser.push(min4),parser.push(max6)},transformReply:void 0}});var 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(generic_transformers_1.createTransformNullableDoubleReplyResp2Func(preserve,typeMapping))},3:void 0}}});var 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,count5){parser.push("ZPOPMAX"),parser.pushKey(key),parser.push(count5.toString())},transformReply:generic_transformers_1.transformSortedSetReply}});var 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]}}}}});var 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,count5){parser.push("ZPOPMIN"),parser.pushKey(key),parser.push(count5.toString())},transformReply:generic_transformers_1.transformSortedSetReply}});var 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}});var 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}});var 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,count5){ZRANDMEMBER_1.default.parseCommand(parser,key),parser.push(count5.toString())},transformReply:void 0}});var 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,count5){ZRANDMEMBER_COUNT_1.default.parseCommand(parser,key,count5),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}});var require_ZRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.zRangeArgument=void 0;var generic_transformers_1=require_generic_transformers();function zRangeArgument(min4,max6,options){let args2=[generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6)];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,min4,max6,options){parser.push("ZRANGE"),parser.pushKey(key),parser.pushVariadic(zRangeArgument(min4,max6,options))},transformReply:void 0}});var 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}});var 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,min4,max6,options){if(parser.push("ZRANGEBYLEX"),parser.pushKey(key),parser.push(generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6)),options?.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString())},transformReply:void 0}});var 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,min4,max6,options){if(parser.push("ZRANGEBYSCORE"),parser.pushKey(key),parser.push(generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6)),options?.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString())},transformReply:void 0}});var 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}});var 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,min4,max6,options){switch(parser.push("ZRANGESTORE"),parser.pushKey(destination),parser.pushKey(source),parser.push(generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6)),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}});var 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,min4,max6){parser.push("ZREMRANGEBYSCORE"),parser.pushKey(key),parser.push(generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6))},transformReply:void 0}});var 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}});var 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]}}}}});var 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}});var 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,min4,max6){parser.push("ZREMRANGEBYLEX"),parser.pushKey(key),parser.push(generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6))},transformReply:void 0}});var require_ZREMRANGEBYRANK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,start5,stop2){parser.push("ZREMRANGEBYRANK"),parser.pushKey(key),parser.push(start5.toString(),stop2.toString())},transformReply:void 0}});var 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}});var 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),SCAN_1.parseScanArguments(parser,cursor,options)},transformReply([cursor,rawMembers]){return{cursor,members:generic_transformers_1.transformSortedSetReply[2](rawMembers)}}}});var 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}});var 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,keys9,options){if(parser.push("ZUNION"),generic_transformers_1.parseZKeysArguments(parser,keys9),options?.AGGREGATE)parser.push("AGGREGATE",options.AGGREGATE)},transformReply:void 0}});var 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}});var 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,keys9,options){if(parser.push("ZUNIONSTORE"),parser.pushKey(destination),generic_transformers_1.parseZKeysArguments(parser,keys9),options?.AGGREGATE)parser.push("AGGREGATE",options.AGGREGATE)},transformReply:void 0}});var require_commands=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!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=__importDefault(require_CLIENT_KILL()),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=__importDefault(require_CLUSTER_FAILOVER()),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=__importDefault(require_CLUSTER_SETSLOT()),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=__importDefault(require_COMMAND_LIST()),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()),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=__importDefault(require_FLUSHALL()),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()),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()),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()),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()),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());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,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_LATEST:LATENCY_LATEST_1.default,latencyLatest:LATENCY_LATEST_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,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,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,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}});var 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=__require("node:events"),node_net_1=__importDefault(__require("node:net")),node_tls_1=__importDefault(__require("node:tls")),errors_1=require_errors(),promises_1=__require("node:timers/promises");class RedisSocket extends node_events_1.EventEmitter{#initiator;#connectTimeout;#reconnectStrategy;#socketFactory;#socketTimeout;#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 new 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 new 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{await this.#initiator()}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 promises_1.setTimeout(retryIn),this.emit("reconnecting")}while(this.#isOpen&&!this.#isReady)}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 node_events_1.once(socket,this.#socketFactory.event),onTimeout)socket.removeListener("timeout",onTimeout);if(this.#socketTimeout)socket.once("timeout",()=>{socket.destroy(new errors_1.SocketTimeoutError(this.#socketTimeout))}),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});var require_token=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.Token=void 0;class Token{value;expiresAtMs;receivedAtMs;constructor(value6,expiresAtMs,receivedAtMs){this.value=value6,this.expiresAtMs=expiresAtMs,this.receivedAtMs=receivedAtMs}getTtlMs(now2){if(this.expiresAtMs<now2)return 0;return this.expiresAtMs-now2}}exports.Token=Token});var 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 new Error("expirationRefreshRatio must be less than or equal to 1");if(this.config.expirationRefreshRatio<0)throw new 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(error2){if(!this.config.retry)return!1;let{maxAttempts,isRetryable}=this.config.retry;if(this.retryAttempt>=maxAttempts)return!1;if(isRetryable)return isRetryable(error2,this.retryAttempt);return!1}isRunning(){return this.listener!==null}async refresh(){if(!this.listener)throw new Error("TokenManager is not running, but refresh was called");try{await this.identityProvider.requestToken().then(this.handleNewToken),this.retryAttempt=0}catch(error2){if(this.shouldRetry(error2)){this.retryAttempt++;let retryDelay=this.calculateRetryDelay();this.notifyError(`Token refresh failed (attempt ${this.retryAttempt}), retrying in ${retryDelay}ms: ${error2}`,!0),this.scheduleNextRefresh(retryDelay)}else this.notifyError(error2,!1),this.stop()}}handleNewToken=async({token:nativeToken,ttlMs})=>{if(!this.listener)throw new 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 now2=Date.now(),token=new token_1.Token(nativeToken,now2+ttlMs,now2);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,now2=Date.now()){let ttlMs=token.getTtlMs(now2);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(error2,isRetryable){let errorMessage=error2 instanceof Error?error2.message:String(error2);if(!this.listener)throw new Error(`TokenManager is not running but received an error: ${errorMessage}`);this.listener.onError(new IDPError(errorMessage,isRetryable))}}exports.TokenManager=TokenManager});var 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});var 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}})});var require_linked_list=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.SinglyLinkedList=exports.DoublyLinkedList=void 0;class DoublyLinkedList{#length=0;get length(){return this.#length}#head;get head(){return this.#head}#tail;get tail(){return this.#tail}push(value6){if(++this.#length,this.#tail===void 0)return this.#tail=this.#head={previous:this.#head,next:void 0,value:value6};return this.#tail=this.#tail.next={previous:this.#tail,next:void 0,value:value6}}unshift(value6){if(++this.#length,this.#head===void 0)return this.#head=this.#tail={previous:void 0,next:void 0,value:value6};return this.#head=this.#head.previous={previous:void 0,next:this.#head,value:value6}}add(value6,prepend5=!1){return prepend5?this.unshift(value6):this.push(value6)}shift(){if(this.#head===void 0)return;--this.#length;let node=this.#head;if(node.next)node.next.previous=node.previous,this.#head=node.next,node.next=void 0;else this.#head=this.#tail=void 0;return node.value}remove(node){if(--this.#length,this.#tail===node)this.#tail=node.previous;if(this.#head===node)this.#head=node.next;else node.previous.next=node.next,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}}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(value6){++this.#length;let node={value:value6,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 new 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});var require_encoder=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var CRLF=`\r
|
|
3
|
-
`;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 new TypeError(`"arguments[${i}]" must be of type "string | Buffer", got ${typeof arg} instead.`)}return toWrite.push(strings),toWrite}exports.default=encodeCommand});var 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(type2,channels,listener,returnBuffers){let args2=[COMMANDS[type2].subscribe],channelsArray=PubSub.#channelsArray(channels);for(let channel of channelsArray){let channelListeners=this.listeners[type2].get(channel);if(!channelListeners||channelListeners.unsubscribing)args2.push(channel)}if(args2.length===1){for(let channel of channelsArray)PubSub.#listenersSet(this.listeners[type2].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[type2].get(channel);if(!listeners)listeners={unsubscribing:!1,buffers:new Set,strings:new Set},this.listeners[type2].set(channel,listeners);PubSub.#listenersSet(listeners,returnBuffers).add(listener)}},reject:()=>{this.#subscribing--,this.#updateIsActive()}}}extendChannelListeners(type2,channel,listeners){if(!this.#extendChannelListeners(type2,channel,listeners))return;return this.#isActive=!0,this.#subscribing++,{args:[COMMANDS[type2].subscribe,channel],channelsCounter:1,resolve:()=>this.#subscribing--,reject:()=>{this.#subscribing--,this.#updateIsActive()}}}#extendChannelListeners(type2,channel,listeners){let existingListeners=this.listeners[type2].get(channel);if(!existingListeners)return this.listeners[type2].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(type2,listeners){let args2=[COMMANDS[type2].subscribe];for(let[channel,channelListeners]of listeners)if(this.#extendChannelListeners(type2,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(type2,channels,listener,returnBuffers){let listeners=this.listeners[type2];if(!channels)return this.#unsubscribeCommand([COMMANDS[type2].unsubscribe],NaN,()=>listeners.clear());let channelsArray=PubSub.#channelsArray(channels);if(!listener)return this.#unsubscribeCommand([COMMANDS[type2].unsubscribe,...channelsArray],channelsArray.length,()=>{for(let channel of channelsArray)listeners.delete(channel)});let args2=[COMMANDS[type2].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[type2,listeners]of Object.entries(this.listeners)){if(!listeners.size)continue;this.#isActive=!0,this.#subscribing++;let callback=()=>this.#subscribing--;commands.push({args:[COMMANDS[type2].subscribe,...listeners.keys()],channelsCounter:listeners.size,resolve:callback,reject:callback})}return commands}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}#emitPubSubMessage(type2,message,channel,pattern2){let keyString=(pattern2??channel).toString(),listeners=this.listeners[type2].get(keyString);if(!listeners)return;for(let listener of listeners.buffers)listener(message,channel);if(!listeners.strings.size)return;let channelString=pattern2?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});var 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(),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.SinglyLinkedList;#onShardedChannelMoved;#chainInExecution;decoder;#pubSub=new pub_sub_1.PubSub;get isPubSubActive(){return this.#pubSub.isActive}#invalidateCallback;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 head8=this.#waitingForReply.head.value;if(Number.isNaN(head8.channelsCounter)&&push[2]===0||--head8.channelsCounter===0)this.#waitingForReply.shift().resolve();return!0}}#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)=>{if(!this.#onPush(push))switch(push[0].toString()){case"invalidate":{if(this.#invalidateCallback)if(push[1]!==null)for(let key of push[1])this.#invalidateCallback(key);else this.#invalidateCallback(null);break}}},getTypeMapping:()=>this.#getTypeMapping()})}setInvalidateCallback(callback){this.#invalidateCallback=callback}addCommand(args2,options){if(this.#maxLength&&this.#toWrite.length+this.#waitingForReply.length>=this.#maxLength)return Promise.reject(new Error("The queue is full"));else if(options?.abortSignal?.aborted)return Promise.reject(new errors_1.AbortError);return new Promise((resolve,reject2)=>{let node,value6={args:args2,chainId:options?.chainId,abort:void 0,resolve,reject:reject2,channelsCounter:void 0,typeMapping:options?.typeMapping},signal=options?.abortSignal;if(signal)value6.abort={signal,listener:()=>{this.#toWrite.remove(node),value6.reject(new errors_1.AbortError)}},signal.addEventListener("abort",value6.abort.listener,{once:!0});node=this.#toWrite.add(value6,options?.asap)})}#addPubSubCommand(command,asap=!1,chainId){return new Promise((resolve,reject2)=>{this.#toWrite.add({args:command.args,chainId,abort:void 0,resolve(){command.resolve(),resolve()},reject(err){command.reject?.(),reject2(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(type2,channels,listener,returnBuffers){let command=this.#pubSub.subscribe(type2,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(type2,channels,listener,returnBuffers){let command=this.#pubSub.unsubscribe(type2,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)}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(type2,channel,listeners){let command=this.#pubSub.extendChannelListeners(type2,channel,listeners);if(!command)return;return this.#setupPubSubHandler(),this.#addPubSubCommand(command)}extendPubSubListeners(type2,listeners){let command=this.#pubSub.extendTypeListeners(type2,listeners);if(!command)return;return this.#setupPubSubHandler(),this.#addPubSubCommand(command)}getPubSubListeners(type2){return this.#pubSub.listeners[type2]}monitor(callback,options){return new Promise((resolve,reject2)=>{let typeMapping=options?.typeMapping??{};this.#toWrite.add({args:["MONITOR"],chainId:options?.chainId,abort:void 0,resolve:()=>{if(this.#resetFallbackOnReply)this.#resetFallbackOnReply=callback;else this.decoder.onReply=callback;this.decoder.getTypeMapping=()=>typeMapping,resolve()},reject:reject2,channelsCounter:void 0,typeMapping},options?.asap)})}resetDecoder(){this.#resetDecoderCallbacks(),this.decoder.reset()}#resetFallbackOnReply;async reset(chainId,typeMapping){return new Promise((resolve,reject2)=>{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,resolve,reject:reject2,channelsCounter:void 0,typeMapping})})}isWaitingToWrite(){return this.#toWrite.length>0}*commandsToWrite(){let toSend=this.#toWrite.shift();while(toSend){let encoded;try{encoded=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;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#flushToWrite(toBeSent,err){if(toBeSent.abort)RedisCommandsQueue.#removeAbortListener(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});var require_commander=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.scriptArgumentsPrefix=exports.functionArgumentsPrefix=exports.getTransformReply=exports.attachConfig=void 0;function throwResp3SearchModuleUnstableError(){throw new 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,Class5=class extends BaseClass{};for(let[name,command]of Object.entries(commands))Class5.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(Class5.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(Class5.prototype,library,fns)}if(config2?.scripts)for(let[name,script]of Object.entries(config2.scripts))Class5.prototype[name]=createScriptCommand(script,RESP);return Class5}exports.attachConfig=attachConfig;function attachNamespace(prototype,name,fns){Object.defineProperty(prototype,name,{get(){let value6=Object.create(fns);return value6._self=this,Object.defineProperty(this,name,{value:value6}),value6}})}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});var 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});var 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=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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=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 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});var 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?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))}}});var 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=__require("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 new 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(count5){}recordMisses(count5){}recordLoadSuccess(loadTime){}recordLoadFailure(loadTime){}recordEvictions(count5){}snapshot(){return CacheStats.empty()}}function disabledStatsCounter(){return DisabledStatsCounter.INSTANCE}class DefaultStatsCounter{#hitCount=0;#missCount=0;#loadSuccessCount=0;#loadFailureCount=0;#totalLoadTime=0;#evictionCount=0;recordHits(count5){this.#hitCount+=count5}recordMisses(count5){this.#missCount+=count5}recordLoadSuccess(loadTime){this.#loadSuccessCount++,this.#totalLoadTime+=loadTime}recordLoadFailure(loadTime){this.#loadFailureCount++,this.#totalLoadTime+=loadTime}recordEvictions(count5){this.#evictionCount+=count5}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=new 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,value6){super(ttl);this.#value=value6}}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(count5){this.#statsCounter.recordEvictions(count5)}recordHits(count5){this.#statsCounter.recordHits(count5)}recordMisses(count5){this.#statsCounter.recordMisses(count5)}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 new 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 keySet2=this.#keyToCacheKeySetMap.get(key.toString());if(keySet2){for(let cacheKey of keySet2){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,keys9){let count5=this.#cacheKeyToEntryMap.size,oldEntry=this.#cacheKeyToEntryMap.get(cacheKey);if(oldEntry)count5--,oldEntry.invalidate();if(this.maxEntries>0&&count5>=this.maxEntries)this.deleteOldest(),this.#statsCounter.recordEvictions(1);this.#cacheKeyToEntryMap.set(cacheKey,cacheEntry);for(let key of keys9){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,value6){return new ClientSideCacheEntryValue(this.ttl,value6)}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,value6){super(ttl,value6);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,value6){let creator={epoch:client.socketEpoch,client};return new PooledClientSideCacheEntryValue(this.ttl,creator,value6)}createPromiseEntry(client,sendCommandPromise){let creator={epoch:client.socketEpoch,client};return new PooledClientSideCacheEntryPromise(this.ttl,creator,sendCommandPromise)}onError(){}onClose(){}}exports.PooledNoRedirectClientSideCache=PooledNoRedirectClientSideCache});var 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 serialize(_,value6){if(value6&&typeof value6==="object"){if(seen.has(value6))return"circular";return seen.add(value6),value6}return value6}}});var 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=__require("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=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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=commander_1.scriptArgumentsPrefix(script),transformReply=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=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,value6){let proxy=Object.create(this._self);return proxy._commandOptions=Object.create(this._commandOptions??null),proxy._commandOptions[key]=value6,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,reject2)=>{let client=this._self.#idleClients.shift(),{tail}=this._self.#tasksQueue;if(!client){let timeout4;if(this._self.#options.acquireTimeout>0)timeout4=setTimeout(()=>{this._self.#tasksQueue.remove(task,tail),reject2(new errors_1.TimeoutError("Timeout waiting for a client"))},this._self.#options.acquireTimeout);let task=this._self.#tasksQueue.push({timeout:timeout4,resolve,reject:reject2,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,reject2,fn2)})}#executeTask(node,resolve,reject2,fn2){let result=fn2(node.value);if(result instanceof Promise)result.then(resolve,reject2),result.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});var require_package=__commonJS((exports,module)=>{module.exports={name:"@redis/client",version:"5.0.1",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'"},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"]}});var 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=__require("node:events"),commander_1=require_commander(),errors_1=require_errors(),node_url_1=__require("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();class RedisClient extends node_events_1.EventEmitter{static#createCommand(command,resp){let transformReply=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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=commander_1.scriptArgumentsPrefix(script),transformReply=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=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 parseURL(url2){let{hostname,port,protocol,username,password,pathname}=new node_url_1.URL(url2),parsed={socket:{host:hostname}};if(protocol==="rediss:")parsed.socket.tls=!0;else if(protocol!=="redis:")throw new TypeError("Invalid protocol");if(port)parsed.socket.port=Number(port);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 new TypeError("Invalid pathname");parsed.database=database}return parsed}#options;#socket;#queue;#selectedDB=0;#monitorCallback;_self=this;_commandOptions;#dirtyWatch;#watchEpoch;#clientSideCache;#credentialsSubscription=null;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(),options?.clientSideCache){if(options.clientSideCache instanceof cache_1.ClientSideCacheProvider)this.#clientSideCache=options.clientSideCache;else{let cscConfig=options.clientSideCache;this.#clientSideCache=new cache_1.BasicClientSideCache(cscConfig)}this.#queue.setInvalidateCallback(this.#clientSideCache.invalidate.bind(this.#clientSideCache))}}#validateOptions(options){if(options?.clientSideCache&&options?.RESP!==3)throw new Error("Client Side Caching 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?.url){let parsed=_a.parseURL(options.url);if(options.socket)parsed.socket=Object.assign(options.socket,parsed.socket);Object.assign(options,parsed)}if(options?.database)this._self.#selectedDB=options.database;if(options?.commandOptions)this._commandOptions=options.commandOptions;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(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((error2)=>{let errorMessage=error2 instanceof Error?error2.message:String(error2);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: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: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:generic_transformers_1.parseArgs(commands_1.default.AUTH,{username:credentials.username,password:credentials.password??""})})}if(this.#options?.name)commands.push({cmd: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:generic_transformers_1.parseArgs(commands_1.default.READONLY)});if(!this.#options?.disableClientInfo)commands.push({cmd:["CLIENT","SETINFO","LIB-VER",package_json_1.version],errorHandler:(err)=>{if(!(err instanceof errors_1.SimpleError)||!err.isUnknownSubcommand())throw err}}),commands.push({cmd:["CLIENT","SETINFO","LIB-NAME",this.#options?.clientInfoTag?`node-redis(${this.#options.clientInfoTag})`:"node-redis"],errorHandler:(err)=>{if(!(err instanceof errors_1.SimpleError)||!err.isUnknownSubcommand())throw err}});if(this.#clientSideCache)commands.push({cmd:this.#clientSideCache.trackingOn()});return commands}#initiateSocket(){let socketInitiator=async()=>{let promises=[],chainId=Symbol("Socket Initiator"),resubscribePromise=this.#queue.resubscribe(chainId);if(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)};return new socket_1.default(socketInitiator,this.#options?.socket).on("data",(chunk4)=>{try{this.#queue.decoder.write(chunk4)}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"))}#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,value6){let proxy=Object.create(this._self);return proxy._commandOptions=Object.create(this._commandOptions??null),proxy._commandOptions[key]=value6,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}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 promise3=this._self.#queue.addCommand(args2,options);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(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(type2){return this._self.#queue.getPubSubListeners(type2)}extendPubSubChannelListeners(type2,channel,listeners){return this._self.#pubSubCommand(this._self.#queue.extendPubSubChannelListeners(type2,channel,listeners))}extendPubSubListeners(type2,listeners){return this._self.#pubSubCommand(this._self.#queue.extendPubSubListeners(type2,listeners))}#write(){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});var 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 toUTF8Array(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 generate(str){var char,i=0,start5=-1,result=0,resultHash=0,utf8=typeof str==="string"?toUTF8Array(str):str,len=utf8.length;while(i<len){if(char=utf8[i++],start5===-1){if(char===123)start5=i}else if(char!==125)resultHash=lookup[(char^resultHash>>8)&255]^resultHash<<8;else if(i-1!==start5)return resultHash&16383;result=lookup[(char^result>>8)&255]^result<<8}return result&16383};module.exports.generateMulti=function generateMulti(keys9){var i=1,len=keys9.length,base=generate(keys9[0]);while(i<len)if(generate(keys9[i++])!==base)return-1;return base}});var 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=new Array(_a.#SLOTS);masters=new Array;replicas=new Array;nodeByAddress=new Map;pubSubNode;clientSideCache;#isOpen=!1;get isOpen(){return this.#isOpen}#validateOptions(options){if(options?.clientSideCache&&options?.RESP!==3)throw new 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 new Error("Cluster already open");this.#isOpen=!0;try{await this.#discoverWithRootNodes()}catch(err){throw this.#isOpen=!1,err}}async#discoverWithRootNodes(){let start5=Math.floor(Math.random()*this.#options.rootNodes.length);for(let i=start5;i<this.#options.rootNodes.length;i++){if(!this.#isOpen)throw new Error("Cluster closed");if(await this.#discover(this.#options.rootNodes[i]))return}for(let i=0;i<start5;i++){if(!this.#isOpen)throw new Error("Cluster closed");if(await this.#discover(this.#options.rootNodes[i]))return}throw new errors_1.RootNodesUnavailableError}#resetSlots(){this.slots=new 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){return this.#clientFactory(this.#clientOptionsDefaults({clientSideCache:this.clientSideCache,RESP:this.#options.RESP,socket:this.#getNodeAddress(node.address)??{host:node.host,port:node.port},readonly})).on("error",(err)=>console.error(err))}#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()}*#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)}getClient(firstKey,isReadonly){if(!firstKey)return this.nodeClient(this.getRandomNode());let slotNumber=cluster_key_slot_1.default(firstKey);if(!isReadonly)return this.nodeClient(this.slots[slotNumber].master);return this.nodeClient(this.getSlotRandomNode(slotNumber))}*#iterateAllNodes(){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[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[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});var 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=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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=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 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});var 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=__require("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=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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=commander_1.scriptArgumentsPrefix(script),transformReply=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=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)),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,value6){let proxy=Object.create(this);return proxy._commandOptions=Object.create(this._commandOptions??null),proxy._commandOptions[key]=value6,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 new 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){return this._self.#execute(firstKey,isReadonly,options,(client,opts)=>client.sendCommand(args2,opts))}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))}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});var 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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=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=commander_1.scriptArgumentsPrefix(script),transformReply=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});var 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=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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=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 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});var 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(__require("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,onError4){super();this.#clientOptions=clientOptions,this.#onError=onError4}#createClient(){if(this.#node===void 0)throw new 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});var 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}}});var require_SENTINEL_MONITOR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,dbname,host,port,quorum){parser.push("SENTINEL","MONITOR",dbname,host,port,quorum)},transformReply:void 0}});var 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(generic_transformers_1.transformTuplesReply(x,void 0,typeMapping)),sentinels},initial)},3:void 0}}});var 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(generic_transformers_1.transformTuplesReply(x,void 0,typeMapping)),sentinels},initial)},3:void 0}}});var require_SENTINEL_SET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,dbname,options){parser.push("SENTINEL","SET",dbname);for(let option6 of options)parser.push(option6.option,option6.value)},transformReply:void 0}});var 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}});var 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}});var 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(value6){let resolve=this.#queue.shift();if(resolve!==void 0){resolve(value6);return}this.#list.push(value6)}shift(){return this.#list.shift()}wait(){return new Promise((resolve)=>this.#queue.push(resolve))}}exports.WaitQueue=WaitQueue});var 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=__require("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=__require("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=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,value6){let proxy=Object.create(this);return proxy._commandOptions=Object.create(this._self.#commandOptions??null),proxy._commandOptions[key]=value6,proxy}withTypeMapping(typeMapping){return this._commandOptionsProxy("typeMapping",typeMapping)}async _execute(isReadonly,fn2){if(this._self.#clientInfo===void 0)throw new 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 new 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 new 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 new 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=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,value6){let proxy=Object.create(this);return proxy._self.#commandOptions={...this._self.#commandOptions||{},[key]:value6},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;#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 new Error("Client Side Caching is only supported with RESP3")}constructor(options){super();if(this.#validateOptions(options),this.#name=options.name,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 new 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 new 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({...clientOptions,socket:{...clientOptions.socket,host:node.host,port:node.port,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 new 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 count5=0;while(!0){if(this.#trace("starting connect loop"),count5+=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&&count5>this.#maxCommandRediscovers)throw e;if(e.message!=="no valid master node")console.log(e);await 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 new 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}}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"),new Error("None of the sentinels are available")}analyze(observed){let master=utils_1.parseNode(observed.masterData);if(master===void 0)throw this.#trace(`analyze: no valid master node because ${observed.masterData.flags}`),new 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=utils_1.createNodeList(observed.replicaData);for(let node of replicaList)desiredSet.add(JSON.stringify(node));for(let[node,value6]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)),value6!=observed.replicaPoolSize)replicasToOpen.set(node,observed.replicaPoolSize-value6),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(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",new Error(`Sentinel Client (${node.host}:${node.port}): ${err.message}`,{cause:err}));let event2={type:"SENTINEL",node:utils_1.clientSocketToNode(client.options.socket),error:err};this.emit("client-error",event2),this.#reset()}),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",new Error(`Master Client (${node.host}:${node.port}): ${err.message}`,{cause:err}));let event2={type:"MASTER",node: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=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,size21]of analyzed.replicasToOpen){for(let i=0;i<size21;i++){let client=this.#createClient(node,this.#nodeClientOptions);client.on("error",(err)=>{if(this.#passthroughClientErrorEvents)this.emit("error",new Error(`Replica Client (${node.host}:${node.port}): ${err.message}`,{cause:err}));let event2={type:"REPLICA",node: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 utils_1.clientSocketToNode(master.options.socket);return}getSentinelNode(){if(this.#sentinelClient===void 0)return;return utils_1.clientSocketToNode(this.#sentinelClient.options.socket)}getReplicaNodes(){let ret=new Map,initialMap=new Map;for(let replica of this.#replicaClients){let node=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,value6]of initialMap)ret.set(JSON.parse(key),value6);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(utils_1.createNodeList(sentinelData));return}finally{client.destroy()}}throw new 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=utils_1.parseNode(masterData);if(master===void 0)continue;return master}finally{client.destroy()}}if(connected)throw new Error("Master Node Not Enumerated");throw new 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=utils_1.createNodeList(replicaData);if(replicas.length==0)continue;return replicas}finally{client.destroy()}}if(connected)throw new Error("No Replicas Nodes Enumerated");throw new Error("couldn't connect to any sentinels")}async getReplicaClient(){let replicas=await this.getReplicaNodes();if(replicas.length==0)throw new 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});var 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.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 FLUSHALL_1=require_FLUSHALL();Object.defineProperty(exports,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return FLUSHALL_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}})});var 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}});var 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}});var 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}});var 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});var 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 helpers_1.transformInfoV2Reply(reply,typeMapping)},3:void 0}}});var 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}});var require_LOADCHUNK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,iterator,chunk4){parser.push("BF.LOADCHUNK"),parser.pushKey(key),parser.push(iterator.toString(),chunk4)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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]}}}});var 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}});var 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:incrementBy2}){parser.push(item,incrementBy2.toString())}});var 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 bloom_1.transformInfoV2Reply(reply,typeMapping)},3:void 0}}});var 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}});var require_INITBYPROB=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,error2,probability){parser.push("CMS.INITBYPROB"),parser.pushKey(key),parser.push(error2.toString(),probability.toString())},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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 bloom_1.transformInfoV2Reply(reply,typeMapping)},3:void 0}}});var 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}});var 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"),INSERT_1.parseCfInsertArguments(...args2)},transformReply:INSERT_1.default.transformReply}});var require_LOADCHUNK2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,iterator,chunk4){parser.push("CF.LOADCHUNK"),parser.pushKey(key),parser.push(iterator.toString(),chunk4)},transformReply:void 0}});var 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}});var 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]}}}});var 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}});var require_ADD3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,values7){parser.push("TDIGEST.ADD"),parser.pushKey(key);for(let value6 of values7)parser.push(value6.toString())},transformReply:void 0}});var 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}});var 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"),BYRANK_1.transformByRankArguments(...args2)},transformReply:BYRANK_1.default.transformReply}});var 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,values7){parser.push("TDIGEST.CDF"),parser.pushKey(key);for(let item of values7)parser.push(item.toString())},transformReply:generic_transformers_1.transformDoubleArrayReply}});var 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}});var 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 bloom_1.transformInfoV2Reply(reply,typeMapping)},3:void 0}}});var 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}});var 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}});var 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}});var 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}});var require_RANK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.transformRankArguments=void 0;function transformRankArguments(parser,key,values7){parser.pushKey(key);for(let value6 of values7)parser.push(value6.toString())}exports.transformRankArguments=transformRankArguments;exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("TDIGEST.RANK"),transformRankArguments(...args2)},transformReply:void 0}});var 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}});var 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"),RANK_1.transformRankArguments(...args2)},transformReply:RANK_1.default.transformReply}});var 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}});var 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}});var 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}});var 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}});var require_INCRBY3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});function pushIncrByItem(parser,{item,incrementBy:incrementBy2}){parser.push(item,incrementBy2.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}});var 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),bloom_1.transformInfoV2Reply(reply,typeMapping)},3:void 0}}});var 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}}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}})});var require_helpers2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.transformRedisJsonReply=exports.transformRedisJsonArgument=exports.transformRedisJsonNullReply=void 0;var generic_transformers_1=require_generic_transformers();function transformRedisJsonNullReply(json){return console.log("transformRedisJsonNullReply",json),generic_transformers_1.isNullReply(json)?json:transformRedisJsonReply(json)}exports.transformRedisJsonNullReply=transformRedisJsonNullReply;function transformRedisJsonArgument(json){return JSON.stringify(json)}exports.transformRedisJsonArgument=transformRedisJsonArgument;function transformRedisJsonReply(json){let res=JSON.parse(json.toString());return console.log("transformRedisJsonReply",json,res),res}exports.transformRedisJsonReply=transformRedisJsonReply});var require_ARRAPPEND=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,json,...jsons){parser.push("JSON.ARRAPPEND"),parser.pushKey(key),parser.push(path,helpers_1.transformRedisJsonArgument(json));for(let i=0;i<jsons.length;i++)parser.push(helpers_1.transformRedisJsonArgument(jsons[i]))},transformReply:void 0}});var require_ARRINDEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,path,json,options){if(parser.push("JSON.ARRINDEX"),parser.pushKey(key),parser.push(path,helpers_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}});var require_ARRINSERT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();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(),helpers_1.transformRedisJsonArgument(json));for(let i=0;i<jsons.length;i++)parser.push(helpers_1.transformRedisJsonArgument(jsons[i]))},transformReply:void 0}});var 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}});var require_ARRPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),helpers_1=require_helpers2();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 generic_transformers_1.isArrayReply(reply)?reply.map((item)=>helpers_1.transformRedisJsonNullReply(item)):helpers_1.transformRedisJsonNullReply(reply)}}});var require_ARRTRIM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,start5,stop2){parser.push("JSON.ARRTRIM"),parser.pushKey(key),parser.push(path,start5.toString(),stop2.toString())},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var require_GET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();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:helpers_1.transformRedisJsonNullReply}});var require_MERGE3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,value6){parser.push("JSON.MERGE"),parser.pushKey(key),parser.push(path,helpers_1.transformRedisJsonArgument(value6))},transformReply:void 0}});var require_MGET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys9,path){parser.push("JSON.MGET"),parser.pushKeys(keys9),parser.push(path)},transformReply(reply){return reply.map((json)=>helpers_1.transformRedisJsonNullReply(json))}}});var require_MSET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();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,helpers_1.transformRedisJsonArgument(items[i].value))},transformReply:void 0}});var 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}}});var 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}});var 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}});var 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}});var require_SET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,json,options){if(parser.push("JSON.SET"),parser.pushKey(key),parser.push(path,helpers_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}});var require_STRAPPEND=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();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(helpers_1.transformRedisJsonArgument(append4))},transformReply:void 0}});var 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}});var 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}});var 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]}}}});var require_commands4=__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 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());__exportStar(require_helpers2(),exports);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}});var 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}})});var 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}}});var require_CREATE2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.REDISEARCH_LANGUAGE=exports.parseSchema=exports.SCHEMA_GEO_SHAPE_COORD_SYSTEM=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"};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)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)args2.push("INITIAL_CAP",fieldOptions.INITIAL_CAP.toString());switch(fieldOptions.ALGORITHM){case exports.SCHEMA_VECTOR_FIELD_ALGORITHM.FLAT:if(fieldOptions.BLOCK_SIZE)args2.push("BLOCK_SIZE",fieldOptions.BLOCK_SIZE.toString());break;case exports.SCHEMA_VECTOR_FIELD_ALGORITHM.HNSW:if(fieldOptions.M)args2.push("M",fieldOptions.M.toString());if(fieldOptions.EF_CONSTRUCTION)args2.push("EF_CONSTRUCTION",fieldOptions.EF_CONSTRUCTION.toString());if(fieldOptions.EF_RUNTIME)args2.push("EF_RUNTIME",fieldOptions.EF_RUNTIME.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(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");generic_transformers_1.parseOptionalVariadicArgument(parser,"STOPWORDS",options?.STOPWORDS),parser.push("SCHEMA"),parseSchema(parser,schema)},transformReply:void 0}});var 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"),CREATE_1.parseSchema(parser,schema)},transformReply:void 0}});var require_default=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.DEFAULT_DIALECT=void 0;exports.DEFAULT_DIALECT="2"});var 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 value6=params[key];args2.push(key,typeof value6==="number"?value6.toString():value6)}parser.pushVariadicWithLength(args2)}}exports.parseParamsArgument=parseParamsArgument;function parseSearchOptions(parser,options){if(options?.VERBATIM)parser.push("VERBATIM");if(options?.NOSTOPWORDS)parser.push("NOSTOPWORDS");if(generic_transformers_1.parseOptionalVariadicArgument(parser,"INKEYS",options?.INKEYS),generic_transformers_1.parseOptionalVariadicArgument(parser,"INFIELDS",options?.INFIELDS),generic_transformers_1.parseOptionalVariadicArgument(parser,"RETURN",options?.RETURN),options?.SUMMARIZE){if(parser.push("SUMMARIZE"),typeof options.SUMMARIZE==="object"){if(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(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[0]+1==reply.length,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),i=0;while(i<tuples.length){let key=tuples[i++],value6=tuples[i++];if(key==="$")try{Object.assign(message,JSON.parse(value6));continue}catch{}message[key]=value6}return message}});var 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(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(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)}});var 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}});var 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}});var 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}});var 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}});var require_CONFIG_GET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,option6){parser.push("FT.CONFIG","GET",option6)},transformReply(reply){let transformedReply=Object.create(null);for(let item of reply){let[key,value6]=item;transformedReply[key.toString()]=value6}return transformedReply}}});var require_CONFIG_SET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,property,value6){parser.push("FT.CONFIG","SET",property,value6)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}}});var 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}}});var 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),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}});var 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}});var 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=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={},array7=reply[i+1];for(let i2=0;i2<array7.length;i2+=2){let innerKey=array7[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](array7[i2+1],void 0,typeMapping);break}}ret[key]=innerRet;break}case"cursor_stats":{let innerRet={},array7=reply[i+1];for(let i2=0;i2<array7.length;i2+=2){let innerKey=array7[i2].toString();switch(innerKey){case"global_idle":case"global_total":case"index_capacity":case"index_total":innerRet[innerKey]=array7[i2+1];break}}ret[key]=innerRet;break}}}return ret}});var 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),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}});var 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),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}});var 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}});var 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)}});var require_SUGADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,string6,score,options){if(parser.push("FT.SUGADD"),parser.pushKey(key),parser.push(string6,score.toString()),options?.INCR)parser.push("INCR");if(options?.PAYLOAD)parser.push("PAYLOAD",options.PAYLOAD)},transformReply:void 0}});var require_SUGDEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,string6){parser.push("FT.SUGDEL"),parser.pushKey(key),parser.push(string6)},transformReply:void 0}});var 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}});var 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(generic_transformers_1.isNullReply(reply))return null;let transformedReply=new Array(reply.length/2),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],payload:reply[replyIndex++]};return transformedReply}}});var 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(generic_transformers_1.isNullReply(reply))return null;let transformedReply=new 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(generic_transformers_1.isNullReply(reply))return null;let transformedReply=new 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}}}});var 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(generic_transformers_1.isNullReply(reply))return null;let transformedReply=new 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(generic_transformers_1.isNullReply(reply))return null;let transformedReply=new Array(reply.length/2),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],score:reply[replyIndex++]};return transformedReply}}}});var 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}});var 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(),value6=reply[i++];result[key]=value6}return result},3:void 0}}});var 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}});var 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}}});var 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()),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,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}});var 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}})});var require_helpers3=__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,ignore4){if(ignore4!==void 0)parser.push("IGNORE",ignore4.maxTimeDiff.toString(),ignore4.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,value6]of Object.entries(labels))parser.push(label,value6)}}exports.parseLabelsArgument=parseLabelsArgument;exports.transformSampleReply={2(reply){let[timestamp,value6]=reply;return{timestamp,value:Number(value6)}},3(reply){let[timestamp,value6]=reply;return{timestamp,value:value6}}};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 tuple4=wrappedTuple,key=tuple4[0];ret.set(key.toString(),parseFunc(tuple4))}return ret}case Array:{for(let wrappedTuple of reply){let tuple4=wrappedTuple;tuple4[1]=parseFunc(tuple4)}return reply}default:{let ret=Object.create(null);for(let wrappedTuple of reply){let tuple4=wrappedTuple,key=tuple4[0];ret[key.toString()]=parseFunc(tuple4)}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,value6]of reply.entries())reply.set(key,parseFunc(value6));else for(let[key,value6]of Object.entries(reply))reply[key]=parseFunc(value6);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 map31=new Map;for(let tuple4 of unwrappedLabels){let[key,value6]=tuple4,unwrappedKey=key;map31.set(unwrappedKey.toString(),value6)}return map31;case Array:return unwrappedLabels.flat();case Object:default:let labelsObject=Object.create(null);for(let tuple4 of unwrappedLabels){let[key,value6]=tuple4,unwrappedKey=key;labelsObject[unwrappedKey.toString()]=value6}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 map31=new Map;for(let i=0;i<to;i++){let[key,value6]=unwrappedLabels[i],unwrappedKey=key;map31.set(unwrappedKey.toString(),value6)}transformedLabels=map31;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,value6]=unwrappedLabels[i],unwrappedKey=key;labelsObject[unwrappedKey.toString()]=value6}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}});var require_ADD5=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers3();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,timestamp,value6,options){if(parser.push("TS.ADD"),parser.pushKey(key),parser.push(helpers_1.transformTimestampArgument(timestamp),value6.toString()),helpers_1.parseRetentionArgument(parser,options?.RETENTION),helpers_1.parseEncodingArgument(parser,options?.ENCODING),helpers_1.parseChunkSizeArgument(parser,options?.CHUNK_SIZE),options?.ON_DUPLICATE)parser.push("ON_DUPLICATE",options.ON_DUPLICATE);helpers_1.parseLabelsArgument(parser,options?.LABELS),helpers_1.parseIgnoreArgument(parser,options?.IGNORE)},transformReply:void 0}});var require_ALTER2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers3();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){parser.push("TS.ALTER"),parser.pushKey(key),helpers_1.parseRetentionArgument(parser,options?.RETENTION),helpers_1.parseChunkSizeArgument(parser,options?.CHUNK_SIZE),helpers_1.parseDuplicatePolicy(parser,options?.DUPLICATE_POLICY),helpers_1.parseLabelsArgument(parser,options?.LABELS),helpers_1.parseIgnoreArgument(parser,options?.IGNORE)},transformReply:void 0}});var require_CREATE3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers3();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){parser.push("TS.CREATE"),parser.pushKey(key),helpers_1.parseRetentionArgument(parser,options?.RETENTION),helpers_1.parseEncodingArgument(parser,options?.ENCODING),helpers_1.parseChunkSizeArgument(parser,options?.CHUNK_SIZE),helpers_1.parseDuplicatePolicy(parser,options?.DUPLICATE_POLICY),helpers_1.parseLabelsArgument(parser,options?.LABELS),helpers_1.parseIgnoreArgument(parser,options?.IGNORE)},transformReply:void 0}});var 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}});var require_INCRBY4=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.parseIncrByArguments=void 0;var helpers_1=require_helpers3();function parseIncrByArguments(parser,key,value6,options){if(parser.pushKey(key),parser.push(value6.toString()),options?.TIMESTAMP!==void 0&&options?.TIMESTAMP!==null)parser.push("TIMESTAMP",helpers_1.transformTimestampArgument(options.TIMESTAMP));if(helpers_1.parseRetentionArgument(parser,options?.RETENTION),options?.UNCOMPRESSED)parser.push("UNCOMPRESSED");helpers_1.parseChunkSizeArgument(parser,options?.CHUNK_SIZE),helpers_1.parseLabelsArgument(parser,options?.LABELS),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}});var 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"),INCRBY_1.parseIncrByArguments(...args2)},transformReply:INCRBY_1.default.transformReply}});var require_DEL4=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers3();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,fromTimestamp,toTimestamp){parser.push("TS.DEL"),parser.pushKey(key),parser.push(helpers_1.transformTimestampArgument(fromTimestamp),helpers_1.transformTimestampArgument(toTimestamp))},transformReply:void 0}});var 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}});var 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]}}}}});var 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,value6])=>({name,value:value6}));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}});var 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((chunk4)=>({startTimestamp:chunk4[1],endTimestamp:chunk4[3],samples:chunk4[5],size:chunk4[7],bytesPerSample:chunk4[9]}));break}}}return ret},3:void 0},unstableResp3:!0}});var require_MADD2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers3();exports.default={IS_READ_ONLY:!1,parseCommand(parser,toAdd){parser.push("TS.MADD");for(let{key,timestamp,value:value6}of toAdd)parser.pushKey(key),parser.push(helpers_1.transformTimestampArgument(timestamp),value6.toString())},transformReply:void 0}});var require_MGET3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.parseFilterArgument=exports.parseLatestArgument=void 0;var helpers_1=require_helpers3();function parseLatestArgument(parser,latest){if(latest)parser.push("LATEST")}exports.parseLatestArgument=parseLatestArgument;function parseFilterArgument(parser,filter16){parser.push("FILTER"),parser.pushVariadic(filter16)}exports.parseFilterArgument=parseFilterArgument;exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,filter16,options){parser.push("TS.MGET"),parseLatestArgument(parser,options?.LATEST),parseFilterArgument(parser,filter16)},transformReply:{2(reply,_,typeMapping){return helpers_1.resp2MapToValue(reply,([,,sample])=>{return{sample:helpers_1.transformSampleReply[2](sample)}},typeMapping)},3(reply){return helpers_1.resp3MapToValue(reply,([,sample])=>{return{sample:helpers_1.transformSampleReply[3](sample)}})}}}});var require_MGET_WITHLABELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createTransformMGetLabelsReply=void 0;var MGET_1=require_MGET3(),helpers_1=require_helpers3();function createTransformMGetLabelsReply(){return{2(reply,_,typeMapping){return helpers_1.resp2MapToValue(reply,([,labels,sample])=>{return{labels:helpers_1.transformRESP2Labels(labels),sample:helpers_1.transformSampleReply[2](sample)}},typeMapping)},3(reply){return 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,filter16,options){parser.push("TS.MGET"),MGET_1.parseLatestArgument(parser,options?.LATEST),parser.push("WITHLABELS"),MGET_1.parseFilterArgument(parser,filter16)},transformReply:createTransformMGetLabelsReply()}});var require_MGET_SELECTED_LABELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var MGET_1=require_MGET3(),helpers_1=require_helpers3(),MGET_WITHLABELS_1=require_MGET_WITHLABELS();exports.default={IS_READ_ONLY:!0,parseCommand(parser,filter16,selectedLabels,options){parser.push("TS.MGET"),MGET_1.parseLatestArgument(parser,options?.LATEST),helpers_1.parseSelectedLabelsArguments(parser,selectedLabels),MGET_1.parseFilterArgument(parser,filter16)},transformReply:MGET_WITHLABELS_1.createTransformMGetLabelsReply()}});var 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_helpers3();exports.TIME_SERIES_BUCKET_TIMESTAMP={LOW:"-",MIDDLE:"~",END:"+"};function parseRangeArguments(parser,fromTimestamp,toTimestamp,options){if(parser.push(helpers_1.transformTimestampArgument(fromTimestamp),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(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",helpers_1.transformTimestampArgument(options.ALIGN));if(parser.push("AGGREGATION",options.AGGREGATION.type,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)}}}});var 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_helpers3(),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,groupBy2){parser.push("GROUPBY",groupBy2.label,"REDUCE",groupBy2.REDUCE)}exports.parseGroupByArguments=parseGroupByArguments;function createTransformMRangeGroupByArguments(command){return(parser,fromTimestamp,toTimestamp,filter16,groupBy2,options)=>{parser.push(command),RANGE_1.parseRangeArguments(parser,fromTimestamp,toTimestamp,options),MGET_1.parseFilterArgument(parser,filter16),parseGroupByArguments(parser,groupBy2)}}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 helpers_1.resp2MapToValue(reply,([_key,_labels,samples])=>{return{samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return helpers_1.resp3MapToValue(reply,([_labels,_metadata1,metadata2,samples])=>{return{sources:extractResp3MRangeSources(metadata2),samples:helpers_1.transformSamplesReply[3](samples)}})}}}});var require_MRANGE_SELECTED_LABELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createTransformMRangeSelectedLabelsArguments=void 0;var helpers_1=require_helpers3(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();function createTransformMRangeSelectedLabelsArguments(command){return(parser,fromTimestamp,toTimestamp,selectedLabels,filter16,options)=>{parser.push(command),RANGE_1.parseRangeArguments(parser,fromTimestamp,toTimestamp,options),helpers_1.parseSelectedLabelsArguments(parser,selectedLabels),MGET_1.parseFilterArgument(parser,filter16)}}exports.createTransformMRangeSelectedLabelsArguments=createTransformMRangeSelectedLabelsArguments;exports.default={IS_READ_ONLY:!0,parseCommand:createTransformMRangeSelectedLabelsArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return helpers_1.resp2MapToValue(reply,([_key,labels,samples])=>{return{labels:helpers_1.transformRESP2Labels(labels,typeMapping),samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return helpers_1.resp3MapToValue(reply,([_key,labels,samples])=>{return{labels,samples:helpers_1.transformSamplesReply[3](samples)}})}}}});var 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_helpers3(),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,filter16,groupBy2,options)=>{parser.push(command),RANGE_1.parseRangeArguments(parser,fromTimestamp,toTimestamp,options),helpers_1.parseSelectedLabelsArguments(parser,selectedLabels),MGET_1.parseFilterArgument(parser,filter16),MRANGE_GROUPBY_1.parseGroupByArguments(parser,groupBy2)}}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 helpers_1.resp3MapToValue(reply,([labels,_metadata,metadata2,samples])=>{return{labels,sources:MRANGE_GROUPBY_1.extractResp3MRangeSources(metadata2),samples:helpers_1.transformSamplesReply[3](samples)}})}}}});var require_MRANGE_WITHLABELS_GROUPBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createMRangeWithLabelsGroupByTransformArguments=void 0;var helpers_1=require_helpers3(),RANGE_1=require_RANGE(),MRANGE_GROUPBY_1=require_MRANGE_GROUPBY(),MGET_1=require_MGET3();function createMRangeWithLabelsGroupByTransformArguments(command){return(parser,fromTimestamp,toTimestamp,filter16,groupBy2,options)=>{parser.push(command),RANGE_1.parseRangeArguments(parser,fromTimestamp,toTimestamp,options),parser.push("WITHLABELS"),MGET_1.parseFilterArgument(parser,filter16),MRANGE_GROUPBY_1.parseGroupByArguments(parser,groupBy2)}}exports.createMRangeWithLabelsGroupByTransformArguments=createMRangeWithLabelsGroupByTransformArguments;exports.default={IS_READ_ONLY:!0,parseCommand:createMRangeWithLabelsGroupByTransformArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return helpers_1.resp2MapToValue(reply,([_key,labels,samples])=>{let transformed=helpers_1.transformRESP2LabelsWithSources(labels);return{labels:transformed.labels,sources:transformed.sources,samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return helpers_1.resp3MapToValue(reply,([labels,_metadata,metadata2,samples])=>{return{labels,sources:MRANGE_GROUPBY_1.extractResp3MRangeSources(metadata2),samples:helpers_1.transformSamplesReply[3](samples)}})}}}});var require_MRANGE_WITHLABELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createTransformMRangeWithLabelsArguments=void 0;var helpers_1=require_helpers3(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();function createTransformMRangeWithLabelsArguments(command){return(parser,fromTimestamp,toTimestamp,filter16,options)=>{parser.push(command),RANGE_1.parseRangeArguments(parser,fromTimestamp,toTimestamp,options),parser.push("WITHLABELS"),MGET_1.parseFilterArgument(parser,filter16)}}exports.createTransformMRangeWithLabelsArguments=createTransformMRangeWithLabelsArguments;exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:createTransformMRangeWithLabelsArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return helpers_1.resp2MapToValue(reply,([_key,labels,samples])=>{let unwrappedLabels=labels,labelsObject=Object.create(null);for(let tuple4 of unwrappedLabels){let[key,value6]=tuple4,unwrappedKey=key;labelsObject[unwrappedKey.toString()]=value6}return{labels:labelsObject,samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return helpers_1.resp3MapToValue(reply,([labels,_metadata,samples])=>{return{labels,samples:helpers_1.transformSamplesReply[3](samples)}})}}}});var require_MRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createTransformMRangeArguments=void 0;var helpers_1=require_helpers3(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();function createTransformMRangeArguments(command){return(parser,fromTimestamp,toTimestamp,filter16,options)=>{parser.push(command),RANGE_1.parseRangeArguments(parser,fromTimestamp,toTimestamp,options),MGET_1.parseFilterArgument(parser,filter16)}}exports.createTransformMRangeArguments=createTransformMRangeArguments;exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:createTransformMRangeArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return helpers_1.resp2MapToValue(reply,([_key,_labels,samples])=>{return helpers_1.transformSamplesReply[2](samples)},typeMapping)},3(reply){return helpers_1.resp3MapToValue(reply,([_labels,_metadata,samples])=>{return helpers_1.transformSamplesReply[3](samples)})}}}});var 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:MRANGE_GROUPBY_1.createTransformMRangeGroupByArguments("TS.MREVRANGE"),transformReply:MRANGE_GROUPBY_1.default.transformReply}});var 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:MRANGE_SELECTED_LABELS_GROUPBY_1.createMRangeSelectedLabelsGroupByTransformArguments("TS.MREVRANGE"),transformReply:MRANGE_SELECTED_LABELS_GROUPBY_1.default.transformReply}});var 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:MRANGE_SELECTED_LABELS_1.createTransformMRangeSelectedLabelsArguments("TS.MREVRANGE"),transformReply:MRANGE_SELECTED_LABELS_1.default.transformReply}});var 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:MRANGE_WITHLABELS_GROUPBY_1.createMRangeWithLabelsGroupByTransformArguments("TS.MREVRANGE"),transformReply:MRANGE_WITHLABELS_GROUPBY_1.default.transformReply}});var 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:MRANGE_WITHLABELS_1.createTransformMRangeWithLabelsArguments("TS.MREVRANGE"),transformReply:MRANGE_WITHLABELS_1.default.transformReply}});var 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:MRANGE_1.createTransformMRangeArguments("TS.MREVRANGE"),transformReply:MRANGE_1.default.transformReply}});var require_QUERYINDEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,filter16){parser.push("TS.QUERYINDEX"),parser.pushVariadic(filter16)},transformReply:{2:void 0,3:void 0}}});var 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"),RANGE_1.transformRangeArguments(...args2)},transformReply:RANGE_1.default.transformReply}});var 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_helpers3(),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}});var 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}})});var 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.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 client_1.createClient({...options,modules:{...modules,...options?.modules}})}exports.createClient=createClient;function createCluster(options){return client_1.createCluster({...options,modules:{...modules,...options?.modules}})}exports.createCluster=createCluster;function createSentinel(options){return client_1.createSentinel({...options,modules:{...modules,...options?.modules}})}exports.createSentinel=createSentinel});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 new 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)))),Date2=mapInput(number,(date)=>date.getTime());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)=>Object.assign({},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)=>Object.assign({},a,{[name]:b}))));var moduleVersion="3.15.4",getCurrentVersion=()=>moduleVersion;var globalStoreId=`effect/GlobalValue/globalStoreId/${getCurrentVersion()}`,globalStore,globalValue=(id,compute)=>{if(!globalStore)globalThis[globalStoreId]??=new Map,globalStore=globalThis[globalStoreId];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,isUndefined=(input)=>input===void 0;var isNever=(_)=>!1;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,isNotNullable=(input)=>input!==null&&input!==void 0;var isDate=(input)=>input instanceof Date,isIterable=(input)=>hasProperty(input,Symbol.iterator),isRecord=(input)=>isRecordOrArray(input)&&!Array.isArray(input);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 new 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(()=>new 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)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 new 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)return self.toISOString()===that.toISOString();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)},format=(x)=>JSON.stringify(x,null,2),BaseProto={toJSON(){return toJSON(this)},[NodeInspectSymbol](){return this.toJSON()},toString(){return format(this.toJSON())}};var toStringUnknown=(u,whitespace=2)=>{if(typeof u==="string")return u;try{return typeof u==="object"?stringifyCircular(u,whitespace):String(u)}catch{return String(u)}},stringifyCircular=(obj,whitespace)=>{let cache=[],retVal=JSON.stringify(obj,(_key,value)=>typeof value==="object"&&value!==null?cache.includes(value)?void 0:cache.push(value)&&(redactableState.fiberRefs!==void 0&&isRedactable(value)?value[symbolRedactable](redactableState.fiberRefs):value):value,whitespace);return cache=void 0,retVal},symbolRedactable=Symbol.for("effect/Inspectable/Redactable"),isRedactable=(u)=>typeof u==="object"&&u!==null&&(symbolRedactable in u),redactableState=globalValue("effect/Inspectable/redactableState",()=>({fiberRefs:void 0})),withRedactableContext=(context,f)=>{let prev=redactableState.fiberRefs;redactableState.fiberRefs=context;try{return f()}finally{redactableState.fiberRefs=prev}},redact=(u)=>{if(isRedactable(u)&&redactableState.fiberRefs!==void 0)return u[symbolRedactable](redactableState.fiberRefs);return u};var pipeArguments=(self,args)=>{switch(args.length){case 0:return self;case 1:return args[0](self);case 2:return args[1](args[0](self));case 3:return args[2](args[1](args[0](self)));case 4:return args[3](args[2](args[1](args[0](self))));case 5:return args[4](args[3](args[2](args[1](args[0](self)))));case 6:return args[5](args[4](args[3](args[2](args[1](args[0](self))))));case 7:return args[6](args[5](args[4](args[3](args[2](args[1](args[0](self)))))));case 8:return args[7](args[6](args[5](args[4](args[3](args[2](args[1](args[0](self))))))));case 9:return args[8](args[7](args[6](args[5](args[4](args[3](args[2](args[1](args[0](self)))))))));default:{let ret=self;for(let i=0,len=args.length;i<len;i++)ret=args[i](ret);return ret}}};var OP_ASYNC="Async",OP_COMMIT="Commit",OP_FAILURE="Failure",OP_ON_FAILURE="OnFailure",OP_ON_SUCCESS="OnSuccess",OP_ON_SUCCESS_AND_FAILURE="OnSuccessAndFailure",OP_SUCCESS="Success",OP_SYNC="Sync",OP_TAG="Tag",OP_UPDATE_RUNTIME_FLAGS="UpdateRuntimeFlags",OP_WHILE="While",OP_ITERATOR="Iterator",OP_WITH_RUNTIME="WithRuntime",OP_YIELD="Yield",OP_REVERT_FLAGS="RevertFlags";var EffectTypeId=Symbol.for("effect/Effect"),StreamTypeId=Symbol.for("effect/Stream"),SinkTypeId=Symbol.for("effect/Sink"),ChannelTypeId=Symbol.for("effect/Channel"),effectVariance={_R:(_)=>_,_E:(_)=>_,_A:(_)=>_,_V:getCurrentVersion()},sinkVariance={_A:(_)=>_,_In:(_)=>_,_L:(_)=>_,_E:(_)=>_,_R:(_)=>_},channelVariance={_Env:(_)=>_,_InErr:(_)=>_,_InElem:(_)=>_,_InDone:(_)=>_,_OutErr:(_)=>_,_OutElem:(_)=>_,_OutDone:(_)=>_},EffectPrototype={[EffectTypeId]:effectVariance,[StreamTypeId]:effectVariance,[SinkTypeId]:sinkVariance,[ChannelTypeId]:channelVariance,[symbol2](that){return this===that},[symbol](){return cached(this,random(this))},[Symbol.iterator](){return new SingleShotGen(new YieldWrap(this))},pipe(){return pipeArguments(this,arguments)}},StructuralPrototype={[symbol](){return cached(this,structure(this))},[symbol2](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)&&equals(this[key],that[key])))return!1;return!0}},CommitPrototype={...EffectPrototype,_op:OP_COMMIT},StructuralCommitPrototype={...CommitPrototype,...StructuralPrototype},Base=function(){function Base2(){}return Base2.prototype=CommitPrototype,Base2}();var TypeId=Symbol.for("effect/Option"),CommonProto={...EffectPrototype,[TypeId]:{_A:(_)=>_},[NodeInspectSymbol](){return this.toJSON()},toString(){return format(this.toJSON())}},SomeProto=Object.assign(Object.create(CommonProto),{_tag:"Some",_op:"Some",[symbol2](that){return isOption(that)&&isSome(that)&&equals(this.value,that.value)},[symbol](){return cached(this,combine(hash(this._tag))(hash(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:toJSON(this.value)}}}),NoneHash=hash("None"),NoneProto=Object.assign(Object.create(CommonProto),{_tag:"None",_op:"None",[symbol2](that){return isOption(that)&&isNone(that)},[symbol](){return NoneHash},toJSON(){return{_id:"Option",_tag:this._tag}}}),isOption=(input)=>hasProperty(input,TypeId),isNone=(fa)=>fa._tag==="None",isSome=(fa)=>fa._tag==="Some",none=Object.create(NoneProto),some=(value)=>{let a=Object.create(SomeProto);return a.value=value,a};var TypeId2=Symbol.for("effect/Either"),CommonProto2={...EffectPrototype,[TypeId2]:{_R:(_)=>_},[NodeInspectSymbol](){return this.toJSON()},toString(){return format(this.toJSON())}},RightProto=Object.assign(Object.create(CommonProto2),{_tag:"Right",_op:"Right",[symbol2](that){return isEither(that)&&isRight(that)&&equals(this.right,that.right)},[symbol](){return combine(hash(this._tag))(hash(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:toJSON(this.right)}}}),LeftProto=Object.assign(Object.create(CommonProto2),{_tag:"Left",_op:"Left",[symbol2](that){return isEither(that)&&isLeft(that)&&equals(this.left,that.left)},[symbol](){return combine(hash(this._tag))(hash(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:toJSON(this.left)}}}),isEither=(input)=>hasProperty(input,TypeId2),isLeft=(ma)=>ma._tag==="Left",isRight=(ma)=>ma._tag==="Right",left=(left2)=>{let a=Object.create(LeftProto);return a.left=left2,a},right=(right2)=>{let a=Object.create(RightProto);return a.right=right2,a};var right2=right;var left2=left;var isEither2=isEither,isLeft2=isLeft,isRight2=isRight;var mapLeft=dual(2,(self,f)=>isLeft2(self)?left2(f(self.left)):right2(self.right)),map=dual(2,(self,f)=>isRight2(self)?right2(f(self.right)):left2(self.left)),match=dual(2,(self,{onLeft,onRight})=>isLeft2(self)?onLeft(self.left):onRight(self.right));var merge=match({onLeft:identity,onRight:identity});var getOrThrowWith=dual(2,(self,onLeft)=>{if(isRight2(self))return self.right;throw onLeft(self.left)}),getOrThrow=getOrThrowWith(()=>new Error("getOrThrow called on a Left"));var isNonEmptyArray=(self)=>self.length>0;var make2=(compare)=>(self,that)=>self===that?0:compare(self,that);var number3=make2((self,that)=>self<that?-1:1);var mapInput2=dual(2,(self,f)=>make2((b1,b2)=>self(f(b1),f(b2))));var greaterThan=(O)=>dual(2,(self,that)=>O(self,that)===1);var none2=()=>none,some2=some;var isNone2=isNone,isSome2=isSome,match2=dual(2,(self,{onNone,onSome})=>isNone2(self)?onNone():onSome(self.value));var getOrElse=dual(2,(self,onNone)=>isNone2(self)?onNone():self.value),orElse=dual(2,(self,that)=>isNone2(self)?that():self),orElseSome=dual(2,(self,onNone)=>isNone2(self)?some2(onNone()):self);var fromNullable=(nullableValue)=>nullableValue==null?none2():some2(nullableValue);var getOrUndefined=getOrElse(constUndefined),liftThrowable=(f)=>(...a)=>{try{return some2(f(...a))}catch{return none2()}},getOrThrowWith2=dual(2,(self,onNone)=>{if(isSome2(self))return self.value;throw onNone()}),getOrThrow2=getOrThrowWith2(()=>new Error("getOrThrow called on a None")),map2=dual(2,(self,f)=>isNone2(self)?none2():some2(f(self.value)));var flatMap=dual(2,(self,f)=>isNone2(self)?none2():f(self.value));var flatMapNullable=dual(2,(self,f)=>isNone2(self)?none2():fromNullable(f(self.value)));var containsWith=(isEquivalent)=>dual(2,(self,a)=>isNone2(self)?!1:isEquivalent(self.value,a)),_equivalence=equivalence(),contains=containsWith(_equivalence),exists=dual(2,(self,refinement)=>isNone2(self)?!1:refinement(self.value));var mergeWith=(f)=>(o1,o2)=>{if(isNone2(o1))return o2;else if(isNone2(o2))return o1;return some2(f(o1.value,o2.value))};var make3=(...elements)=>elements;var unsafeHead=(self)=>{let result=self[Symbol.iterator]().next();if(result.done)throw new Error("unsafeHead: empty iterable");return result.value};var constEmpty={[Symbol.iterator](){return constEmptyIterator}},constEmptyIterator={next(){return{done:!0,value:void 0}}},empty=()=>constEmpty;var allocate=(n)=>new Array(n),makeBy=dual(2,(n,f)=>{let max2=Math.max(1,Math.floor(n)),out=new Array(max2);for(let i=0;i<max2;i++)out[i]=f(i);return out});var fromIterable=(collection)=>Array.isArray(collection)?collection:Array.from(collection),ensure=(self)=>Array.isArray(self)?self:[self];var matchLeft=dual(2,(self,{onEmpty,onNonEmpty})=>isNonEmptyReadonlyArray(self)?onNonEmpty(headNonEmpty(self),tailNonEmpty(self)):onEmpty());var prepend=dual(2,(self,head)=>[head,...self]);var append=dual(2,(self,last)=>[...self,last]),appendAll=dual(2,(self,that)=>fromIterable(self).concat(fromIterable(that)));var isArray=Array.isArray,isEmptyArray=(self)=>self.length===0,isEmptyReadonlyArray=isEmptyArray,isNonEmptyArray2=isNonEmptyArray,isNonEmptyReadonlyArray=isNonEmptyArray;var isOutOfBounds=(i,as)=>i<0||i>=as.length,clamp=(i,as)=>Math.floor(Math.min(Math.max(0,i),as.length)),get=dual(2,(self,index)=>{let i=Math.floor(index);return isOutOfBounds(i,self)?none2():some2(self[i])}),unsafeGet=dual(2,(self,index)=>{let i=Math.floor(index);if(isOutOfBounds(i,self))throw new Error(`Index ${i} out of bounds`);return self[i]});var head=get(0),headNonEmpty=unsafeGet(0),last=(self)=>isNonEmptyReadonlyArray(self)?some2(lastNonEmpty(self)):none2(),lastNonEmpty=(self)=>self[self.length-1];var tailNonEmpty=(self)=>self.slice(1);var spanIndex=(self,predicate)=>{let i=0;for(let a of self){if(!predicate(a,i))break;i++}return i},span=dual(2,(self,predicate)=>splitAt(self,spanIndex(self,predicate))),drop=dual(2,(self,n)=>{let input=fromIterable(self);return input.slice(clamp(n,input),input.length)});var reverse=(self)=>Array.from(self).reverse(),sort=dual(2,(self,O)=>{let out=Array.from(self);return out.sort(O),out});var zip=dual(2,(self,that)=>zipWith(self,that,make3)),zipWith=dual(3,(self,that,f)=>{let as=fromIterable(self),bs=fromIterable(that);if(isNonEmptyReadonlyArray(as)&&isNonEmptyReadonlyArray(bs)){let out=[f(headNonEmpty(as),headNonEmpty(bs))],len=Math.min(as.length,bs.length);for(let i=1;i<len;i++)out[i]=f(as[i],bs[i]);return out}return[]});var _equivalence2=equivalence();var splitAt=dual(2,(self,n)=>{let input=Array.from(self),_n=Math.floor(n);if(isNonEmptyReadonlyArray(input)){if(_n>=1)return splitNonEmptyAt(input,_n);return[[],input]}return[input,[]]}),splitNonEmptyAt=dual(2,(self,n)=>{let _n=Math.max(1,Math.floor(n));return _n>=self.length?[copy(self),[]]:[prepend(self.slice(1,_n),headNonEmpty(self)),self.slice(_n)]});var copy=(self)=>self.slice();var unionWith=dual(3,(self,that,isEquivalent)=>{let a=fromIterable(self),b=fromIterable(that);if(isNonEmptyReadonlyArray(a)){if(isNonEmptyReadonlyArray(b))return dedupeWith(isEquivalent)(appendAll(a,b));return a}return b}),union=dual(2,(self,that)=>unionWith(self,that,_equivalence2));var empty2=()=>[],of=(a)=>[a],map3=dual(2,(self,f)=>self.map(f)),flatMap2=dual(2,(self,f)=>{if(isEmptyReadonlyArray(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}),flatten=flatMap2(identity),filterMap=dual(2,(self,f)=>{let as=fromIterable(self),out=[];for(let i=0;i<as.length;i++){let o=f(as[i],i);if(isSome2(o))out.push(o.value)}return out});var partitionMap=dual(2,(self,f)=>{let left3=[],right3=[],as=fromIterable(self);for(let i=0;i<as.length;i++){let e=f(as[i],i);if(isLeft2(e))left3.push(e.left);else right3.push(e.right)}return[left3,right3]}),getSomes=filterMap(identity);var reduce=dual(3,(self,b,f)=>fromIterable(self).reduce((b2,a,i)=>f(b2,a,i),b)),reduceRight=dual(3,(self,b,f)=>fromIterable(self).reduceRight((b2,a,i)=>f(b2,a,i),b));var every=dual(2,(self,refinement)=>self.every(refinement));var unfold=(b,f)=>{let out=[],next=b,o;while(isSome2(o=f(next))){let[a,b2]=o.value;out.push(a),next=b2}return out};var getEquivalence=array;var dedupeWith=dual(2,(self,isEquivalent)=>{let input=fromIterable(self);if(isNonEmptyReadonlyArray(input)){let out=[headNonEmpty(input)],rest=tailNonEmpty(input);for(let r of rest)if(out.every((a)=>!isEquivalent(r,a)))out.push(r);return out}return[]}),dedupe=(self)=>dedupeWith(self,equivalence());var join=dual(2,(self,sep)=>fromIterable(self).join(sep));var getKeysForIndexSignature=(input,parameter)=>{switch(parameter._tag){case"StringKeyword":case"TemplateLiteral":return Object.keys(input);case"SymbolKeyword":return Object.getOwnPropertySymbols(input);case"Refinement":return getKeysForIndexSignature(input,parameter.from)}},ownKeys=(o)=>Object.keys(o).concat(Object.getOwnPropertySymbols(o)),memoizeThunk=(f)=>{let done=!1,a;return()=>{if(done)return a;return a=f(),done=!0,a}},formatDate=(date)=>{try{return date.toISOString()}catch{return String(date)}},formatUnknown=(u,checkCircular=!0)=>{if(Array.isArray(u))return`[${u.map((i)=>formatUnknown(i,checkCircular)).join(",")}]`;if(isDate(u))return formatDate(u);if(hasProperty(u,"toString")&&isFunction2(u.toString)&&u.toString!==Object.prototype.toString)return u.toString();if(isString(u))return JSON.stringify(u);if(isNumber(u)||u==null||isBoolean(u)||isSymbol(u))return String(u);if(isBigInt(u))return String(u)+"n";if(isIterable(u))return`${u.constructor.name}(${formatUnknown(Array.from(u),checkCircular)})`;try{if(checkCircular)JSON.stringify(u);let pojo=`{${ownKeys(u).map((k)=>`${isString(k)?JSON.stringify(k):String(k)}:${formatUnknown(u[k],!1)}`).join(",")}}`,name=u.constructor.name;return u.constructor!==Object.prototype.constructor?`${name}(${pojo})`:pojo}catch{return"<circular structure>"}},formatPropertyKey=(name)=>typeof name==="string"?JSON.stringify(name):String(name),isNonEmpty=(x)=>Array.isArray(x),isSingle=(x)=>!Array.isArray(x),formatPathKey=(key)=>`[${formatPropertyKey(key)}]`,formatPath=(path)=>isNonEmpty(path)?path.map(formatPathKey).join(""):formatPathKey(path);var getErrorMessage=(reason,details,path,ast)=>{let out=reason;if(path&&isNonEmptyReadonlyArray(path))out+=`
|
|
1
|
+
import{createRequire}from"node:module";var __create=Object.create;var{getPrototypeOf:__getProtoOf,defineProperty:__defProp,getOwnPropertyNames:__getOwnPropNames}=Object;var __hasOwnProp=Object.prototype.hasOwnProperty;var __toESM=(mod,isNodeMode,target)=>{target=mod!=null?__create(__getProtoOf(mod)):{};let to=isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target;for(let key of __getOwnPropNames(mod))if(!__hasOwnProp.call(to,key))__defProp(to,key,{get:()=>mod[key],enumerable:!0});return to};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_verbatim_string=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.VerbatimString=void 0;class VerbatimString extends String{format;constructor(format6,value6){super(value6);this.format=format6}}exports.VerbatimString=VerbatimString});var require_errors=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.MultiErrorReply=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(timeout4){super(`Socket timeout timeout. Expecting data, but didn't receive any in ${timeout4}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{constructor(message){super(message);this.stack=void 0}}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 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});var 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(chunk4){if(this.#cursor>=chunk4.length){this.#cursor-=chunk4.length;return}if(this.#next){if(this.#next(chunk4)||this.#cursor>=chunk4.length){this.#cursor-=chunk4.length;return}}do{let type2=chunk4[this.#cursor];if(++this.#cursor===chunk4.length){this.#next=this.#continueDecodeTypeValue.bind(this,type2);break}if(this.#decodeTypeValue(type2,chunk4))break}while(this.#cursor<chunk4.length);this.#cursor-=chunk4.length}#continueDecodeTypeValue(type2,chunk4){return this.#next=void 0,this.#decodeTypeValue(type2,chunk4)}#decodeTypeValue(type2,chunk4){switch(type2){case exports.RESP_TYPES.NULL:return this.onReply(this.#decodeNull()),!1;case exports.RESP_TYPES.BOOLEAN:return this.#handleDecodedValue(this.onReply,this.#decodeBoolean(chunk4));case exports.RESP_TYPES.NUMBER:return this.#handleDecodedValue(this.onReply,this.#decodeNumber(this.getTypeMapping()[exports.RESP_TYPES.NUMBER],chunk4));case exports.RESP_TYPES.BIG_NUMBER:return this.#handleDecodedValue(this.onReply,this.#decodeBigNumber(this.getTypeMapping()[exports.RESP_TYPES.BIG_NUMBER],chunk4));case exports.RESP_TYPES.DOUBLE:return this.#handleDecodedValue(this.onReply,this.#decodeDouble(this.getTypeMapping()[exports.RESP_TYPES.DOUBLE],chunk4));case exports.RESP_TYPES.SIMPLE_STRING:return this.#handleDecodedValue(this.onReply,this.#decodeSimpleString(this.getTypeMapping()[exports.RESP_TYPES.SIMPLE_STRING],chunk4));case exports.RESP_TYPES.BLOB_STRING:return this.#handleDecodedValue(this.onReply,this.#decodeBlobString(this.getTypeMapping()[exports.RESP_TYPES.BLOB_STRING],chunk4));case exports.RESP_TYPES.VERBATIM_STRING:return this.#handleDecodedValue(this.onReply,this.#decodeVerbatimString(this.getTypeMapping()[exports.RESP_TYPES.VERBATIM_STRING],chunk4));case exports.RESP_TYPES.SIMPLE_ERROR:return this.#handleDecodedValue(this.onErrorReply,this.#decodeSimpleError(chunk4));case exports.RESP_TYPES.BLOB_ERROR:return this.#handleDecodedValue(this.onErrorReply,this.#decodeBlobError(chunk4));case exports.RESP_TYPES.ARRAY:return this.#handleDecodedValue(this.onReply,this.#decodeArray(this.getTypeMapping(),chunk4));case exports.RESP_TYPES.SET:return this.#handleDecodedValue(this.onReply,this.#decodeSet(this.getTypeMapping(),chunk4));case exports.RESP_TYPES.MAP:return this.#handleDecodedValue(this.onReply,this.#decodeMap(this.getTypeMapping(),chunk4));case exports.RESP_TYPES.PUSH:return this.#handleDecodedValue(this.onPush,this.#decodeArray(exports.PUSH_TYPE_MAPPING,chunk4));default:throw new Error(`Unknown RESP type ${type2} "${String.fromCharCode(type2)}"`)}}#handleDecodedValue(cb,value6){if(typeof value6==="function")return this.#next=this.#continueDecodeValue.bind(this,cb,value6),!0;return cb(value6),!1}#continueDecodeValue(cb,next5,chunk4){return this.#next=void 0,this.#handleDecodedValue(cb,next5(chunk4))}#decodeNull(){return this.#cursor+=2,null}#decodeBoolean(chunk4){let boolean4=chunk4[this.#cursor]===ASCII.t;return this.#cursor+=3,boolean4}#decodeNumber(type2,chunk4){if(type2===String)return this.#decodeSimpleString(String,chunk4);switch(chunk4[this.#cursor]){case ASCII["+"]:return this.#maybeDecodeNumberValue(!1,chunk4);case ASCII["-"]:return this.#maybeDecodeNumberValue(!0,chunk4);default:return this.#decodeNumberValue(!1,this.#decodeUnsingedNumber.bind(this,0),chunk4)}}#maybeDecodeNumberValue(isNegative2,chunk4){let cb=this.#decodeUnsingedNumber.bind(this,0);return++this.#cursor===chunk4.length?this.#decodeNumberValue.bind(this,isNegative2,cb):this.#decodeNumberValue(isNegative2,cb,chunk4)}#decodeNumberValue(isNegative2,numberCb,chunk4){let number5=numberCb(chunk4);return typeof number5==="function"?this.#decodeNumberValue.bind(this,isNegative2,number5):isNegative2?-number5:number5}#decodeUnsingedNumber(number5,chunk4){let cursor=this.#cursor;do{let byte=chunk4[cursor];if(byte===ASCII["\r"])return this.#cursor=cursor+2,number5;number5=number5*10+byte-ASCII["0"]}while(++cursor<chunk4.length);return this.#cursor=cursor,this.#decodeUnsingedNumber.bind(this,number5)}#decodeBigNumber(type2,chunk4){if(type2===String)return this.#decodeSimpleString(String,chunk4);switch(chunk4[this.#cursor]){case ASCII["+"]:return this.#maybeDecodeBigNumberValue(!1,chunk4);case ASCII["-"]:return this.#maybeDecodeBigNumberValue(!0,chunk4);default:return this.#decodeBigNumberValue(!1,this.#decodeUnsingedBigNumber.bind(this,0n),chunk4)}}#maybeDecodeBigNumberValue(isNegative2,chunk4){let cb=this.#decodeUnsingedBigNumber.bind(this,0n);return++this.#cursor===chunk4.length?this.#decodeBigNumberValue.bind(this,isNegative2,cb):this.#decodeBigNumberValue(isNegative2,cb,chunk4)}#decodeBigNumberValue(isNegative2,bigNumberCb,chunk4){let bigNumber=bigNumberCb(chunk4);return typeof bigNumber==="function"?this.#decodeBigNumberValue.bind(this,isNegative2,bigNumber):isNegative2?-bigNumber:bigNumber}#decodeUnsingedBigNumber(bigNumber,chunk4){let cursor=this.#cursor;do{let byte=chunk4[cursor];if(byte===ASCII["\r"])return this.#cursor=cursor+2,bigNumber;bigNumber=bigNumber*10n+BigInt(byte-ASCII["0"])}while(++cursor<chunk4.length);return this.#cursor=cursor,this.#decodeUnsingedBigNumber.bind(this,bigNumber)}#decodeDouble(type2,chunk4){if(type2===String)return this.#decodeSimpleString(String,chunk4);switch(chunk4[this.#cursor]){case ASCII.n:return this.#cursor+=5,NaN;case ASCII["+"]:return this.#maybeDecodeDoubleInteger(!1,chunk4);case ASCII["-"]:return this.#maybeDecodeDoubleInteger(!0,chunk4);default:return this.#decodeDoubleInteger(!1,0,chunk4)}}#maybeDecodeDoubleInteger(isNegative2,chunk4){return++this.#cursor===chunk4.length?this.#decodeDoubleInteger.bind(this,isNegative2,0):this.#decodeDoubleInteger(isNegative2,0,chunk4)}#decodeDoubleInteger(isNegative2,integer2,chunk4){if(chunk4[this.#cursor]===ASCII.i)return this.#cursor+=5,isNegative2?-1/0:1/0;return this.#continueDecodeDoubleInteger(isNegative2,integer2,chunk4)}#continueDecodeDoubleInteger(isNegative2,integer2,chunk4){let cursor=this.#cursor;do{let byte=chunk4[cursor];switch(byte){case ASCII["."]:return this.#cursor=cursor+1,this.#cursor<chunk4.length?this.#decodeDoubleDecimal(isNegative2,0,integer2,chunk4):this.#decodeDoubleDecimal.bind(this,isNegative2,0,integer2);case ASCII.E:case ASCII.e:this.#cursor=cursor+1;let i=isNegative2?-integer2:integer2;return this.#cursor<chunk4.length?this.#decodeDoubleExponent(i,chunk4):this.#decodeDoubleExponent.bind(this,i);case ASCII["\r"]:return this.#cursor=cursor+2,isNegative2?-integer2:integer2;default:integer2=integer2*10+byte-ASCII["0"]}}while(++cursor<chunk4.length);return this.#cursor=cursor,this.#continueDecodeDoubleInteger.bind(this,isNegative2,integer2)}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(isNegative2,decimalIndex,double,chunk4){let cursor=this.#cursor;do{let byte=chunk4[cursor];switch(byte){case ASCII.E:case ASCII.e:this.#cursor=cursor+1;let d=isNegative2?-double:double;return this.#cursor===chunk4.length?this.#decodeDoubleExponent.bind(this,d):this.#decodeDoubleExponent(d,chunk4);case ASCII["\r"]:return this.#cursor=cursor+2,isNegative2?-double:double}if(decimalIndex<_a.#DOUBLE_DECIMAL_MULTIPLIERS.length)double+=(byte-ASCII["0"])*_a.#DOUBLE_DECIMAL_MULTIPLIERS[decimalIndex++]}while(++cursor<chunk4.length);return this.#cursor=cursor,this.#decodeDoubleDecimal.bind(this,isNegative2,decimalIndex,double)}#decodeDoubleExponent(double,chunk4){switch(chunk4[this.#cursor]){case ASCII["+"]:return++this.#cursor===chunk4.length?this.#continueDecodeDoubleExponent.bind(this,!1,double,0):this.#continueDecodeDoubleExponent(!1,double,0,chunk4);case ASCII["-"]:return++this.#cursor===chunk4.length?this.#continueDecodeDoubleExponent.bind(this,!0,double,0):this.#continueDecodeDoubleExponent(!0,double,0,chunk4)}return this.#continueDecodeDoubleExponent(!1,double,0,chunk4)}#continueDecodeDoubleExponent(isNegative2,double,exponent,chunk4){let cursor=this.#cursor;do{let byte=chunk4[cursor];if(byte===ASCII["\r"])return this.#cursor=cursor+2,double*10**(isNegative2?-exponent:exponent);exponent=exponent*10+byte-ASCII["0"]}while(++cursor<chunk4.length);return this.#cursor=cursor,this.#continueDecodeDoubleExponent.bind(this,isNegative2,double,exponent)}#findCRLF(chunk4,cursor){while(chunk4[cursor]!==ASCII["\r"])if(++cursor===chunk4.length)return this.#cursor=chunk4.length,-1;return this.#cursor=cursor+2,cursor}#decodeSimpleString(type2,chunk4){let start5=this.#cursor,crlfIndex=this.#findCRLF(chunk4,start5);if(crlfIndex===-1)return this.#continueDecodeSimpleString.bind(this,[chunk4.subarray(start5)],type2);let slice=chunk4.subarray(start5,crlfIndex);return type2===Buffer?slice:slice.toString()}#continueDecodeSimpleString(chunks2,type2,chunk4){let start5=this.#cursor,crlfIndex=this.#findCRLF(chunk4,start5);if(crlfIndex===-1)return chunks2.push(chunk4.subarray(start5)),this.#continueDecodeSimpleString.bind(this,chunks2,type2);return chunks2.push(chunk4.subarray(start5,crlfIndex)),type2===Buffer?Buffer.concat(chunks2):chunks2.join("")}#decodeBlobString(type2,chunk4){if(chunk4[this.#cursor]===ASCII["-"])return this.#cursor+=4,null;let length3=this.#decodeUnsingedNumber(0,chunk4);if(typeof length3==="function")return this.#continueDecodeBlobStringLength.bind(this,length3,type2);else if(this.#cursor>=chunk4.length)return this.#decodeBlobStringWithLength.bind(this,length3,type2);return this.#decodeBlobStringWithLength(length3,type2,chunk4)}#continueDecodeBlobStringLength(lengthCb,type2,chunk4){let length3=lengthCb(chunk4);if(typeof length3==="function")return this.#continueDecodeBlobStringLength.bind(this,length3,type2);else if(this.#cursor>=chunk4.length)return this.#decodeBlobStringWithLength.bind(this,length3,type2);return this.#decodeBlobStringWithLength(length3,type2,chunk4)}#decodeStringWithLength(length3,skip,type2,chunk4){let end6=this.#cursor+length3;if(end6>=chunk4.length){let slice2=chunk4.subarray(this.#cursor);return this.#cursor=chunk4.length,this.#continueDecodeStringWithLength.bind(this,length3-slice2.length,[slice2],skip,type2)}let slice=chunk4.subarray(this.#cursor,end6);return this.#cursor=end6+skip,type2===Buffer?slice:slice.toString()}#continueDecodeStringWithLength(length3,chunks2,skip,type2,chunk4){let end6=this.#cursor+length3;if(end6>=chunk4.length){let slice=chunk4.subarray(this.#cursor);return chunks2.push(slice),this.#cursor=chunk4.length,this.#continueDecodeStringWithLength.bind(this,length3-slice.length,chunks2,skip,type2)}return chunks2.push(chunk4.subarray(this.#cursor,end6)),this.#cursor=end6+skip,type2===Buffer?Buffer.concat(chunks2):chunks2.join("")}#decodeBlobStringWithLength(length3,type2,chunk4){return this.#decodeStringWithLength(length3,2,type2,chunk4)}#decodeVerbatimString(type2,chunk4){return this.#continueDecodeVerbatimStringLength(this.#decodeUnsingedNumber.bind(this,0),type2,chunk4)}#continueDecodeVerbatimStringLength(lengthCb,type2,chunk4){let length3=lengthCb(chunk4);return typeof length3==="function"?this.#continueDecodeVerbatimStringLength.bind(this,length3,type2):this.#decodeVerbatimStringWithLength(length3,type2,chunk4)}#decodeVerbatimStringWithLength(length3,type2,chunk4){let stringLength=length3-4;if(type2===verbatim_string_1.VerbatimString)return this.#decodeVerbatimStringFormat(stringLength,chunk4);return this.#cursor+=4,this.#cursor>=chunk4.length?this.#decodeBlobStringWithLength.bind(this,stringLength,type2):this.#decodeBlobStringWithLength(stringLength,type2,chunk4)}#decodeVerbatimStringFormat(stringLength,chunk4){let formatCb=this.#decodeStringWithLength.bind(this,3,1,String);return this.#cursor>=chunk4.length?this.#continueDecodeVerbatimStringFormat.bind(this,stringLength,formatCb):this.#continueDecodeVerbatimStringFormat(stringLength,formatCb,chunk4)}#continueDecodeVerbatimStringFormat(stringLength,formatCb,chunk4){let format6=formatCb(chunk4);return typeof format6==="function"?this.#continueDecodeVerbatimStringFormat.bind(this,stringLength,format6):this.#decodeVerbatimStringWithFormat(stringLength,format6,chunk4)}#decodeVerbatimStringWithFormat(stringLength,format6,chunk4){return this.#continueDecodeVerbatimStringWithFormat(format6,this.#decodeBlobStringWithLength.bind(this,stringLength,String),chunk4)}#continueDecodeVerbatimStringWithFormat(format6,stringCb,chunk4){let string6=stringCb(chunk4);return typeof string6==="function"?this.#continueDecodeVerbatimStringWithFormat.bind(this,format6,string6):new verbatim_string_1.VerbatimString(format6,string6)}#decodeSimpleError(chunk4){let string6=this.#decodeSimpleString(String,chunk4);return typeof string6==="function"?this.#continueDecodeSimpleError.bind(this,string6):new errors_1.SimpleError(string6)}#continueDecodeSimpleError(stringCb,chunk4){let string6=stringCb(chunk4);return typeof string6==="function"?this.#continueDecodeSimpleError.bind(this,string6):new errors_1.SimpleError(string6)}#decodeBlobError(chunk4){let string6=this.#decodeBlobString(String,chunk4);return typeof string6==="function"?this.#continueDecodeBlobError.bind(this,string6):new errors_1.BlobError(string6)}#continueDecodeBlobError(stringCb,chunk4){let string6=stringCb(chunk4);return typeof string6==="function"?this.#continueDecodeBlobError.bind(this,string6):new errors_1.BlobError(string6)}#decodeNestedType(typeMapping,chunk4){let type2=chunk4[this.#cursor];return++this.#cursor===chunk4.length?this.#decodeNestedTypeValue.bind(this,type2,typeMapping):this.#decodeNestedTypeValue(type2,typeMapping,chunk4)}#decodeNestedTypeValue(type2,typeMapping,chunk4){switch(type2){case exports.RESP_TYPES.NULL:return this.#decodeNull();case exports.RESP_TYPES.BOOLEAN:return this.#decodeBoolean(chunk4);case exports.RESP_TYPES.NUMBER:return this.#decodeNumber(typeMapping[exports.RESP_TYPES.NUMBER],chunk4);case exports.RESP_TYPES.BIG_NUMBER:return this.#decodeBigNumber(typeMapping[exports.RESP_TYPES.BIG_NUMBER],chunk4);case exports.RESP_TYPES.DOUBLE:return this.#decodeDouble(typeMapping[exports.RESP_TYPES.DOUBLE],chunk4);case exports.RESP_TYPES.SIMPLE_STRING:return this.#decodeSimpleString(typeMapping[exports.RESP_TYPES.SIMPLE_STRING],chunk4);case exports.RESP_TYPES.BLOB_STRING:return this.#decodeBlobString(typeMapping[exports.RESP_TYPES.BLOB_STRING],chunk4);case exports.RESP_TYPES.VERBATIM_STRING:return this.#decodeVerbatimString(typeMapping[exports.RESP_TYPES.VERBATIM_STRING],chunk4);case exports.RESP_TYPES.SIMPLE_ERROR:return this.#decodeSimpleError(chunk4);case exports.RESP_TYPES.BLOB_ERROR:return this.#decodeBlobError(chunk4);case exports.RESP_TYPES.ARRAY:return this.#decodeArray(typeMapping,chunk4);case exports.RESP_TYPES.SET:return this.#decodeSet(typeMapping,chunk4);case exports.RESP_TYPES.MAP:return this.#decodeMap(typeMapping,chunk4);default:throw new Error(`Unknown RESP type ${type2} "${String.fromCharCode(type2)}"`)}}#decodeArray(typeMapping,chunk4){if(chunk4[this.#cursor]===ASCII["-"])return this.#cursor+=4,null;return this.#decodeArrayWithLength(this.#decodeUnsingedNumber(0,chunk4),typeMapping,chunk4)}#decodeArrayWithLength(length3,typeMapping,chunk4){return typeof length3==="function"?this.#continueDecodeArrayLength.bind(this,length3,typeMapping):this.#decodeArrayItems(new Array(length3),0,typeMapping,chunk4)}#continueDecodeArrayLength(lengthCb,typeMapping,chunk4){return this.#decodeArrayWithLength(lengthCb(chunk4),typeMapping,chunk4)}#decodeArrayItems(array7,filled,typeMapping,chunk4){for(let i=filled;i<array7.length;i++){if(this.#cursor>=chunk4.length)return this.#decodeArrayItems.bind(this,array7,i,typeMapping);let item=this.#decodeNestedType(typeMapping,chunk4);if(typeof item==="function")return this.#continueDecodeArrayItems.bind(this,array7,i,item,typeMapping);array7[i]=item}return array7}#continueDecodeArrayItems(array7,filled,itemCb,typeMapping,chunk4){let item=itemCb(chunk4);if(typeof item==="function")return this.#continueDecodeArrayItems.bind(this,array7,filled,item,typeMapping);return array7[filled++]=item,this.#decodeArrayItems(array7,filled,typeMapping,chunk4)}#decodeSet(typeMapping,chunk4){let length3=this.#decodeUnsingedNumber(0,chunk4);if(typeof length3==="function")return this.#continueDecodeSetLength.bind(this,length3,typeMapping);return this.#decodeSetItems(length3,typeMapping,chunk4)}#continueDecodeSetLength(lengthCb,typeMapping,chunk4){let length3=lengthCb(chunk4);return typeof length3==="function"?this.#continueDecodeSetLength.bind(this,length3,typeMapping):this.#decodeSetItems(length3,typeMapping,chunk4)}#decodeSetItems(length3,typeMapping,chunk4){return typeMapping[exports.RESP_TYPES.SET]===Set?this.#decodeSetAsSet(new Set,length3,typeMapping,chunk4):this.#decodeArrayItems(new Array(length3),0,typeMapping,chunk4)}#decodeSetAsSet(set15,remaining,typeMapping,chunk4){while(remaining>0){if(this.#cursor>=chunk4.length)return this.#decodeSetAsSet.bind(this,set15,remaining,typeMapping);let item=this.#decodeNestedType(typeMapping,chunk4);if(typeof item==="function")return this.#continueDecodeSetAsSet.bind(this,set15,remaining,item,typeMapping);set15.add(item),--remaining}return set15}#continueDecodeSetAsSet(set15,remaining,itemCb,typeMapping,chunk4){let item=itemCb(chunk4);if(typeof item==="function")return this.#continueDecodeSetAsSet.bind(this,set15,remaining,item,typeMapping);return set15.add(item),this.#decodeSetAsSet(set15,remaining-1,typeMapping,chunk4)}#decodeMap(typeMapping,chunk4){let length3=this.#decodeUnsingedNumber(0,chunk4);if(typeof length3==="function")return this.#continueDecodeMapLength.bind(this,length3,typeMapping);return this.#decodeMapItems(length3,typeMapping,chunk4)}#continueDecodeMapLength(lengthCb,typeMapping,chunk4){let length3=lengthCb(chunk4);return typeof length3==="function"?this.#continueDecodeMapLength.bind(this,length3,typeMapping):this.#decodeMapItems(length3,typeMapping,chunk4)}#decodeMapItems(length3,typeMapping,chunk4){switch(typeMapping[exports.RESP_TYPES.MAP]){case Map:return this.#decodeMapAsMap(new Map,length3,typeMapping,chunk4);case Array:return this.#decodeArrayItems(new Array(length3*2),0,typeMapping,chunk4);default:return this.#decodeMapAsObject(Object.create(null),length3,typeMapping,chunk4)}}#decodeMapAsMap(map31,remaining,typeMapping,chunk4){while(remaining>0){if(this.#cursor>=chunk4.length)return this.#decodeMapAsMap.bind(this,map31,remaining,typeMapping);let key=this.#decodeMapKey(typeMapping,chunk4);if(typeof key==="function")return this.#continueDecodeMapKey.bind(this,map31,remaining,key,typeMapping);if(this.#cursor>=chunk4.length)return this.#continueDecodeMapValue.bind(this,map31,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value6=this.#decodeNestedType(typeMapping,chunk4);if(typeof value6==="function")return this.#continueDecodeMapValue.bind(this,map31,remaining,key,value6,typeMapping);map31.set(key,value6),--remaining}return map31}#decodeMapKey(typeMapping,chunk4){let type2=chunk4[this.#cursor];return++this.#cursor===chunk4.length?this.#decodeMapKeyValue.bind(this,type2,typeMapping):this.#decodeMapKeyValue(type2,typeMapping,chunk4)}#decodeMapKeyValue(type2,typeMapping,chunk4){switch(type2){case exports.RESP_TYPES.SIMPLE_STRING:return this.#decodeSimpleString(String,chunk4);case exports.RESP_TYPES.BLOB_STRING:return this.#decodeBlobString(String,chunk4);default:return this.#decodeNestedTypeValue(type2,typeMapping,chunk4)}}#continueDecodeMapKey(map31,remaining,keyCb,typeMapping,chunk4){let key=keyCb(chunk4);if(typeof key==="function")return this.#continueDecodeMapKey.bind(this,map31,remaining,key,typeMapping);if(this.#cursor>=chunk4.length)return this.#continueDecodeMapValue.bind(this,map31,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value6=this.#decodeNestedType(typeMapping,chunk4);if(typeof value6==="function")return this.#continueDecodeMapValue.bind(this,map31,remaining,key,value6,typeMapping);return map31.set(key,value6),this.#decodeMapAsMap(map31,remaining-1,typeMapping,chunk4)}#continueDecodeMapValue(map31,remaining,key,valueCb,typeMapping,chunk4){let value6=valueCb(chunk4);if(typeof value6==="function")return this.#continueDecodeMapValue.bind(this,map31,remaining,key,value6,typeMapping);return map31.set(key,value6),this.#decodeMapAsMap(map31,remaining-1,typeMapping,chunk4)}#decodeMapAsObject(object,remaining,typeMapping,chunk4){while(remaining>0){if(this.#cursor>=chunk4.length)return this.#decodeMapAsObject.bind(this,object,remaining,typeMapping);let key=this.#decodeMapKey(typeMapping,chunk4);if(typeof key==="function")return this.#continueDecodeMapAsObjectKey.bind(this,object,remaining,key,typeMapping);if(this.#cursor>=chunk4.length)return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value6=this.#decodeNestedType(typeMapping,chunk4);if(typeof value6==="function")return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,value6,typeMapping);object[key]=value6,--remaining}return object}#continueDecodeMapAsObjectKey(object,remaining,keyCb,typeMapping,chunk4){let key=keyCb(chunk4);if(typeof key==="function")return this.#continueDecodeMapAsObjectKey.bind(this,object,remaining,key,typeMapping);if(this.#cursor>=chunk4.length)return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,this.#decodeNestedType.bind(this,typeMapping),typeMapping);let value6=this.#decodeNestedType(typeMapping,chunk4);if(typeof value6==="function")return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,value6,typeMapping);return object[key]=value6,this.#decodeMapAsObject(object,remaining-1,typeMapping,chunk4)}#continueDecodeMapAsObjectValue(object,remaining,key,valueCb,typeMapping,chunk4){let value6=valueCb(chunk4);if(typeof value6==="function")return this.#continueDecodeMapAsObjectValue.bind(this,object,remaining,key,value6,typeMapping);return object[key]=value6,this.#decodeMapAsObject(object,remaining-1,typeMapping,chunk4)}}exports.Decoder=Decoder;_a=Decoder});var require_lua_script=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.scriptSha1=exports.defineScript=void 0;var node_crypto_1=__require("node:crypto");function defineScript(script){return{...script,SHA1:scriptSha1(script.SCRIPT)}}exports.defineScript=defineScript;function scriptSha1(script){return node_crypto_1.createHash("sha1").update(script).digest("hex")}exports.scriptSha1=scriptSha1});var 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}});var 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}});var 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}});var 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}});var 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}}});var 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}});var 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}});var 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=new 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(keys9){if(Array.isArray(keys9))this.#redisArgs.push(keys9.length.toString());else this.#redisArgs.push("1");this.pushKeys(keys9)}pushKeys(keys9){if(Array.isArray(keys9))this.#keys.push(...keys9),this.#redisArgs.push(...keys9);else this.#keys.push(keys9),this.#redisArgs.push(keys9)}}exports.BasicCommandParser=BasicCommandParser});var require_generic_transformers=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});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 mapType2=typeMapping?typeMapping[decoder_1.RESP_TYPES.MAP]:void 0,inferred=reply;switch(mapType2){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[value6,score]=member;return{value:value6,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,value6){if(Array.isArray(value6))args2=args2.concat(value6);else args2.push(value6);return args2}exports.pushVariadicArguments=pushVariadicArguments;function pushVariadicNumberArguments(args2,value6){if(Array.isArray(value6))for(let item of value6)args2.push(item.toString());else args2.push(value6.toString());return args2}exports.pushVariadicNumberArguments=pushVariadicNumberArguments;function pushVariadicArgument(args2,value6){if(Array.isArray(value6))args2.push(value6.length.toString(),...value6);else args2.push("1",value6);return args2}exports.pushVariadicArgument=pushVariadicArgument;function parseOptionalVariadicArgument(parser,name,value6){if(value6===void 0)return;parser.push(name),parser.pushVariadicWithLength(value6)}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,range3){parser.push(range3.start.toString(),range3.end.toString())}function parseSlotRangesArguments(parser,ranges){if(Array.isArray(ranges))for(let range3 of ranges)parseSlotRangeArguments(parser,range3);else parseSlotRangeArguments(parser,ranges)}exports.parseSlotRangesArguments=parseSlotRangesArguments;function transformRangeReply([start5,end6]){return{start:start5,end:end6}}exports.transformRangeReply=transformRangeReply;function parseZKeysArguments(parser,keys9){if(Array.isArray(keys9)){if(parser.push(keys9.length.toString()),keys9.length)if(isPlainKeys(keys9))parser.pushKeys(keys9);else{for(let i=0;i<keys9.length;i++)parser.pushKey(keys9[i].key);parser.push("WEIGHTS");for(let i=0;i<keys9.length;i++)parser.push(transformDoubleArgument(keys9[i].weight))}}else if(parser.push("1"),isPlainKey(keys9))parser.pushKey(keys9);else parser.pushKey(keys9.key),parser.push("WEIGHTS",transformDoubleArgument(keys9.weight))}exports.parseZKeysArguments=parseZKeysArguments;function isPlainKey(key){return typeof key==="string"||key instanceof Buffer}function isPlainKeys(keys9){return isPlainKey(keys9[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]=reply;return{id:id2,message:transformTuplesReply(message,void 0,typeMapping)}}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});var 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,count5){if(parser.push("ACL","LOG"),count5!=null)parser.push(count5.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}}});var 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}});var 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}});var 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}});var 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}});var 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}});var require_APPEND=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,value6){parser.push("APPEND",key,value6)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var require_BITCOUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,range3){if(parser.push("BITCOUNT"),parser.pushKey(key),range3){if(parser.push(range3.start.toString()),parser.push(range3.end.toString()),range3.mode)parser.push(range3.mode)}},transformReply:void 0}});var 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}});var 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}});var 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}});var require_BITPOS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,bit,start5,end6,mode){if(parser.push("BITPOS"),parser.pushKey(key),parser.push(bit.toString()),start5!==void 0)parser.push(start5.toString());if(end6!==void 0)parser.push(end6.toString());if(mode)parser.push(mode)},transformReply:void 0}});var require_BLMOVE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,sourceSide,destinationSide,timeout4){parser.push("BLMOVE"),parser.pushKeys([source,destination]),parser.push(sourceSide,destinationSide,timeout4.toString())},transformReply:void 0}});var require_LMPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.parseLMPopArguments=void 0;function parseLMPopArguments(parser,keys9,side,options){if(parser.pushKeysLength(keys9),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}});var 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,timeout4,...args2){parser.push("BLMPOP",timeout4.toString()),LMPOP_1.parseLMPopArguments(parser,...args2)},transformReply:LMPOP_1.default.transformReply}});var require_BLPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,timeout4){parser.push("BLPOP"),parser.pushKeys(key),parser.push(timeout4.toString())},transformReply(reply){if(reply===null)return null;return{key:reply[0],element:reply[1]}}}});var 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,timeout4){parser.push("BRPOP"),parser.pushKeys(key),parser.push(timeout4.toString())},transformReply:BLPOP_1.default.transformReply}});var require_BRPOPLPUSH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,source,destination,timeout4){parser.push("BRPOPLPUSH"),parser.pushKeys([source,destination]),parser.push(timeout4.toString())},transformReply:void 0}});var require_ZMPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.parseZMPopArguments=void 0;var generic_transformers_1=require_generic_transformers();function parseZMPopArguments(parser,keys9,side,options){if(parser.pushKeysLength(keys9),parser.push(side),options?.COUNT)parser.push("COUNT",options.COUNT.toString())}exports.parseZMPopArguments=parseZMPopArguments;exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys9,side,options){parser.push("ZMPOP"),parseZMPopArguments(parser,keys9,side,options)},transformReply:{2(reply,preserve,typeMapping){return reply===null?null:{key:reply[0],members:reply[1].map((member)=>{let[value6,score]=member;return{value:value6,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])}}}}});var 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,timeout4,...args2){parser.push("BZMPOP",timeout4.toString()),ZMPOP_1.parseZMPopArguments(parser,...args2)},transformReply:ZMPOP_1.default.transformReply}});var 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,keys9,timeout4){parser.push("BZPOPMAX"),parser.pushKeys(keys9),parser.push(timeout4.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]}}}}});var 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,keys9,timeout4){parser.push("BZPOPMIN"),parser.pushKeys(keys9),parser.push(timeout4.toString())},transformReply:BZPOPMAX_1.default.transformReply}});var require_CLIENT_CACHING=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,value6){parser.push("CLIENT","CACHING",value6?"YES":"NO")},transformReply:void 0}});var 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}});var 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}});var 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}});var 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 map31={};for(let item of rawReply.toString().matchAll(CLIENT_INFO_REGEX))map31[item[1]]=item[2];let reply={id:Number(map31.id),addr:map31.addr,fd:Number(map31.fd),name:map31.name,age:Number(map31.age),idle:Number(map31.idle),flags:map31.flags,db:Number(map31.db),sub:Number(map31.sub),psub:Number(map31.psub),multi:Number(map31.multi),qbuf:Number(map31.qbuf),qbufFree:Number(map31["qbuf-free"]),argvMem:Number(map31["argv-mem"]),obl:Number(map31.obl),oll:Number(map31.oll),omem:Number(map31.omem),totMem:Number(map31["tot-mem"]),events:map31.events,cmd:map31.cmd,user:map31.user,libName:map31["lib-name"],libVer:map31["lib-ver"]};if(map31.laddr!==void 0)reply.laddr=map31.laddr;if(map31.redir!==void 0)reply.redir=Number(map31.redir);if(map31.ssub!==void 0)reply.ssub=Number(map31.ssub);if(map31["multi-mem"]!==void 0)reply.multiMem=Number(map31["multi-mem"]);if(map31.resp!==void 0)reply.resp=Number(map31.resp);return reply}}});var 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 filter16 of filters)pushFilter(parser,filter16);else pushFilter(parser,filters)},transformReply:void 0};function pushFilter(parser,filter16){if(filter16===exports.CLIENT_KILL_FILTERS.SKIP_ME){parser.push("SKIPME");return}switch(parser.push(filter16.filter),filter16.filter){case exports.CLIENT_KILL_FILTERS.ADDRESS:parser.push(filter16.address);break;case exports.CLIENT_KILL_FILTERS.LOCAL_ADDRESS:parser.push(filter16.localAddress);break;case exports.CLIENT_KILL_FILTERS.ID:parser.push(typeof filter16.id==="number"?filter16.id.toString():filter16.id);break;case exports.CLIENT_KILL_FILTERS.TYPE:parser.push(filter16.type);break;case exports.CLIENT_KILL_FILTERS.USER:parser.push(filter16.username);break;case exports.CLIENT_KILL_FILTERS.SKIP_ME:parser.push(filter16.skipMe?"yes":"no");break;case exports.CLIENT_KILL_FILTERS.MAXAGE:parser.push(filter16.maxAge.toString());break}}});var 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,filter16){if(parser.push("CLIENT","LIST"),filter16)if(filter16.TYPE!==void 0)parser.push("TYPE",filter16.TYPE);else parser.push("ID"),parser.pushVariadic(filter16.ID)},transformReply(rawReply){let split2=rawReply.toString().split(`
|
|
2
|
+
`),length3=split2.length-1,reply=[];for(let i=0;i<length3;i++)reply.push(CLIENT_INFO_1.default.transformReply(split2[i]));return reply}}});var require_CLIENT_NO_EVICT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,value6){parser.push("CLIENT","NO-EVICT",value6?"ON":"OFF")},transformReply:void 0}});var require_CLIENT_NO_TOUCH=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,value6){parser.push("CLIENT","NO-TOUCH",value6?"ON":"OFF")},transformReply:void 0}});var require_CLIENT_PAUSE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,timeout4,mode){if(parser.push("CLIENT","PAUSE",timeout4.toString()),mode)parser.push(mode)},transformReply:void 0}});var 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}});var 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}});var 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}}});var 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}});var 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}});var 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"),generic_transformers_1.parseSlotRangesArguments(parser,ranges)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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"),generic_transformers_1.parseSlotRangesArguments(parser,ranges)},transformReply:void 0}});var 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}});var 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}});var 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}});var require_CLUSTER_GETKEYSINSLOT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,slot,count5){parser.push("CLUSTER","GETKEYSINSLOT",slot.toString(),count5.toString())},transformReply:void 0}});var 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}});var 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}});var 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}}});var require_CLUSTER_MEET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,host,port2){parser.push("CLUSTER","MEET",host,port2.toString())},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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,port2,id2]=node;return{host,port:port2,id:id2}}});var 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}});var 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}});var 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}})}}});var 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?generic_transformers_1.transformCommandReply(command):null)}}});var 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}});var 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)}}});var 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}}});var 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}});var 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}});var require_CONFIG_SET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,...[parameterOrConfig,value6]){if(parser.push("CONFIG","SET"),typeof parameterOrConfig==="string"||parameterOrConfig instanceof Buffer)parser.push(parameterOrConfig,value6);else for(let[key,value7]of Object.entries(parameterOrConfig))parser.push(key,value7)},transformReply:void 0}});var 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}});var 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}});var require_DECR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key){parser.push("DECR"),parser.pushKey(key)},transformReply:void 0}});var 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}});var require_DEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys9){parser.push("DEL"),parser.pushKeys(keys9)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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"),EVAL_1.parseEvalArguments(...args2)},transformReply:EVAL_1.default.transformReply}});var 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"),EVAL_1.parseEvalArguments(...args2)},transformReply:EVAL_1.default.transformReply}});var 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"),EVAL_1.parseEvalArguments(...args2)},transformReply:EVAL_1.default.transformReply}});var 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)}});var 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)}}});var 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}});var 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]}})}}});var 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}});var 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),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}});var 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})}}});var 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){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}});var 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"),GEORADIUS_WITH_1.parseGeoRadiusWithArguments(...args2)},transformReply:GEORADIUS_WITH_2.default.transformReply}});var 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"),GEORADIUS_1.parseGeoRadiusArguments(...args2)},transformReply:GEORADIUS_1.default.transformReply}});var 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"),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}});var 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),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}});var 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),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}});var 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"),GEORADIUSBYMEMBER_WITH_1.parseGeoRadiusByMemberWithArguments(...args2)},transformReply:GEORADIUSBYMEMBER_WITH_1.default.transformReply}});var 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"),GEORADIUSBYMEMBER_1.parseGeoRadiusByMemberArguments(...args2)},transformReply:GEORADIUSBYMEMBER_1.default.transformReply}});var 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"),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}});var 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(GEOSEARCH_1.parseGeoSearchArguments(parser,source,from,by,options),options?.STOREDIST)parser.push("STOREDIST")},transformReply:void 0}});var 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}});var 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}});var 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}});var 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,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",generic_transformers_1.transformEXAT(options.EXAT));else if("PXAT"in options)parser.push("PXAT",generic_transformers_1.transformPXAT(options.PXAT));else parser.push("PERSIST")},transformReply:void 0}});var require_GETRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,start5,end6){parser.push("GETRANGE"),parser.pushKey(key),parser.push(start5.toString(),end6.toString())},transformReply:void 0}});var require_GETSET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,value6){parser.push("GETSET"),parser.pushKey(key),parser.push(value6)},transformReply:void 0}});var require_EXISTS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("EXISTS"),parser.pushKeys(keys9)},transformReply:void 0}});var require_EXPIRE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,seconds2,mode){if(parser.push("EXPIRE"),parser.pushKey(key),parser.push(seconds2.toString()),mode)parser.push(mode)},transformReply:void 0}});var require_EXPIREAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,timestamp,mode){if(parser.push("EXPIREAT"),parser.pushKey(key),parser.push(generic_transformers_1.transformEXAT(timestamp)),mode)parser.push(mode)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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"),EVAL_1.parseEvalArguments(...args2)},transformReply:EVAL_1.default.transformReply}});var 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"),EVAL_1.parseEvalArguments(...args2)},transformReply:EVAL_1.default.transformReply}});var 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}});var 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}});var 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}});var 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}});var 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}}});var 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}}});var 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}});var 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}});var 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(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}});var 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}});var 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}}});var 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}});var 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}});var 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(generic_transformers_1.transformEXAT(timestamp)),mode)parser.push(mode);parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}});var 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}});var 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}});var 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}}});var 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}});var 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}});var require_HINCRBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,field,increment2){parser.push("HINCRBY"),parser.pushKey(key),parser.push(field,increment2.toString())},transformReply:void 0}});var require_HINCRBYFLOAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,field,increment2){parser.push("HINCRBYFLOAT"),parser.pushKey(key),parser.push(field,increment2.toString())},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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(generic_transformers_1.transformPXAT(timestamp)),mode)parser.push(mode);parser.push("FIELDS"),parser.pushVariadicWithLength(fields)},transformReply:void 0}});var 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}});var 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}});var require_HRANDFIELD_COUNT_WITHVALUES=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count5){parser.push("HRANDFIELD"),parser.pushKey(key),parser.push(count5.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,value6]=entry;return{field,value:value6}})}}}});var require_HRANDFIELD_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count5){parser.push("HRANDFIELD"),parser.pushKey(key),parser.push(count5.toString())},transformReply:void 0}});var 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}});var 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,keys9]){return{cursor,keys:keys9}}}});var 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),SCAN_1.parseScanArguments(parser,cursor,options)},transformReply([cursor,rawEntries]){let entries3=[],i=0;while(i<rawEntries.length)entries3.push({field:rawEntries[i++],value:rawEntries[i++]});return{cursor,entries:entries3}}}});var 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}}}});var require_HSET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,...[key,value6,fieldValue]){if(parser.push("HSET"),parser.pushKey(key),typeof value6==="string"||typeof value6==="number"||value6 instanceof Buffer)parser.push(convertValue(value6),convertValue(fieldValue));else if(value6 instanceof Map)pushMap(parser,value6);else if(Array.isArray(value6))pushTuples(parser,value6);else pushObject(parser,value6)},transformReply:void 0};function pushMap(parser,map31){for(let[key,value6]of map31.entries())parser.push(convertValue(key),convertValue(value6))}function pushTuples(parser,tuples){for(let tuple4 of tuples){if(Array.isArray(tuple4)){pushTuples(parser,tuple4);continue}parser.push(convertValue(tuple4))}}function pushObject(parser,object){for(let key of Object.keys(object))parser.push(convertValue(key),convertValue(object[key]))}function convertValue(value6){return typeof value6==="number"?value6.toString():value6}});var 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,map31){parser.push(map31.size.toString());for(let[key,value6]of map31.entries())parser.push(convertValue(key),convertValue(value6))}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 tuple4 of tuples){if(Array.isArray(tuple4)){_pushTuples(parser,tuple4);continue}parser.push(convertValue(tuple4))}}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(value6){return typeof value6==="number"?value6.toString():value6}});var require_HSETNX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,field,value6){parser.push("HSETNX"),parser.pushKey(key),parser.push(field,value6)},transformReply:void 0}});var 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}});var 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}});var 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}});var require_INCR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key){parser.push("INCR"),parser.pushKey(key)},transformReply:void 0}});var require_INCRBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,increment2){parser.push("INCRBY"),parser.pushKey(key),parser.push(increment2.toString())},transformReply:void 0}});var require_INCRBYFLOAT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,increment2){parser.push("INCRBYFLOAT"),parser.pushKey(key),parser.push(increment2.toString())},transformReply:void 0}});var 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}});var require_KEYS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,pattern2){parser.push("KEYS",pattern2)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}}});var 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}}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var require_LPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key){parser.push("LPOP"),parser.pushKey(key)},transformReply:void 0}});var 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,count5){LPOP_1.default.parseCommand(parser,key),parser.push(count5.toString())},transformReply:void 0}});var 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}});var 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,count5,options){LPOS_1.default.parseCommand(parser,key,element,options),parser.push("COUNT",count5.toString())},transformReply:void 0}});var 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}});var 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}});var require_LRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,start5,stop2){parser.push("LRANGE"),parser.pushKey(key),parser.push(start5.toString(),stop2.toString())},transformReply:void 0}});var require_LREM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,count5,element){parser.push("LREM"),parser.pushKey(key),parser.push(count5.toString()),parser.push(element)},transformReply:void 0}});var 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}});var require_LTRIM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,start5,stop2){parser.push("LTRIM"),parser.pushKey(key),parser.push(start5.toString(),stop2.toString())},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}}});var 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}});var require_MGET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("MGET"),parser.pushKeys(keys9)},transformReply:void 0}});var require_MIGRATE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,host,port2,key,destinationDb,timeout4,options){parser.push("MIGRATE",host,port2.toString());let isKeyArray=Array.isArray(key);if(isKeyArray)parser.push("");else parser.push(key);if(parser.push(destinationDb.toString(),timeout4.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}});var 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}}});var 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}});var 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}});var 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}});var require_MSET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.parseMSetArguments=void 0;function parseMSetArguments(parser,toSet4){if(Array.isArray(toSet4)){if(toSet4.length==0)throw new Error("empty toSet Argument");if(Array.isArray(toSet4[0]))for(let tuple4 of toSet4)parser.pushKey(tuple4[0]),parser.push(tuple4[1]);else{let arr=toSet4;for(let i=0;i<arr.length;i+=2)parser.pushKey(arr[i]),parser.push(arr[i+1])}}else for(let tuple4 of Object.entries(toSet4))parser.pushKey(tuple4[0]),parser.push(tuple4[1])}exports.parseMSetArguments=parseMSetArguments;exports.default={IS_READ_ONLY:!0,parseCommand(parser,toSet4){return parser.push("MSET"),parseMSetArguments(parser,toSet4)},transformReply:void 0}});var require_MSETNX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var MSET_1=require_MSET();exports.default={IS_READ_ONLY:!0,parseCommand(parser,toSet4){return parser.push("MSETNX"),MSET_1.parseMSetArguments(parser,toSet4)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var require_PERSIST=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key){parser.push("PERSIST"),parser.pushKey(key)},transformReply:void 0}});var 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}});var 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(generic_transformers_1.transformPXAT(msTimestamp)),mode)parser.push(mode)},transformReply:void 0}});var 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}});var 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}});var require_PFCOUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("PFCOUNT"),parser.pushKeys(keys9)},transformReply:void 0}});var 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}});var 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}});var require_PSETEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,ms,value6){parser.push("PSETEX"),parser.pushKey(key),parser.push(ms.toString(),value6)},transformReply:void 0}});var 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}});var 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}});var require_PUBSUB_CHANNELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,pattern2){if(parser.push("PUBSUB","CHANNELS"),pattern2)parser.push(pattern2)},transformReply:void 0}});var 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}});var 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()]=rawReply[i++].toString();return reply}}});var 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}}});var require_PUBSUB_SHARDCHANNELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,pattern2){if(parser.push("PUBSUB","SHARDCHANNELS"),pattern2)parser.push(pattern2)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var require_REPLICAOF=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,host,port2){parser.push("REPLICAOF",host,port2.toString())},transformReply:void 0}});var 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}});var 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}});var 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,port2,replicationOffest2]=replica;return{host,port:Number(port2),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}}}}}});var require_RPOP_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,count5){parser.push("RPOP"),parser.pushKey(key),parser.push(count5.toString())},transformReply:void 0}});var require_RPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key){parser.push("RPOP"),parser.pushKey(key)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var require_SDIFF=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("SDIFF"),parser.pushKeys(keys9)},transformReply:void 0}});var require_SDIFFSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,destination,keys9){parser.push("SDIFFSTORE"),parser.pushKey(destination),parser.pushKeys(keys9)},transformReply:void 0}});var require_SET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,value6,options){if(parser.push("SET"),parser.pushKey(key),parser.push(typeof value6==="number"?value6.toString():value6),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)parser.push(options.condition);else if(options?.NX)parser.push("NX");else if(options?.XX)parser.push("XX");if(options?.GET)parser.push("GET")},transformReply:void 0}});var require_SETBIT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,offset,value6){parser.push("SETBIT"),parser.pushKey(key),parser.push(offset.toString(),value6.toString())},transformReply:void 0}});var require_SETEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,seconds2,value6){parser.push("SETEX"),parser.pushKey(key),parser.push(seconds2.toString(),value6)},transformReply:void 0}});var require_SETNX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,value6){parser.push("SETNX"),parser.pushKey(key),parser.push(value6)},transformReply:void 0}});var require_SETRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,key,offset,value6){parser.push("SETRANGE"),parser.pushKey(key),parser.push(offset.toString(),value6)},transformReply:void 0}});var require_SINTER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("SINTER"),parser.pushKeys(keys9)},transformReply:void 0}});var require_SINTERCARD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys9,options){if(parser.push("SINTERCARD"),parser.pushKeysLength(keys9),typeof options==="number")parser.push("LIMIT",options.toString());else if(options?.LIMIT!==void 0)parser.push("LIMIT",options.LIMIT.toString())},transformReply:void 0}});var require_SINTERSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys9){parser.push("SINTERSTORE"),parser.pushKey(destination),parser.pushKeys(keys9)},transformReply:void 0}});var 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}});var 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}}});var 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}});var 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}});var 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 pattern2 of options.GET)parser.push("GET",pattern2);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}});var 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"),SORT_1.parseSortArguments(...args2)},transformReply:SORT_1.default.transformReply}});var 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}});var require_SPOP_COUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,count5){parser.push("SPOP"),parser.pushKey(key),parser.push(count5.toString())},transformReply:void 0}});var 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}});var 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}});var 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}});var 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,count5){SRANDMEMBER_1.default.parseCommand(parser,key),parser.push(count5.toString())},transformReply:void 0}});var 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}});var 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),SCAN_1.parseScanArguments(parser,cursor,options)},transformReply([cursor,members]){return{cursor,members}}}});var 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}});var require_SUNION=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("SUNION"),parser.pushKeys(keys9)},transformReply:void 0}});var require_SUNIONSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys9){parser.push("SUNIONSTORE"),parser.pushKey(destination),parser.pushKeys(keys9)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}});var require_UNLINK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,keys9){parser.push("UNLINK"),parser.pushKeys(keys9)},transformReply:void 0}});var require_WAIT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,numberOfReplicas,timeout4){parser.push("WAIT",numberOfReplicas.toString(),timeout4.toString())},transformReply:void 0}});var require_XACK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group2,id2){parser.push("XACK"),parser.pushKey(key),parser.push(group2),parser.pushVariadic(id2)},transformReply:void 0}});var 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())}parser.push(id2);for(let[key2,value6]of Object.entries(message))parser.push(key2,value6)}exports.parseXAddArguments=parseXAddArguments;exports.default={IS_READ_ONLY:!1,parseCommand(...args2){return parseXAddArguments(void 0,...args2)},transformReply:void 0}});var 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 XADD_1.parseXAddArguments("NOMKSTREAM",...args2)},transformReply:void 0}});var 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,group2,consumer,minIdleTime,start5,options){if(parser.push("XAUTOCLAIM"),parser.pushKey(key),parser.push(group2,consumer,minIdleTime.toString(),start5),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]}}}});var 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]}}}});var 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,group2,consumer,minIdleTime,id2,options){if(parser.push("XCLAIM"),parser.pushKey(key),parser.push(group2,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))}}});var 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}});var 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}});var require_XGROUP_CREATE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group2,id2,options){if(parser.push("XGROUP","CREATE"),parser.pushKey(key),parser.push(group2,id2),options?.MKSTREAM)parser.push("MKSTREAM");if(options?.ENTRIESREAD)parser.push("ENTRIESREAD",options.ENTRIESREAD.toString())},transformReply:void 0}});var require_XGROUP_CREATECONSUMER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group2,consumer){parser.push("XGROUP","CREATECONSUMER"),parser.pushKey(key),parser.push(group2,consumer)},transformReply:void 0}});var require_XGROUP_DELCONSUMER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group2,consumer){parser.push("XGROUP","DELCONSUMER"),parser.pushKey(key),parser.push(group2,consumer)},transformReply:void 0}});var require_XGROUP_DESTROY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group2){parser.push("XGROUP","DESTROY"),parser.pushKey(key),parser.push(group2)},transformReply:void 0}});var require_XGROUP_SETID=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,group2,id2,options){if(parser.push("XGROUP","SETID"),parser.pushKey(key),parser.push(group2,id2),options?.ENTRIESREAD)parser.push("ENTRIESREAD",options.ENTRIESREAD.toString())},transformReply:void 0}});var require_XINFO_CONSUMERS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,group2){parser.push("XINFO","CONSUMERS"),parser.pushKey(key),parser.push(group2)},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}}});var 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((group2)=>{let unwrapped=group2;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}}});var 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(generic_transformers_1.isNullReply(entry))return entry;let[id2,message]=entry;return{id:id2,message:generic_transformers_1.transformTuplesReply(message)}}});var 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}});var require_XPENDING_RANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,group2,start5,end6,count5,options){if(parser.push("XPENDING"),parser.pushKey(key),parser.push(group2),options?.IDLE!==void 0)parser.push("IDLE",options.IDLE.toString());if(parser.push(start5,end6,count5.toString()),options?.consumer)parser.push(options.consumer)},transformReply(reply){return reply.map((pending5)=>{let unwrapped=pending5;return{id:unwrapped[0],consumer:unwrapped[1],millisecondsSinceLastDelivery:unwrapped[2],deliveriesCounter:unwrapped[3]}})}}});var require_XPENDING=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,group2){parser.push("XPENDING"),parser.pushKey(key),parser.push(group2)},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)}})}}}});var require_XRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.xRangeArguments=void 0;var generic_transformers_1=require_generic_transformers();function xRangeArguments(start5,end6,options){let args2=[start5,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))}}});var 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}});var 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,group2,consumer,streams,options){if(parser.push("XREADGROUP","GROUP",group2,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");XREAD_1.pushXReadStreams(parser,streams)},transformReply:{2:generic_transformers_1.transformStreamsMessagesReplyResp2,3:void 0},unstableResp3:!0}});var 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(XRANGE_1.xRangeArguments(args2[0],args2[1],args2[2]))},transformReply:XRANGE_1.default.transformReply}});var 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}});var 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())},transformReply:void 0}});var 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(generic_transformers_1.transformDoubleArgument(member.score),member.value)}});var 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"),ZADD_1.pushMembers(parser,members)},transformReply:generic_transformers_1.transformNullableDoubleReply}});var 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}});var 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,min4,max6){parser.push("ZCOUNT"),parser.pushKey(key),parser.push(generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6))},transformReply:void 0}});var require_ZDIFF=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys9){parser.push("ZDIFF"),parser.pushKeysLength(keys9)},transformReply:void 0}});var 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,keys9){ZDIFF_1.default.parseCommand(parser,keys9),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}});var 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}});var require_ZINCRBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers();exports.default={parseCommand(parser,key,increment2,member){parser.push("ZINCRBY"),parser.pushKey(key),parser.push(generic_transformers_1.transformDoubleArgument(increment2),member)},transformReply:generic_transformers_1.transformDoubleReply}});var require_ZINTER=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.parseZInterArguments=void 0;var generic_transformers_1=require_generic_transformers();function parseZInterArguments(parser,keys9,options){if(generic_transformers_1.parseZKeysArguments(parser,keys9),options?.AGGREGATE)parser.push("AGGREGATE",options.AGGREGATE)}exports.parseZInterArguments=parseZInterArguments;exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys9,options){parser.push("ZINTER"),parseZInterArguments(parser,keys9,options)},transformReply:void 0}});var 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}});var require_ZINTERCARD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys9,options){if(parser.push("ZINTERCARD"),parser.pushKeysLength(keys9),typeof options==="number")parser.push("LIMIT",options.toString());else if(options?.LIMIT)parser.push("LIMIT",options.LIMIT.toString())},transformReply:void 0}});var require_ZINTERSTORE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var ZINTER_1=require_ZINTER();exports.default={IS_READ_ONLY:!1,parseCommand(parser,destination,keys9,options){parser.push("ZINTERSTORE"),parser.pushKey(destination),ZINTER_1.parseZInterArguments(parser,keys9,options)},transformReply:void 0}});var require_ZLEXCOUNT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(parser,key,min4,max6){parser.push("ZLEXCOUNT"),parser.pushKey(key),parser.push(min4),parser.push(max6)},transformReply:void 0}});var 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(generic_transformers_1.createTransformNullableDoubleReplyResp2Func(preserve,typeMapping))},3:void 0}}});var 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,count5){parser.push("ZPOPMAX"),parser.pushKey(key),parser.push(count5.toString())},transformReply:generic_transformers_1.transformSortedSetReply}});var 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]}}}}});var 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,count5){parser.push("ZPOPMIN"),parser.pushKey(key),parser.push(count5.toString())},transformReply:generic_transformers_1.transformSortedSetReply}});var 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}});var 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}});var 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,count5){ZRANDMEMBER_1.default.parseCommand(parser,key),parser.push(count5.toString())},transformReply:void 0}});var 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,count5){ZRANDMEMBER_COUNT_1.default.parseCommand(parser,key,count5),parser.push("WITHSCORES")},transformReply:generic_transformers_1.transformSortedSetReply}});var require_ZRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.zRangeArgument=void 0;var generic_transformers_1=require_generic_transformers();function zRangeArgument(min4,max6,options){let args2=[generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6)];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,min4,max6,options){parser.push("ZRANGE"),parser.pushKey(key),parser.pushVariadic(zRangeArgument(min4,max6,options))},transformReply:void 0}});var 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}});var 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,min4,max6,options){if(parser.push("ZRANGEBYLEX"),parser.pushKey(key),parser.push(generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6)),options?.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString())},transformReply:void 0}});var 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,min4,max6,options){if(parser.push("ZRANGEBYSCORE"),parser.pushKey(key),parser.push(generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6)),options?.LIMIT)parser.push("LIMIT",options.LIMIT.offset.toString(),options.LIMIT.count.toString())},transformReply:void 0}});var 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}});var 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,min4,max6,options){switch(parser.push("ZRANGESTORE"),parser.pushKey(destination),parser.pushKey(source),parser.push(generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6)),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}});var 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,min4,max6){parser.push("ZREMRANGEBYSCORE"),parser.pushKey(key),parser.push(generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6))},transformReply:void 0}});var 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}});var 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]}}}}});var 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}});var 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,min4,max6){parser.push("ZREMRANGEBYLEX"),parser.pushKey(key),parser.push(generic_transformers_1.transformStringDoubleArgument(min4),generic_transformers_1.transformStringDoubleArgument(max6))},transformReply:void 0}});var require_ZREMRANGEBYRANK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,start5,stop2){parser.push("ZREMRANGEBYRANK"),parser.pushKey(key),parser.push(start5.toString(),stop2.toString())},transformReply:void 0}});var 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}});var 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),SCAN_1.parseScanArguments(parser,cursor,options)},transformReply([cursor,rawMembers]){return{cursor,members:generic_transformers_1.transformSortedSetReply[2](rawMembers)}}}});var 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}});var 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,keys9,options){if(parser.push("ZUNION"),generic_transformers_1.parseZKeysArguments(parser,keys9),options?.AGGREGATE)parser.push("AGGREGATE",options.AGGREGATE)},transformReply:void 0}});var 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}});var 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,keys9,options){if(parser.push("ZUNIONSTORE"),parser.pushKey(destination),generic_transformers_1.parseZKeysArguments(parser,keys9),options?.AGGREGATE)parser.push("AGGREGATE",options.AGGREGATE)},transformReply:void 0}});var require_commands=__commonJS((exports)=>{var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!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=__importDefault(require_CLIENT_KILL()),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=__importDefault(require_CLUSTER_FAILOVER()),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=__importDefault(require_CLUSTER_SETSLOT()),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=__importDefault(require_COMMAND_LIST()),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()),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=__importDefault(require_FLUSHALL()),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()),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()),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()),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()),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());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,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_LATEST:LATENCY_LATEST_1.default,latencyLatest:LATENCY_LATEST_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,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,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,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}});var 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=__require("node:events"),node_net_1=__importDefault(__require("node:net")),node_tls_1=__importDefault(__require("node:tls")),errors_1=require_errors(),promises_1=__require("node:timers/promises");class RedisSocket extends node_events_1.EventEmitter{#initiator;#connectTimeout;#reconnectStrategy;#socketFactory;#socketTimeout;#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 new 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 new 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{await this.#initiator()}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 promises_1.setTimeout(retryIn),this.emit("reconnecting")}while(this.#isOpen&&!this.#isReady)}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 node_events_1.once(socket,this.#socketFactory.event),onTimeout)socket.removeListener("timeout",onTimeout);if(this.#socketTimeout)socket.once("timeout",()=>{socket.destroy(new errors_1.SocketTimeoutError(this.#socketTimeout))}),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});var require_token=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.Token=void 0;class Token{value;expiresAtMs;receivedAtMs;constructor(value6,expiresAtMs,receivedAtMs){this.value=value6,this.expiresAtMs=expiresAtMs,this.receivedAtMs=receivedAtMs}getTtlMs(now2){if(this.expiresAtMs<now2)return 0;return this.expiresAtMs-now2}}exports.Token=Token});var 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 new Error("expirationRefreshRatio must be less than or equal to 1");if(this.config.expirationRefreshRatio<0)throw new 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(error2){if(!this.config.retry)return!1;let{maxAttempts,isRetryable}=this.config.retry;if(this.retryAttempt>=maxAttempts)return!1;if(isRetryable)return isRetryable(error2,this.retryAttempt);return!1}isRunning(){return this.listener!==null}async refresh(){if(!this.listener)throw new Error("TokenManager is not running, but refresh was called");try{await this.identityProvider.requestToken().then(this.handleNewToken),this.retryAttempt=0}catch(error2){if(this.shouldRetry(error2)){this.retryAttempt++;let retryDelay=this.calculateRetryDelay();this.notifyError(`Token refresh failed (attempt ${this.retryAttempt}), retrying in ${retryDelay}ms: ${error2}`,!0),this.scheduleNextRefresh(retryDelay)}else this.notifyError(error2,!1),this.stop()}}handleNewToken=async({token:nativeToken,ttlMs})=>{if(!this.listener)throw new 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 now2=Date.now(),token=new token_1.Token(nativeToken,now2+ttlMs,now2);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,now2=Date.now()){let ttlMs=token.getTtlMs(now2);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(error2,isRetryable){let errorMessage=error2 instanceof Error?error2.message:String(error2);if(!this.listener)throw new Error(`TokenManager is not running but received an error: ${errorMessage}`);this.listener.onError(new IDPError(errorMessage,isRetryable))}}exports.TokenManager=TokenManager});var 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});var 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}})});var require_linked_list=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.SinglyLinkedList=exports.DoublyLinkedList=void 0;class DoublyLinkedList{#length=0;get length(){return this.#length}#head;get head(){return this.#head}#tail;get tail(){return this.#tail}push(value6){if(++this.#length,this.#tail===void 0)return this.#tail=this.#head={previous:this.#head,next:void 0,value:value6};return this.#tail=this.#tail.next={previous:this.#tail,next:void 0,value:value6}}unshift(value6){if(++this.#length,this.#head===void 0)return this.#head=this.#tail={previous:void 0,next:void 0,value:value6};return this.#head=this.#head.previous={previous:void 0,next:this.#head,value:value6}}add(value6,prepend5=!1){return prepend5?this.unshift(value6):this.push(value6)}shift(){if(this.#head===void 0)return;--this.#length;let node=this.#head;if(node.next)node.next.previous=node.previous,this.#head=node.next,node.next=void 0;else this.#head=this.#tail=void 0;return node.value}remove(node){if(--this.#length,this.#tail===node)this.#tail=node.previous;if(this.#head===node)this.#head=node.next;else node.previous.next=node.next,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}}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(value6){++this.#length;let node={value:value6,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 new 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});var require_encoder=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var CRLF=`\r
|
|
3
|
+
`;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 new TypeError(`"arguments[${i}]" must be of type "string | Buffer", got ${typeof arg} instead.`)}return toWrite.push(strings),toWrite}exports.default=encodeCommand});var 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(type2,channels,listener,returnBuffers){let args2=[COMMANDS[type2].subscribe],channelsArray=PubSub.#channelsArray(channels);for(let channel of channelsArray){let channelListeners=this.listeners[type2].get(channel);if(!channelListeners||channelListeners.unsubscribing)args2.push(channel)}if(args2.length===1){for(let channel of channelsArray)PubSub.#listenersSet(this.listeners[type2].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[type2].get(channel);if(!listeners)listeners={unsubscribing:!1,buffers:new Set,strings:new Set},this.listeners[type2].set(channel,listeners);PubSub.#listenersSet(listeners,returnBuffers).add(listener)}},reject:()=>{this.#subscribing--,this.#updateIsActive()}}}extendChannelListeners(type2,channel,listeners){if(!this.#extendChannelListeners(type2,channel,listeners))return;return this.#isActive=!0,this.#subscribing++,{args:[COMMANDS[type2].subscribe,channel],channelsCounter:1,resolve:()=>this.#subscribing--,reject:()=>{this.#subscribing--,this.#updateIsActive()}}}#extendChannelListeners(type2,channel,listeners){let existingListeners=this.listeners[type2].get(channel);if(!existingListeners)return this.listeners[type2].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(type2,listeners){let args2=[COMMANDS[type2].subscribe];for(let[channel,channelListeners]of listeners)if(this.#extendChannelListeners(type2,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(type2,channels,listener,returnBuffers){let listeners=this.listeners[type2];if(!channels)return this.#unsubscribeCommand([COMMANDS[type2].unsubscribe],NaN,()=>listeners.clear());let channelsArray=PubSub.#channelsArray(channels);if(!listener)return this.#unsubscribeCommand([COMMANDS[type2].unsubscribe,...channelsArray],channelsArray.length,()=>{for(let channel of channelsArray)listeners.delete(channel)});let args2=[COMMANDS[type2].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[type2,listeners]of Object.entries(this.listeners)){if(!listeners.size)continue;this.#isActive=!0,this.#subscribing++;let callback=()=>this.#subscribing--;commands.push({args:[COMMANDS[type2].subscribe,...listeners.keys()],channelsCounter:listeners.size,resolve:callback,reject:callback})}return commands}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}#emitPubSubMessage(type2,message,channel,pattern2){let keyString=(pattern2??channel).toString(),listeners=this.listeners[type2].get(keyString);if(!listeners)return;for(let listener of listeners.buffers)listener(message,channel);if(!listeners.strings.size)return;let channelString=pattern2?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});var 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(),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.SinglyLinkedList;#onShardedChannelMoved;#chainInExecution;decoder;#pubSub=new pub_sub_1.PubSub;get isPubSubActive(){return this.#pubSub.isActive}#invalidateCallback;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 head8=this.#waitingForReply.head.value;if(Number.isNaN(head8.channelsCounter)&&push[2]===0||--head8.channelsCounter===0)this.#waitingForReply.shift().resolve();return!0}}#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)=>{if(!this.#onPush(push))switch(push[0].toString()){case"invalidate":{if(this.#invalidateCallback)if(push[1]!==null)for(let key of push[1])this.#invalidateCallback(key);else this.#invalidateCallback(null);break}}},getTypeMapping:()=>this.#getTypeMapping()})}setInvalidateCallback(callback){this.#invalidateCallback=callback}addCommand(args2,options){if(this.#maxLength&&this.#toWrite.length+this.#waitingForReply.length>=this.#maxLength)return Promise.reject(new Error("The queue is full"));else if(options?.abortSignal?.aborted)return Promise.reject(new errors_1.AbortError);return new Promise((resolve,reject2)=>{let node,value6={args:args2,chainId:options?.chainId,abort:void 0,resolve,reject:reject2,channelsCounter:void 0,typeMapping:options?.typeMapping},signal=options?.abortSignal;if(signal)value6.abort={signal,listener:()=>{this.#toWrite.remove(node),value6.reject(new errors_1.AbortError)}},signal.addEventListener("abort",value6.abort.listener,{once:!0});node=this.#toWrite.add(value6,options?.asap)})}#addPubSubCommand(command,asap=!1,chainId){return new Promise((resolve,reject2)=>{this.#toWrite.add({args:command.args,chainId,abort:void 0,resolve(){command.resolve(),resolve()},reject(err){command.reject?.(),reject2(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(type2,channels,listener,returnBuffers){let command=this.#pubSub.subscribe(type2,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(type2,channels,listener,returnBuffers){let command=this.#pubSub.unsubscribe(type2,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)}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(type2,channel,listeners){let command=this.#pubSub.extendChannelListeners(type2,channel,listeners);if(!command)return;return this.#setupPubSubHandler(),this.#addPubSubCommand(command)}extendPubSubListeners(type2,listeners){let command=this.#pubSub.extendTypeListeners(type2,listeners);if(!command)return;return this.#setupPubSubHandler(),this.#addPubSubCommand(command)}getPubSubListeners(type2){return this.#pubSub.listeners[type2]}monitor(callback,options){return new Promise((resolve,reject2)=>{let typeMapping=options?.typeMapping??{};this.#toWrite.add({args:["MONITOR"],chainId:options?.chainId,abort:void 0,resolve:()=>{if(this.#resetFallbackOnReply)this.#resetFallbackOnReply=callback;else this.decoder.onReply=callback;this.decoder.getTypeMapping=()=>typeMapping,resolve()},reject:reject2,channelsCounter:void 0,typeMapping},options?.asap)})}resetDecoder(){this.#resetDecoderCallbacks(),this.decoder.reset()}#resetFallbackOnReply;async reset(chainId,typeMapping){return new Promise((resolve,reject2)=>{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,resolve,reject:reject2,channelsCounter:void 0,typeMapping})})}isWaitingToWrite(){return this.#toWrite.length>0}*commandsToWrite(){let toSend=this.#toWrite.shift();while(toSend){let encoded;try{encoded=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;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#flushToWrite(toBeSent,err){if(toBeSent.abort)RedisCommandsQueue.#removeAbortListener(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});var require_commander=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.scriptArgumentsPrefix=exports.functionArgumentsPrefix=exports.getTransformReply=exports.attachConfig=void 0;function throwResp3SearchModuleUnstableError(){throw new 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,Class5=class extends BaseClass{};for(let[name,command]of Object.entries(commands))Class5.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(Class5.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(Class5.prototype,library,fns)}if(config2?.scripts)for(let[name,script]of Object.entries(config2.scripts))Class5.prototype[name]=createScriptCommand(script,RESP);return Class5}exports.attachConfig=attachConfig;function attachNamespace(prototype,name,fns){Object.defineProperty(prototype,name,{get(){let value6=Object.create(fns);return value6._self=this,Object.defineProperty(this,name,{value:value6}),value6}})}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});var 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});var 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=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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=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 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});var 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?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))}}});var 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=__require("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 new 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(count5){}recordMisses(count5){}recordLoadSuccess(loadTime){}recordLoadFailure(loadTime){}recordEvictions(count5){}snapshot(){return CacheStats.empty()}}function disabledStatsCounter(){return DisabledStatsCounter.INSTANCE}class DefaultStatsCounter{#hitCount=0;#missCount=0;#loadSuccessCount=0;#loadFailureCount=0;#totalLoadTime=0;#evictionCount=0;recordHits(count5){this.#hitCount+=count5}recordMisses(count5){this.#missCount+=count5}recordLoadSuccess(loadTime){this.#loadSuccessCount++,this.#totalLoadTime+=loadTime}recordLoadFailure(loadTime){this.#loadFailureCount++,this.#totalLoadTime+=loadTime}recordEvictions(count5){this.#evictionCount+=count5}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=new 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,value6){super(ttl);this.#value=value6}}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(count5){this.#statsCounter.recordEvictions(count5)}recordHits(count5){this.#statsCounter.recordHits(count5)}recordMisses(count5){this.#statsCounter.recordMisses(count5)}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 new 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 keySet2=this.#keyToCacheKeySetMap.get(key.toString());if(keySet2){for(let cacheKey of keySet2){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,keys9){let count5=this.#cacheKeyToEntryMap.size,oldEntry=this.#cacheKeyToEntryMap.get(cacheKey);if(oldEntry)count5--,oldEntry.invalidate();if(this.maxEntries>0&&count5>=this.maxEntries)this.deleteOldest(),this.#statsCounter.recordEvictions(1);this.#cacheKeyToEntryMap.set(cacheKey,cacheEntry);for(let key of keys9){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,value6){return new ClientSideCacheEntryValue(this.ttl,value6)}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,value6){super(ttl,value6);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,value6){let creator={epoch:client.socketEpoch,client};return new PooledClientSideCacheEntryValue(this.ttl,creator,value6)}createPromiseEntry(client,sendCommandPromise){let creator={epoch:client.socketEpoch,client};return new PooledClientSideCacheEntryPromise(this.ttl,creator,sendCommandPromise)}onError(){}onClose(){}}exports.PooledNoRedirectClientSideCache=PooledNoRedirectClientSideCache});var 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 serialize(_,value6){if(value6&&typeof value6==="object"){if(seen.has(value6))return"circular";return seen.add(value6),value6}return value6}}});var 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=__require("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=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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=commander_1.scriptArgumentsPrefix(script),transformReply=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=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,value6){let proxy=Object.create(this._self);return proxy._commandOptions=Object.create(this._commandOptions??null),proxy._commandOptions[key]=value6,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,reject2)=>{let client=this._self.#idleClients.shift(),{tail}=this._self.#tasksQueue;if(!client){let timeout4;if(this._self.#options.acquireTimeout>0)timeout4=setTimeout(()=>{this._self.#tasksQueue.remove(task,tail),reject2(new errors_1.TimeoutError("Timeout waiting for a client"))},this._self.#options.acquireTimeout);let task=this._self.#tasksQueue.push({timeout:timeout4,resolve,reject:reject2,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,reject2,fn2)})}#executeTask(node,resolve,reject2,fn2){let result=fn2(node.value);if(result instanceof Promise)result.then(resolve,reject2),result.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});var require_package=__commonJS((exports,module)=>{module.exports={name:"@redis/client",version:"5.1.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'"},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"]}});var 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=__require("node:events"),commander_1=require_commander(),errors_1=require_errors(),node_url_1=__require("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();class RedisClient extends node_events_1.EventEmitter{static#createCommand(command,resp){let transformReply=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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=commander_1.scriptArgumentsPrefix(script),transformReply=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=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 parseURL(url2){let{hostname,port:port2,protocol,username,password,pathname}=new node_url_1.URL(url2),parsed={socket:{host:hostname}};if(protocol==="rediss:")parsed.socket.tls=!0;else if(protocol!=="redis:")throw new TypeError("Invalid protocol");if(port2)parsed.socket.port=Number(port2);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 new TypeError("Invalid pathname");parsed.database=database}return parsed}#options;#socket;#queue;#selectedDB=0;#monitorCallback;_self=this;_commandOptions;#dirtyWatch;#watchEpoch;#clientSideCache;#credentialsSubscription=null;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(),options?.clientSideCache){if(options.clientSideCache instanceof cache_1.ClientSideCacheProvider)this.#clientSideCache=options.clientSideCache;else{let cscConfig=options.clientSideCache;this.#clientSideCache=new cache_1.BasicClientSideCache(cscConfig)}this.#queue.setInvalidateCallback(this.#clientSideCache.invalidate.bind(this.#clientSideCache))}}#validateOptions(options){if(options?.clientSideCache&&options?.RESP!==3)throw new Error("Client Side Caching 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?.url){let parsed=_a.parseURL(options.url);if(options.socket)parsed.socket=Object.assign(options.socket,parsed.socket);Object.assign(options,parsed)}if(options?.database)this._self.#selectedDB=options.database;if(options?.commandOptions)this._commandOptions=options.commandOptions;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(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((error2)=>{let errorMessage=error2 instanceof Error?error2.message:String(error2);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: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: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:generic_transformers_1.parseArgs(commands_1.default.AUTH,{username:credentials.username,password:credentials.password??""})})}if(this.#options?.name)commands.push({cmd: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: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()});return commands}#initiateSocket(){let socketInitiator=async()=>{let promises=[],chainId=Symbol("Socket Initiator"),resubscribePromise=this.#queue.resubscribe(chainId);if(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)};return new socket_1.default(socketInitiator,this.#options?.socket).on("data",(chunk4)=>{try{this.#queue.decoder.write(chunk4)}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"))}#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,value6){let proxy=Object.create(this._self);return proxy._commandOptions=Object.create(this._commandOptions??null),proxy._commandOptions[key]=value6,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}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 promise3=this._self.#queue.addCommand(args2,options);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(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(type2){return this._self.#queue.getPubSubListeners(type2)}extendPubSubChannelListeners(type2,channel,listeners){return this._self.#pubSubCommand(this._self.#queue.extendPubSubChannelListeners(type2,channel,listeners))}extendPubSubListeners(type2,listeners){return this._self.#pubSubCommand(this._self.#queue.extendPubSubListeners(type2,listeners))}#write(){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});var 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 toUTF8Array(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 generate(str){var char,i=0,start5=-1,result=0,resultHash=0,utf8=typeof str==="string"?toUTF8Array(str):str,len=utf8.length;while(i<len){if(char=utf8[i++],start5===-1){if(char===123)start5=i}else if(char!==125)resultHash=lookup[(char^resultHash>>8)&255]^resultHash<<8;else if(i-1!==start5)return resultHash&16383;result=lookup[(char^result>>8)&255]^result<<8}return result&16383};module.exports.generateMulti=function generateMulti(keys9){var i=1,len=keys9.length,base=generate(keys9[0]);while(i<len)if(generate(keys9[i++])!==base)return-1;return base}});var 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=new Array(_a.#SLOTS);masters=new Array;replicas=new Array;nodeByAddress=new Map;pubSubNode;clientSideCache;#isOpen=!1;get isOpen(){return this.#isOpen}#validateOptions(options){if(options?.clientSideCache&&options?.RESP!==3)throw new 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 new Error("Cluster already open");this.#isOpen=!0;try{await this.#discoverWithRootNodes()}catch(err){throw this.#isOpen=!1,err}}async#discoverWithRootNodes(){let start5=Math.floor(Math.random()*this.#options.rootNodes.length);for(let i=start5;i<this.#options.rootNodes.length;i++){if(!this.#isOpen)throw new Error("Cluster closed");if(await this.#discover(this.#options.rootNodes[i]))return}for(let i=0;i<start5;i++){if(!this.#isOpen)throw new Error("Cluster closed");if(await this.#discover(this.#options.rootNodes[i]))return}throw new errors_1.RootNodesUnavailableError}#resetSlots(){this.slots=new 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){return this.#clientFactory(this.#clientOptionsDefaults({clientSideCache:this.clientSideCache,RESP:this.#options.RESP,socket:this.#getNodeAddress(node.address)??{host:node.host,port:node.port},readonly})).on("error",(err)=>console.error(err))}#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()}*#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)}getClient(firstKey,isReadonly){if(!firstKey)return this.nodeClient(this.getRandomNode());let slotNumber=cluster_key_slot_1.default(firstKey);if(!isReadonly)return this.nodeClient(this.slots[slotNumber].master);return this.nodeClient(this.getSlotRandomNode(slotNumber))}*#iterateAllNodes(){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[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[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});var 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=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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=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 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});var 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=__require("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=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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=commander_1.scriptArgumentsPrefix(script),transformReply=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=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)),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,value6){let proxy=Object.create(this);return proxy._commandOptions=Object.create(this._commandOptions??null),proxy._commandOptions[key]=value6,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 new 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){return this._self._execute(firstKey,isReadonly,options,(client,opts)=>client.sendCommand(args2,opts))}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))}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});var 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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=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=commander_1.scriptArgumentsPrefix(script),transformReply=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});var 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=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=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=commander_1.functionArgumentsPrefix(name,fn2),transformReply=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=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 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});var 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(__require("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,onError4){super();this.#clientOptions=clientOptions,this.#onError=onError4}#createClient(){if(this.#node===void 0)throw new 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});var 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}}});var require_SENTINEL_MONITOR=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,dbname,host,port2,quorum){parser.push("SENTINEL","MONITOR",dbname,host,port2,quorum)},transformReply:void 0}});var 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(generic_transformers_1.transformTuplesReply(x,void 0,typeMapping)),sentinels},initial)},3:void 0}}});var 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(generic_transformers_1.transformTuplesReply(x,void 0,typeMapping)),sentinels},initial)},3:void 0}}});var require_SENTINEL_SET=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={parseCommand(parser,dbname,options){parser.push("SENTINEL","SET",dbname);for(let option6 of options)parser.push(option6.option,option6.value)},transformReply:void 0}});var 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}});var 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}});var 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(value6){let resolve=this.#queue.shift();if(resolve!==void 0){resolve(value6);return}this.#list.push(value6)}shift(){return this.#list.shift()}wait(){return new Promise((resolve)=>this.#queue.push(resolve))}}exports.WaitQueue=WaitQueue});var 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=__require("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=__require("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=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,value6){let proxy=Object.create(this);return proxy._commandOptions=Object.create(this._self.#commandOptions??null),proxy._commandOptions[key]=value6,proxy}withTypeMapping(typeMapping){return this._commandOptionsProxy("typeMapping",typeMapping)}async _execute(isReadonly,fn2){if(this._self.#clientInfo===void 0)throw new 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 new 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 new 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 new 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=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,value6){let proxy=Object.create(this);return proxy._self.#commandOptions={...this._self.#commandOptions||{},[key]:value6},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;#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 new Error("Client Side Caching is only supported with RESP3")}constructor(options){super();if(this.#validateOptions(options),this.#name=options.name,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 new 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 new 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({...clientOptions,socket:{...clientOptions.socket,host:node.host,port:node.port,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 new 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 count5=0;while(!0){if(this.#trace("starting connect loop"),count5+=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&&count5>this.#maxCommandRediscovers)throw e;if(e.message!=="no valid master node")console.log(e);await 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 new 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}}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"),new Error("None of the sentinels are available")}analyze(observed){let master=utils_1.parseNode(observed.masterData);if(master===void 0)throw this.#trace(`analyze: no valid master node because ${observed.masterData.flags}`),new 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=utils_1.createNodeList(observed.replicaData);for(let node of replicaList)desiredSet.add(JSON.stringify(node));for(let[node,value6]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)),value6!=observed.replicaPoolSize)replicasToOpen.set(node,observed.replicaPoolSize-value6),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(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",new Error(`Sentinel Client (${node.host}:${node.port}): ${err.message}`,{cause:err}));let event2={type:"SENTINEL",node:utils_1.clientSocketToNode(client.options.socket),error:err};this.emit("client-error",event2),this.#reset()}),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",new Error(`Master Client (${node.host}:${node.port}): ${err.message}`,{cause:err}));let event2={type:"MASTER",node: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=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,size21]of analyzed.replicasToOpen){for(let i=0;i<size21;i++){let client=this.#createClient(node,this.#nodeClientOptions);client.on("error",(err)=>{if(this.#passthroughClientErrorEvents)this.emit("error",new Error(`Replica Client (${node.host}:${node.port}): ${err.message}`,{cause:err}));let event2={type:"REPLICA",node: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 utils_1.clientSocketToNode(master.options.socket);return}getSentinelNode(){if(this.#sentinelClient===void 0)return;return utils_1.clientSocketToNode(this.#sentinelClient.options.socket)}getReplicaNodes(){let ret=new Map,initialMap=new Map;for(let replica of this.#replicaClients){let node=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,value6]of initialMap)ret.set(JSON.parse(key),value6);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(utils_1.createNodeList(sentinelData));return}finally{client.destroy()}}throw new 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=utils_1.parseNode(masterData);if(master===void 0)continue;return master}finally{client.destroy()}}if(connected)throw new Error("Master Node Not Enumerated");throw new 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=utils_1.createNodeList(replicaData);if(replicas.length==0)continue;return replicas}finally{client.destroy()}}if(connected)throw new Error("No Replicas Nodes Enumerated");throw new Error("couldn't connect to any sentinels")}async getReplicaClient(){let replicas=await this.getReplicaNodes();if(replicas.length==0)throw new 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});var 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.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 FLUSHALL_1=require_FLUSHALL();Object.defineProperty(exports,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return FLUSHALL_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}})});var 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}});var 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}});var 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}});var 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});var 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 helpers_1.transformInfoV2Reply(reply,typeMapping)},3:void 0}}});var 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}});var require_LOADCHUNK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,iterator,chunk4){parser.push("BF.LOADCHUNK"),parser.pushKey(key),parser.push(iterator.toString(),chunk4)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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]}}}});var 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}});var 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:incrementBy2}){parser.push(item,incrementBy2.toString())}});var 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 bloom_1.transformInfoV2Reply(reply,typeMapping)},3:void 0}}});var 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}});var require_INITBYPROB=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,error2,probability){parser.push("CMS.INITBYPROB"),parser.pushKey(key),parser.push(error2.toString(),probability.toString())},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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 bloom_1.transformInfoV2Reply(reply,typeMapping)},3:void 0}}});var 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}});var 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"),INSERT_1.parseCfInsertArguments(...args2)},transformReply:INSERT_1.default.transformReply}});var require_LOADCHUNK2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,iterator,chunk4){parser.push("CF.LOADCHUNK"),parser.pushKey(key),parser.push(iterator.toString(),chunk4)},transformReply:void 0}});var 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}});var 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]}}}});var 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}});var require_ADD3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,values7){parser.push("TDIGEST.ADD"),parser.pushKey(key);for(let value6 of values7)parser.push(value6.toString())},transformReply:void 0}});var 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}});var 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"),BYRANK_1.transformByRankArguments(...args2)},transformReply:BYRANK_1.default.transformReply}});var 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,values7){parser.push("TDIGEST.CDF"),parser.pushKey(key);for(let item of values7)parser.push(item.toString())},transformReply:generic_transformers_1.transformDoubleArrayReply}});var 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}});var 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 bloom_1.transformInfoV2Reply(reply,typeMapping)},3:void 0}}});var 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}});var 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}});var 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}});var 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}});var require_RANK=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.transformRankArguments=void 0;function transformRankArguments(parser,key,values7){parser.pushKey(key);for(let value6 of values7)parser.push(value6.toString())}exports.transformRankArguments=transformRankArguments;exports.default={IS_READ_ONLY:!0,parseCommand(...args2){args2[0].push("TDIGEST.RANK"),transformRankArguments(...args2)},transformReply:void 0}});var 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}});var 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"),RANK_1.transformRankArguments(...args2)},transformReply:RANK_1.default.transformReply}});var 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}});var 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}});var 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}});var 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}});var require_INCRBY3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});function pushIncrByItem(parser,{item,incrementBy:incrementBy2}){parser.push(item,incrementBy2.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}});var 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),bloom_1.transformInfoV2Reply(reply,typeMapping)},3:void 0}}});var 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}}});var 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}});var 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}});var 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}});var 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}});var 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}});var 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}})});var require_helpers2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.transformRedisJsonReply=exports.transformRedisJsonArgument=exports.transformRedisJsonNullReply=void 0;var generic_transformers_1=require_generic_transformers();function transformRedisJsonNullReply(json){return generic_transformers_1.isNullReply(json)?json:transformRedisJsonReply(json)}exports.transformRedisJsonNullReply=transformRedisJsonNullReply;function transformRedisJsonArgument(json){return JSON.stringify(json)}exports.transformRedisJsonArgument=transformRedisJsonArgument;function transformRedisJsonReply(json){return JSON.parse(json.toString())}exports.transformRedisJsonReply=transformRedisJsonReply});var require_ARRAPPEND=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,json,...jsons){parser.push("JSON.ARRAPPEND"),parser.pushKey(key),parser.push(path,helpers_1.transformRedisJsonArgument(json));for(let i=0;i<jsons.length;i++)parser.push(helpers_1.transformRedisJsonArgument(jsons[i]))},transformReply:void 0}});var require_ARRINDEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,path,json,options){if(parser.push("JSON.ARRINDEX"),parser.pushKey(key),parser.push(path,helpers_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}});var require_ARRINSERT=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();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(),helpers_1.transformRedisJsonArgument(json));for(let i=0;i<jsons.length;i++)parser.push(helpers_1.transformRedisJsonArgument(jsons[i]))},transformReply:void 0}});var 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}});var require_ARRPOP=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var generic_transformers_1=require_generic_transformers(),helpers_1=require_helpers2();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 generic_transformers_1.isArrayReply(reply)?reply.map((item)=>helpers_1.transformRedisJsonNullReply(item)):helpers_1.transformRedisJsonNullReply(reply)}}});var require_ARRTRIM=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,start5,stop2){parser.push("JSON.ARRTRIM"),parser.pushKey(key),parser.push(path,start5.toString(),stop2.toString())},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var require_GET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();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:helpers_1.transformRedisJsonNullReply}});var require_MERGE3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,value6){parser.push("JSON.MERGE"),parser.pushKey(key),parser.push(path,helpers_1.transformRedisJsonArgument(value6))},transformReply:void 0}});var require_MGET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!0,parseCommand(parser,keys9,path){parser.push("JSON.MGET"),parser.pushKeys(keys9),parser.push(path)},transformReply(reply){return reply.map((json)=>helpers_1.transformRedisJsonNullReply(json))}}});var require_MSET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();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,helpers_1.transformRedisJsonArgument(items[i].value))},transformReply:void 0}});var 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}}});var 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}});var 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}});var 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}});var require_SET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,path,json,options){if(parser.push("JSON.SET"),parser.pushKey(key),parser.push(path,helpers_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}});var require_STRAPPEND=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers2();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(helpers_1.transformRedisJsonArgument(append4))},transformReply:void 0}});var 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}});var 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}});var 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]}}}});var require_commands4=__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 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());__exportStar(require_helpers2(),exports);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}});var 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}})});var 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}}});var require_CREATE2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.REDISEARCH_LANGUAGE=exports.parseSchema=exports.SCHEMA_GEO_SHAPE_COORD_SYSTEM=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"};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)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)args2.push("INITIAL_CAP",fieldOptions.INITIAL_CAP.toString());switch(fieldOptions.ALGORITHM){case exports.SCHEMA_VECTOR_FIELD_ALGORITHM.FLAT:if(fieldOptions.BLOCK_SIZE)args2.push("BLOCK_SIZE",fieldOptions.BLOCK_SIZE.toString());break;case exports.SCHEMA_VECTOR_FIELD_ALGORITHM.HNSW:if(fieldOptions.M)args2.push("M",fieldOptions.M.toString());if(fieldOptions.EF_CONSTRUCTION)args2.push("EF_CONSTRUCTION",fieldOptions.EF_CONSTRUCTION.toString());if(fieldOptions.EF_RUNTIME)args2.push("EF_RUNTIME",fieldOptions.EF_RUNTIME.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(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");generic_transformers_1.parseOptionalVariadicArgument(parser,"STOPWORDS",options?.STOPWORDS),parser.push("SCHEMA"),parseSchema(parser,schema)},transformReply:void 0}});var 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"),CREATE_1.parseSchema(parser,schema)},transformReply:void 0}});var require_default=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.DEFAULT_DIALECT=void 0;exports.DEFAULT_DIALECT="2"});var 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 value6=params[key];args2.push(key,typeof value6==="number"?value6.toString():value6)}parser.pushVariadicWithLength(args2)}}exports.parseParamsArgument=parseParamsArgument;function parseSearchOptions(parser,options){if(options?.VERBATIM)parser.push("VERBATIM");if(options?.NOSTOPWORDS)parser.push("NOSTOPWORDS");if(generic_transformers_1.parseOptionalVariadicArgument(parser,"INKEYS",options?.INKEYS),generic_transformers_1.parseOptionalVariadicArgument(parser,"INFIELDS",options?.INFIELDS),generic_transformers_1.parseOptionalVariadicArgument(parser,"RETURN",options?.RETURN),options?.SUMMARIZE){if(parser.push("SUMMARIZE"),typeof options.SUMMARIZE==="object"){if(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(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[0]+1==reply.length,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),i=0;while(i<tuples.length){let key=tuples[i++],value6=tuples[i++];if(key==="$")try{Object.assign(message,JSON.parse(value6));continue}catch{}message[key]=value6}return message}});var 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(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(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)}});var 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}});var 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}});var 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}});var 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}});var require_CONFIG_GET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,option6){parser.push("FT.CONFIG","GET",option6)},transformReply(reply){let transformedReply=Object.create(null);for(let item of reply){let[key,value6]=item;transformedReply[key.toString()]=value6}return transformedReply}}});var require_CONFIG_SET2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,property,value6){parser.push("FT.CONFIG","SET",property,value6)},transformReply:void 0}});var 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}});var 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}});var 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}});var 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}});var 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}}});var 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}}});var 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),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}});var 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}});var 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=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={},array7=reply[i+1];for(let i2=0;i2<array7.length;i2+=2){let innerKey=array7[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](array7[i2+1],void 0,typeMapping);break}}ret[key]=innerRet;break}case"cursor_stats":{let innerRet={},array7=reply[i+1];for(let i2=0;i2<array7.length;i2+=2){let innerKey=array7[i2].toString();switch(innerKey){case"global_idle":case"global_total":case"index_capacity":case"index_total":innerRet[innerKey]=array7[i2+1];break}}ret[key]=innerRet;break}}}return ret}});var 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),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}});var 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),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}});var 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}});var 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)}});var require_SUGADD=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,string6,score,options){if(parser.push("FT.SUGADD"),parser.pushKey(key),parser.push(string6,score.toString()),options?.INCR)parser.push("INCR");if(options?.PAYLOAD)parser.push("PAYLOAD",options.PAYLOAD)},transformReply:void 0}});var require_SUGDEL=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={IS_READ_ONLY:!0,parseCommand(parser,key,string6){parser.push("FT.SUGDEL"),parser.pushKey(key),parser.push(string6)},transformReply:void 0}});var 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}});var 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(generic_transformers_1.isNullReply(reply))return null;let transformedReply=new Array(reply.length/2),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],payload:reply[replyIndex++]};return transformedReply}}});var 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(generic_transformers_1.isNullReply(reply))return null;let transformedReply=new 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(generic_transformers_1.isNullReply(reply))return null;let transformedReply=new 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}}}});var 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(generic_transformers_1.isNullReply(reply))return null;let transformedReply=new 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(generic_transformers_1.isNullReply(reply))return null;let transformedReply=new Array(reply.length/2),replyIndex=0,arrIndex=0;while(replyIndex<reply.length)transformedReply[arrIndex++]={suggestion:reply[replyIndex++],score:reply[replyIndex++]};return transformedReply}}}});var 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}});var 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(),value6=reply[i++];result[key]=value6}return result},3:void 0}}});var 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}});var 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}}});var 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()),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,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}});var 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}})});var require_helpers3=__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,ignore4){if(ignore4!==void 0)parser.push("IGNORE",ignore4.maxTimeDiff.toString(),ignore4.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,value6]of Object.entries(labels))parser.push(label,value6)}}exports.parseLabelsArgument=parseLabelsArgument;exports.transformSampleReply={2(reply){let[timestamp,value6]=reply;return{timestamp,value:Number(value6)}},3(reply){let[timestamp,value6]=reply;return{timestamp,value:value6}}};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 tuple4=wrappedTuple,key=tuple4[0];ret.set(key.toString(),parseFunc(tuple4))}return ret}case Array:{for(let wrappedTuple of reply){let tuple4=wrappedTuple;tuple4[1]=parseFunc(tuple4)}return reply}default:{let ret=Object.create(null);for(let wrappedTuple of reply){let tuple4=wrappedTuple,key=tuple4[0];ret[key.toString()]=parseFunc(tuple4)}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,value6]of reply.entries())reply.set(key,parseFunc(value6));else for(let[key,value6]of Object.entries(reply))reply[key]=parseFunc(value6);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 map31=new Map;for(let tuple4 of unwrappedLabels){let[key,value6]=tuple4,unwrappedKey=key;map31.set(unwrappedKey.toString(),value6)}return map31;case Array:return unwrappedLabels.flat();case Object:default:let labelsObject=Object.create(null);for(let tuple4 of unwrappedLabels){let[key,value6]=tuple4,unwrappedKey=key;labelsObject[unwrappedKey.toString()]=value6}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 map31=new Map;for(let i=0;i<to;i++){let[key,value6]=unwrappedLabels[i],unwrappedKey=key;map31.set(unwrappedKey.toString(),value6)}transformedLabels=map31;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,value6]=unwrappedLabels[i],unwrappedKey=key;labelsObject[unwrappedKey.toString()]=value6}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}});var require_ADD5=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers3();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,timestamp,value6,options){if(parser.push("TS.ADD"),parser.pushKey(key),parser.push(helpers_1.transformTimestampArgument(timestamp),value6.toString()),helpers_1.parseRetentionArgument(parser,options?.RETENTION),helpers_1.parseEncodingArgument(parser,options?.ENCODING),helpers_1.parseChunkSizeArgument(parser,options?.CHUNK_SIZE),options?.ON_DUPLICATE)parser.push("ON_DUPLICATE",options.ON_DUPLICATE);helpers_1.parseLabelsArgument(parser,options?.LABELS),helpers_1.parseIgnoreArgument(parser,options?.IGNORE)},transformReply:void 0}});var require_ALTER2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers3();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){parser.push("TS.ALTER"),parser.pushKey(key),helpers_1.parseRetentionArgument(parser,options?.RETENTION),helpers_1.parseChunkSizeArgument(parser,options?.CHUNK_SIZE),helpers_1.parseDuplicatePolicy(parser,options?.DUPLICATE_POLICY),helpers_1.parseLabelsArgument(parser,options?.LABELS),helpers_1.parseIgnoreArgument(parser,options?.IGNORE)},transformReply:void 0}});var require_CREATE3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers3();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,options){parser.push("TS.CREATE"),parser.pushKey(key),helpers_1.parseRetentionArgument(parser,options?.RETENTION),helpers_1.parseEncodingArgument(parser,options?.ENCODING),helpers_1.parseChunkSizeArgument(parser,options?.CHUNK_SIZE),helpers_1.parseDuplicatePolicy(parser,options?.DUPLICATE_POLICY),helpers_1.parseLabelsArgument(parser,options?.LABELS),helpers_1.parseIgnoreArgument(parser,options?.IGNORE)},transformReply:void 0}});var 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}});var require_INCRBY4=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.parseIncrByArguments=void 0;var helpers_1=require_helpers3();function parseIncrByArguments(parser,key,value6,options){if(parser.pushKey(key),parser.push(value6.toString()),options?.TIMESTAMP!==void 0&&options?.TIMESTAMP!==null)parser.push("TIMESTAMP",helpers_1.transformTimestampArgument(options.TIMESTAMP));if(helpers_1.parseRetentionArgument(parser,options?.RETENTION),options?.UNCOMPRESSED)parser.push("UNCOMPRESSED");helpers_1.parseChunkSizeArgument(parser,options?.CHUNK_SIZE),helpers_1.parseLabelsArgument(parser,options?.LABELS),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}});var 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"),INCRBY_1.parseIncrByArguments(...args2)},transformReply:INCRBY_1.default.transformReply}});var require_DEL4=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers3();exports.default={IS_READ_ONLY:!1,parseCommand(parser,key,fromTimestamp,toTimestamp){parser.push("TS.DEL"),parser.pushKey(key),parser.push(helpers_1.transformTimestampArgument(fromTimestamp),helpers_1.transformTimestampArgument(toTimestamp))},transformReply:void 0}});var 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}});var 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]}}}}});var 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,value6])=>({name,value:value6}));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}});var 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((chunk4)=>({startTimestamp:chunk4[1],endTimestamp:chunk4[3],samples:chunk4[5],size:chunk4[7],bytesPerSample:chunk4[9]}));break}}}return ret},3:void 0},unstableResp3:!0}});var require_MADD2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var helpers_1=require_helpers3();exports.default={IS_READ_ONLY:!1,parseCommand(parser,toAdd){parser.push("TS.MADD");for(let{key,timestamp,value:value6}of toAdd)parser.pushKey(key),parser.push(helpers_1.transformTimestampArgument(timestamp),value6.toString())},transformReply:void 0}});var require_MGET3=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.parseFilterArgument=exports.parseLatestArgument=void 0;var helpers_1=require_helpers3();function parseLatestArgument(parser,latest){if(latest)parser.push("LATEST")}exports.parseLatestArgument=parseLatestArgument;function parseFilterArgument(parser,filter16){parser.push("FILTER"),parser.pushVariadic(filter16)}exports.parseFilterArgument=parseFilterArgument;exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,filter16,options){parser.push("TS.MGET"),parseLatestArgument(parser,options?.LATEST),parseFilterArgument(parser,filter16)},transformReply:{2(reply,_,typeMapping){return helpers_1.resp2MapToValue(reply,([,,sample])=>{return{sample:helpers_1.transformSampleReply[2](sample)}},typeMapping)},3(reply){return helpers_1.resp3MapToValue(reply,([,sample])=>{return{sample:helpers_1.transformSampleReply[3](sample)}})}}}});var require_MGET_WITHLABELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createTransformMGetLabelsReply=void 0;var MGET_1=require_MGET3(),helpers_1=require_helpers3();function createTransformMGetLabelsReply(){return{2(reply,_,typeMapping){return helpers_1.resp2MapToValue(reply,([,labels,sample])=>{return{labels:helpers_1.transformRESP2Labels(labels),sample:helpers_1.transformSampleReply[2](sample)}},typeMapping)},3(reply){return 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,filter16,options){parser.push("TS.MGET"),MGET_1.parseLatestArgument(parser,options?.LATEST),parser.push("WITHLABELS"),MGET_1.parseFilterArgument(parser,filter16)},transformReply:createTransformMGetLabelsReply()}});var require_MGET_SELECTED_LABELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});var MGET_1=require_MGET3(),helpers_1=require_helpers3(),MGET_WITHLABELS_1=require_MGET_WITHLABELS();exports.default={IS_READ_ONLY:!0,parseCommand(parser,filter16,selectedLabels,options){parser.push("TS.MGET"),MGET_1.parseLatestArgument(parser,options?.LATEST),helpers_1.parseSelectedLabelsArguments(parser,selectedLabels),MGET_1.parseFilterArgument(parser,filter16)},transformReply:MGET_WITHLABELS_1.createTransformMGetLabelsReply()}});var 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_helpers3();exports.TIME_SERIES_BUCKET_TIMESTAMP={LOW:"-",MIDDLE:"~",END:"+"};function parseRangeArguments(parser,fromTimestamp,toTimestamp,options){if(parser.push(helpers_1.transformTimestampArgument(fromTimestamp),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(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",helpers_1.transformTimestampArgument(options.ALIGN));if(parser.push("AGGREGATION",options.AGGREGATION.type,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)}}}});var 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_helpers3(),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,groupBy2){parser.push("GROUPBY",groupBy2.label,"REDUCE",groupBy2.REDUCE)}exports.parseGroupByArguments=parseGroupByArguments;function createTransformMRangeGroupByArguments(command){return(parser,fromTimestamp,toTimestamp,filter16,groupBy2,options)=>{parser.push(command),RANGE_1.parseRangeArguments(parser,fromTimestamp,toTimestamp,options),MGET_1.parseFilterArgument(parser,filter16),parseGroupByArguments(parser,groupBy2)}}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 helpers_1.resp2MapToValue(reply,([_key,_labels,samples])=>{return{samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return helpers_1.resp3MapToValue(reply,([_labels,_metadata1,metadata2,samples])=>{return{sources:extractResp3MRangeSources(metadata2),samples:helpers_1.transformSamplesReply[3](samples)}})}}}});var require_MRANGE_SELECTED_LABELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createTransformMRangeSelectedLabelsArguments=void 0;var helpers_1=require_helpers3(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();function createTransformMRangeSelectedLabelsArguments(command){return(parser,fromTimestamp,toTimestamp,selectedLabels,filter16,options)=>{parser.push(command),RANGE_1.parseRangeArguments(parser,fromTimestamp,toTimestamp,options),helpers_1.parseSelectedLabelsArguments(parser,selectedLabels),MGET_1.parseFilterArgument(parser,filter16)}}exports.createTransformMRangeSelectedLabelsArguments=createTransformMRangeSelectedLabelsArguments;exports.default={IS_READ_ONLY:!0,parseCommand:createTransformMRangeSelectedLabelsArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return helpers_1.resp2MapToValue(reply,([_key,labels,samples])=>{return{labels:helpers_1.transformRESP2Labels(labels,typeMapping),samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return helpers_1.resp3MapToValue(reply,([_key,labels,samples])=>{return{labels,samples:helpers_1.transformSamplesReply[3](samples)}})}}}});var 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_helpers3(),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,filter16,groupBy2,options)=>{parser.push(command),RANGE_1.parseRangeArguments(parser,fromTimestamp,toTimestamp,options),helpers_1.parseSelectedLabelsArguments(parser,selectedLabels),MGET_1.parseFilterArgument(parser,filter16),MRANGE_GROUPBY_1.parseGroupByArguments(parser,groupBy2)}}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 helpers_1.resp3MapToValue(reply,([labels,_metadata,metadata2,samples])=>{return{labels,sources:MRANGE_GROUPBY_1.extractResp3MRangeSources(metadata2),samples:helpers_1.transformSamplesReply[3](samples)}})}}}});var require_MRANGE_WITHLABELS_GROUPBY=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createMRangeWithLabelsGroupByTransformArguments=void 0;var helpers_1=require_helpers3(),RANGE_1=require_RANGE(),MRANGE_GROUPBY_1=require_MRANGE_GROUPBY(),MGET_1=require_MGET3();function createMRangeWithLabelsGroupByTransformArguments(command){return(parser,fromTimestamp,toTimestamp,filter16,groupBy2,options)=>{parser.push(command),RANGE_1.parseRangeArguments(parser,fromTimestamp,toTimestamp,options),parser.push("WITHLABELS"),MGET_1.parseFilterArgument(parser,filter16),MRANGE_GROUPBY_1.parseGroupByArguments(parser,groupBy2)}}exports.createMRangeWithLabelsGroupByTransformArguments=createMRangeWithLabelsGroupByTransformArguments;exports.default={IS_READ_ONLY:!0,parseCommand:createMRangeWithLabelsGroupByTransformArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return helpers_1.resp2MapToValue(reply,([_key,labels,samples])=>{let transformed=helpers_1.transformRESP2LabelsWithSources(labels);return{labels:transformed.labels,sources:transformed.sources,samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return helpers_1.resp3MapToValue(reply,([labels,_metadata,metadata2,samples])=>{return{labels,sources:MRANGE_GROUPBY_1.extractResp3MRangeSources(metadata2),samples:helpers_1.transformSamplesReply[3](samples)}})}}}});var require_MRANGE_WITHLABELS=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createTransformMRangeWithLabelsArguments=void 0;var helpers_1=require_helpers3(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();function createTransformMRangeWithLabelsArguments(command){return(parser,fromTimestamp,toTimestamp,filter16,options)=>{parser.push(command),RANGE_1.parseRangeArguments(parser,fromTimestamp,toTimestamp,options),parser.push("WITHLABELS"),MGET_1.parseFilterArgument(parser,filter16)}}exports.createTransformMRangeWithLabelsArguments=createTransformMRangeWithLabelsArguments;exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:createTransformMRangeWithLabelsArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return helpers_1.resp2MapToValue(reply,([_key,labels,samples])=>{let unwrappedLabels=labels,labelsObject=Object.create(null);for(let tuple4 of unwrappedLabels){let[key,value6]=tuple4,unwrappedKey=key;labelsObject[unwrappedKey.toString()]=value6}return{labels:labelsObject,samples:helpers_1.transformSamplesReply[2](samples)}},typeMapping)},3(reply){return helpers_1.resp3MapToValue(reply,([labels,_metadata,samples])=>{return{labels,samples:helpers_1.transformSamplesReply[3](samples)}})}}}});var require_MRANGE=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createTransformMRangeArguments=void 0;var helpers_1=require_helpers3(),RANGE_1=require_RANGE(),MGET_1=require_MGET3();function createTransformMRangeArguments(command){return(parser,fromTimestamp,toTimestamp,filter16,options)=>{parser.push(command),RANGE_1.parseRangeArguments(parser,fromTimestamp,toTimestamp,options),MGET_1.parseFilterArgument(parser,filter16)}}exports.createTransformMRangeArguments=createTransformMRangeArguments;exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:createTransformMRangeArguments("TS.MRANGE"),transformReply:{2(reply,_,typeMapping){return helpers_1.resp2MapToValue(reply,([_key,_labels,samples])=>{return helpers_1.transformSamplesReply[2](samples)},typeMapping)},3(reply){return helpers_1.resp3MapToValue(reply,([_labels,_metadata,samples])=>{return helpers_1.transformSamplesReply[3](samples)})}}}});var 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:MRANGE_GROUPBY_1.createTransformMRangeGroupByArguments("TS.MREVRANGE"),transformReply:MRANGE_GROUPBY_1.default.transformReply}});var 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:MRANGE_SELECTED_LABELS_GROUPBY_1.createMRangeSelectedLabelsGroupByTransformArguments("TS.MREVRANGE"),transformReply:MRANGE_SELECTED_LABELS_GROUPBY_1.default.transformReply}});var 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:MRANGE_SELECTED_LABELS_1.createTransformMRangeSelectedLabelsArguments("TS.MREVRANGE"),transformReply:MRANGE_SELECTED_LABELS_1.default.transformReply}});var 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:MRANGE_WITHLABELS_GROUPBY_1.createMRangeWithLabelsGroupByTransformArguments("TS.MREVRANGE"),transformReply:MRANGE_WITHLABELS_GROUPBY_1.default.transformReply}});var 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:MRANGE_WITHLABELS_1.createTransformMRangeWithLabelsArguments("TS.MREVRANGE"),transformReply:MRANGE_WITHLABELS_1.default.transformReply}});var 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:MRANGE_1.createTransformMRangeArguments("TS.MREVRANGE"),transformReply:MRANGE_1.default.transformReply}});var require_QUERYINDEX=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(parser,filter16){parser.push("TS.QUERYINDEX"),parser.pushVariadic(filter16)},transformReply:{2:void 0,3:void 0}}});var 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"),RANGE_1.transformRangeArguments(...args2)},transformReply:RANGE_1.default.transformReply}});var 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_helpers3(),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}});var 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}})});var 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.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 client_1.createClient({...options,modules:{...modules,...options?.modules}})}exports.createClient=createClient;function createCluster(options){return client_1.createCluster({...options,modules:{...modules,...options?.modules}})}exports.createCluster=createCluster;function createSentinel(options){return client_1.createSentinel({...options,modules:{...modules,...options?.modules}})}exports.createSentinel=createSentinel});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 new 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)))),Date2=mapInput(number,(date)=>date.getTime());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)=>Object.assign({},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)=>Object.assign({},a,{[name]:b}))));var moduleVersion="3.16.2",getCurrentVersion=()=>moduleVersion;var globalStoreId=`effect/GlobalValue/globalStoreId/${getCurrentVersion()}`,globalStore,globalValue=(id,compute)=>{if(!globalStore)globalThis[globalStoreId]??=new Map,globalStore=globalThis[globalStoreId];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,isUndefined=(input)=>input===void 0;var isNever=(_)=>!1;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,isNotNullable=(input)=>input!==null&&input!==void 0;var isDate=(input)=>input instanceof Date,isIterable=(input)=>hasProperty(input,Symbol.iterator),isRecord=(input)=>isRecordOrArray(input)&&!Array.isArray(input);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 new 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(()=>new 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)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 new 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)return self.toISOString()===that.toISOString();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)},format=(x)=>JSON.stringify(x,null,2),BaseProto={toJSON(){return toJSON(this)},[NodeInspectSymbol](){return this.toJSON()},toString(){return format(this.toJSON())}};var toStringUnknown=(u,whitespace=2)=>{if(typeof u==="string")return u;try{return typeof u==="object"?stringifyCircular(u,whitespace):String(u)}catch{return String(u)}},stringifyCircular=(obj,whitespace)=>{let cache=[],retVal=JSON.stringify(obj,(_key,value)=>typeof value==="object"&&value!==null?cache.includes(value)?void 0:cache.push(value)&&(redactableState.fiberRefs!==void 0&&isRedactable(value)?value[symbolRedactable](redactableState.fiberRefs):value):value,whitespace);return cache=void 0,retVal},symbolRedactable=Symbol.for("effect/Inspectable/Redactable"),isRedactable=(u)=>typeof u==="object"&&u!==null&&(symbolRedactable in u),redactableState=globalValue("effect/Inspectable/redactableState",()=>({fiberRefs:void 0})),withRedactableContext=(context,f)=>{let prev=redactableState.fiberRefs;redactableState.fiberRefs=context;try{return f()}finally{redactableState.fiberRefs=prev}},redact=(u)=>{if(isRedactable(u)&&redactableState.fiberRefs!==void 0)return u[symbolRedactable](redactableState.fiberRefs);return u};var pipeArguments=(self,args)=>{switch(args.length){case 0:return self;case 1:return args[0](self);case 2:return args[1](args[0](self));case 3:return args[2](args[1](args[0](self)));case 4:return args[3](args[2](args[1](args[0](self))));case 5:return args[4](args[3](args[2](args[1](args[0](self)))));case 6:return args[5](args[4](args[3](args[2](args[1](args[0](self))))));case 7:return args[6](args[5](args[4](args[3](args[2](args[1](args[0](self)))))));case 8:return args[7](args[6](args[5](args[4](args[3](args[2](args[1](args[0](self))))))));case 9:return args[8](args[7](args[6](args[5](args[4](args[3](args[2](args[1](args[0](self)))))))));default:{let ret=self;for(let i=0,len=args.length;i<len;i++)ret=args[i](ret);return ret}}};var OP_ASYNC="Async",OP_COMMIT="Commit",OP_FAILURE="Failure",OP_ON_FAILURE="OnFailure",OP_ON_SUCCESS="OnSuccess",OP_ON_SUCCESS_AND_FAILURE="OnSuccessAndFailure",OP_SUCCESS="Success",OP_SYNC="Sync",OP_TAG="Tag",OP_UPDATE_RUNTIME_FLAGS="UpdateRuntimeFlags",OP_WHILE="While",OP_ITERATOR="Iterator",OP_WITH_RUNTIME="WithRuntime",OP_YIELD="Yield",OP_REVERT_FLAGS="RevertFlags";var EffectTypeId=Symbol.for("effect/Effect"),StreamTypeId=Symbol.for("effect/Stream"),SinkTypeId=Symbol.for("effect/Sink"),ChannelTypeId=Symbol.for("effect/Channel"),effectVariance={_R:(_)=>_,_E:(_)=>_,_A:(_)=>_,_V:getCurrentVersion()},sinkVariance={_A:(_)=>_,_In:(_)=>_,_L:(_)=>_,_E:(_)=>_,_R:(_)=>_},channelVariance={_Env:(_)=>_,_InErr:(_)=>_,_InElem:(_)=>_,_InDone:(_)=>_,_OutErr:(_)=>_,_OutElem:(_)=>_,_OutDone:(_)=>_},EffectPrototype={[EffectTypeId]:effectVariance,[StreamTypeId]:effectVariance,[SinkTypeId]:sinkVariance,[ChannelTypeId]:channelVariance,[symbol2](that){return this===that},[symbol](){return cached(this,random(this))},[Symbol.iterator](){return new SingleShotGen(new YieldWrap(this))},pipe(){return pipeArguments(this,arguments)}},StructuralPrototype={[symbol](){return cached(this,structure(this))},[symbol2](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)&&equals(this[key],that[key])))return!1;return!0}},CommitPrototype={...EffectPrototype,_op:OP_COMMIT},StructuralCommitPrototype={...CommitPrototype,...StructuralPrototype},Base=function(){function Base2(){}return Base2.prototype=CommitPrototype,Base2}();var TypeId=Symbol.for("effect/Option"),CommonProto={...EffectPrototype,[TypeId]:{_A:(_)=>_},[NodeInspectSymbol](){return this.toJSON()},toString(){return format(this.toJSON())}},SomeProto=Object.assign(Object.create(CommonProto),{_tag:"Some",_op:"Some",[symbol2](that){return isOption(that)&&isSome(that)&&equals(this.value,that.value)},[symbol](){return cached(this,combine(hash(this._tag))(hash(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:toJSON(this.value)}}}),NoneHash=hash("None"),NoneProto=Object.assign(Object.create(CommonProto),{_tag:"None",_op:"None",[symbol2](that){return isOption(that)&&isNone(that)},[symbol](){return NoneHash},toJSON(){return{_id:"Option",_tag:this._tag}}}),isOption=(input)=>hasProperty(input,TypeId),isNone=(fa)=>fa._tag==="None",isSome=(fa)=>fa._tag==="Some",none=Object.create(NoneProto),some=(value)=>{let a=Object.create(SomeProto);return a.value=value,a};var TypeId2=Symbol.for("effect/Either"),CommonProto2={...EffectPrototype,[TypeId2]:{_R:(_)=>_},[NodeInspectSymbol](){return this.toJSON()},toString(){return format(this.toJSON())}},RightProto=Object.assign(Object.create(CommonProto2),{_tag:"Right",_op:"Right",[symbol2](that){return isEither(that)&&isRight(that)&&equals(this.right,that.right)},[symbol](){return combine(hash(this._tag))(hash(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:toJSON(this.right)}}}),LeftProto=Object.assign(Object.create(CommonProto2),{_tag:"Left",_op:"Left",[symbol2](that){return isEither(that)&&isLeft(that)&&equals(this.left,that.left)},[symbol](){return combine(hash(this._tag))(hash(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:toJSON(this.left)}}}),isEither=(input)=>hasProperty(input,TypeId2),isLeft=(ma)=>ma._tag==="Left",isRight=(ma)=>ma._tag==="Right",left=(left2)=>{let a=Object.create(LeftProto);return a.left=left2,a},right=(right2)=>{let a=Object.create(RightProto);return a.right=right2,a};var right2=right;var left2=left;var isEither2=isEither,isLeft2=isLeft,isRight2=isRight;var mapLeft=dual(2,(self,f)=>isLeft2(self)?left2(f(self.left)):right2(self.right)),map=dual(2,(self,f)=>isRight2(self)?right2(f(self.right)):left2(self.left)),match=dual(2,(self,{onLeft,onRight})=>isLeft2(self)?onLeft(self.left):onRight(self.right));var merge=match({onLeft:identity,onRight:identity});var getOrThrowWith=dual(2,(self,onLeft)=>{if(isRight2(self))return self.right;throw onLeft(self.left)}),getOrThrow=getOrThrowWith(()=>new Error("getOrThrow called on a Left"));var isNonEmptyArray=(self)=>self.length>0;var make2=(compare)=>(self,that)=>self===that?0:compare(self,that);var number3=make2((self,that)=>self<that?-1:1);var mapInput2=dual(2,(self,f)=>make2((b1,b2)=>self(f(b1),f(b2))));var greaterThan=(O)=>dual(2,(self,that)=>O(self,that)===1);var none2=()=>none,some2=some;var isNone2=isNone,isSome2=isSome,match2=dual(2,(self,{onNone,onSome})=>isNone2(self)?onNone():onSome(self.value));var getOrElse=dual(2,(self,onNone)=>isNone2(self)?onNone():self.value),orElse=dual(2,(self,that)=>isNone2(self)?that():self),orElseSome=dual(2,(self,onNone)=>isNone2(self)?some2(onNone()):self);var fromNullable=(nullableValue)=>nullableValue==null?none2():some2(nullableValue);var getOrUndefined=getOrElse(constUndefined),liftThrowable=(f)=>(...a)=>{try{return some2(f(...a))}catch{return none2()}},getOrThrowWith2=dual(2,(self,onNone)=>{if(isSome2(self))return self.value;throw onNone()}),getOrThrow2=getOrThrowWith2(()=>new Error("getOrThrow called on a None")),map2=dual(2,(self,f)=>isNone2(self)?none2():some2(f(self.value)));var flatMap=dual(2,(self,f)=>isNone2(self)?none2():f(self.value));var flatMapNullable=dual(2,(self,f)=>isNone2(self)?none2():fromNullable(f(self.value)));var containsWith=(isEquivalent)=>dual(2,(self,a)=>isNone2(self)?!1:isEquivalent(self.value,a)),_equivalence=equivalence(),contains=containsWith(_equivalence),exists=dual(2,(self,refinement)=>isNone2(self)?!1:refinement(self.value));var mergeWith=(f)=>(o1,o2)=>{if(isNone2(o1))return o2;else if(isNone2(o2))return o1;return some2(f(o1.value,o2.value))};var make3=(...elements)=>elements;var unsafeHead=(self)=>{let result=self[Symbol.iterator]().next();if(result.done)throw new Error("unsafeHead: empty iterable");return result.value};var constEmpty={[Symbol.iterator](){return constEmptyIterator}},constEmptyIterator={next(){return{done:!0,value:void 0}}},empty=()=>constEmpty;var allocate=(n)=>new Array(n),makeBy=dual(2,(n,f)=>{let max2=Math.max(1,Math.floor(n)),out=new Array(max2);for(let i=0;i<max2;i++)out[i]=f(i);return out});var fromIterable=(collection)=>Array.isArray(collection)?collection:Array.from(collection),ensure=(self)=>Array.isArray(self)?self:[self];var matchLeft=dual(2,(self,{onEmpty,onNonEmpty})=>isNonEmptyReadonlyArray(self)?onNonEmpty(headNonEmpty(self),tailNonEmpty(self)):onEmpty());var prepend=dual(2,(self,head)=>[head,...self]);var append=dual(2,(self,last)=>[...self,last]),appendAll=dual(2,(self,that)=>fromIterable(self).concat(fromIterable(that)));var isArray=Array.isArray,isEmptyArray=(self)=>self.length===0,isEmptyReadonlyArray=isEmptyArray,isNonEmptyArray2=isNonEmptyArray,isNonEmptyReadonlyArray=isNonEmptyArray;var isOutOfBounds=(i,as)=>i<0||i>=as.length,clamp=(i,as)=>Math.floor(Math.min(Math.max(0,i),as.length)),get=dual(2,(self,index)=>{let i=Math.floor(index);return isOutOfBounds(i,self)?none2():some2(self[i])}),unsafeGet=dual(2,(self,index)=>{let i=Math.floor(index);if(isOutOfBounds(i,self))throw new Error(`Index ${i} out of bounds`);return self[i]});var head=get(0),headNonEmpty=unsafeGet(0),last=(self)=>isNonEmptyReadonlyArray(self)?some2(lastNonEmpty(self)):none2(),lastNonEmpty=(self)=>self[self.length-1];var tailNonEmpty=(self)=>self.slice(1);var spanIndex=(self,predicate)=>{let i=0;for(let a of self){if(!predicate(a,i))break;i++}return i},span=dual(2,(self,predicate)=>splitAt(self,spanIndex(self,predicate))),drop=dual(2,(self,n)=>{let input=fromIterable(self);return input.slice(clamp(n,input),input.length)});var reverse=(self)=>Array.from(self).reverse(),sort=dual(2,(self,O)=>{let out=Array.from(self);return out.sort(O),out});var zip=dual(2,(self,that)=>zipWith(self,that,make3)),zipWith=dual(3,(self,that,f)=>{let as=fromIterable(self),bs=fromIterable(that);if(isNonEmptyReadonlyArray(as)&&isNonEmptyReadonlyArray(bs)){let out=[f(headNonEmpty(as),headNonEmpty(bs))],len=Math.min(as.length,bs.length);for(let i=1;i<len;i++)out[i]=f(as[i],bs[i]);return out}return[]});var _equivalence2=equivalence();var splitAt=dual(2,(self,n)=>{let input=Array.from(self),_n=Math.floor(n);if(isNonEmptyReadonlyArray(input)){if(_n>=1)return splitNonEmptyAt(input,_n);return[[],input]}return[input,[]]}),splitNonEmptyAt=dual(2,(self,n)=>{let _n=Math.max(1,Math.floor(n));return _n>=self.length?[copy(self),[]]:[prepend(self.slice(1,_n),headNonEmpty(self)),self.slice(_n)]});var copy=(self)=>self.slice();var unionWith=dual(3,(self,that,isEquivalent)=>{let a=fromIterable(self),b=fromIterable(that);if(isNonEmptyReadonlyArray(a)){if(isNonEmptyReadonlyArray(b))return dedupeWith(isEquivalent)(appendAll(a,b));return a}return b}),union=dual(2,(self,that)=>unionWith(self,that,_equivalence2));var empty2=()=>[],of=(a)=>[a],map3=dual(2,(self,f)=>self.map(f)),flatMap2=dual(2,(self,f)=>{if(isEmptyReadonlyArray(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}),flatten=flatMap2(identity),filterMap=dual(2,(self,f)=>{let as=fromIterable(self),out=[];for(let i=0;i<as.length;i++){let o=f(as[i],i);if(isSome2(o))out.push(o.value)}return out});var partitionMap=dual(2,(self,f)=>{let left3=[],right3=[],as=fromIterable(self);for(let i=0;i<as.length;i++){let e=f(as[i],i);if(isLeft2(e))left3.push(e.left);else right3.push(e.right)}return[left3,right3]}),getSomes=filterMap(identity);var reduce=dual(3,(self,b,f)=>fromIterable(self).reduce((b2,a,i)=>f(b2,a,i),b)),reduceRight=dual(3,(self,b,f)=>fromIterable(self).reduceRight((b2,a,i)=>f(b2,a,i),b));var every=dual(2,(self,refinement)=>self.every(refinement));var unfold=(b,f)=>{let out=[],next=b,o;while(isSome2(o=f(next))){let[a,b2]=o.value;out.push(a),next=b2}return out};var getEquivalence=array;var dedupeWith=dual(2,(self,isEquivalent)=>{let input=fromIterable(self);if(isNonEmptyReadonlyArray(input)){let out=[headNonEmpty(input)],rest=tailNonEmpty(input);for(let r of rest)if(out.every((a)=>!isEquivalent(r,a)))out.push(r);return out}return[]}),dedupe=(self)=>dedupeWith(self,equivalence());var join=dual(2,(self,sep)=>fromIterable(self).join(sep));var getKeysForIndexSignature=(input,parameter)=>{switch(parameter._tag){case"StringKeyword":case"TemplateLiteral":return Object.keys(input);case"SymbolKeyword":return Object.getOwnPropertySymbols(input);case"Refinement":return getKeysForIndexSignature(input,parameter.from)}},ownKeys=(o)=>Object.keys(o).concat(Object.getOwnPropertySymbols(o)),memoizeThunk=(f)=>{let done=!1,a;return()=>{if(done)return a;return a=f(),done=!0,a}},formatDate=(date)=>{try{return date.toISOString()}catch{return String(date)}},formatUnknown=(u,checkCircular=!0)=>{if(Array.isArray(u))return`[${u.map((i)=>formatUnknown(i,checkCircular)).join(",")}]`;if(isDate(u))return formatDate(u);if(hasProperty(u,"toString")&&isFunction2(u.toString)&&u.toString!==Object.prototype.toString)return u.toString();if(isString(u))return JSON.stringify(u);if(isNumber(u)||u==null||isBoolean(u)||isSymbol(u))return String(u);if(isBigInt(u))return String(u)+"n";if(isIterable(u))return`${u.constructor.name}(${formatUnknown(Array.from(u),checkCircular)})`;try{if(checkCircular)JSON.stringify(u);let pojo=`{${ownKeys(u).map((k)=>`${isString(k)?JSON.stringify(k):String(k)}:${formatUnknown(u[k],!1)}`).join(",")}}`,name=u.constructor.name;return u.constructor!==Object.prototype.constructor?`${name}(${pojo})`:pojo}catch{return"<circular structure>"}},formatPropertyKey=(name)=>typeof name==="string"?JSON.stringify(name):String(name),isNonEmpty=(x)=>Array.isArray(x),isSingle=(x)=>!Array.isArray(x),formatPathKey=(key)=>`[${formatPropertyKey(key)}]`,formatPath=(path)=>isNonEmpty(path)?path.map(formatPathKey).join(""):formatPathKey(path);var getErrorMessage=(reason,details,path,ast)=>{let out=reason;if(path&&isNonEmptyReadonlyArray(path))out+=`
|
|
4
4
|
at path: ${formatPath(path)}`;if(details!==void 0)out+=`
|
|
5
5
|
details: ${details}`;if(ast)out+=`
|
|
6
6
|
schema (${ast._tag}): ${ast}`;return out};var getASTDuplicateIndexSignatureErrorMessage=(type)=>getErrorMessage("Duplicate index signature",`${type} index signature`),getASTIndexSignatureParameterErrorMessage=getErrorMessage("Unsupported index signature parameter","An index signature parameter type must be `string`, `symbol`, a template literal type or a refinement of the previous types"),getASTRequiredElementFollowinAnOptionalElementErrorMessage=getErrorMessage("Invalid element","A required element cannot follow an optional element. ts(1257)");var getASTDuplicatePropertySignatureErrorMessage=(key)=>getErrorMessage("Duplicate property signature",`Duplicate key ${formatUnknown(key)}`);var DateFromSelfSchemaId=Symbol.for("effect/SchemaId/DateFromSelf");var Order=number3;var escape=(string2)=>string2.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&");var BrandAnnotationId=Symbol.for("effect/annotation/Brand"),SchemaIdAnnotationId=Symbol.for("effect/annotation/SchemaId"),MessageAnnotationId=Symbol.for("effect/annotation/Message"),MissingMessageAnnotationId=Symbol.for("effect/annotation/MissingMessage"),IdentifierAnnotationId=Symbol.for("effect/annotation/Identifier"),TitleAnnotationId=Symbol.for("effect/annotation/Title"),AutoTitleAnnotationId=Symbol.for("effect/annotation/AutoTitle"),DescriptionAnnotationId=Symbol.for("effect/annotation/Description"),ExamplesAnnotationId=Symbol.for("effect/annotation/Examples"),DefaultAnnotationId=Symbol.for("effect/annotation/Default"),JSONSchemaAnnotationId=Symbol.for("effect/annotation/JSONSchema"),ArbitraryAnnotationId=Symbol.for("effect/annotation/Arbitrary"),PrettyAnnotationId=Symbol.for("effect/annotation/Pretty"),EquivalenceAnnotationId=Symbol.for("effect/annotation/Equivalence"),DocumentationAnnotationId=Symbol.for("effect/annotation/Documentation"),ConcurrencyAnnotationId=Symbol.for("effect/annotation/Concurrency"),BatchingAnnotationId=Symbol.for("effect/annotation/Batching"),ParseIssueTitleAnnotationId=Symbol.for("effect/annotation/ParseIssueTitle"),ParseOptionsAnnotationId=Symbol.for("effect/annotation/ParseOptions"),DecodingFallbackAnnotationId=Symbol.for("effect/annotation/DecodingFallback"),SurrogateAnnotationId=Symbol.for("effect/annotation/Surrogate"),StableFilterAnnotationId=Symbol.for("effect/annotation/StableFilter"),getAnnotation=dual(2,(annotated,key)=>Object.prototype.hasOwnProperty.call(annotated.annotations,key)?some2(annotated.annotations[key]):none2()),getBrandAnnotation=getAnnotation(BrandAnnotationId);var getMessageAnnotation=getAnnotation(MessageAnnotationId),getMissingMessageAnnotation=getAnnotation(MissingMessageAnnotationId),getTitleAnnotation=getAnnotation(TitleAnnotationId),getAutoTitleAnnotation=getAnnotation(AutoTitleAnnotationId),getIdentifierAnnotation=getAnnotation(IdentifierAnnotationId),getDescriptionAnnotation=getAnnotation(DescriptionAnnotationId);var getConcurrencyAnnotation=getAnnotation(ConcurrencyAnnotationId),getBatchingAnnotation=getAnnotation(BatchingAnnotationId),getParseIssueTitleAnnotation=getAnnotation(ParseIssueTitleAnnotationId),getParseOptionsAnnotation=getAnnotation(ParseOptionsAnnotationId),getDecodingFallbackAnnotation=getAnnotation(DecodingFallbackAnnotationId),getSurrogateAnnotation=getAnnotation(SurrogateAnnotationId),getStableFilterAnnotation=getAnnotation(StableFilterAnnotationId),hasStableFilter=(annotated)=>exists(getStableFilterAnnotation(annotated),(b)=>b===!0),JSONIdentifierAnnotationId=Symbol.for("effect/annotation/JSONIdentifier"),getJSONIdentifierAnnotation=getAnnotation(JSONIdentifierAnnotationId),getJSONIdentifier=(annotated)=>orElse(getJSONIdentifierAnnotation(annotated),()=>getIdentifierAnnotation(annotated));class Declaration{typeParameters;decodeUnknown;encodeUnknown;annotations;_tag="Declaration";constructor(typeParameters,decodeUnknown,encodeUnknown,annotations={}){this.typeParameters=typeParameters,this.decodeUnknown=decodeUnknown,this.encodeUnknown=encodeUnknown,this.annotations=annotations}toString(){return getOrElse(getExpected(this),()=>"<declaration schema>")}toJSON(){return{_tag:this._tag,typeParameters:this.typeParameters.map((ast)=>ast.toJSON()),annotations:toJSONAnnotations(this.annotations)}}}var createASTGuard=(tag)=>(ast)=>ast._tag===tag;class Literal{literal;annotations;_tag="Literal";constructor(literal,annotations={}){this.literal=literal,this.annotations=annotations}toString(){return getOrElse(getExpected(this),()=>formatUnknown(this.literal))}toJSON(){return{_tag:this._tag,literal:isBigInt(this.literal)?String(this.literal):this.literal,annotations:toJSONAnnotations(this.annotations)}}}var isLiteral=createASTGuard("Literal");class UniqueSymbol{symbol;annotations;_tag="UniqueSymbol";constructor(symbol3,annotations={}){this.symbol=symbol3,this.annotations=annotations}toString(){return getOrElse(getExpected(this),()=>formatUnknown(this.symbol))}toJSON(){return{_tag:this._tag,symbol:String(this.symbol),annotations:toJSONAnnotations(this.annotations)}}}class UndefinedKeyword{annotations;_tag="UndefinedKeyword";constructor(annotations={}){this.annotations=annotations}toString(){return formatKeyword(this)}toJSON(){return{_tag:this._tag,annotations:toJSONAnnotations(this.annotations)}}}var undefinedKeyword=new UndefinedKeyword({[TitleAnnotationId]:"undefined"});class VoidKeyword{annotations;_tag="VoidKeyword";constructor(annotations={}){this.annotations=annotations}toString(){return formatKeyword(this)}toJSON(){return{_tag:this._tag,annotations:toJSONAnnotations(this.annotations)}}}var voidKeyword=new VoidKeyword({[TitleAnnotationId]:"void"});class NeverKeyword{annotations;_tag="NeverKeyword";constructor(annotations={}){this.annotations=annotations}toString(){return formatKeyword(this)}toJSON(){return{_tag:this._tag,annotations:toJSONAnnotations(this.annotations)}}}var neverKeyword=new NeverKeyword({[TitleAnnotationId]:"never"});class UnknownKeyword{annotations;_tag="UnknownKeyword";constructor(annotations={}){this.annotations=annotations}toString(){return formatKeyword(this)}toJSON(){return{_tag:this._tag,annotations:toJSONAnnotations(this.annotations)}}}var unknownKeyword=new UnknownKeyword({[TitleAnnotationId]:"unknown"});class AnyKeyword{annotations;_tag="AnyKeyword";constructor(annotations={}){this.annotations=annotations}toString(){return formatKeyword(this)}toJSON(){return{_tag:this._tag,annotations:toJSONAnnotations(this.annotations)}}}var anyKeyword=new AnyKeyword({[TitleAnnotationId]:"any"});class StringKeyword{annotations;_tag="StringKeyword";constructor(annotations={}){this.annotations=annotations}toString(){return formatKeyword(this)}toJSON(){return{_tag:this._tag,annotations:toJSONAnnotations(this.annotations)}}}var stringKeyword=new StringKeyword({[TitleAnnotationId]:"string",[DescriptionAnnotationId]:"a string"}),isStringKeyword=createASTGuard("StringKeyword");class NumberKeyword{annotations;_tag="NumberKeyword";constructor(annotations={}){this.annotations=annotations}toString(){return formatKeyword(this)}toJSON(){return{_tag:this._tag,annotations:toJSONAnnotations(this.annotations)}}}var numberKeyword=new NumberKeyword({[TitleAnnotationId]:"number",[DescriptionAnnotationId]:"a number"});class BooleanKeyword{annotations;_tag="BooleanKeyword";constructor(annotations={}){this.annotations=annotations}toString(){return formatKeyword(this)}toJSON(){return{_tag:this._tag,annotations:toJSONAnnotations(this.annotations)}}}var booleanKeyword=new BooleanKeyword({[TitleAnnotationId]:"boolean",[DescriptionAnnotationId]:"a boolean"});class BigIntKeyword{annotations;_tag="BigIntKeyword";constructor(annotations={}){this.annotations=annotations}toString(){return formatKeyword(this)}toJSON(){return{_tag:this._tag,annotations:toJSONAnnotations(this.annotations)}}}var bigIntKeyword=new BigIntKeyword({[TitleAnnotationId]:"bigint",[DescriptionAnnotationId]:"a bigint"});class SymbolKeyword{annotations;_tag="SymbolKeyword";constructor(annotations={}){this.annotations=annotations}toString(){return formatKeyword(this)}toJSON(){return{_tag:this._tag,annotations:toJSONAnnotations(this.annotations)}}}var symbolKeyword=new SymbolKeyword({[TitleAnnotationId]:"symbol",[DescriptionAnnotationId]:"a symbol"}),isSymbolKeyword=createASTGuard("SymbolKeyword");class ObjectKeyword{annotations;_tag="ObjectKeyword";constructor(annotations={}){this.annotations=annotations}toString(){return formatKeyword(this)}toJSON(){return{_tag:this._tag,annotations:toJSONAnnotations(this.annotations)}}}var objectKeyword=new ObjectKeyword({[TitleAnnotationId]:"object",[DescriptionAnnotationId]:"an object in the TypeScript meaning, i.e. the `object` type"});class Type{type;annotations;constructor(type,annotations={}){this.type=type,this.annotations=annotations}toJSON(){return{type:this.type.toJSON(),annotations:toJSONAnnotations(this.annotations)}}toString(){return String(this.type)}}class OptionalType extends Type{isOptional;constructor(type,isOptional,annotations={}){super(type,annotations);this.isOptional=isOptional}toJSON(){return{type:this.type.toJSON(),isOptional:this.isOptional,annotations:toJSONAnnotations(this.annotations)}}toString(){return String(this.type)+(this.isOptional?"?":"")}}var getRestASTs=(rest)=>rest.map((annotatedAST)=>annotatedAST.type);class TupleType{elements;rest;isReadonly;annotations;_tag="TupleType";constructor(elements,rest,isReadonly,annotations={}){this.elements=elements,this.rest=rest,this.isReadonly=isReadonly,this.annotations=annotations;let hasOptionalElement=!1,hasIllegalRequiredElement=!1;for(let e of elements)if(e.isOptional)hasOptionalElement=!0;else if(hasOptionalElement){hasIllegalRequiredElement=!0;break}if(hasIllegalRequiredElement||hasOptionalElement&&rest.length>1)throw new Error(getASTRequiredElementFollowinAnOptionalElementErrorMessage)}toString(){return getOrElse(getExpected(this),()=>formatTuple(this))}toJSON(){return{_tag:this._tag,elements:this.elements.map((e)=>e.toJSON()),rest:this.rest.map((ast)=>ast.toJSON()),isReadonly:this.isReadonly,annotations:toJSONAnnotations(this.annotations)}}}var formatTuple=(ast)=>{let formattedElements=ast.elements.map(String).join(", ");return matchLeft(ast.rest,{onEmpty:()=>`readonly [${formattedElements}]`,onNonEmpty:(head2,tail)=>{let formattedHead=String(head2),wrappedHead=formattedHead.includes(" | ")?`(${formattedHead})`:formattedHead;if(tail.length>0){let formattedTail=tail.map(String).join(", ");if(ast.elements.length>0)return`readonly [${formattedElements}, ...${wrappedHead}[], ${formattedTail}]`;else return`readonly [...${wrappedHead}[], ${formattedTail}]`}else if(ast.elements.length>0)return`readonly [${formattedElements}, ...${wrappedHead}[]]`;else return`ReadonlyArray<${formattedHead}>`}})};class PropertySignature extends OptionalType{name;isReadonly;constructor(name,type,isOptional,isReadonly,annotations){super(type,isOptional,annotations);this.name=name,this.isReadonly=isReadonly}toString(){return(this.isReadonly?"readonly ":"")+String(this.name)+(this.isOptional?"?":"")+": "+this.type}toJSON(){return{name:String(this.name),type:this.type.toJSON(),isOptional:this.isOptional,isReadonly:this.isReadonly,annotations:toJSONAnnotations(this.annotations)}}}var isParameter=(ast)=>{switch(ast._tag){case"StringKeyword":case"SymbolKeyword":case"TemplateLiteral":return!0;case"Refinement":return isParameter(ast.from)}return!1};class IndexSignature{type;isReadonly;parameter;constructor(parameter,type,isReadonly){if(this.type=type,this.isReadonly=isReadonly,isParameter(parameter))this.parameter=parameter;else throw new Error(getASTIndexSignatureParameterErrorMessage)}toString(){return(this.isReadonly?"readonly ":"")+`[x: ${this.parameter}]: ${this.type}`}toJSON(){return{parameter:this.parameter.toJSON(),type:this.type.toJSON(),isReadonly:this.isReadonly}}}class TypeLiteral{annotations;_tag="TypeLiteral";propertySignatures;indexSignatures;constructor(propertySignatures,indexSignatures,annotations={}){this.annotations=annotations;let keys={};for(let i=0;i<propertySignatures.length;i++){let name=propertySignatures[i].name;if(Object.prototype.hasOwnProperty.call(keys,name))throw new Error(getASTDuplicatePropertySignatureErrorMessage(name));keys[name]=null}let parameters={string:!1,symbol:!1};for(let i=0;i<indexSignatures.length;i++){let encodedParameter=getEncodedParameter(indexSignatures[i].parameter);if(isStringKeyword(encodedParameter)){if(parameters.string)throw new Error(getASTDuplicateIndexSignatureErrorMessage("string"));parameters.string=!0}else if(isSymbolKeyword(encodedParameter)){if(parameters.symbol)throw new Error(getASTDuplicateIndexSignatureErrorMessage("symbol"));parameters.symbol=!0}}this.propertySignatures=propertySignatures,this.indexSignatures=indexSignatures}toString(){return getOrElse(getExpected(this),()=>formatTypeLiteral(this))}toJSON(){return{_tag:this._tag,propertySignatures:this.propertySignatures.map((ps)=>ps.toJSON()),indexSignatures:this.indexSignatures.map((ps)=>ps.toJSON()),annotations:toJSONAnnotations(this.annotations)}}}var formatIndexSignatures=(iss)=>iss.map(String).join("; "),formatTypeLiteral=(ast)=>{if(ast.propertySignatures.length>0){let pss=ast.propertySignatures.map(String).join("; ");if(ast.indexSignatures.length>0)return`{ ${pss}; ${formatIndexSignatures(ast.indexSignatures)} }`;else return`{ ${pss} }`}else if(ast.indexSignatures.length>0)return`{ ${formatIndexSignatures(ast.indexSignatures)} }`;else return"{}"};var sortCandidates=sort(mapInput2(Order,(ast)=>{switch(ast._tag){case"AnyKeyword":return 0;case"UnknownKeyword":return 1;case"ObjectKeyword":return 2;case"StringKeyword":case"NumberKeyword":case"BooleanKeyword":case"BigIntKeyword":case"SymbolKeyword":return 3}return 4})),literalMap={string:"StringKeyword",number:"NumberKeyword",boolean:"BooleanKeyword",bigint:"BigIntKeyword"},flatten2=(candidates)=>flatMap2(candidates,(ast)=>isUnion(ast)?flatten2(ast.types):[ast]),unify=(candidates)=>{let cs=sortCandidates(candidates),out=[],uniques={},literals=[];for(let ast of cs)switch(ast._tag){case"NeverKeyword":break;case"AnyKeyword":return[anyKeyword];case"UnknownKeyword":return[unknownKeyword];case"ObjectKeyword":case"UndefinedKeyword":case"VoidKeyword":case"StringKeyword":case"NumberKeyword":case"BooleanKeyword":case"BigIntKeyword":case"SymbolKeyword":{if(!uniques[ast._tag])uniques[ast._tag]=ast,out.push(ast);break}case"Literal":{let type=typeof ast.literal;switch(type){case"string":case"number":case"bigint":case"boolean":{let _tag=literalMap[type];if(!uniques[_tag]&&!literals.includes(ast.literal))literals.push(ast.literal),out.push(ast);break}case"object":{if(!literals.includes(ast.literal))literals.push(ast.literal),out.push(ast);break}}break}case"UniqueSymbol":{if(!uniques.SymbolKeyword&&!literals.includes(ast.symbol))literals.push(ast.symbol),out.push(ast);break}case"TupleType":{if(!uniques.ObjectKeyword)out.push(ast);break}case"TypeLiteral":{if(ast.propertySignatures.length===0&&ast.indexSignatures.length===0){if(!uniques["{}"])uniques["{}"]=ast,out.push(ast)}else if(!uniques.ObjectKeyword)out.push(ast);break}default:out.push(ast)}return out};class Union{types;annotations;static make=(types,annotations)=>{return isMembers(types)?new Union(types,annotations):types.length===1?types[0]:neverKeyword};static unify=(candidates,annotations)=>{return Union.make(unify(flatten2(candidates)),annotations)};_tag="Union";constructor(types,annotations={}){this.types=types,this.annotations=annotations}toString(){return getOrElse(getExpected(this),()=>this.types.map(String).join(" | "))}toJSON(){return{_tag:this._tag,types:this.types.map((ast)=>ast.toJSON()),annotations:toJSONAnnotations(this.annotations)}}}var isMembers=(as)=>as.length>1,isUnion=createASTGuard("Union"),toJSONMemoMap=globalValue(Symbol.for("effect/Schema/AST/toJSONMemoMap"),()=>new WeakMap);class Suspend{f;annotations;_tag="Suspend";constructor(f,annotations={}){this.f=f,this.annotations=annotations,this.f=memoizeThunk(f)}toString(){return getExpected(this).pipe(orElse(()=>flatMap(liftThrowable(this.f)(),(ast)=>getExpected(ast))),getOrElse(()=>"<suspended schema>"))}toJSON(){let ast=this.f(),out=toJSONMemoMap.get(ast);if(out)return out;return toJSONMemoMap.set(ast,{_tag:this._tag}),out={_tag:this._tag,ast:ast.toJSON(),annotations:toJSONAnnotations(this.annotations)},toJSONMemoMap.set(ast,out),out}}class Refinement{from;filter;annotations;_tag="Refinement";constructor(from,filter,annotations={}){this.from=from,this.filter=filter,this.annotations=annotations}toString(){return getIdentifierAnnotation(this).pipe(getOrElse(()=>match2(getOrElseExpected(this),{onNone:()=>`{ ${this.from} | filter }`,onSome:(expected)=>isRefinement(this.from)?String(this.from)+" & "+expected:expected})))}toJSON(){return{_tag:this._tag,from:this.from.toJSON(),annotations:toJSONAnnotations(this.annotations)}}}var isRefinement=createASTGuard("Refinement"),defaultParseOption={};var annotations=(ast,overrides)=>{let d=Object.getOwnPropertyDescriptors(ast),value={...ast.annotations,...overrides},surrogate=getSurrogateAnnotation(ast);if(isSome2(surrogate))value[SurrogateAnnotationId]=annotations(surrogate.value,overrides);return d.annotations.value=value,Object.create(Object.getPrototypeOf(ast),d)};var STRING_KEYWORD_PATTERN="[\\s\\S]*",NUMBER_KEYWORD_PATTERN="[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?",getTemplateLiteralSpanTypePattern=(type,capture)=>{switch(type._tag){case"Literal":return escape(String(type.literal));case"StringKeyword":return STRING_KEYWORD_PATTERN;case"NumberKeyword":return NUMBER_KEYWORD_PATTERN;case"TemplateLiteral":return getTemplateLiteralPattern(type,capture,!1);case"Union":return type.types.map((type2)=>getTemplateLiteralSpanTypePattern(type2,capture)).join("|")}},handleTemplateLiteralSpanTypeParens=(type,s,capture,top)=>{if(isUnion(type)){if(capture&&!top)return`(?:${s})`}else if(!capture||!top)return s;return`(${s})`},getTemplateLiteralPattern=(ast,capture,top)=>{let pattern="";if(ast.head!==""){let head2=escape(ast.head);pattern+=capture&&top?`(${head2})`:head2}for(let span2 of ast.spans){let spanPattern=getTemplateLiteralSpanTypePattern(span2.type,capture);if(pattern+=handleTemplateLiteralSpanTypeParens(span2.type,spanPattern,capture,top),span2.literal!==""){let literal=escape(span2.literal);pattern+=capture&&top?`(${literal})`:literal}}return pattern},getTemplateLiteralRegExp=(ast)=>new RegExp(`^${getTemplateLiteralPattern(ast,!1,!0)}$`);var pickAnnotations=(annotationIds)=>(annotated)=>{let out=void 0;for(let id of annotationIds)if(Object.prototype.hasOwnProperty.call(annotated.annotations,id)){if(out===void 0)out={};out[id]=annotated.annotations[id]}return out};var preserveTransformationAnnotations=pickAnnotations([ExamplesAnnotationId,DefaultAnnotationId,JSONSchemaAnnotationId,ArbitraryAnnotationId,PrettyAnnotationId,EquivalenceAnnotationId]),typeAST=(ast)=>{switch(ast._tag){case"Declaration":{let typeParameters=changeMap(ast.typeParameters,typeAST);return typeParameters===ast.typeParameters?ast:new Declaration(typeParameters,ast.decodeUnknown,ast.encodeUnknown,ast.annotations)}case"TupleType":{let elements=changeMap(ast.elements,(e)=>{let type=typeAST(e.type);return type===e.type?e:new OptionalType(type,e.isOptional)}),restASTs=getRestASTs(ast.rest),rest=changeMap(restASTs,typeAST);return elements===ast.elements&&rest===restASTs?ast:new TupleType(elements,rest.map((type)=>new Type(type)),ast.isReadonly,ast.annotations)}case"TypeLiteral":{let propertySignatures=changeMap(ast.propertySignatures,(p)=>{let type=typeAST(p.type);return type===p.type?p:new PropertySignature(p.name,type,p.isOptional,p.isReadonly)}),indexSignatures=changeMap(ast.indexSignatures,(is)=>{let type=typeAST(is.type);return type===is.type?is:new IndexSignature(is.parameter,type,is.isReadonly)});return propertySignatures===ast.propertySignatures&&indexSignatures===ast.indexSignatures?ast:new TypeLiteral(propertySignatures,indexSignatures,ast.annotations)}case"Union":{let types=changeMap(ast.types,typeAST);return types===ast.types?ast:Union.make(types,ast.annotations)}case"Suspend":return new Suspend(()=>typeAST(ast.f()),ast.annotations);case"Refinement":{let from=typeAST(ast.from);return from===ast.from?ast:new Refinement(from,ast.filter,ast.annotations)}case"Transformation":{let preserve=preserveTransformationAnnotations(ast);return typeAST(preserve!==void 0?annotations(ast.to,preserve):ast.to)}}return ast},createJSONIdentifierAnnotation=(annotated)=>match2(getJSONIdentifier(annotated),{onNone:()=>{return},onSome:(identifier)=>({[JSONIdentifierAnnotationId]:identifier})});function changeMap(as,f){let changed=!1,out=allocate(as.length);for(let i=0;i<as.length;i++){let a=as[i],fa=f(a);if(fa!==a)changed=!0;out[i]=fa}return changed?out:as}var getTransformationFrom=(ast)=>{switch(ast._tag){case"Transformation":return ast.from;case"Refinement":return getTransformationFrom(ast.from);case"Suspend":return getTransformationFrom(ast.f())}},encodedAST_=(ast,isBound)=>{switch(ast._tag){case"Declaration":{let typeParameters=changeMap(ast.typeParameters,(ast2)=>encodedAST_(ast2,isBound));return typeParameters===ast.typeParameters?ast:new Declaration(typeParameters,ast.decodeUnknown,ast.encodeUnknown,ast.annotations)}case"TupleType":{let elements=changeMap(ast.elements,(e)=>{let type=encodedAST_(e.type,isBound);return type===e.type?e:new OptionalType(type,e.isOptional)}),restASTs=getRestASTs(ast.rest),rest=changeMap(restASTs,(ast2)=>encodedAST_(ast2,isBound));return elements===ast.elements&&rest===restASTs?ast:new TupleType(elements,rest.map((ast2)=>new Type(ast2)),ast.isReadonly,createJSONIdentifierAnnotation(ast))}case"TypeLiteral":{let propertySignatures=changeMap(ast.propertySignatures,(ps)=>{let type=encodedAST_(ps.type,isBound);return type===ps.type?ps:new PropertySignature(ps.name,type,ps.isOptional,ps.isReadonly)}),indexSignatures=changeMap(ast.indexSignatures,(is)=>{let type=encodedAST_(is.type,isBound);return type===is.type?is:new IndexSignature(is.parameter,type,is.isReadonly)});return propertySignatures===ast.propertySignatures&&indexSignatures===ast.indexSignatures?ast:new TypeLiteral(propertySignatures,indexSignatures,createJSONIdentifierAnnotation(ast))}case"Union":{let types=changeMap(ast.types,(ast2)=>encodedAST_(ast2,isBound));return types===ast.types?ast:Union.make(types,createJSONIdentifierAnnotation(ast))}case"Suspend":return new Suspend(()=>encodedAST_(ast.f(),isBound),createJSONIdentifierAnnotation(ast));case"Refinement":{let from=encodedAST_(ast.from,isBound);if(isBound){if(from===ast.from)return ast;if(getTransformationFrom(ast.from)===void 0&&hasStableFilter(ast))return new Refinement(from,ast.filter,ast.annotations)}let identifier=createJSONIdentifierAnnotation(ast);return identifier?annotations(from,identifier):from}case"Transformation":{let identifier=createJSONIdentifierAnnotation(ast);return encodedAST_(identifier?annotations(ast.from,identifier):ast.from,isBound)}}return ast},encodedAST=(ast)=>encodedAST_(ast,!1);var toJSONAnnotations=(annotations2)=>{let out={};for(let k of Object.getOwnPropertySymbols(annotations2))out[String(k)]=annotations2[k];return out},getEncodedParameter=(ast)=>{switch(ast._tag){case"StringKeyword":case"SymbolKeyword":case"TemplateLiteral":return ast;case"Refinement":return getEncodedParameter(ast.from)}};var formatKeyword=(ast)=>getOrElse(getExpected(ast),()=>ast._tag);function getBrands(ast){return match2(getBrandAnnotation(ast),{onNone:()=>"",onSome:(brands)=>brands.map((brand)=>` & Brand<${formatUnknown(brand)}>`).join("")})}var getOrElseExpected=(ast)=>getTitleAnnotation(ast).pipe(orElse(()=>getDescriptionAnnotation(ast)),orElse(()=>getAutoTitleAnnotation(ast)),map2((s)=>s+getBrands(ast))),getExpected=(ast)=>orElse(getIdentifierAnnotation(ast),()=>getOrElseExpected(ast));var TypeId3=Symbol.for("effect/BigDecimal"),BigDecimalProto={[TypeId3]:TypeId3,[symbol](){let normalized=normalize(this);return pipe(hash(normalized.value),combine(number2(normalized.scale)),cached(this))},[symbol2](that){return isBigDecimal(that)&&equals2(this,that)},toString(){return`BigDecimal(${format2(this)})`},toJSON(){return{_id:"BigDecimal",value:String(this.value),scale:this.scale}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}},isBigDecimal=(u)=>hasProperty(u,TypeId3),make4=(value,scale)=>{let o=Object.create(BigDecimalProto);return o.value=value,o.scale=scale,o},unsafeMakeNormalized=(value,scale)=>{if(value!==bigint0&&value%bigint10===bigint0)throw new RangeError("Value must be normalized");let o=make4(value,scale);return o.normalized=o,o},bigint0=BigInt(0);var bigint10=BigInt(10),zero=unsafeMakeNormalized(bigint0,0),normalize=(self)=>{if(self.normalized===void 0)if(self.value===bigint0)self.normalized=zero;else{let digits=`${self.value}`,trail=0;for(let i=digits.length-1;i>=0;i--)if(digits[i]==="0")trail++;else break;if(trail===0)self.normalized=self;let value=BigInt(digits.substring(0,digits.length-trail)),scale=self.scale-trail;self.normalized=unsafeMakeNormalized(value,scale)}return self.normalized},scale=dual(2,(self,scale2)=>{if(scale2>self.scale)return make4(self.value*bigint10**BigInt(scale2-self.scale),scale2);if(scale2<self.scale)return make4(self.value/bigint10**BigInt(self.scale-scale2),scale2);return self});var abs=(n)=>n.value<bigint0?make4(-n.value,n.scale):n;var Equivalence=make((self,that)=>{if(self.scale>that.scale)return scale(that,self.scale).value===self.value;if(self.scale<that.scale)return scale(self,that.scale).value===that.value;return self.value===that.value}),equals2=dual(2,(self,that)=>Equivalence(self,that));var format2=(n)=>{let normalized=normalize(n);if(Math.abs(normalized.scale)>=16)return toExponential(normalized);let negative=normalized.value<bigint0,absolute=negative?`${normalized.value}`.substring(1):`${normalized.value}`,before,after;if(normalized.scale>=absolute.length)before="0",after="0".repeat(normalized.scale-absolute.length)+absolute;else{let location=absolute.length-normalized.scale;if(location>absolute.length){let zeros=location-absolute.length;before=`${absolute}${"0".repeat(zeros)}`,after=""}else after=absolute.slice(location),before=absolute.slice(0,location)}let complete=after===""?before:`${before}.${after}`;return negative?`-${complete}`:complete},toExponential=(n)=>{if(isZero(n))return"0e+0";let normalized=normalize(n),digits=`${abs(normalized).value}`,head2=digits.slice(0,1),tail=digits.slice(1),output=`${isNegative(normalized)?"-":""}${head2}`;if(tail!=="")output+=`.${tail}`;let exp=tail.length-normalized.scale;return`${output}e${exp>=0?"+":""}${exp}`};var isZero=(n)=>n.value===bigint0,isNegative=(n)=>n.value<bigint0;var not=(self)=>!self;var exports_Context={};__export(exports_Context,{unsafeMake:()=>unsafeMake,unsafeGet:()=>unsafeGet3,pick:()=>pick2,omit:()=>omit2,mergeAll:()=>mergeAll2,merge:()=>merge3,make:()=>make6,isTag:()=>isTag2,isReference:()=>isReference2,isContext:()=>isContext2,getOrElse:()=>getOrElse3,getOption:()=>getOption2,get:()=>get3,empty:()=>empty4,add:()=>add2,Tag:()=>Tag2,Reference:()=>Reference2,GenericTag:()=>GenericTag});var TagTypeId=Symbol.for("effect/Context/Tag"),ReferenceTypeId=Symbol.for("effect/Context/Reference"),STMSymbolKey="effect/STM",STMTypeId=Symbol.for(STMSymbolKey),TagProto={...EffectPrototype,_op:"Tag",[STMTypeId]:effectVariance,[TagTypeId]:{_Service:(_)=>_,_Identifier:(_)=>_},toString(){return format(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[NodeInspectSymbol](){return this.toJSON()},of(self){return self},context(self){return make5(this,self)}},ReferenceProto={...TagProto,[ReferenceTypeId]:ReferenceTypeId},makeGenericTag=(key)=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=new Error;Error.stackTraceLimit=limit;let tag=Object.create(TagProto);return Object.defineProperty(tag,"stack",{get(){return creationError.stack}}),tag.key=key,tag},Tag=(id)=>()=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=new Error;Error.stackTraceLimit=limit;function TagClass(){}return Object.setPrototypeOf(TagClass,TagProto),TagClass.key=id,Object.defineProperty(TagClass,"stack",{get(){return creationError.stack}}),TagClass},Reference=()=>(id,options)=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=new Error;Error.stackTraceLimit=limit;function ReferenceClass(){}return Object.setPrototypeOf(ReferenceClass,ReferenceProto),ReferenceClass.key=id,ReferenceClass.defaultValue=options.defaultValue,Object.defineProperty(ReferenceClass,"stack",{get(){return creationError.stack}}),ReferenceClass},TypeId4=Symbol.for("effect/Context"),ContextProto={[TypeId4]:{_Services:(_)=>_},[symbol2](that){if(isContext(that)){if(this.unsafeMap.size===that.unsafeMap.size){for(let k of this.unsafeMap.keys())if(!that.unsafeMap.has(k)||!equals(this.unsafeMap.get(k),that.unsafeMap.get(k)))return!1;return!0}}return!1},[symbol](){return cached(this,number2(this.unsafeMap.size))},pipe(){return pipeArguments(this,arguments)},toString(){return format(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()}},makeContext=(unsafeMap)=>{let context=Object.create(ContextProto);return context.unsafeMap=unsafeMap,context},serviceNotFoundError=(tag)=>{let error=new Error(`Service not found${tag.key?`: ${String(tag.key)}`:""}`);if(tag.stack){let lines=tag.stack.split(`
|
|
@@ -20,17 +20,17 @@ ${prefix}}`;return stack};class PrettyError extends globalThis.Error{span=void 0
|
|
|
20
20
|
${this.stack.split(`
|
|
21
21
|
`).slice(1).join(`
|
|
22
22
|
`)}`:this.toString();else if("Bun"in globalThis)return pretty(fail(this),{renderErrorCause:!0});return this}}return Object.assign(YieldableError2.prototype,StructuralCommitPrototype),YieldableError2}(),makeException=(proto2,tag)=>{class Base2 extends YieldableError{_tag=tag}return Object.assign(Base2.prototype,proto2),Base2.prototype.name=tag,Base2},RuntimeExceptionTypeId=Symbol.for("effect/Cause/errors/RuntimeException"),RuntimeException=makeException({[RuntimeExceptionTypeId]:RuntimeExceptionTypeId},"RuntimeException");var InterruptedExceptionTypeId=Symbol.for("effect/Cause/errors/InterruptedException"),InterruptedException=makeException({[InterruptedExceptionTypeId]:InterruptedExceptionTypeId},"InterruptedException"),isInterruptedException=(u)=>hasProperty(u,InterruptedExceptionTypeId),IllegalArgumentExceptionTypeId=Symbol.for("effect/Cause/errors/IllegalArgument"),IllegalArgumentException=makeException({[IllegalArgumentExceptionTypeId]:IllegalArgumentExceptionTypeId},"IllegalArgumentException");var NoSuchElementExceptionTypeId=Symbol.for("effect/Cause/errors/NoSuchElement"),NoSuchElementException=makeException({[NoSuchElementExceptionTypeId]:NoSuchElementExceptionTypeId},"NoSuchElementException"),isNoSuchElementException=(u)=>hasProperty(u,NoSuchElementExceptionTypeId),InvalidPubSubCapacityExceptionTypeId=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),InvalidPubSubCapacityException=makeException({[InvalidPubSubCapacityExceptionTypeId]:InvalidPubSubCapacityExceptionTypeId},"InvalidPubSubCapacityException"),ExceededCapacityExceptionTypeId=Symbol.for("effect/Cause/errors/ExceededCapacityException"),ExceededCapacityException=makeException({[ExceededCapacityExceptionTypeId]:ExceededCapacityExceptionTypeId},"ExceededCapacityException");var TimeoutExceptionTypeId=Symbol.for("effect/Cause/errors/Timeout"),TimeoutException=makeException({[TimeoutExceptionTypeId]:TimeoutExceptionTypeId},"TimeoutException"),timeoutExceptionFromDuration=(duration)=>new TimeoutException(`Operation timed out after '${format3(duration)}'`);var UnknownExceptionTypeId=Symbol.for("effect/Cause/errors/UnknownException"),UnknownException=function(){class UnknownException2 extends YieldableError{_tag="UnknownException";error;constructor(cause,message){super(message??"An unknown error occurred",{cause});this.error=cause}}return Object.assign(UnknownException2.prototype,{[UnknownExceptionTypeId]:UnknownExceptionTypeId,name:"UnknownException"}),UnknownException2}();var exitIsExit=(u)=>isEffect(u)&&("_tag"in u)&&(u._tag==="Success"||u._tag==="Failure"),exitIsFailure=(self)=>self._tag==="Failure",exitIsSuccess=(self)=>self._tag==="Success";var exitAs=dual(2,(self,value)=>{switch(self._tag){case OP_FAILURE:return exitFailCause(self.effect_instruction_i0);case OP_SUCCESS:return exitSucceed(value)}}),exitAsVoid=(self)=>exitAs(self,void 0);var exitCollectAll=(exits,options)=>exitCollectAllInternal(exits,options?.parallel?parallel:sequential),exitDie=(defect)=>exitFailCause(die(defect));var exitFail=(error)=>exitFailCause(fail(error)),exitFailCause=(cause)=>{let effect=new EffectPrimitiveFailure(OP_FAILURE);return effect.effect_instruction_i0=cause,effect},exitFlatMap=dual(2,(self,f)=>{switch(self._tag){case OP_FAILURE:return exitFailCause(self.effect_instruction_i0);case OP_SUCCESS:return f(self.effect_instruction_i0)}});var exitFlatten=(self)=>pipe(self,exitFlatMap(identity));var exitInterrupt=(fiberId2)=>exitFailCause(interrupt(fiberId2)),exitMap=dual(2,(self,f)=>{switch(self._tag){case OP_FAILURE:return exitFailCause(self.effect_instruction_i0);case OP_SUCCESS:return exitSucceed(f(self.effect_instruction_i0))}});var exitMatch=dual(2,(self,{onFailure,onSuccess})=>{switch(self._tag){case OP_FAILURE:return onFailure(self.effect_instruction_i0);case OP_SUCCESS:return onSuccess(self.effect_instruction_i0)}}),exitMatchEffect=dual(2,(self,{onFailure,onSuccess})=>{switch(self._tag){case OP_FAILURE:return onFailure(self.effect_instruction_i0);case OP_SUCCESS:return onSuccess(self.effect_instruction_i0)}}),exitSucceed=(value)=>{let effect=new EffectPrimitiveSuccess(OP_SUCCESS);return effect.effect_instruction_i0=value,effect},exitVoid=exitSucceed(void 0);var exitZipWith=dual(3,(self,that,{onFailure,onSuccess})=>{switch(self._tag){case OP_FAILURE:switch(that._tag){case OP_SUCCESS:return exitFailCause(self.effect_instruction_i0);case OP_FAILURE:return exitFailCause(onFailure(self.effect_instruction_i0,that.effect_instruction_i0))}case OP_SUCCESS:switch(that._tag){case OP_SUCCESS:return exitSucceed(onSuccess(self.effect_instruction_i0,that.effect_instruction_i0));case OP_FAILURE:return exitFailCause(that.effect_instruction_i0)}}}),exitCollectAllInternal=(exits,combineCauses)=>{let list=fromIterable2(exits);if(!isNonEmpty2(list))return none2();return pipe(tailNonEmpty2(list),reduce(pipe(headNonEmpty2(list),exitMap(of2)),(accumulator,current)=>pipe(accumulator,exitZipWith(current,{onSuccess:(list2,value)=>pipe(list2,prepend2(value)),onFailure:combineCauses}))),exitMap(reverse2),exitMap((chunk)=>toReadonlyArray(chunk)),some2)},deferredUnsafeMake=(fiberId2)=>{return{...CommitPrototype,[DeferredTypeId]:deferredVariance,state:make12(pending([])),commit(){return deferredAwait(this)},blockingOn:fiberId2}},deferredMake=()=>flatMap7(fiberId,(id)=>deferredMakeAs(id)),deferredMakeAs=(fiberId2)=>sync(()=>deferredUnsafeMake(fiberId2)),deferredAwait=(self)=>asyncInterrupt((resume)=>{let state=get6(self.state);switch(state._tag){case OP_STATE_DONE:return resume(state.effect);case OP_STATE_PENDING:return state.joiners.push(resume),deferredInterruptJoiner(self,resume)}},self.blockingOn),deferredComplete=dual(2,(self,effect)=>intoDeferred(effect,self)),deferredCompleteWith=dual(2,(self,effect)=>sync(()=>{let state=get6(self.state);switch(state._tag){case OP_STATE_DONE:return!1;case OP_STATE_PENDING:{set2(self.state,done(effect));for(let i=0,len=state.joiners.length;i<len;i++)state.joiners[i](effect);return!0}}})),deferredDone=dual(2,(self,exit2)=>deferredCompleteWith(self,exit2));var deferredFailCause=dual(2,(self,cause)=>deferredCompleteWith(self,failCause(cause)));var deferredInterrupt=(self)=>flatMap7(fiberId,(fiberId2)=>deferredCompleteWith(self,interruptWith(fiberId2)));var deferredSucceed=dual(2,(self,value)=>deferredCompleteWith(self,succeed(value)));var deferredUnsafeDone=(self,effect)=>{let state=get6(self.state);if(state._tag===OP_STATE_PENDING){set2(self.state,done(effect));for(let i=0,len=state.joiners.length;i<len;i++)state.joiners[i](effect)}},deferredInterruptJoiner=(self,joiner)=>sync(()=>{let state=get6(self.state);if(state._tag===OP_STATE_PENDING){let index=state.joiners.indexOf(joiner);if(index>=0)state.joiners.splice(index,1)}}),constContext=withFiberRuntime((fiber)=>exitSucceed(fiber.currentContext)),context=()=>constContext;var contextWithEffect=(f)=>flatMap7(context(),f),provideContext=dual(2,(self,context2)=>fiberRefLocally(currentContext,context2)(self)),provideSomeContext=dual(2,(self,context2)=>fiberRefLocallyWith(currentContext,(parent)=>merge3(parent,context2))(self)),mapInputContext=dual(2,(self,f)=>contextWithEffect((context2)=>provideContext(self,f(context2)))),filterEffectOrElse=dual(2,(self,options)=>flatMap7(self,(a)=>flatMap7(options.predicate(a),(pass)=>pass?succeed(a):options.orElse(a)))),filterEffectOrFail=dual(2,(self,options)=>filterEffectOrElse(self,{predicate:options.predicate,orElse:(a)=>fail2(options.orFailWith(a))})),currentSpanFromFiber=(fiber)=>{let span2=fiber.currentSpan;return span2!==void 0&&span2._tag==="Span"?some2(span2):none2()},NoopSpanProto={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:BigInt(0),endTime:BigInt(0),exit:exitVoid},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},noopSpan=(options)=>Object.assign(Object.create(NoopSpanProto),options);var _await=deferredAwait;var done2=deferredDone;var interrupt3=deferredInterrupt;var unsafeMake4=deferredUnsafeMake;var isSuccess=exitIsSuccess;var die3=exitDie;var fail3=exitFail,failCause2=exitFailCause;var flatten6=exitFlatten;var interrupt4=exitInterrupt;var succeed2=exitSucceed;var TypeId9=Symbol.for("effect/MutableHashMap"),MutableHashMapProto={[TypeId9]:TypeId9,[Symbol.iterator](){return new MutableHashMapIterator(this)},toString(){return format(this.toJSON())},toJSON(){return{_id:"MutableHashMap",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};class MutableHashMapIterator{self;referentialIterator;bucketIterator;constructor(self){this.self=self,this.referentialIterator=self.referential[Symbol.iterator]()}next(){if(this.bucketIterator!==void 0)return this.bucketIterator.next();let result=this.referentialIterator.next();if(result.done)return this.bucketIterator=new BucketIterator(this.self.buckets.values()),this.next();return result}[Symbol.iterator](){return new MutableHashMapIterator(this.self)}}class BucketIterator{backing;constructor(backing){this.backing=backing}currentBucket;next(){if(this.currentBucket===void 0){let result2=this.backing.next();if(result2.done)return result2;this.currentBucket=result2.value[Symbol.iterator]()}let result=this.currentBucket.next();if(result.done)return this.currentBucket=void 0,this.next();return result}}var empty21=()=>{let self=Object.create(MutableHashMapProto);return self.referential=new Map,self.buckets=new Map,self.bucketsSize=0,self};var get8=dual(2,(self,key)=>{if(isEqual(key)===!1)return self.referential.has(key)?some2(self.referential.get(key)):none2();let hash2=key[symbol](),bucket=self.buckets.get(hash2);if(bucket===void 0)return none2();return getFromBucket(self,bucket,key)});var getFromBucket=(self,bucket,key,remove6=!1)=>{for(let i=0,len=bucket.length;i<len;i++)if(key[symbol2](bucket[i][0])){let value=bucket[i][1];if(remove6)bucket.splice(i,1),self.bucketsSize--;return some2(value)}return none2()},has4=dual(2,(self,key)=>isSome2(get8(self,key))),set4=dual(3,(self,key,value)=>{if(isEqual(key)===!1)return self.referential.set(key,value),self;let hash2=key[symbol](),bucket=self.buckets.get(hash2);if(bucket===void 0)return self.buckets.set(hash2,[[key,value]]),self.bucketsSize++,self;return removeFromBucket(self,bucket,key),bucket.push([key,value]),self.bucketsSize++,self}),removeFromBucket=(self,bucket,key)=>{for(let i=0,len=bucket.length;i<len;i++)if(key[symbol2](bucket[i][0])){bucket.splice(i,1),self.bucketsSize--;return}};var remove6=dual(2,(self,key)=>{if(isEqual(key)===!1)return self.referential.delete(key),self;let hash2=key[symbol](),bucket=self.buckets.get(hash2);if(bucket===void 0)return self;if(removeFromBucket(self,bucket,key),bucket.length===0)self.buckets.delete(hash2);return self});var size4=(self)=>{return self.referential.size+self.bucketsSize};var TypeId10=Symbol.for("effect/MutableList"),MutableListProto={[TypeId10]:TypeId10,[Symbol.iterator](){let done3=!1,head3=this.head;return{next(){if(done3)return this.return();if(head3==null)return done3=!0,this.return();let value=head3.value;return head3=head3.next,{done:done3,value}},return(value){if(!done3)done3=!0;return{done:!0,value}}}},toString(){return format(this.toJSON())},toJSON(){return{_id:"MutableList",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}},makeNode=(value)=>({value,removed:!1,prev:void 0,next:void 0}),empty22=()=>{let list=Object.create(MutableListProto);return list.head=void 0,list.tail=void 0,list._length=0,list};var isEmpty6=(self)=>length(self)===0,length=(self)=>self._length;var append3=dual(2,(self,value)=>{let node=makeNode(value);if(self.head===void 0)self.head=node;if(self.tail===void 0)self.tail=node;else self.tail.next=node,node.prev=self.tail,self.tail=node;return self._length+=1,self}),shift=(self)=>{let head3=self.head;if(head3!==void 0)return remove7(self,head3),head3.value;return};var remove7=(self,node)=>{if(node.removed)return;if(node.removed=!0,node.prev!==void 0&&node.next!==void 0)node.prev.next=node.next,node.next.prev=node.prev;else if(node.prev!==void 0)self.tail=node.prev,node.prev.next=void 0;else if(node.next!==void 0)self.head=node.next,node.next.prev=void 0;else self.tail=void 0,self.head=void 0;if(self._length>0)self._length-=1};var TypeId11=Symbol.for("effect/MutableQueue"),EmptyMutableQueue=Symbol.for("effect/mutable/MutableQueue/Empty"),MutableQueueProto={[TypeId11]:TypeId11,[Symbol.iterator](){return Array.from(this.queue)[Symbol.iterator]()},toString(){return format(this.toJSON())},toJSON(){return{_id:"MutableQueue",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}},make19=(capacity)=>{let queue=Object.create(MutableQueueProto);return queue.queue=empty22(),queue.capacity=capacity,queue};var unbounded=()=>make19(void 0);var offer=dual(2,(self,value)=>{let queueLength=length(self.queue);if(self.capacity!==void 0&&queueLength===self.capacity)return!1;return append3(value)(self.queue),!0});var poll=dual(2,(self,def)=>{if(isEmpty6(self.queue))return def;return shift(self.queue)});var ClockSymbolKey="effect/Clock",ClockTypeId=Symbol.for(ClockSymbolKey),clockTag=GenericTag("effect/Clock"),MAX_TIMER_MILLIS=2147483647,globalClockScheduler={unsafeSchedule(task,duration){let millis2=toMillis(duration);if(millis2>MAX_TIMER_MILLIS)return constFalse;let completed=!1,handle=setTimeout(()=>{completed=!0,task()},millis2);return()=>{return clearTimeout(handle),!completed}}},performanceNowNanos=function(){let bigint1e62=BigInt(1e6);if(typeof performance==="undefined")return()=>BigInt(Date.now())*bigint1e62;let origin;return()=>{if(origin===void 0)origin=BigInt(Date.now())*bigint1e62-BigInt(Math.round(performance.now()*1e6));return origin+BigInt(Math.round(performance.now()*1e6))}}(),processOrPerformanceNow=function(){let processHrtime=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!processHrtime)return performanceNowNanos;let origin=performanceNowNanos()-processHrtime.bigint();return()=>origin+processHrtime.bigint()}();class ClockImpl{[ClockTypeId]=ClockTypeId;unsafeCurrentTimeMillis(){return Date.now()}unsafeCurrentTimeNanos(){return processOrPerformanceNow()}currentTimeMillis=sync(()=>this.unsafeCurrentTimeMillis());currentTimeNanos=sync(()=>this.unsafeCurrentTimeNanos());scheduler(){return succeed(globalClockScheduler)}sleep(duration){return async_((resume)=>{let canceler=globalClockScheduler.unsafeSchedule(()=>resume(void_),duration);return asVoid(sync(canceler))})}}var make20=()=>new ClockImpl;var OP_AND="And",OP_OR="Or",OP_INVALID_DATA="InvalidData",OP_MISSING_DATA="MissingData",OP_SOURCE_UNAVAILABLE="SourceUnavailable",OP_UNSUPPORTED="Unsupported";var ConfigErrorSymbolKey="effect/ConfigError",ConfigErrorTypeId=Symbol.for(ConfigErrorSymbolKey),proto2={_tag:"ConfigError",[ConfigErrorTypeId]:ConfigErrorTypeId},And=(self,that)=>{let error=Object.create(proto2);return error._op=OP_AND,error.left=self,error.right=that,Object.defineProperty(error,"toString",{enumerable:!1,value(){return`${this.left} and ${this.right}`}}),Object.defineProperty(error,"message",{enumerable:!1,get(){return this.toString()}}),error},Or=(self,that)=>{let error=Object.create(proto2);return error._op=OP_OR,error.left=self,error.right=that,Object.defineProperty(error,"toString",{enumerable:!1,value(){return`${this.left} or ${this.right}`}}),Object.defineProperty(error,"message",{enumerable:!1,get(){return this.toString()}}),error},InvalidData=(path,message,options={pathDelim:"."})=>{let error=Object.create(proto2);return error._op=OP_INVALID_DATA,error.path=path,error.message=message,Object.defineProperty(error,"toString",{enumerable:!1,value(){return`(Invalid data at ${pipe(this.path,join(options.pathDelim))}: "${this.message}")`}}),error},MissingData=(path,message,options={pathDelim:"."})=>{let error=Object.create(proto2);return error._op=OP_MISSING_DATA,error.path=path,error.message=message,Object.defineProperty(error,"toString",{enumerable:!1,value(){return`(Missing data at ${pipe(this.path,join(options.pathDelim))}: "${this.message}")`}}),error},SourceUnavailable=(path,message,cause,options={pathDelim:"."})=>{let error=Object.create(proto2);return error._op=OP_SOURCE_UNAVAILABLE,error.path=path,error.message=message,error.cause=cause,Object.defineProperty(error,"toString",{enumerable:!1,value(){return`(Source unavailable at ${pipe(this.path,join(options.pathDelim))}: "${this.message}")`}}),error},Unsupported=(path,message,options={pathDelim:"."})=>{let error=Object.create(proto2);return error._op=OP_UNSUPPORTED,error.path=path,error.message=message,Object.defineProperty(error,"toString",{enumerable:!1,value(){return`(Unsupported operation at ${pipe(this.path,join(options.pathDelim))}: "${this.message}")`}}),error};var prefixed=dual(2,(self,prefix)=>{switch(self._op){case OP_AND:return And(prefixed(self.left,prefix),prefixed(self.right,prefix));case OP_OR:return Or(prefixed(self.left,prefix),prefixed(self.right,prefix));case OP_INVALID_DATA:return InvalidData([...prefix,...self.path],self.message);case OP_MISSING_DATA:return MissingData([...prefix,...self.path],self.message);case OP_SOURCE_UNAVAILABLE:return SourceUnavailable([...prefix,...self.path],self.message,self.cause);case OP_UNSUPPORTED:return Unsupported([...prefix,...self.path],self.message)}});var empty23={_tag:"Empty"};var patch8=dual(2,(path,patch9)=>{let input=of3(patch9),output=path;while(isCons(input)){let patch10=input.head;switch(patch10._tag){case"Empty":{input=input.tail;break}case"AndThen":{input=cons(patch10.first,cons(patch10.second,input.tail));break}case"MapName":{output=map3(output,patch10.f),input=input.tail;break}case"Nested":{output=prepend(output,patch10.name),input=input.tail;break}case"Unnested":{if(pipe(head(output),contains(patch10.name)))output=tailNonEmpty(output),input=input.tail;else return left2(MissingData(output,`Expected ${patch10.name} to be in path in ConfigProvider#unnested`));break}}}return right2(output)});var OP_CONSTANT="Constant",OP_FAIL2="Fail",OP_FALLBACK="Fallback",OP_DESCRIBED="Described",OP_LAZY="Lazy",OP_MAP_OR_FAIL="MapOrFail",OP_NESTED="Nested",OP_PRIMITIVE="Primitive",OP_SEQUENCE="Sequence",OP_HASHMAP="HashMap",OP_ZIP_WITH="ZipWith";var concat=(l,r)=>[...l,...r],ConfigProviderSymbolKey="effect/ConfigProvider",ConfigProviderTypeId=Symbol.for(ConfigProviderSymbolKey),configProviderTag=GenericTag("effect/ConfigProvider"),FlatConfigProviderSymbolKey="effect/ConfigProviderFlat",FlatConfigProviderTypeId=Symbol.for(FlatConfigProviderSymbolKey),make22=(options)=>({[ConfigProviderTypeId]:ConfigProviderTypeId,pipe(){return pipeArguments(this,arguments)},...options}),makeFlat=(options)=>({[FlatConfigProviderTypeId]:FlatConfigProviderTypeId,patch:options.patch,load:(path,config,split=!0)=>options.load(path,config,split),enumerateChildren:options.enumerateChildren}),fromFlat=(flat)=>make22({load:(config)=>flatMap7(fromFlatLoop(flat,empty2(),config,!1),(chunk)=>match2(head(chunk),{onNone:()=>fail2(MissingData(empty2(),`Expected a single value having structure: ${config}`)),onSome:succeed})),flattened:flat}),fromEnv=(options)=>{let{pathDelim,seqDelim}=Object.assign({},{pathDelim:"_",seqDelim:","},options),makePathString=(path)=>pipe(path,join(pathDelim)),unmakePathString=(pathString)=>pathString.split(pathDelim),getEnv=()=>typeof process!=="undefined"&&("env"in process)&&typeof process.env==="object"?process.env:{};return fromFlat(makeFlat({load:(path,primitive,split=!0)=>{let pathString=makePathString(path),current=getEnv(),valueOpt=pathString in current?some2(current[pathString]):none2();return pipe(valueOpt,mapError(()=>MissingData(path,`Expected ${pathString} to exist in the process context`)),flatMap7((value)=>parsePrimitive(value,path,primitive,seqDelim,split)))},enumerateChildren:(path)=>sync(()=>{let current=getEnv(),filteredKeyPaths=Object.keys(current).map((value)=>unmakePathString(value.toUpperCase())).filter((keyPath)=>{for(let i=0;i<path.length;i++){let pathComponent=pipe(path,unsafeGet(i)),currentElement=keyPath[i];if(currentElement===void 0||pathComponent!==currentElement)return!1}return!0}).flatMap((keyPath)=>keyPath.slice(path.length,path.length+1));return fromIterable5(filteredKeyPaths)}),patch:empty23}))};var extend=(leftDef,rightDef,left3,right3)=>{let leftPad=unfold(left3.length,(index)=>index>=right3.length?none2():some2([leftDef(index),index+1])),rightPad=unfold(right3.length,(index)=>index>=left3.length?none2():some2([rightDef(index),index+1])),leftExtension=concat(left3,leftPad),rightExtension=concat(right3,rightPad);return[leftExtension,rightExtension]},appendConfigPath=(path,config)=>{let op=config;if(op._tag==="Nested"){let out=path.slice();while(op._tag==="Nested")out.push(op.name),op=op.config;return out}return path},fromFlatLoop=(flat,prefix,config,split)=>{let op=config;switch(op._tag){case OP_CONSTANT:return succeed(of(op.value));case OP_DESCRIBED:return suspend(()=>fromFlatLoop(flat,prefix,op.config,split));case OP_FAIL2:return fail2(MissingData(prefix,op.message));case OP_FALLBACK:return pipe(suspend(()=>fromFlatLoop(flat,prefix,op.first,split)),catchAll((error1)=>{if(op.condition(error1))return pipe(fromFlatLoop(flat,prefix,op.second,split),catchAll((error2)=>fail2(Or(error1,error2))));return fail2(error1)}));case OP_LAZY:return suspend(()=>fromFlatLoop(flat,prefix,op.config(),split));case OP_MAP_OR_FAIL:return suspend(()=>pipe(fromFlatLoop(flat,prefix,op.original,split),flatMap7(forEachSequential((a)=>pipe(op.mapOrFail(a),mapError(prefixed(appendConfigPath(prefix,op.original))))))));case OP_NESTED:return suspend(()=>fromFlatLoop(flat,concat(prefix,of(op.name)),op.config,split));case OP_PRIMITIVE:return pipe(patch8(prefix,flat.patch),flatMap7((prefix2)=>pipe(flat.load(prefix2,op,split),flatMap7((values3)=>{if(values3.length===0){let name=pipe(last(prefix2),getOrElse(()=>"<n/a>"));return fail2(MissingData([],`Expected ${op.description} with name ${name}`))}return succeed(values3)}))));case OP_SEQUENCE:return pipe(patch8(prefix,flat.patch),flatMap7((patchedPrefix)=>pipe(flat.enumerateChildren(patchedPrefix),flatMap7(indicesFrom),flatMap7((indices)=>{if(indices.length===0)return suspend(()=>map9(fromFlatLoop(flat,prefix,op.config,!0),of));return pipe(forEachSequential(indices,(index)=>fromFlatLoop(flat,append(prefix,`[${index}]`),op.config,!0)),map9((chunkChunk)=>{let flattened=flatten(chunkChunk);if(flattened.length===0)return of(empty2());return of(flattened)}))}))));case OP_HASHMAP:return suspend(()=>pipe(patch8(prefix,flat.patch),flatMap7((prefix2)=>pipe(flat.enumerateChildren(prefix2),flatMap7((keys3)=>{return pipe(keys3,forEachSequential((key)=>fromFlatLoop(flat,concat(prefix2,of(key)),op.valueConfig,split)),map9((matrix)=>{if(matrix.length===0)return of(empty9());return pipe(transpose(matrix),map3((values3)=>fromIterable6(zip(fromIterable(keys3),values3))))}))})))));case OP_ZIP_WITH:return suspend(()=>pipe(fromFlatLoop(flat,prefix,op.left,split),either2,flatMap7((left3)=>pipe(fromFlatLoop(flat,prefix,op.right,split),either2,flatMap7((right3)=>{if(isLeft2(left3)&&isLeft2(right3))return fail2(And(left3.left,right3.left));if(isLeft2(left3)&&isRight2(right3))return fail2(left3.left);if(isRight2(left3)&&isLeft2(right3))return fail2(right3.left);if(isRight2(left3)&&isRight2(right3)){let path=pipe(prefix,join(".")),fail4=fromFlatLoopFail(prefix,path),[lefts,rights]=extend(fail4,fail4,pipe(left3.right,map3(right2)),pipe(right3.right,map3(right2)));return pipe(lefts,zip(rights),forEachSequential(([left4,right4])=>pipe(zip2(left4,right4),map9(([left5,right5])=>op.zip(left5,right5)))))}throw new Error("BUG: ConfigProvider.fromFlatLoop - please report an issue at https://github.com/Effect-TS/effect/issues")})))))}},fromFlatLoopFail=(prefix,path)=>(index)=>left2(MissingData(prefix,`The element at index ${index} in a sequence at path "${path}" was missing`));var splitPathString=(text,delim)=>{return text.split(new RegExp(`\\s*${escape(delim)}\\s*`))},parsePrimitive=(text,path,primitive,delimiter,split)=>{if(!split)return pipe(primitive.parse(text),mapBoth({onFailure:prefixed(path),onSuccess:of}));return pipe(splitPathString(text,delimiter),forEachSequential((char)=>primitive.parse(char.trim())),mapError(prefixed(path)))},transpose=(array4)=>{return Object.keys(array4[0]).map((column)=>array4.map((row)=>row[column]))},indicesFrom=(quotedIndices)=>pipe(forEachSequential(quotedIndices,parseQuotedIndex),mapBoth({onFailure:()=>empty2(),onSuccess:sort(Order)}),either2,map9(merge));var QUOTED_INDEX_REGEX=/^(\[(\d+)\])$/,parseQuotedIndex=(str)=>{let match6=str.match(QUOTED_INDEX_REGEX);if(match6!==null){let matchedIndex=match6[2];return pipe(matchedIndex!==void 0&&matchedIndex.length>0?some2(matchedIndex):none2(),flatMap(parseInteger))}return none2()};var parseInteger=(str)=>{let parsedIndex=Number.parseInt(str);return Number.isNaN(parsedIndex)?none2():some2(parsedIndex)};var TypeId12=Symbol.for("effect/Console"),consoleTag=GenericTag("effect/Console"),defaultConsole={[TypeId12]:TypeId12,assert(condition,...args){return sync(()=>{console.assert(condition,...args)})},clear:sync(()=>{console.clear()}),count(label){return sync(()=>{console.count(label)})},countReset(label){return sync(()=>{console.countReset(label)})},debug(...args){return sync(()=>{console.debug(...args)})},dir(item,options){return sync(()=>{console.dir(item,options)})},dirxml(...args){return sync(()=>{console.dirxml(...args)})},error(...args){return sync(()=>{console.error(...args)})},group(options){return options?.collapsed?sync(()=>console.groupCollapsed(options?.label)):sync(()=>console.group(options?.label))},groupEnd:sync(()=>{console.groupEnd()}),info(...args){return sync(()=>{console.info(...args)})},log(...args){return sync(()=>{console.log(...args)})},table(tabularData,properties){return sync(()=>{console.table(tabularData,properties)})},time(label){return sync(()=>console.time(label))},timeEnd(label){return sync(()=>console.timeEnd(label))},timeLog(label,...args){return sync(()=>{console.timeLog(label,...args)})},trace(...args){return sync(()=>{console.trace(...args)})},warn(...args){return sync(()=>{console.warn(...args)})},unsafe:console};var RandomSymbolKey="effect/Random",RandomTypeId=Symbol.for(RandomSymbolKey),randomTag=GenericTag("effect/Random");class RandomImpl{seed;[RandomTypeId]=RandomTypeId;PRNG;constructor(seed){this.seed=seed,this.PRNG=new PCGRandom(seed)}get next(){return sync(()=>this.PRNG.number())}get nextBoolean(){return map9(this.next,(n)=>n>0.5)}get nextInt(){return sync(()=>this.PRNG.integer(Number.MAX_SAFE_INTEGER))}nextRange(min2,max2){return map9(this.next,(n)=>(max2-min2)*n+min2)}nextIntBetween(min2,max2){return sync(()=>this.PRNG.integer(max2-min2)+min2)}shuffle(elements){return shuffleWith(elements,(n)=>this.nextIntBetween(0,n))}}var shuffleWith=(elements,nextIntBounded)=>{return suspend(()=>pipe(sync(()=>Array.from(elements)),flatMap7((buffer)=>{let numbers=[];for(let i=buffer.length;i>=2;i=i-1)numbers.push(i);return pipe(numbers,forEachSequentialDiscard((n)=>pipe(nextIntBounded(n),map9((k)=>swap(buffer,n-1,k)))),as(fromIterable2(buffer)))})))},swap=(buffer,index1,index2)=>{let tmp=buffer[index1];return buffer[index1]=buffer[index2],buffer[index2]=tmp,buffer},make23=(seed)=>new RandomImpl(hash(seed));var TracerTypeId=Symbol.for("effect/Tracer"),make24=(options)=>({[TracerTypeId]:TracerTypeId,...options}),tracerTag=GenericTag("effect/Tracer"),spanTag=GenericTag("effect/ParentSpan"),randomHexString=function(){return function(length2){let result="";for(let i=0;i<length2;i++)result+="abcdef0123456789".charAt(Math.floor(Math.random()*16));return result}}();class NativeSpan{name;parent;context;startTime;kind;_tag="Span";spanId;traceId="native";sampled=!0;status;attributes;events=[];links;constructor(name,parent,context2,links,startTime,kind){this.name=name,this.parent=parent,this.context=context2,this.startTime=startTime,this.kind=kind,this.status={_tag:"Started",startTime},this.attributes=new Map,this.traceId=parent._tag==="Some"?parent.value.traceId:randomHexString(32),this.spanId=randomHexString(16),this.links=Array.from(links)}end(endTime,exit2){this.status={_tag:"Ended",endTime,exit:exit2,startTime:this.status.startTime}}attribute(key,value){this.attributes.set(key,value)}event(name,startTime,attributes){this.events.push([name,startTime,attributes??{}])}addLinks(links){this.links.push(...links)}}var nativeTracer=make24({span:(name,parent,context2,links,startTime,kind)=>new NativeSpan(name,parent,context2,links,startTime,kind),context:(f)=>f()});var addSpanStackTrace=(options)=>{if(options?.captureStackTrace===!1)return options;else if(options?.captureStackTrace!==void 0&&typeof options.captureStackTrace!=="boolean")return options;let limit=Error.stackTraceLimit;Error.stackTraceLimit=3;let traceError=new Error;Error.stackTraceLimit=limit;let cache=!1;return{...options,captureStackTrace:()=>{if(cache!==!1)return cache;if(traceError.stack!==void 0){let stack=traceError.stack.split(`
|
|
23
|
-
`);if(stack[3]!==void 0)return cache=stack[3].trim(),cache}}}},DisablePropagation=Reference2()("effect/Tracer/DisablePropagation",{defaultValue:constFalse});var liveServices=pipe(empty4(),add2(clockTag,make20()),add2(consoleTag,defaultConsole),add2(randomTag,make23(Math.random())),add2(configProviderTag,fromEnv()),add2(tracerTag,nativeTracer)),currentServices=globalValue(Symbol.for("effect/DefaultServices/currentServices"),()=>fiberRefUnsafeMakeContext(liveServices)),sleep=(duration)=>{let decodedDuration=decode(duration);return clockWith((clock)=>clock.sleep(decodedDuration))},defaultServicesWith=(f)=>withFiberRuntime((fiber)=>f(fiber.currentDefaultServices)),clockWith=(f)=>defaultServicesWith((services)=>f(services.unsafeMap.get(clockTag.key))),currentTimeMillis=clockWith((clock)=>clock.currentTimeMillis),currentTimeNanos=clockWith((clock)=>clock.currentTimeNanos),withClock=dual(2,(effect,c)=>fiberRefLocallyWith(currentServices,add2(clockTag,c))(effect)),withConfigProvider=dual(2,(self,provider)=>fiberRefLocallyWith(currentServices,add2(configProviderTag,provider))(self)),configProviderWith=(f)=>defaultServicesWith((services)=>f(services.unsafeMap.get(configProviderTag.key))),config=(config2)=>configProviderWith((_)=>_.load(config2));var randomWith=(f)=>defaultServicesWith((services)=>f(services.unsafeMap.get(randomTag.key))),withRandom=dual(2,(effect,value)=>fiberRefLocallyWith(currentServices,add2(randomTag,value))(effect));var tracerWith=(f)=>defaultServicesWith((services)=>f(services.unsafeMap.get(tracerTag.key))),withTracer=dual(2,(effect,value)=>fiberRefLocallyWith(currentServices,add2(tracerTag,value))(effect));var sleep2=sleep,currentTimeMillis2=currentTimeMillis,currentTimeNanos2=currentTimeNanos,clockWith2=clockWith,Clock=clockTag;function unsafeMake5(fiberRefLocals){return new FiberRefsImpl(fiberRefLocals)}function empty24(){return unsafeMake5(new Map)}var FiberRefsSym=Symbol.for("effect/FiberRefs");class FiberRefsImpl{locals;[FiberRefsSym]=FiberRefsSym;constructor(locals){this.locals=locals}pipe(){return pipeArguments(this,arguments)}}var findAncestor=(_ref,_parentStack,_childStack,_childModified=!1)=>{let ref=_ref,parentStack=_parentStack,childStack=_childStack,childModified=_childModified,ret=void 0;while(ret===void 0)if(isNonEmptyReadonlyArray(parentStack)&&isNonEmptyReadonlyArray(childStack)){let parentFiberId=headNonEmpty(parentStack)[0],parentAncestors=tailNonEmpty(parentStack),childFiberId=headNonEmpty(childStack)[0],childRefValue=headNonEmpty(childStack)[1],childAncestors=tailNonEmpty(childStack);if(parentFiberId.startTimeMillis<childFiberId.startTimeMillis)childStack=childAncestors,childModified=!0;else if(parentFiberId.startTimeMillis>childFiberId.startTimeMillis)parentStack=parentAncestors;else if(parentFiberId.id<childFiberId.id)childStack=childAncestors,childModified=!0;else if(parentFiberId.id>childFiberId.id)parentStack=parentAncestors;else ret=[childRefValue,childModified]}else ret=[ref.initial,!0];return ret},joinAs=dual(3,(self,fiberId2,that)=>{let parentFiberRefs=new Map(self.locals);return that.locals.forEach((childStack,fiberRef)=>{let childValue=childStack[0][1];if(!childStack[0][0][symbol2](fiberId2)){if(!parentFiberRefs.has(fiberRef)){if(equals(childValue,fiberRef.initial))return;parentFiberRefs.set(fiberRef,[[fiberId2,fiberRef.join(fiberRef.initial,childValue)]]);return}let parentStack=parentFiberRefs.get(fiberRef),[ancestor,wasModified]=findAncestor(fiberRef,parentStack,childStack);if(wasModified){let patch9=fiberRef.diff(ancestor,childValue),oldValue=parentStack[0][1],newValue=fiberRef.join(oldValue,fiberRef.patch(patch9)(oldValue));if(!equals(oldValue,newValue)){let newStack,parentFiberId=parentStack[0][0];if(parentFiberId[symbol2](fiberId2))newStack=[[parentFiberId,newValue],...parentStack.slice(1)];else newStack=[[fiberId2,newValue],...parentStack];parentFiberRefs.set(fiberRef,newStack)}}}}),new FiberRefsImpl(parentFiberRefs)}),forkAs=dual(2,(self,childId)=>{let map10=new Map;return unsafeForkAs(self,map10,childId),new FiberRefsImpl(map10)}),unsafeForkAs=(self,map10,fiberId2)=>{self.locals.forEach((stack,fiberRef)=>{let oldValue=stack[0][1],newValue=fiberRef.patch(fiberRef.fork)(oldValue);if(equals(oldValue,newValue))map10.set(fiberRef,stack);else map10.set(fiberRef,[[fiberId2,newValue],...stack])})},fiberRefs=(self)=>fromIterable5(self.locals.keys()),setAll=(self)=>forEachSequentialDiscard(fiberRefs(self),(fiberRef)=>fiberRefSet(fiberRef,getOrDefault(self,fiberRef))),delete_=dual(2,(self,fiberRef)=>{let locals=new Map(self.locals);return locals.delete(fiberRef),new FiberRefsImpl(locals)}),get9=dual(2,(self,fiberRef)=>{if(!self.locals.has(fiberRef))return none2();return some2(headNonEmpty(self.locals.get(fiberRef))[1])}),getOrDefault=dual(2,(self,fiberRef)=>pipe(get9(self,fiberRef),getOrElse(()=>fiberRef.initial))),updateAs=dual(2,(self,{fiberId:fiberId2,fiberRef,value})=>{if(self.locals.size===0)return new FiberRefsImpl(new Map([[fiberRef,[[fiberId2,value]]]]));let locals=new Map(self.locals);return unsafeUpdateAs(locals,fiberId2,fiberRef,value),new FiberRefsImpl(locals)}),unsafeUpdateAs=(locals,fiberId2,fiberRef,value)=>{let oldStack=locals.get(fiberRef)??[],newStack;if(isNonEmptyReadonlyArray(oldStack)){let[currentId,currentValue]=headNonEmpty(oldStack);if(currentId[symbol2](fiberId2))if(equals(currentValue,value))return;else newStack=[[fiberId2,value],...oldStack.slice(1)];else newStack=[[fiberId2,value],...oldStack]}else newStack=[[fiberId2,value]];locals.set(fiberRef,newStack)},updateManyAs=dual(2,(self,{entries:entries2,forkAs:forkAs2})=>{if(self.locals.size===0)return new FiberRefsImpl(new Map(entries2));let locals=new Map(self.locals);if(forkAs2!==void 0)unsafeForkAs(self,locals,forkAs2);return entries2.forEach(([fiberRef,values3])=>{if(values3.length===1)unsafeUpdateAs(locals,values3[0][0],fiberRef,values3[0][1]);else values3.forEach(([fiberId2,value])=>{unsafeUpdateAs(locals,fiberId2,fiberRef,value)})}),new FiberRefsImpl(locals)});var get10=get9,getOrDefault2=getOrDefault,joinAs2=joinAs,setAll2=setAll;var updateManyAs2=updateManyAs;var empty25=empty24;var All=logLevelAll,Fatal=logLevelFatal,Error2=logLevelError,Warning=logLevelWarning,Info=logLevelInfo,Debug=logLevelDebug,Trace=logLevelTrace,None3=logLevelNone;var Order2=pipe(Order,mapInput2((level)=>level.ordinal));var greaterThan2=greaterThan(Order2);var fromLiteral=(literal)=>{switch(literal){case"All":return All;case"Debug":return Debug;case"Error":return Error2;case"Fatal":return Fatal;case"Info":return Info;case"Trace":return Trace;case"None":return None3;case"Warning":return Warning}};var make25=(label,startTime)=>({label,startTime}),formatLabel=(key)=>key.replace(/[\s="]/g,"_"),render=(now)=>(self)=>{return`${formatLabel(self.label)}=${now-self.startTime}ms`};var make26=make25;var EffectPrototype2=EffectPrototype,CommitPrototype2=CommitPrototype;var Base2=Base;class Class extends Base2{}var TypeId13=Symbol.for("effect/Readable");var Proto={[TypeId13]:TypeId13,pipe(){return pipeArguments(this,arguments)}};var RefTypeId=Symbol.for("effect/Ref"),refVariance={_A:(_)=>_};class RefImpl extends Class{ref;commit(){return this.get}[RefTypeId]=refVariance;[TypeId13]=TypeId13;constructor(ref){super();this.ref=ref,this.get=sync(()=>get6(this.ref))}get;modify(f){return sync(()=>{let current=get6(this.ref),[b,a]=f(current);if(current!==a)set2(a)(this.ref);return b})}}var unsafeMake6=(value)=>new RefImpl(make12(value)),make27=(value)=>sync(()=>unsafeMake6(value)),get11=(self)=>self.get,set5=dual(2,(self,value)=>self.modify(()=>[void 0,value])),getAndSet=dual(2,(self,value)=>self.modify((a)=>[a,value]));var modify2=dual(2,(self,f)=>self.modify(f));var update2=dual(2,(self,f)=>self.modify((a)=>[void 0,f(a)]));var make28=make27,get12=get11,getAndSet2=getAndSet;var modify3=modify2;var update3=update2;var tracerWith2=tracerWith;var OP_EMPTY2="Empty",OP_ADD="Add",OP_REMOVE="Remove",OP_UPDATE="Update",OP_AND_THEN="AndThen",empty26={_tag:OP_EMPTY2},diff8=(oldValue,newValue)=>{let missingLocals=new Map(oldValue.locals),patch9=empty26;for(let[fiberRef,pairs]of newValue.locals.entries()){let newValue2=headNonEmpty(pairs)[1],old=missingLocals.get(fiberRef);if(old!==void 0){let oldValue2=headNonEmpty(old)[1];if(!equals(oldValue2,newValue2))patch9=combine10({_tag:OP_UPDATE,fiberRef,patch:fiberRef.diff(oldValue2,newValue2)})(patch9)}else patch9=combine10({_tag:OP_ADD,fiberRef,value:newValue2})(patch9);missingLocals.delete(fiberRef)}for(let[fiberRef]of missingLocals.entries())patch9=combine10({_tag:OP_REMOVE,fiberRef})(patch9);return patch9},combine10=dual(2,(self,that)=>({_tag:OP_AND_THEN,first:self,second:that})),patch9=dual(3,(self,fiberId2,oldValue)=>{let fiberRefs2=oldValue,patches=of(self);while(isNonEmptyReadonlyArray(patches)){let head3=headNonEmpty(patches),tail=tailNonEmpty(patches);switch(head3._tag){case OP_EMPTY2:{patches=tail;break}case OP_ADD:{fiberRefs2=updateAs(fiberRefs2,{fiberId:fiberId2,fiberRef:head3.fiberRef,value:head3.value}),patches=tail;break}case OP_REMOVE:{fiberRefs2=delete_(fiberRefs2,head3.fiberRef),patches=tail;break}case OP_UPDATE:{let value=getOrDefault(fiberRefs2,head3.fiberRef);fiberRefs2=updateAs(fiberRefs2,{fiberId:fiberId2,fiberRef:head3.fiberRef,value:head3.fiberRef.patch(head3.patch)(value)}),patches=tail;break}case OP_AND_THEN:{patches=prepend(head3.first)(prepend(head3.second)(tail));break}}}return fiberRefs2});var MetricLabelSymbolKey="effect/MetricLabel",MetricLabelTypeId=Symbol.for(MetricLabelSymbolKey);class MetricLabelImpl{key;value;[MetricLabelTypeId]=MetricLabelTypeId;_hash;constructor(key,value){this.key=key,this.value=value,this._hash=string(MetricLabelSymbolKey+this.key+this.value)}[symbol](){return this._hash}[symbol2](that){return isMetricLabel(that)&&this.key===that.key&&this.value===that.value}pipe(){return pipeArguments(this,arguments)}}var make29=(key,value)=>{return new MetricLabelImpl(key,value)},isMetricLabel=(u)=>hasProperty(u,MetricLabelTypeId);var annotateLogs=dual((args)=>isEffect(args[0]),function(){let args=arguments;return fiberRefLocallyWith(args[0],currentLogAnnotations,typeof args[1]==="string"?set3(args[1],args[2]):(annotations2)=>Object.entries(args[1]).reduce((acc,[key,value])=>set3(acc,key,value),annotations2))}),asSome=(self)=>map9(self,some2),asSomeError=(self)=>mapError(self,some2),try_=(arg)=>{let evaluate,onFailure=void 0;if(typeof arg==="function")evaluate=arg;else evaluate=arg.try,onFailure=arg.catch;return suspend(()=>{try{return succeed(internalCall(evaluate))}catch(error){return fail2(onFailure?internalCall(()=>onFailure(error)):new UnknownException(error,"An unknown error occurred in Effect.try"))}})},_catch=dual(3,(self,tag,options)=>catchAll(self,(e)=>{if(hasProperty(e,tag)&&e[tag]===options.failure)return options.onFailure(e);return fail2(e)})),catchAllDefect=dual(2,(self,f)=>catchAllCause(self,(cause)=>{let option=find(cause,(_)=>isDieType(_)?some2(_):none2());switch(option._tag){case"None":return failCause(cause);case"Some":return f(option.value.defect)}})),catchSomeCause=dual(2,(self,f)=>matchCauseEffect(self,{onFailure:(cause)=>{let option=f(cause);switch(option._tag){case"None":return failCause(cause);case"Some":return option.value}},onSuccess:succeed})),catchSomeDefect=dual(2,(self,pf)=>catchAllCause(self,(cause)=>{let option=find(cause,(_)=>isDieType(_)?some2(_):none2());switch(option._tag){case"None":return failCause(cause);case"Some":{let optionEffect=pf(option.value.defect);return optionEffect._tag==="Some"?optionEffect.value:failCause(cause)}}})),catchTag=dual((args)=>isEffect(args[0]),(self,...args)=>{let f=args[args.length-1],predicate;if(args.length===2)predicate=isTagged(args[0]);else predicate=(e)=>{let tag=hasProperty(e,"_tag")?e._tag:void 0;if(!tag)return!1;for(let i=0;i<args.length-1;i++)if(args[i]===tag)return!0;return!1};return catchIf(self,predicate,f)}),catchTags=dual(2,(self,cases)=>{let keys3;return catchIf(self,(e)=>{return keys3??=Object.keys(cases),hasProperty(e,"_tag")&&isString(e._tag)&&keys3.includes(e._tag)},(e)=>cases[e._tag](e))}),cause=(self)=>matchCause(self,{onFailure:identity,onSuccess:()=>empty20}),clockWith3=clockWith2,clock=clockWith3(succeed),delay=dual(2,(self,duration)=>zipRight(sleep2(duration),self)),descriptorWith=(f)=>withFiberRuntime((state,status)=>f({id:state.id(),status,interruptors:interruptors(state.getFiberRef(currentInterruptedCause))})),allowInterrupt=descriptorWith((descriptor)=>size3(descriptor.interruptors)>0?interrupt2:void_),descriptor=descriptorWith(succeed),diffFiberRefs=(self)=>summarized(self,fiberRefs2,diff8),diffFiberRefsAndRuntimeFlags=(self)=>summarized(self,zip2(fiberRefs2,runtimeFlags),([refs,flags],[refsNew,flagsNew])=>[diff8(refs,refsNew),diff7(flags,flagsNew)]),Do=succeed({}),bind2=bind(map9,flatMap7),bindTo2=bindTo(map9),let_2=let_(map9),dropUntil=dual(2,(elements,predicate)=>suspend(()=>{let iterator=elements[Symbol.iterator](),builder=[],next,dropping=succeed(!1),i=0;while((next=iterator.next())&&!next.done){let a=next.value,index=i++;dropping=flatMap7(dropping,(bool)=>{if(bool)return builder.push(a),succeed(!0);return predicate(a,index)})}return map9(dropping,()=>builder)})),dropWhile=dual(2,(elements,predicate)=>suspend(()=>{let iterator=elements[Symbol.iterator](),builder=[],next,dropping=succeed(!0),i=0;while((next=iterator.next())&&!next.done){let a=next.value,index=i++;dropping=flatMap7(dropping,(d)=>map9(d?predicate(a,index):succeed(!1),(b)=>{if(!b)builder.push(a);return b}))}return map9(dropping,()=>builder)})),contextWith=(f)=>map9(context(),f),eventually=(self)=>orElse2(self,()=>flatMap7(yieldNow(),()=>eventually(self))),filterMap3=dual(2,(elements,pf)=>map9(forEachSequential(elements,identity),filterMap(pf))),filterOrDie=dual(3,(self,predicate,orDieWith2)=>filterOrElse(self,predicate,(a)=>dieSync(()=>orDieWith2(a)))),filterOrDieMessage=dual(3,(self,predicate,message)=>filterOrElse(self,predicate,()=>dieMessage(message))),filterOrElse=dual(3,(self,predicate,orElse3)=>flatMap7(self,(a)=>predicate(a)?succeed(a):orElse3(a))),liftPredicate=dual(3,(self,predicate,orFailWith)=>suspend(()=>predicate(self)?succeed(self):fail2(orFailWith(self)))),filterOrFail=dual((args)=>isEffect(args[0]),(self,predicate,orFailWith)=>filterOrElse(self,predicate,(a)=>orFailWith===void 0?fail2(new NoSuchElementException):failSync(()=>orFailWith(a)))),findFirst4=dual(2,(elements,predicate)=>suspend(()=>{let iterator=elements[Symbol.iterator](),next=iterator.next();if(!next.done)return findLoop(iterator,0,predicate,next.value);return succeed(none2())})),findLoop=(iterator,index,f,value)=>flatMap7(f(value,index),(result)=>{if(result)return succeed(some2(value));let next=iterator.next();if(!next.done)return findLoop(iterator,index+1,f,next.value);return succeed(none2())}),firstSuccessOf=(effects)=>suspend(()=>{let list=fromIterable2(effects);if(!isNonEmpty2(list))return dieSync(()=>new IllegalArgumentException("Received an empty collection of effects"));return pipe(tailNonEmpty2(list),reduce(headNonEmpty2(list),(left3,right3)=>orElse2(left3,()=>right3)))}),flipWith=dual(2,(self,f)=>flip(f(flip(self)))),match6=dual(2,(self,options)=>matchEffect(self,{onFailure:(e)=>succeed(options.onFailure(e)),onSuccess:(a)=>succeed(options.onSuccess(a))})),every5=dual(2,(elements,predicate)=>suspend(()=>forAllLoop(elements[Symbol.iterator](),0,predicate))),forAllLoop=(iterator,index,f)=>{let next=iterator.next();return next.done?succeed(!0):flatMap7(f(next.value,index),(b)=>b?forAllLoop(iterator,index+1,f):succeed(b))},forever=(self)=>{let loop=flatMap7(flatMap7(self,()=>yieldNow()),()=>loop);return loop},fiberRefs2=withFiberRuntime((state)=>succeed(state.getFiberRefs())),head3=(self)=>flatMap7(self,(as2)=>{let next=as2[Symbol.iterator]().next();if(next.done)return fail2(new NoSuchElementException);return succeed(next.value)}),ignore=(self)=>match6(self,{onFailure:constVoid,onSuccess:constVoid}),ignoreLogged=(self)=>matchCauseEffect(self,{onFailure:(cause2)=>logDebug(cause2,"An error was silently ignored because it is not anticipated to be useful"),onSuccess:()=>void_}),inheritFiberRefs=(childFiberRefs)=>updateFiberRefs((parentFiberId,parentFiberRefs)=>joinAs2(parentFiberRefs,parentFiberId,childFiberRefs)),isFailure=(self)=>match6(self,{onFailure:constTrue,onSuccess:constFalse}),isSuccess2=(self)=>match6(self,{onFailure:constFalse,onSuccess:constTrue}),iterate=(initial,options)=>suspend(()=>{if(options.while(initial))return flatMap7(options.body(initial),(z2)=>iterate(z2,options));return succeed(initial)}),logWithLevel=(level)=>(...message)=>{let levelOption=fromNullable(level),cause2=void 0;for(let i=0,len=message.length;i<len;i++){let msg=message[i];if(isCause(msg)){if(cause2!==void 0)cause2=sequential(cause2,msg);else cause2=msg;message=[...message.slice(0,i),...message.slice(i+1)],i--}}if(cause2===void 0)cause2=empty20;return withFiberRuntime((fiberState)=>{return fiberState.log(message,cause2,levelOption),void_})},log=logWithLevel(),logTrace=logWithLevel(Trace),logDebug=logWithLevel(Debug),logInfo=logWithLevel(Info),logWarning=logWithLevel(Warning),logError=logWithLevel(Error2),logFatal=logWithLevel(Fatal),withLogSpan=dual(2,(effect,label)=>flatMap7(currentTimeMillis2,(now)=>fiberRefLocallyWith(effect,currentLogSpan,prepend3(make26(label,now))))),logAnnotations=fiberRefGet(currentLogAnnotations),loop=(initial,options)=>options.discard?loopDiscard(initial,options.while,options.step,options.body):map9(loopInternal(initial,options.while,options.step,options.body),fromIterable),loopInternal=(initial,cont,inc,body)=>suspend(()=>cont(initial)?flatMap7(body(initial),(a)=>map9(loopInternal(inc(initial),cont,inc,body),prepend3(a))):sync(()=>empty10())),loopDiscard=(initial,cont,inc,body)=>suspend(()=>cont(initial)?flatMap7(body(initial),()=>loopDiscard(inc(initial),cont,inc,body)):void_),mapAccum2=dual(3,(elements,initial,f)=>suspend(()=>{let iterator=elements[Symbol.iterator](),builder=[],result=succeed(initial),next,i=0;while(!(next=iterator.next()).done){let index=i++,value=next.value;result=flatMap7(result,(state)=>map9(f(state,value,index),([z,b])=>{return builder.push(b),z}))}return map9(result,(z)=>[z,builder])})),mapErrorCause=dual(2,(self,f)=>matchCauseEffect(self,{onFailure:(c)=>failCauseSync(()=>f(c)),onSuccess:succeed})),memoize=(self)=>pipe(deferredMake(),flatMap7((deferred)=>pipe(diffFiberRefsAndRuntimeFlags(self),intoDeferred(deferred),once,map9((complete)=>zipRight(complete,pipe(deferredAwait(deferred),flatMap7(([patch10,a])=>as(zip2(patchFiberRefs(patch10[0]),updateRuntimeFlags(patch10[1])),a)))))))),merge5=(self)=>matchEffect(self,{onFailure:(e)=>succeed(e),onSuccess:succeed}),negate=(self)=>map9(self,(b)=>!b),none6=(self)=>flatMap7(self,(option)=>{switch(option._tag){case"None":return void_;case"Some":return fail2(new NoSuchElementException)}}),once=(self)=>map9(make28(!0),(ref)=>asVoid(whenEffect(self,getAndSet2(ref,!1)))),option=(self)=>matchEffect(self,{onFailure:()=>succeed(none2()),onSuccess:(a)=>succeed(some2(a))}),orElseFail=dual(2,(self,evaluate)=>orElse2(self,()=>failSync(evaluate))),orElseSucceed=dual(2,(self,evaluate)=>orElse2(self,()=>sync(evaluate))),parallelErrors=(self)=>matchCauseEffect(self,{onFailure:(cause2)=>{let errors=fromIterable(failures(cause2));return errors.length===0?failCause(cause2):fail2(errors)},onSuccess:succeed}),patchFiberRefs=(patch10)=>updateFiberRefs((fiberId2,fiberRefs3)=>pipe(patch10,patch9(fiberId2,fiberRefs3))),promise=(evaluate)=>evaluate.length>=1?async_((resolve,signal)=>{try{evaluate(signal).then((a)=>resolve(exitSucceed(a)),(e)=>resolve(exitDie(e)))}catch(e){resolve(exitDie(e))}}):async_((resolve)=>{try{evaluate().then((a)=>resolve(exitSucceed(a)),(e)=>resolve(exitDie(e)))}catch(e){resolve(exitDie(e))}}),provideService=dual(3,(self,tag,service)=>contextWithEffect((env)=>provideContext(self,add2(env,tag,service)))),provideServiceEffect=dual(3,(self,tag,effect)=>contextWithEffect((env)=>flatMap7(effect,(service)=>provideContext(self,pipe(env,add2(tag,service)))))),random2=randomWith(succeed),reduce10=dual(3,(elements,zero3,f)=>fromIterable(elements).reduce((acc,el,i)=>flatMap7(acc,(a)=>f(a,el,i)),succeed(zero3))),reduceRight2=dual(3,(elements,zero3,f)=>fromIterable(elements).reduceRight((acc,el,i)=>flatMap7(acc,(a)=>f(el,a,i)),succeed(zero3))),reduceWhile=dual(3,(elements,zero3,options)=>flatMap7(sync(()=>elements[Symbol.iterator]()),(iterator)=>reduceWhileLoop(iterator,0,zero3,options.while,options.body))),reduceWhileLoop=(iterator,index,state,predicate,f)=>{let next=iterator.next();if(!next.done&&predicate(state))return flatMap7(f(state,next.value,index),(nextState)=>reduceWhileLoop(iterator,index+1,nextState,predicate,f));return succeed(state)},repeatN=dual(2,(self,n)=>suspend(()=>repeatNLoop(self,n))),repeatNLoop=(self,n)=>flatMap7(self,(a)=>n<=0?succeed(a):zipRight(yieldNow(),repeatNLoop(self,n-1))),sandbox=(self)=>matchCauseEffect(self,{onFailure:fail2,onSuccess:succeed}),setFiberRefs=(fiberRefs3)=>suspend(()=>setAll2(fiberRefs3)),sleep3=sleep2,succeedNone=succeed(none2()),succeedSome=(value)=>succeed(some2(value)),summarized=dual(3,(self,summary,f)=>flatMap7(summary,(start)=>flatMap7(self,(value)=>map9(summary,(end)=>[f(start,end),value])))),tagMetrics=dual((args)=>isEffect(args[0]),function(){return labelMetrics(arguments[0],typeof arguments[1]==="string"?[make29(arguments[1],arguments[2])]:Object.entries(arguments[1]).map(([k,v])=>make29(k,v)))}),labelMetrics=dual(2,(self,labels)=>fiberRefLocallyWith(self,currentMetricLabels,(old)=>union(old,labels))),takeUntil=dual(2,(elements,predicate)=>suspend(()=>{let iterator=elements[Symbol.iterator](),builder=[],next,effect=succeed(!1),i=0;while((next=iterator.next())&&!next.done){let a=next.value,index=i++;effect=flatMap7(effect,(bool)=>{if(bool)return succeed(!0);return builder.push(a),predicate(a,index)})}return map9(effect,()=>builder)})),takeWhile=dual(2,(elements,predicate)=>suspend(()=>{let iterator=elements[Symbol.iterator](),builder=[],next,taking=succeed(!0),i=0;while((next=iterator.next())&&!next.done){let a=next.value,index=i++;taking=flatMap7(taking,(taking2)=>pipe(taking2?predicate(a,index):succeed(!1),map9((bool)=>{if(bool)builder.push(a);return bool})))}return map9(taking,()=>builder)})),tapBoth=dual(2,(self,{onFailure,onSuccess})=>matchCauseEffect(self,{onFailure:(cause2)=>{let either3=failureOrCause(cause2);switch(either3._tag){case"Left":return zipRight(onFailure(either3.left),failCause(cause2));case"Right":return failCause(cause2)}},onSuccess:(a)=>as(onSuccess(a),a)})),tapDefect=dual(2,(self,f)=>catchAllCause(self,(cause2)=>match2(keepDefects(cause2),{onNone:()=>failCause(cause2),onSome:(a)=>zipRight(f(a),failCause(cause2))}))),tapError=dual(2,(self,f)=>matchCauseEffect(self,{onFailure:(cause2)=>{let either3=failureOrCause(cause2);switch(either3._tag){case"Left":return zipRight(f(either3.left),failCause(cause2));case"Right":return failCause(cause2)}},onSuccess:succeed})),tapErrorTag=dual(3,(self,k,f)=>tapError(self,(e)=>{if(isTagged(e,k))return f(e);return void_})),tapErrorCause=dual(2,(self,f)=>matchCauseEffect(self,{onFailure:(cause2)=>zipRight(f(cause2),failCause(cause2)),onSuccess:succeed})),timed=(self)=>timedWith(self,currentTimeNanos2),timedWith=dual(2,(self,nanos2)=>summarized(self,nanos2,(start,end)=>nanos(end-start))),tracerWith3=tracerWith2,tracer=tracerWith3(succeed),tryPromise=(arg)=>{let evaluate,catcher=void 0;if(typeof arg==="function")evaluate=arg;else evaluate=arg.try,catcher=arg.catch;let fail4=(e)=>catcher?failSync(()=>catcher(e)):fail2(new UnknownException(e,"An unknown error occurred in Effect.tryPromise"));if(evaluate.length>=1)return async_((resolve,signal)=>{try{evaluate(signal).then((a)=>resolve(exitSucceed(a)),(e)=>resolve(fail4(e)))}catch(e){resolve(fail4(e))}});return async_((resolve)=>{try{evaluate().then((a)=>resolve(exitSucceed(a)),(e)=>resolve(fail4(e)))}catch(e){resolve(fail4(e))}})},tryMap=dual(2,(self,options)=>flatMap7(self,(a)=>try_({try:()=>options.try(a),catch:options.catch}))),tryMapPromise=dual(2,(self,options)=>flatMap7(self,(a)=>tryPromise({try:options.try.length>=1?(signal)=>options.try(a,signal):()=>options.try(a),catch:options.catch}))),unless=dual(2,(self,condition)=>suspend(()=>condition()?succeedNone:asSome(self))),unlessEffect=dual(2,(self,condition)=>flatMap7(condition,(b)=>b?succeedNone:asSome(self))),unsandbox=(self)=>mapErrorCause(self,flatten4),updateFiberRefs=(f)=>withFiberRuntime((state)=>{return state.setFiberRefs(f(state.id(),state.getFiberRefs())),void_}),updateService=dual(3,(self,tag,f)=>mapInputContext(self,(context2)=>add2(context2,tag,f(unsafeGet3(context2,tag))))),when=dual(2,(self,condition)=>suspend(()=>condition()?map9(self,some2):succeed(none2()))),whenFiberRef=dual(3,(self,fiberRef,predicate)=>flatMap7(fiberRefGet(fiberRef),(s)=>predicate(s)?map9(self,(a)=>[s,some2(a)]):succeed([s,none2()]))),whenRef=dual(3,(self,ref,predicate)=>flatMap7(get12(ref),(s)=>predicate(s)?map9(self,(a)=>[s,some2(a)]):succeed([s,none2()]))),withMetric=dual(2,(self,metric)=>metric(self)),serviceFunctionEffect=(getService,f)=>(...args)=>flatMap7(getService,(a)=>f(a)(...args)),serviceFunction=(getService,f)=>(...args)=>map9(getService,(a)=>f(a)(...args)),serviceFunctions=(getService)=>new Proxy({},{get(_target,prop,_receiver){return(...args)=>flatMap7(getService,(s)=>s[prop](...args))}}),serviceConstants=(getService)=>new Proxy({},{get(_target,prop,_receiver){return flatMap7(getService,(s)=>isEffect(s[prop])?s[prop]:succeed(s[prop]))}}),serviceMembers=(getService)=>({functions:serviceFunctions(getService),constants:serviceConstants(getService)}),serviceOption=(tag)=>map9(context(),getOption2(tag)),serviceOptional=(tag)=>flatMap7(context(),getOption2(tag)),annotateCurrentSpan=function(){let args=arguments;return ignore(flatMap7(currentSpan,(span2)=>sync(()=>{if(typeof args[0]==="string")span2.attribute(args[0],args[1]);else for(let key in args[0])span2.attribute(key,args[0][key])})))},linkSpanCurrent=function(){let args=arguments,links=Array.isArray(args[0])?args[0]:[{_tag:"SpanLink",span:args[0],attributes:args[1]??{}}];return ignore(flatMap7(currentSpan,(span2)=>sync(()=>span2.addLinks(links))))},annotateSpans=dual((args)=>isEffect(args[0]),function(){let args=arguments;return fiberRefLocallyWith(args[0],currentTracerSpanAnnotations,typeof args[1]==="string"?set3(args[1],args[2]):(annotations2)=>Object.entries(args[1]).reduce((acc,[key,value])=>set3(acc,key,value),annotations2))}),currentParentSpan=serviceOptional(spanTag),currentSpan=flatMap7(context(),(context2)=>{let span2=context2.unsafeMap.get(spanTag.key);return span2!==void 0&&span2._tag==="Span"?succeed(span2):fail2(new NoSuchElementException)}),linkSpans=dual((args)=>isEffect(args[0]),(self,span2,attributes)=>fiberRefLocallyWith(self,currentTracerSpanLinks,append2({_tag:"SpanLink",span:span2,attributes:attributes??{}}))),bigint03=BigInt(0),filterDisablePropagation=flatMap((span2)=>get3(span2.context,DisablePropagation)?span2._tag==="Span"?filterDisablePropagation(span2.parent):none2():some2(span2)),unsafeMakeSpan=(fiber,name,options)=>{let disablePropagation=!fiber.getFiberRef(currentTracerEnabled)||options.context&&get3(options.context,DisablePropagation),context2=fiber.getFiberRef(currentContext),parent=options.parent?some2(options.parent):options.root?none2():filterDisablePropagation(getOption2(context2,spanTag)),span2;if(disablePropagation)span2=noopSpan({name,parent,context:add2(options.context??empty4(),DisablePropagation,!0)});else{let services=fiber.getFiberRef(currentServices),tracer2=get3(services,tracerTag),clock2=get3(services,Clock),timingEnabled=fiber.getFiberRef(currentTracerTimingEnabled),fiberRefs3=fiber.getFiberRefs(),annotationsFromEnv=get10(fiberRefs3,currentTracerSpanAnnotations),linksFromEnv=get10(fiberRefs3,currentTracerSpanLinks),links=linksFromEnv._tag==="Some"?options.links!==void 0?[...toReadonlyArray(linksFromEnv.value),...options.links??[]]:toReadonlyArray(linksFromEnv.value):options.links??empty2();if(span2=tracer2.span(name,parent,options.context??empty4(),links,timingEnabled?clock2.unsafeCurrentTimeNanos():bigint03,options.kind??"internal"),annotationsFromEnv._tag==="Some")forEach4(annotationsFromEnv.value,(value,key)=>span2.attribute(key,value));if(options.attributes!==void 0)Object.entries(options.attributes).forEach(([k,v])=>span2.attribute(k,v))}if(typeof options.captureStackTrace==="function")spanToTrace.set(span2,options.captureStackTrace);return span2},makeSpan=(name,options)=>{return options=addSpanStackTrace(options),withFiberRuntime((fiber)=>succeed(unsafeMakeSpan(fiber,name,options)))},spanAnnotations=fiberRefGet(currentTracerSpanAnnotations),spanLinks=fiberRefGet(currentTracerSpanLinks),endSpan=(span2,exit2,clock2,timingEnabled)=>sync(()=>{if(span2.status._tag==="Ended")return;if(exitIsFailure(exit2)&&spanToTrace.has(span2))span2.attribute("code.stacktrace",spanToTrace.get(span2)());span2.end(timingEnabled?clock2.unsafeCurrentTimeNanos():bigint03,exit2)}),useSpan=(name,...args)=>{let options=addSpanStackTrace(args.length===1?void 0:args[0]),evaluate=args[args.length-1];return withFiberRuntime((fiber)=>{let span2=unsafeMakeSpan(fiber,name,options),timingEnabled=fiber.getFiberRef(currentTracerTimingEnabled),clock2=get3(fiber.getFiberRef(currentServices),clockTag);return onExit(evaluate(span2),(exit2)=>endSpan(span2,exit2,clock2,timingEnabled))})},withParentSpan=dual(2,(self,span2)=>provideService(self,spanTag,span2)),withSpan=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 useSpan(name,options,(span2)=>withParentSpan(self,span2))}return(self)=>useSpan(name,options,(span2)=>withParentSpan(self,span2))},functionWithSpan=(options)=>function(){let captureStackTrace=options.captureStackTrace??!1;if(options.captureStackTrace!==!1){let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let error=new Error;Error.stackTraceLimit=limit;let cache=!1;captureStackTrace=()=>{if(cache!==!1)return cache;if(error.stack)return cache=error.stack.trim().split(`
|
|
23
|
+
`);if(stack[3]!==void 0)return cache=stack[3].trim(),cache}}}},DisablePropagation=Reference2()("effect/Tracer/DisablePropagation",{defaultValue:constFalse});var liveServices=pipe(empty4(),add2(clockTag,make20()),add2(consoleTag,defaultConsole),add2(randomTag,make23(Math.random())),add2(configProviderTag,fromEnv()),add2(tracerTag,nativeTracer)),currentServices=globalValue(Symbol.for("effect/DefaultServices/currentServices"),()=>fiberRefUnsafeMakeContext(liveServices)),sleep=(duration)=>{let decodedDuration=decode(duration);return clockWith((clock)=>clock.sleep(decodedDuration))},defaultServicesWith=(f)=>withFiberRuntime((fiber)=>f(fiber.currentDefaultServices)),clockWith=(f)=>defaultServicesWith((services)=>f(services.unsafeMap.get(clockTag.key))),currentTimeMillis=clockWith((clock)=>clock.currentTimeMillis),currentTimeNanos=clockWith((clock)=>clock.currentTimeNanos),withClock=dual(2,(effect,c)=>fiberRefLocallyWith(currentServices,add2(clockTag,c))(effect)),withConfigProvider=dual(2,(self,provider)=>fiberRefLocallyWith(currentServices,add2(configProviderTag,provider))(self)),configProviderWith=(f)=>defaultServicesWith((services)=>f(services.unsafeMap.get(configProviderTag.key))),config=(config2)=>configProviderWith((_)=>_.load(config2));var randomWith=(f)=>defaultServicesWith((services)=>f(services.unsafeMap.get(randomTag.key))),withRandom=dual(2,(effect,value)=>fiberRefLocallyWith(currentServices,add2(randomTag,value))(effect));var tracerWith=(f)=>defaultServicesWith((services)=>f(services.unsafeMap.get(tracerTag.key))),withTracer=dual(2,(effect,value)=>fiberRefLocallyWith(currentServices,add2(tracerTag,value))(effect));var sleep2=sleep,currentTimeMillis2=currentTimeMillis,currentTimeNanos2=currentTimeNanos,clockWith2=clockWith,Clock=clockTag;function unsafeMake5(fiberRefLocals){return new FiberRefsImpl(fiberRefLocals)}function empty24(){return unsafeMake5(new Map)}var FiberRefsSym=Symbol.for("effect/FiberRefs");class FiberRefsImpl{locals;[FiberRefsSym]=FiberRefsSym;constructor(locals){this.locals=locals}pipe(){return pipeArguments(this,arguments)}}var findAncestor=(_ref,_parentStack,_childStack,_childModified=!1)=>{let ref=_ref,parentStack=_parentStack,childStack=_childStack,childModified=_childModified,ret=void 0;while(ret===void 0)if(isNonEmptyReadonlyArray(parentStack)&&isNonEmptyReadonlyArray(childStack)){let parentFiberId=headNonEmpty(parentStack)[0],parentAncestors=tailNonEmpty(parentStack),childFiberId=headNonEmpty(childStack)[0],childRefValue=headNonEmpty(childStack)[1],childAncestors=tailNonEmpty(childStack);if(parentFiberId.startTimeMillis<childFiberId.startTimeMillis)childStack=childAncestors,childModified=!0;else if(parentFiberId.startTimeMillis>childFiberId.startTimeMillis)parentStack=parentAncestors;else if(parentFiberId.id<childFiberId.id)childStack=childAncestors,childModified=!0;else if(parentFiberId.id>childFiberId.id)parentStack=parentAncestors;else ret=[childRefValue,childModified]}else ret=[ref.initial,!0];return ret},joinAs=dual(3,(self,fiberId2,that)=>{let parentFiberRefs=new Map(self.locals);return that.locals.forEach((childStack,fiberRef)=>{let childValue=childStack[0][1];if(!childStack[0][0][symbol2](fiberId2)){if(!parentFiberRefs.has(fiberRef)){if(equals(childValue,fiberRef.initial))return;parentFiberRefs.set(fiberRef,[[fiberId2,fiberRef.join(fiberRef.initial,childValue)]]);return}let parentStack=parentFiberRefs.get(fiberRef),[ancestor,wasModified]=findAncestor(fiberRef,parentStack,childStack);if(wasModified){let patch9=fiberRef.diff(ancestor,childValue),oldValue=parentStack[0][1],newValue=fiberRef.join(oldValue,fiberRef.patch(patch9)(oldValue));if(!equals(oldValue,newValue)){let newStack,parentFiberId=parentStack[0][0];if(parentFiberId[symbol2](fiberId2))newStack=[[parentFiberId,newValue],...parentStack.slice(1)];else newStack=[[fiberId2,newValue],...parentStack];parentFiberRefs.set(fiberRef,newStack)}}}}),new FiberRefsImpl(parentFiberRefs)}),forkAs=dual(2,(self,childId)=>{let map10=new Map;return unsafeForkAs(self,map10,childId),new FiberRefsImpl(map10)}),unsafeForkAs=(self,map10,fiberId2)=>{self.locals.forEach((stack,fiberRef)=>{let oldValue=stack[0][1],newValue=fiberRef.patch(fiberRef.fork)(oldValue);if(equals(oldValue,newValue))map10.set(fiberRef,stack);else map10.set(fiberRef,[[fiberId2,newValue],...stack])})},fiberRefs=(self)=>fromIterable5(self.locals.keys()),setAll=(self)=>forEachSequentialDiscard(fiberRefs(self),(fiberRef)=>fiberRefSet(fiberRef,getOrDefault(self,fiberRef))),delete_=dual(2,(self,fiberRef)=>{let locals=new Map(self.locals);return locals.delete(fiberRef),new FiberRefsImpl(locals)}),get9=dual(2,(self,fiberRef)=>{if(!self.locals.has(fiberRef))return none2();return some2(headNonEmpty(self.locals.get(fiberRef))[1])}),getOrDefault=dual(2,(self,fiberRef)=>pipe(get9(self,fiberRef),getOrElse(()=>fiberRef.initial))),updateAs=dual(2,(self,{fiberId:fiberId2,fiberRef,value})=>{if(self.locals.size===0)return new FiberRefsImpl(new Map([[fiberRef,[[fiberId2,value]]]]));let locals=new Map(self.locals);return unsafeUpdateAs(locals,fiberId2,fiberRef,value),new FiberRefsImpl(locals)}),unsafeUpdateAs=(locals,fiberId2,fiberRef,value)=>{let oldStack=locals.get(fiberRef)??[],newStack;if(isNonEmptyReadonlyArray(oldStack)){let[currentId,currentValue]=headNonEmpty(oldStack);if(currentId[symbol2](fiberId2))if(equals(currentValue,value))return;else newStack=[[fiberId2,value],...oldStack.slice(1)];else newStack=[[fiberId2,value],...oldStack]}else newStack=[[fiberId2,value]];locals.set(fiberRef,newStack)},updateManyAs=dual(2,(self,{entries:entries2,forkAs:forkAs2})=>{if(self.locals.size===0)return new FiberRefsImpl(new Map(entries2));let locals=new Map(self.locals);if(forkAs2!==void 0)unsafeForkAs(self,locals,forkAs2);return entries2.forEach(([fiberRef,values3])=>{if(values3.length===1)unsafeUpdateAs(locals,values3[0][0],fiberRef,values3[0][1]);else values3.forEach(([fiberId2,value])=>{unsafeUpdateAs(locals,fiberId2,fiberRef,value)})}),new FiberRefsImpl(locals)});var get10=get9,getOrDefault2=getOrDefault,joinAs2=joinAs,setAll2=setAll;var updateManyAs2=updateManyAs;var empty25=empty24;var All=logLevelAll,Fatal=logLevelFatal,Error2=logLevelError,Warning=logLevelWarning,Info=logLevelInfo,Debug=logLevelDebug,Trace=logLevelTrace,None3=logLevelNone;var Order2=pipe(Order,mapInput2((level)=>level.ordinal));var greaterThan2=greaterThan(Order2);var fromLiteral=(literal)=>{switch(literal){case"All":return All;case"Debug":return Debug;case"Error":return Error2;case"Fatal":return Fatal;case"Info":return Info;case"Trace":return Trace;case"None":return None3;case"Warning":return Warning}};var make25=(label,startTime)=>({label,startTime}),formatLabel=(key)=>key.replace(/[\s="]/g,"_"),render=(now)=>(self)=>{return`${formatLabel(self.label)}=${now-self.startTime}ms`};var make26=make25;var EffectPrototype2=EffectPrototype,CommitPrototype2=CommitPrototype;var Base2=Base;class Class extends Base2{}var TypeId13=Symbol.for("effect/Readable");var Proto={[TypeId13]:TypeId13,pipe(){return pipeArguments(this,arguments)}};var RefTypeId=Symbol.for("effect/Ref"),refVariance={_A:(_)=>_};class RefImpl extends Class{ref;commit(){return this.get}[RefTypeId]=refVariance;[TypeId13]=TypeId13;constructor(ref){super();this.ref=ref,this.get=sync(()=>get6(this.ref))}get;modify(f){return sync(()=>{let current=get6(this.ref),[b,a]=f(current);if(current!==a)set2(a)(this.ref);return b})}}var unsafeMake6=(value)=>new RefImpl(make12(value)),make27=(value)=>sync(()=>unsafeMake6(value)),get11=(self)=>self.get,set5=dual(2,(self,value)=>self.modify(()=>[void 0,value])),getAndSet=dual(2,(self,value)=>self.modify((a)=>[a,value]));var modify3=dual(2,(self,f)=>self.modify(f));var update2=dual(2,(self,f)=>self.modify((a)=>[void 0,f(a)]));var make28=make27,get12=get11,getAndSet2=getAndSet;var modify4=modify3;var update3=update2;var tracerWith2=tracerWith;var OP_EMPTY2="Empty",OP_ADD="Add",OP_REMOVE="Remove",OP_UPDATE="Update",OP_AND_THEN="AndThen",empty26={_tag:OP_EMPTY2},diff8=(oldValue,newValue)=>{let missingLocals=new Map(oldValue.locals),patch9=empty26;for(let[fiberRef,pairs]of newValue.locals.entries()){let newValue2=headNonEmpty(pairs)[1],old=missingLocals.get(fiberRef);if(old!==void 0){let oldValue2=headNonEmpty(old)[1];if(!equals(oldValue2,newValue2))patch9=combine10({_tag:OP_UPDATE,fiberRef,patch:fiberRef.diff(oldValue2,newValue2)})(patch9)}else patch9=combine10({_tag:OP_ADD,fiberRef,value:newValue2})(patch9);missingLocals.delete(fiberRef)}for(let[fiberRef]of missingLocals.entries())patch9=combine10({_tag:OP_REMOVE,fiberRef})(patch9);return patch9},combine10=dual(2,(self,that)=>({_tag:OP_AND_THEN,first:self,second:that})),patch9=dual(3,(self,fiberId2,oldValue)=>{let fiberRefs2=oldValue,patches=of(self);while(isNonEmptyReadonlyArray(patches)){let head3=headNonEmpty(patches),tail=tailNonEmpty(patches);switch(head3._tag){case OP_EMPTY2:{patches=tail;break}case OP_ADD:{fiberRefs2=updateAs(fiberRefs2,{fiberId:fiberId2,fiberRef:head3.fiberRef,value:head3.value}),patches=tail;break}case OP_REMOVE:{fiberRefs2=delete_(fiberRefs2,head3.fiberRef),patches=tail;break}case OP_UPDATE:{let value=getOrDefault(fiberRefs2,head3.fiberRef);fiberRefs2=updateAs(fiberRefs2,{fiberId:fiberId2,fiberRef:head3.fiberRef,value:head3.fiberRef.patch(head3.patch)(value)}),patches=tail;break}case OP_AND_THEN:{patches=prepend(head3.first)(prepend(head3.second)(tail));break}}}return fiberRefs2});var MetricLabelSymbolKey="effect/MetricLabel",MetricLabelTypeId=Symbol.for(MetricLabelSymbolKey);class MetricLabelImpl{key;value;[MetricLabelTypeId]=MetricLabelTypeId;_hash;constructor(key,value){this.key=key,this.value=value,this._hash=string(MetricLabelSymbolKey+this.key+this.value)}[symbol](){return this._hash}[symbol2](that){return isMetricLabel(that)&&this.key===that.key&&this.value===that.value}pipe(){return pipeArguments(this,arguments)}}var make29=(key,value)=>{return new MetricLabelImpl(key,value)},isMetricLabel=(u)=>hasProperty(u,MetricLabelTypeId);var annotateLogs=dual((args)=>isEffect(args[0]),function(){let args=arguments;return fiberRefLocallyWith(args[0],currentLogAnnotations,typeof args[1]==="string"?set3(args[1],args[2]):(annotations2)=>Object.entries(args[1]).reduce((acc,[key,value])=>set3(acc,key,value),annotations2))}),asSome=(self)=>map9(self,some2),asSomeError=(self)=>mapError(self,some2),try_=(arg)=>{let evaluate,onFailure=void 0;if(typeof arg==="function")evaluate=arg;else evaluate=arg.try,onFailure=arg.catch;return suspend(()=>{try{return succeed(internalCall(evaluate))}catch(error){return fail2(onFailure?internalCall(()=>onFailure(error)):new UnknownException(error,"An unknown error occurred in Effect.try"))}})},_catch=dual(3,(self,tag,options)=>catchAll(self,(e)=>{if(hasProperty(e,tag)&&e[tag]===options.failure)return options.onFailure(e);return fail2(e)})),catchAllDefect=dual(2,(self,f)=>catchAllCause(self,(cause)=>{let option=find(cause,(_)=>isDieType(_)?some2(_):none2());switch(option._tag){case"None":return failCause(cause);case"Some":return f(option.value.defect)}})),catchSomeCause=dual(2,(self,f)=>matchCauseEffect(self,{onFailure:(cause)=>{let option=f(cause);switch(option._tag){case"None":return failCause(cause);case"Some":return option.value}},onSuccess:succeed})),catchSomeDefect=dual(2,(self,pf)=>catchAllCause(self,(cause)=>{let option=find(cause,(_)=>isDieType(_)?some2(_):none2());switch(option._tag){case"None":return failCause(cause);case"Some":{let optionEffect=pf(option.value.defect);return optionEffect._tag==="Some"?optionEffect.value:failCause(cause)}}})),catchTag=dual((args)=>isEffect(args[0]),(self,...args)=>{let f=args[args.length-1],predicate;if(args.length===2)predicate=isTagged(args[0]);else predicate=(e)=>{let tag=hasProperty(e,"_tag")?e._tag:void 0;if(!tag)return!1;for(let i=0;i<args.length-1;i++)if(args[i]===tag)return!0;return!1};return catchIf(self,predicate,f)}),catchTags=dual(2,(self,cases)=>{let keys3;return catchIf(self,(e)=>{return keys3??=Object.keys(cases),hasProperty(e,"_tag")&&isString(e._tag)&&keys3.includes(e._tag)},(e)=>cases[e._tag](e))}),cause=(self)=>matchCause(self,{onFailure:identity,onSuccess:()=>empty20}),clockWith3=clockWith2,clock=clockWith3(succeed),delay=dual(2,(self,duration)=>zipRight(sleep2(duration),self)),descriptorWith=(f)=>withFiberRuntime((state,status)=>f({id:state.id(),status,interruptors:interruptors(state.getFiberRef(currentInterruptedCause))})),allowInterrupt=descriptorWith((descriptor)=>size3(descriptor.interruptors)>0?interrupt2:void_),descriptor=descriptorWith(succeed),diffFiberRefs=(self)=>summarized(self,fiberRefs2,diff8),diffFiberRefsAndRuntimeFlags=(self)=>summarized(self,zip2(fiberRefs2,runtimeFlags),([refs,flags],[refsNew,flagsNew])=>[diff8(refs,refsNew),diff7(flags,flagsNew)]),Do=succeed({}),bind2=bind(map9,flatMap7),bindTo2=bindTo(map9),let_2=let_(map9),dropUntil=dual(2,(elements,predicate)=>suspend(()=>{let iterator=elements[Symbol.iterator](),builder=[],next,dropping=succeed(!1),i=0;while((next=iterator.next())&&!next.done){let a=next.value,index=i++;dropping=flatMap7(dropping,(bool)=>{if(bool)return builder.push(a),succeed(!0);return predicate(a,index)})}return map9(dropping,()=>builder)})),dropWhile=dual(2,(elements,predicate)=>suspend(()=>{let iterator=elements[Symbol.iterator](),builder=[],next,dropping=succeed(!0),i=0;while((next=iterator.next())&&!next.done){let a=next.value,index=i++;dropping=flatMap7(dropping,(d)=>map9(d?predicate(a,index):succeed(!1),(b)=>{if(!b)builder.push(a);return b}))}return map9(dropping,()=>builder)})),contextWith=(f)=>map9(context(),f),eventually=(self)=>orElse2(self,()=>flatMap7(yieldNow(),()=>eventually(self))),filterMap3=dual(2,(elements,pf)=>map9(forEachSequential(elements,identity),filterMap(pf))),filterOrDie=dual(3,(self,predicate,orDieWith2)=>filterOrElse(self,predicate,(a)=>dieSync(()=>orDieWith2(a)))),filterOrDieMessage=dual(3,(self,predicate,message)=>filterOrElse(self,predicate,()=>dieMessage(message))),filterOrElse=dual(3,(self,predicate,orElse3)=>flatMap7(self,(a)=>predicate(a)?succeed(a):orElse3(a))),liftPredicate=dual(3,(self,predicate,orFailWith)=>suspend(()=>predicate(self)?succeed(self):fail2(orFailWith(self)))),filterOrFail=dual((args)=>isEffect(args[0]),(self,predicate,orFailWith)=>filterOrElse(self,predicate,(a)=>orFailWith===void 0?fail2(new NoSuchElementException):failSync(()=>orFailWith(a)))),findFirst4=dual(2,(elements,predicate)=>suspend(()=>{let iterator=elements[Symbol.iterator](),next=iterator.next();if(!next.done)return findLoop(iterator,0,predicate,next.value);return succeed(none2())})),findLoop=(iterator,index,f,value)=>flatMap7(f(value,index),(result)=>{if(result)return succeed(some2(value));let next=iterator.next();if(!next.done)return findLoop(iterator,index+1,f,next.value);return succeed(none2())}),firstSuccessOf=(effects)=>suspend(()=>{let list=fromIterable2(effects);if(!isNonEmpty2(list))return dieSync(()=>new IllegalArgumentException("Received an empty collection of effects"));return pipe(tailNonEmpty2(list),reduce(headNonEmpty2(list),(left3,right3)=>orElse2(left3,()=>right3)))}),flipWith=dual(2,(self,f)=>flip(f(flip(self)))),match6=dual(2,(self,options)=>matchEffect(self,{onFailure:(e)=>succeed(options.onFailure(e)),onSuccess:(a)=>succeed(options.onSuccess(a))})),every5=dual(2,(elements,predicate)=>suspend(()=>forAllLoop(elements[Symbol.iterator](),0,predicate))),forAllLoop=(iterator,index,f)=>{let next=iterator.next();return next.done?succeed(!0):flatMap7(f(next.value,index),(b)=>b?forAllLoop(iterator,index+1,f):succeed(b))},forever=(self)=>{let loop=flatMap7(flatMap7(self,()=>yieldNow()),()=>loop);return loop},fiberRefs2=withFiberRuntime((state)=>succeed(state.getFiberRefs())),head3=(self)=>flatMap7(self,(as2)=>{let next=as2[Symbol.iterator]().next();if(next.done)return fail2(new NoSuchElementException);return succeed(next.value)}),ignore=(self)=>match6(self,{onFailure:constVoid,onSuccess:constVoid}),ignoreLogged=(self)=>matchCauseEffect(self,{onFailure:(cause2)=>logDebug(cause2,"An error was silently ignored because it is not anticipated to be useful"),onSuccess:()=>void_}),inheritFiberRefs=(childFiberRefs)=>updateFiberRefs((parentFiberId,parentFiberRefs)=>joinAs2(parentFiberRefs,parentFiberId,childFiberRefs)),isFailure=(self)=>match6(self,{onFailure:constTrue,onSuccess:constFalse}),isSuccess2=(self)=>match6(self,{onFailure:constFalse,onSuccess:constTrue}),iterate=(initial,options)=>suspend(()=>{if(options.while(initial))return flatMap7(options.body(initial),(z2)=>iterate(z2,options));return succeed(initial)}),logWithLevel=(level)=>(...message)=>{let levelOption=fromNullable(level),cause2=void 0;for(let i=0,len=message.length;i<len;i++){let msg=message[i];if(isCause(msg)){if(cause2!==void 0)cause2=sequential(cause2,msg);else cause2=msg;message=[...message.slice(0,i),...message.slice(i+1)],i--}}if(cause2===void 0)cause2=empty20;return withFiberRuntime((fiberState)=>{return fiberState.log(message,cause2,levelOption),void_})},log=logWithLevel(),logTrace=logWithLevel(Trace),logDebug=logWithLevel(Debug),logInfo=logWithLevel(Info),logWarning=logWithLevel(Warning),logError=logWithLevel(Error2),logFatal=logWithLevel(Fatal),withLogSpan=dual(2,(effect,label)=>flatMap7(currentTimeMillis2,(now)=>fiberRefLocallyWith(effect,currentLogSpan,prepend3(make26(label,now))))),logAnnotations=fiberRefGet(currentLogAnnotations),loop=(initial,options)=>options.discard?loopDiscard(initial,options.while,options.step,options.body):map9(loopInternal(initial,options.while,options.step,options.body),fromIterable),loopInternal=(initial,cont,inc,body)=>suspend(()=>cont(initial)?flatMap7(body(initial),(a)=>map9(loopInternal(inc(initial),cont,inc,body),prepend3(a))):sync(()=>empty10())),loopDiscard=(initial,cont,inc,body)=>suspend(()=>cont(initial)?flatMap7(body(initial),()=>loopDiscard(inc(initial),cont,inc,body)):void_),mapAccum2=dual(3,(elements,initial,f)=>suspend(()=>{let iterator=elements[Symbol.iterator](),builder=[],result=succeed(initial),next,i=0;while(!(next=iterator.next()).done){let index=i++,value=next.value;result=flatMap7(result,(state)=>map9(f(state,value,index),([z,b])=>{return builder.push(b),z}))}return map9(result,(z)=>[z,builder])})),mapErrorCause=dual(2,(self,f)=>matchCauseEffect(self,{onFailure:(c)=>failCauseSync(()=>f(c)),onSuccess:succeed})),memoize=(self)=>pipe(deferredMake(),flatMap7((deferred)=>pipe(diffFiberRefsAndRuntimeFlags(self),intoDeferred(deferred),once,map9((complete)=>zipRight(complete,pipe(deferredAwait(deferred),flatMap7(([patch10,a])=>as(zip2(patchFiberRefs(patch10[0]),updateRuntimeFlags(patch10[1])),a)))))))),merge5=(self)=>matchEffect(self,{onFailure:(e)=>succeed(e),onSuccess:succeed}),negate=(self)=>map9(self,(b)=>!b),none6=(self)=>flatMap7(self,(option)=>{switch(option._tag){case"None":return void_;case"Some":return fail2(new NoSuchElementException)}}),once=(self)=>map9(make28(!0),(ref)=>asVoid(whenEffect(self,getAndSet2(ref,!1)))),option=(self)=>matchEffect(self,{onFailure:()=>succeed(none2()),onSuccess:(a)=>succeed(some2(a))}),orElseFail=dual(2,(self,evaluate)=>orElse2(self,()=>failSync(evaluate))),orElseSucceed=dual(2,(self,evaluate)=>orElse2(self,()=>sync(evaluate))),parallelErrors=(self)=>matchCauseEffect(self,{onFailure:(cause2)=>{let errors=fromIterable(failures(cause2));return errors.length===0?failCause(cause2):fail2(errors)},onSuccess:succeed}),patchFiberRefs=(patch10)=>updateFiberRefs((fiberId2,fiberRefs3)=>pipe(patch10,patch9(fiberId2,fiberRefs3))),promise=(evaluate)=>evaluate.length>=1?async_((resolve,signal)=>{try{evaluate(signal).then((a)=>resolve(exitSucceed(a)),(e)=>resolve(exitDie(e)))}catch(e){resolve(exitDie(e))}}):async_((resolve)=>{try{evaluate().then((a)=>resolve(exitSucceed(a)),(e)=>resolve(exitDie(e)))}catch(e){resolve(exitDie(e))}}),provideService=dual(3,(self,tag,service)=>contextWithEffect((env)=>provideContext(self,add2(env,tag,service)))),provideServiceEffect=dual(3,(self,tag,effect)=>contextWithEffect((env)=>flatMap7(effect,(service)=>provideContext(self,pipe(env,add2(tag,service)))))),random2=randomWith(succeed),reduce10=dual(3,(elements,zero3,f)=>fromIterable(elements).reduce((acc,el,i)=>flatMap7(acc,(a)=>f(a,el,i)),succeed(zero3))),reduceRight2=dual(3,(elements,zero3,f)=>fromIterable(elements).reduceRight((acc,el,i)=>flatMap7(acc,(a)=>f(el,a,i)),succeed(zero3))),reduceWhile=dual(3,(elements,zero3,options)=>flatMap7(sync(()=>elements[Symbol.iterator]()),(iterator)=>reduceWhileLoop(iterator,0,zero3,options.while,options.body))),reduceWhileLoop=(iterator,index,state,predicate,f)=>{let next=iterator.next();if(!next.done&&predicate(state))return flatMap7(f(state,next.value,index),(nextState)=>reduceWhileLoop(iterator,index+1,nextState,predicate,f));return succeed(state)},repeatN=dual(2,(self,n)=>suspend(()=>repeatNLoop(self,n))),repeatNLoop=(self,n)=>flatMap7(self,(a)=>n<=0?succeed(a):zipRight(yieldNow(),repeatNLoop(self,n-1))),sandbox=(self)=>matchCauseEffect(self,{onFailure:fail2,onSuccess:succeed}),setFiberRefs=(fiberRefs3)=>suspend(()=>setAll2(fiberRefs3)),sleep3=sleep2,succeedNone=succeed(none2()),succeedSome=(value)=>succeed(some2(value)),summarized=dual(3,(self,summary,f)=>flatMap7(summary,(start)=>flatMap7(self,(value)=>map9(summary,(end)=>[f(start,end),value])))),tagMetrics=dual((args)=>isEffect(args[0]),function(){return labelMetrics(arguments[0],typeof arguments[1]==="string"?[make29(arguments[1],arguments[2])]:Object.entries(arguments[1]).map(([k,v])=>make29(k,v)))}),labelMetrics=dual(2,(self,labels)=>fiberRefLocallyWith(self,currentMetricLabels,(old)=>union(old,labels))),takeUntil=dual(2,(elements,predicate)=>suspend(()=>{let iterator=elements[Symbol.iterator](),builder=[],next,effect=succeed(!1),i=0;while((next=iterator.next())&&!next.done){let a=next.value,index=i++;effect=flatMap7(effect,(bool)=>{if(bool)return succeed(!0);return builder.push(a),predicate(a,index)})}return map9(effect,()=>builder)})),takeWhile=dual(2,(elements,predicate)=>suspend(()=>{let iterator=elements[Symbol.iterator](),builder=[],next,taking=succeed(!0),i=0;while((next=iterator.next())&&!next.done){let a=next.value,index=i++;taking=flatMap7(taking,(taking2)=>pipe(taking2?predicate(a,index):succeed(!1),map9((bool)=>{if(bool)builder.push(a);return bool})))}return map9(taking,()=>builder)})),tapBoth=dual(2,(self,{onFailure,onSuccess})=>matchCauseEffect(self,{onFailure:(cause2)=>{let either3=failureOrCause(cause2);switch(either3._tag){case"Left":return zipRight(onFailure(either3.left),failCause(cause2));case"Right":return failCause(cause2)}},onSuccess:(a)=>as(onSuccess(a),a)})),tapDefect=dual(2,(self,f)=>catchAllCause(self,(cause2)=>match2(keepDefects(cause2),{onNone:()=>failCause(cause2),onSome:(a)=>zipRight(f(a),failCause(cause2))}))),tapError=dual(2,(self,f)=>matchCauseEffect(self,{onFailure:(cause2)=>{let either3=failureOrCause(cause2);switch(either3._tag){case"Left":return zipRight(f(either3.left),failCause(cause2));case"Right":return failCause(cause2)}},onSuccess:succeed})),tapErrorTag=dual(3,(self,k,f)=>tapError(self,(e)=>{if(isTagged(e,k))return f(e);return void_})),tapErrorCause=dual(2,(self,f)=>matchCauseEffect(self,{onFailure:(cause2)=>zipRight(f(cause2),failCause(cause2)),onSuccess:succeed})),timed=(self)=>timedWith(self,currentTimeNanos2),timedWith=dual(2,(self,nanos2)=>summarized(self,nanos2,(start,end)=>nanos(end-start))),tracerWith3=tracerWith2,tracer=tracerWith3(succeed),tryPromise=(arg)=>{let evaluate,catcher=void 0;if(typeof arg==="function")evaluate=arg;else evaluate=arg.try,catcher=arg.catch;let fail4=(e)=>catcher?failSync(()=>catcher(e)):fail2(new UnknownException(e,"An unknown error occurred in Effect.tryPromise"));if(evaluate.length>=1)return async_((resolve,signal)=>{try{evaluate(signal).then((a)=>resolve(exitSucceed(a)),(e)=>resolve(fail4(e)))}catch(e){resolve(fail4(e))}});return async_((resolve)=>{try{evaluate().then((a)=>resolve(exitSucceed(a)),(e)=>resolve(fail4(e)))}catch(e){resolve(fail4(e))}})},tryMap=dual(2,(self,options)=>flatMap7(self,(a)=>try_({try:()=>options.try(a),catch:options.catch}))),tryMapPromise=dual(2,(self,options)=>flatMap7(self,(a)=>tryPromise({try:options.try.length>=1?(signal)=>options.try(a,signal):()=>options.try(a),catch:options.catch}))),unless=dual(2,(self,condition)=>suspend(()=>condition()?succeedNone:asSome(self))),unlessEffect=dual(2,(self,condition)=>flatMap7(condition,(b)=>b?succeedNone:asSome(self))),unsandbox=(self)=>mapErrorCause(self,flatten4),updateFiberRefs=(f)=>withFiberRuntime((state)=>{return state.setFiberRefs(f(state.id(),state.getFiberRefs())),void_}),updateService=dual(3,(self,tag,f)=>mapInputContext(self,(context2)=>add2(context2,tag,f(unsafeGet3(context2,tag))))),when=dual(2,(self,condition)=>suspend(()=>condition()?map9(self,some2):succeed(none2()))),whenFiberRef=dual(3,(self,fiberRef,predicate)=>flatMap7(fiberRefGet(fiberRef),(s)=>predicate(s)?map9(self,(a)=>[s,some2(a)]):succeed([s,none2()]))),whenRef=dual(3,(self,ref,predicate)=>flatMap7(get12(ref),(s)=>predicate(s)?map9(self,(a)=>[s,some2(a)]):succeed([s,none2()]))),withMetric=dual(2,(self,metric)=>metric(self)),serviceFunctionEffect=(getService,f)=>(...args)=>flatMap7(getService,(a)=>f(a)(...args)),serviceFunction=(getService,f)=>(...args)=>map9(getService,(a)=>f(a)(...args)),serviceFunctions=(getService)=>new Proxy({},{get(_target,prop,_receiver){return(...args)=>flatMap7(getService,(s)=>s[prop](...args))}}),serviceConstants=(getService)=>new Proxy({},{get(_target,prop,_receiver){return flatMap7(getService,(s)=>isEffect(s[prop])?s[prop]:succeed(s[prop]))}}),serviceMembers=(getService)=>({functions:serviceFunctions(getService),constants:serviceConstants(getService)}),serviceOption=(tag)=>map9(context(),getOption2(tag)),serviceOptional=(tag)=>flatMap7(context(),getOption2(tag)),annotateCurrentSpan=function(){let args=arguments;return ignore(flatMap7(currentSpan,(span2)=>sync(()=>{if(typeof args[0]==="string")span2.attribute(args[0],args[1]);else for(let key in args[0])span2.attribute(key,args[0][key])})))},linkSpanCurrent=function(){let args=arguments,links=Array.isArray(args[0])?args[0]:[{_tag:"SpanLink",span:args[0],attributes:args[1]??{}}];return ignore(flatMap7(currentSpan,(span2)=>sync(()=>span2.addLinks(links))))},annotateSpans=dual((args)=>isEffect(args[0]),function(){let args=arguments;return fiberRefLocallyWith(args[0],currentTracerSpanAnnotations,typeof args[1]==="string"?set3(args[1],args[2]):(annotations2)=>Object.entries(args[1]).reduce((acc,[key,value])=>set3(acc,key,value),annotations2))}),currentParentSpan=serviceOptional(spanTag),currentSpan=flatMap7(context(),(context2)=>{let span2=context2.unsafeMap.get(spanTag.key);return span2!==void 0&&span2._tag==="Span"?succeed(span2):fail2(new NoSuchElementException)}),linkSpans=dual((args)=>isEffect(args[0]),(self,span2,attributes)=>fiberRefLocallyWith(self,currentTracerSpanLinks,append2({_tag:"SpanLink",span:span2,attributes:attributes??{}}))),bigint03=BigInt(0),filterDisablePropagation=flatMap((span2)=>get3(span2.context,DisablePropagation)?span2._tag==="Span"?filterDisablePropagation(span2.parent):none2():some2(span2)),unsafeMakeSpan=(fiber,name,options)=>{let disablePropagation=!fiber.getFiberRef(currentTracerEnabled)||options.context&&get3(options.context,DisablePropagation),context2=fiber.getFiberRef(currentContext),parent=options.parent?some2(options.parent):options.root?none2():filterDisablePropagation(getOption2(context2,spanTag)),span2;if(disablePropagation)span2=noopSpan({name,parent,context:add2(options.context??empty4(),DisablePropagation,!0)});else{let services=fiber.getFiberRef(currentServices),tracer2=get3(services,tracerTag),clock2=get3(services,Clock),timingEnabled=fiber.getFiberRef(currentTracerTimingEnabled),fiberRefs3=fiber.getFiberRefs(),annotationsFromEnv=get10(fiberRefs3,currentTracerSpanAnnotations),linksFromEnv=get10(fiberRefs3,currentTracerSpanLinks),links=linksFromEnv._tag==="Some"?options.links!==void 0?[...toReadonlyArray(linksFromEnv.value),...options.links??[]]:toReadonlyArray(linksFromEnv.value):options.links??empty2();if(span2=tracer2.span(name,parent,options.context??empty4(),links,timingEnabled?clock2.unsafeCurrentTimeNanos():bigint03,options.kind??"internal"),annotationsFromEnv._tag==="Some")forEach4(annotationsFromEnv.value,(value,key)=>span2.attribute(key,value));if(options.attributes!==void 0)Object.entries(options.attributes).forEach(([k,v])=>span2.attribute(k,v))}if(typeof options.captureStackTrace==="function")spanToTrace.set(span2,options.captureStackTrace);return span2},makeSpan=(name,options)=>{return options=addSpanStackTrace(options),withFiberRuntime((fiber)=>succeed(unsafeMakeSpan(fiber,name,options)))},spanAnnotations=fiberRefGet(currentTracerSpanAnnotations),spanLinks=fiberRefGet(currentTracerSpanLinks),endSpan=(span2,exit2,clock2,timingEnabled)=>sync(()=>{if(span2.status._tag==="Ended")return;if(exitIsFailure(exit2)&&spanToTrace.has(span2))span2.attribute("code.stacktrace",spanToTrace.get(span2)());span2.end(timingEnabled?clock2.unsafeCurrentTimeNanos():bigint03,exit2)}),useSpan=(name,...args)=>{let options=addSpanStackTrace(args.length===1?void 0:args[0]),evaluate=args[args.length-1];return withFiberRuntime((fiber)=>{let span2=unsafeMakeSpan(fiber,name,options),timingEnabled=fiber.getFiberRef(currentTracerTimingEnabled),clock2=get3(fiber.getFiberRef(currentServices),clockTag);return onExit(evaluate(span2),(exit2)=>endSpan(span2,exit2,clock2,timingEnabled))})},withParentSpan=dual(2,(self,span2)=>provideService(self,spanTag,span2)),withSpan=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 useSpan(name,options,(span2)=>withParentSpan(self,span2))}return(self)=>useSpan(name,options,(span2)=>withParentSpan(self,span2))},functionWithSpan=(options)=>function(){let captureStackTrace=options.captureStackTrace??!1;if(options.captureStackTrace!==!1){let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let error=new Error;Error.stackTraceLimit=limit;let cache=!1;captureStackTrace=()=>{if(cache!==!1)return cache;if(error.stack)return cache=error.stack.trim().split(`
|
|
24
24
|
`).slice(2).join(`
|
|
25
25
|
`).trim(),cache}}return suspend(()=>{let opts=typeof options.options==="function"?options.options.apply(null,arguments):options.options;return withSpan(suspend(()=>internalCall(()=>options.body.apply(this,arguments))),opts.name,{...opts,captureStackTrace})})},fromNullable2=(value)=>value==null?fail2(new NoSuchElementException):succeed(value),optionFromOptional=(self)=>catchAll(map9(self,some2),(error)=>isNoSuchElementException(error)?succeedNone:fail2(error));var OP_SEQUENTIAL2="Sequential",OP_PARALLEL2="Parallel",OP_PARALLEL_N="ParallelN",sequential2={_tag:OP_SEQUENTIAL2},parallel2={_tag:OP_PARALLEL2},parallelN=(parallelism)=>({_tag:OP_PARALLEL_N,parallelism}),isSequential=(self)=>self._tag===OP_SEQUENTIAL2,isParallel=(self)=>self._tag===OP_PARALLEL2;var sequential3=sequential2,parallel3=parallel2,parallelN2=parallelN;var diff9=diff8;var patch10=patch9;var FiberStatusSymbolKey="effect/FiberStatus",FiberStatusTypeId=Symbol.for(FiberStatusSymbolKey),OP_DONE="Done",OP_RUNNING="Running",OP_SUSPENDED="Suspended",DoneHash=string(`${FiberStatusSymbolKey}-${OP_DONE}`);class Done{[FiberStatusTypeId]=FiberStatusTypeId;_tag=OP_DONE;[symbol](){return DoneHash}[symbol2](that){return isFiberStatus(that)&&that._tag===OP_DONE}}class Running{runtimeFlags;[FiberStatusTypeId]=FiberStatusTypeId;_tag=OP_RUNNING;constructor(runtimeFlags2){this.runtimeFlags=runtimeFlags2}[symbol](){return pipe(hash(FiberStatusSymbolKey),combine(hash(this._tag)),combine(hash(this.runtimeFlags)),cached(this))}[symbol2](that){return isFiberStatus(that)&&that._tag===OP_RUNNING&&this.runtimeFlags===that.runtimeFlags}}class Suspended{runtimeFlags;blockingOn;[FiberStatusTypeId]=FiberStatusTypeId;_tag=OP_SUSPENDED;constructor(runtimeFlags2,blockingOn){this.runtimeFlags=runtimeFlags2,this.blockingOn=blockingOn}[symbol](){return pipe(hash(FiberStatusSymbolKey),combine(hash(this._tag)),combine(hash(this.runtimeFlags)),combine(hash(this.blockingOn)),cached(this))}[symbol2](that){return isFiberStatus(that)&&that._tag===OP_SUSPENDED&&this.runtimeFlags===that.runtimeFlags&&equals(this.blockingOn,that.blockingOn)}}var done3=new Done,running=(runtimeFlags2)=>new Running(runtimeFlags2),suspended=(runtimeFlags2,blockingOn)=>new Suspended(runtimeFlags2,blockingOn),isFiberStatus=(u)=>hasProperty(u,FiberStatusTypeId),isDone=(self)=>self._tag===OP_DONE;var done4=done3,running2=running,suspended2=suspended;var isDone2=isDone;var TypeId14=Symbol.for("effect/Micro"),MicroExitTypeId=Symbol.for("effect/Micro/MicroExit");var MicroCauseTypeId=Symbol.for("effect/Micro/MicroCause");var microCauseVariance={_E:identity};class MicroCauseImpl extends globalThis.Error{_tag;traces;[MicroCauseTypeId];constructor(_tag,originalError,traces){let causeName=`MicroCause.${_tag}`,name,message,stack;if(originalError instanceof globalThis.Error){name=`(${causeName}) ${originalError.name}`,message=originalError.message;let messageLines=message.split(`
|
|
26
26
|
`).length;stack=originalError.stack?`(${causeName}) ${originalError.stack.split(`
|
|
27
27
|
`).slice(0,messageLines+3).join(`
|
|
28
28
|
`)}`:`${name}: ${message}`}else name=causeName,message=toStringUnknown(originalError,0),stack=`${name}: ${message}`;if(traces.length>0)stack+=`
|
|
29
29
|
${traces.join(`
|
|
30
|
-
`)}`;super(message);this._tag=_tag,this.traces=traces,this[MicroCauseTypeId]=microCauseVariance,this.name=name,this.stack=stack}pipe(){return pipeArguments(this,arguments)}toString(){return this.stack}[NodeInspectSymbol](){return this.stack}}class Die extends MicroCauseImpl{defect;constructor(defect,traces=[]){super("Die",defect,traces);this.defect=defect}}var causeDie=(defect,traces=[])=>new Die(defect,traces);class Interrupt extends MicroCauseImpl{constructor(traces=[]){super("Interrupt","interrupted",traces)}}var causeInterrupt=(traces=[])=>new Interrupt(traces);var causeIsInterrupt=(self)=>self._tag==="Interrupt";var MicroFiberTypeId=Symbol.for("effect/Micro/MicroFiber"),fiberVariance={_A:identity,_E:identity};class MicroFiberImpl{context;interruptible;[MicroFiberTypeId];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor(context2,interruptible3=!0){this.context=context2,this.interruptible=interruptible3,this[MicroFiberTypeId]=fiberVariance}getRef(ref){return unsafeGetReference(this.context,ref)}addObserver(cb){if(this._exit)return cb(this._exit),constVoid;return this._observers.push(cb),()=>{let index=this._observers.indexOf(cb);if(index>=0)this._observers.splice(index,1)}}_interrupted=!1;unsafeInterrupt(){if(this._exit)return;if(this._interrupted=!0,this.interruptible)this.evaluate(exitInterrupt2)}unsafePoll(){return this._exit}evaluate(effect){if(this._exit)return;else if(this._yielded!==void 0){let yielded=this._yielded;this._yielded=void 0,yielded()}let exit2=this.runLoop(effect);if(exit2===Yield)return;let interruptChildren=fiberMiddleware.interruptChildren&&fiberMiddleware.interruptChildren(this);if(interruptChildren!==void 0)return this.evaluate(flatMap8(interruptChildren,()=>exit2));this._exit=exit2;for(let i=0;i<this._observers.length;i++)this._observers[i](exit2);this._observers.length=0}runLoop(effect){let yielding=!1,current=effect;this.currentOpCount=0;try{while(!0){if(this.currentOpCount++,!yielding&&this.getRef(CurrentScheduler).shouldYield(this)){yielding=!0;let prev=current;current=flatMap8(yieldNow2,()=>prev)}if(current=current[evaluate](this),current===Yield){let yielded=this._yielded;if(MicroExitTypeId in yielded)return this._yielded=void 0,yielded;return Yield}}}catch(error){if(!hasProperty(current,evaluate))return exitDie2(`MicroFiber.runLoop: Not a valid effect: ${String(current)}`);return exitDie2(error)}}getCont(symbol3){while(!0){let op=this._stack.pop();if(!op)return;let cont=op[ensureCont]&&op[ensureCont](this);if(cont)return{[symbol3]:cont};if(op[symbol3])return op}}_yielded=void 0;yieldWith(value){return this._yielded=value,Yield}children(){return this._children??=new Set}}var fiberMiddleware=globalValue("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var identifier=Symbol.for("effect/Micro/identifier"),args=Symbol.for("effect/Micro/args"),evaluate=Symbol.for("effect/Micro/evaluate"),successCont=Symbol.for("effect/Micro/successCont"),failureCont=Symbol.for("effect/Micro/failureCont"),ensureCont=Symbol.for("effect/Micro/ensureCont"),Yield=Symbol.for("effect/Micro/Yield"),microVariance={_A:identity,_E:identity,_R:identity},MicroProto={...EffectPrototype2,_op:"Micro",[TypeId14]:microVariance,pipe(){return pipeArguments(this,arguments)},[Symbol.iterator](){return new SingleShotGen(new YieldWrap(this))},toJSON(){return{_id:"Micro",op:this[identifier],...args in this?{args:this[args]}:void 0}},toString(){return format(this)},[NodeInspectSymbol](){return format(this)}};function defaultEvaluate(_fiber){return exitDie2("Micro.evaluate: Not implemented")}var makePrimitiveProto=(options)=>({...MicroProto,[identifier]:options.op,[evaluate]:options.eval??defaultEvaluate,[successCont]:options.contA,[failureCont]:options.contE,[ensureCont]:options.ensure}),makePrimitive=(options)=>{let Proto2=makePrimitiveProto(options);return function(){let self=Object.create(Proto2);return self[args]=options.single===!1?arguments:arguments[0],self}},makeExit=(options)=>{let Proto2={...makePrimitiveProto(options),[MicroExitTypeId]:MicroExitTypeId,_tag:options.op,get[options.prop](){return this[args]},toJSON(){return{_id:"MicroExit",_tag:options.op,[options.prop]:this[args]}},[symbol2](that){return isMicroExit(that)&&that._tag===options.op&&equals(this[args],that[args])},[symbol](){return cached(this,combine(string(options.op))(hash(this[args])))}};return function(value){let self=Object.create(Proto2);return self[args]=value,self[successCont]=void 0,self[failureCont]=void 0,self[ensureCont]=void 0,self}},succeed3=makeExit({op:"Success",prop:"value",eval(fiber){let cont=fiber.getCont(successCont);return cont?cont[successCont](this[args],fiber):fiber.yieldWith(this)}}),failCause3=makeExit({op:"Failure",prop:"cause",eval(fiber){let cont=fiber.getCont(failureCont);while(causeIsInterrupt(this[args])&&cont&&fiber.interruptible)cont=fiber.getCont(failureCont);return cont?cont[failureCont](this[args],fiber):fiber.yieldWith(this)}});var yieldNowWith=makePrimitive({op:"Yield",eval(fiber){let resumed=!1;return fiber.getRef(CurrentScheduler).scheduleTask(()=>{if(resumed)return;fiber.evaluate(exitVoid2)},this[args]??0),fiber.yieldWith(()=>{resumed=!0})}}),yieldNow2=yieldNowWith(0);var void_2=succeed3(void 0);var withMicroFiber=makePrimitive({op:"WithMicroFiber",eval(fiber){return this[args](fiber)}});var flatMap8=dual(2,(self,f)=>{let onSuccess=Object.create(OnSuccessProto);return onSuccess[args]=self,onSuccess[successCont]=f,onSuccess}),OnSuccessProto=makePrimitiveProto({op:"OnSuccess",eval(fiber){return fiber._stack.push(this),this[args]}});var isMicroExit=(u)=>hasProperty(u,MicroExitTypeId),exitSucceed2=succeed3,exitFailCause2=failCause3,exitInterrupt2=exitFailCause2(causeInterrupt());var exitDie2=(defect)=>exitFailCause2(causeDie(defect));var exitVoid2=exitSucceed2(void 0);var setImmediate2="setImmediate"in globalThis?globalThis.setImmediate:(f)=>setTimeout(f,0);class MicroSchedulerDefault{tasks=[];running=!1;scheduleTask(task,_priority){if(this.tasks.push(task),!this.running)this.running=!0,setImmediate2(this.afterScheduled)}afterScheduled=()=>{this.running=!1,this.runTasks()};runTasks(){let tasks=this.tasks;this.tasks=[];for(let i=0,len=tasks.length;i<len;i++)tasks[i]()}shouldYield(fiber){return fiber.currentOpCount>=fiber.getRef(MaxOpsBeforeYield)}flush(){while(this.tasks.length>0)this.runTasks()}}var updateContext=dual(2,(self,f)=>withMicroFiber((fiber)=>{let prev=fiber.context;return fiber.context=f(prev),onExit2(self,()=>{return fiber.context=prev,void_2})}));var provideContext2=dual(2,(self,provided)=>updateContext(self,merge3(provided)));class MaxOpsBeforeYield extends Reference2()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){}class CurrentScheduler extends Reference2()("effect/Micro/currentScheduler",{defaultValue:()=>new MicroSchedulerDefault}){}var matchCauseEffect2=dual(2,(self,options)=>{let primitive=Object.create(OnSuccessAndFailureProto);return primitive[args]=self,primitive[successCont]=options.onSuccess,primitive[failureCont]=options.onFailure,primitive}),OnSuccessAndFailureProto=makePrimitiveProto({op:"OnSuccessAndFailure",eval(fiber){return fiber._stack.push(this),this[args]}});var onExit2=dual(2,(self,f)=>uninterruptibleMask2((restore)=>matchCauseEffect2(restore(self),{onFailure:(cause2)=>flatMap8(f(exitFailCause2(cause2)),()=>failCause3(cause2)),onSuccess:(a)=>flatMap8(f(exitSucceed2(a)),()=>succeed3(a))})));var setInterruptible=makePrimitive({op:"SetInterruptible",ensure(fiber){if(fiber.interruptible=this[args],fiber._interrupted&&fiber.interruptible)return()=>exitInterrupt2}}),interruptible3=(self)=>withMicroFiber((fiber)=>{if(fiber.interruptible)return self;if(fiber.interruptible=!0,fiber._stack.push(setInterruptible(!1)),fiber._interrupted)return exitInterrupt2;return self}),uninterruptibleMask2=(f)=>withMicroFiber((fiber)=>{if(!fiber.interruptible)return f(identity);return fiber.interruptible=!1,fiber._stack.push(setInterruptible(!0)),f(interruptible3)});var runFork=(effect,options)=>{let fiber=new MicroFiberImpl(CurrentScheduler.context(options?.scheduler??new MicroSchedulerDefault));if(fiber.evaluate(effect),options?.signal)if(options.signal.aborted)fiber.unsafeInterrupt();else{let abort=()=>fiber.unsafeInterrupt();options.signal.addEventListener("abort",abort,{once:!0}),fiber.addObserver(()=>options.signal.removeEventListener("abort",abort))}return fiber};class PriorityBuckets{buckets=[];scheduleTask(task,priority){let length2=this.buckets.length,bucket=void 0,index=0;for(;index<length2;index++)if(this.buckets[index][0]<=priority)bucket=this.buckets[index];else break;if(bucket&&bucket[0]===priority)bucket[1].push(task);else if(index===length2)this.buckets.push([priority,[task]]);else this.buckets.splice(index,0,[priority,[task]])}}class MixedScheduler{maxNextTickBeforeTimer;running=!1;tasks=new PriorityBuckets;constructor(maxNextTickBeforeTimer){this.maxNextTickBeforeTimer=maxNextTickBeforeTimer}starveInternal(depth){let tasks=this.tasks.buckets;this.tasks.buckets=[];for(let[_,toRun]of tasks)for(let i=0;i<toRun.length;i++)toRun[i]();if(this.tasks.buckets.length===0)this.running=!1;else this.starve(depth)}starve(depth=0){if(depth>=this.maxNextTickBeforeTimer)setTimeout(()=>this.starveInternal(0),0);else Promise.resolve(void 0).then(()=>this.starveInternal(depth+1))}shouldYield(fiber){return fiber.currentOpCount>fiber.getFiberRef(currentMaxOpsBeforeYield)?fiber.getFiberRef(currentSchedulingPriority):!1}scheduleTask(task,priority){if(this.tasks.scheduleTask(task,priority),!this.running)this.running=!0,this.starve()}}var defaultScheduler=globalValue(Symbol.for("effect/Scheduler/defaultScheduler"),()=>new MixedScheduler(2048));class SyncScheduler{tasks=new PriorityBuckets;deferred=!1;scheduleTask(task,priority){if(this.deferred)defaultScheduler.scheduleTask(task,priority);else this.tasks.scheduleTask(task,priority)}shouldYield(fiber){return fiber.currentOpCount>fiber.getFiberRef(currentMaxOpsBeforeYield)?fiber.getFiberRef(currentSchedulingPriority):!1}flush(){while(this.tasks.buckets.length>0){let tasks=this.tasks.buckets;this.tasks.buckets=[];for(let[_,toRun]of tasks)for(let i=0;i<toRun.length;i++)toRun[i]()}this.deferred=!0}}var currentScheduler=globalValue(Symbol.for("effect/FiberRef/currentScheduler"),()=>fiberRefUnsafeMake(defaultScheduler)),withScheduler=dual(2,(self,scheduler)=>fiberRefLocally(self,currentScheduler,scheduler));var currentRequestMap=globalValue(Symbol.for("effect/FiberRef/currentRequestMap"),()=>fiberRefUnsafeMake(new Map));var match8=(concurrency,sequential4,unbounded2,bounded)=>{switch(concurrency){case void 0:return sequential4();case"unbounded":return unbounded2();case"inherit":return fiberRefGetWith(currentConcurrency,(concurrency2)=>concurrency2==="unbounded"?unbounded2():concurrency2>1?bounded(concurrency2):sequential4());default:return concurrency>1?bounded(concurrency):sequential4()}},matchSimple=(concurrency,sequential4,concurrent)=>{switch(concurrency){case void 0:return sequential4();case"unbounded":return concurrent();case"inherit":return fiberRefGetWith(currentConcurrency,(concurrency2)=>concurrency2==="unbounded"||concurrency2>1?concurrent():sequential4());default:return concurrency>1?concurrent():sequential4()}};var OP_INTERRUPT_SIGNAL="InterruptSignal",OP_STATEFUL="Stateful",OP_RESUME="Resume",OP_YIELD_NOW="YieldNow",interruptSignal=(cause2)=>({_tag:"InterruptSignal",cause:cause2}),stateful=(onFiber)=>({_tag:"Stateful",onFiber}),resume=(effect)=>({_tag:"Resume",effect}),yieldNow3=()=>({_tag:"YieldNow"});var FiberScopeSymbolKey="effect/FiberScope",FiberScopeTypeId=Symbol.for(FiberScopeSymbolKey);class Global{[FiberScopeTypeId]=FiberScopeTypeId;fiberId=none4;roots=new Set;add(_runtimeFlags,child){this.roots.add(child),child.addObserver(()=>{this.roots.delete(child)})}}class Local{fiberId;parent;[FiberScopeTypeId]=FiberScopeTypeId;constructor(fiberId2,parent){this.fiberId=fiberId2,this.parent=parent}add(_runtimeFlags,child){this.parent.tell(stateful((parentFiber)=>{parentFiber.addChild(child),child.addObserver(()=>{parentFiber.removeChild(child)})}))}}var unsafeMake7=(fiber)=>{return new Local(fiber.id(),fiber)},globalScope=globalValue(Symbol.for("effect/FiberScope/Global"),()=>new Global);var FiberSymbolKey="effect/Fiber",FiberTypeId=Symbol.for(FiberSymbolKey),fiberVariance2={_E:(_)=>_,_A:(_)=>_},fiberProto={[FiberTypeId]:fiberVariance2,pipe(){return pipeArguments(this,arguments)}},RuntimeFiberSymbolKey="effect/Fiber",RuntimeFiberTypeId=Symbol.for(RuntimeFiberSymbolKey);var _await2=(self)=>self.await;var inheritAll=(self)=>self.inheritAll;var interruptAsFork=dual(2,(self,fiberId2)=>self.interruptAsFork(fiberId2)),join2=(self)=>zipLeft(flatten5(self.await),self.inheritAll);var _never={...CommitPrototype,commit(){return join2(this)},...fiberProto,id:()=>none4,await:never,children:succeed([]),inheritAll:never,poll:succeed(none2()),interruptAsFork:()=>never};var currentFiberURI="effect/FiberCurrent";var LoggerSymbolKey="effect/Logger",LoggerTypeId=Symbol.for(LoggerSymbolKey),loggerVariance={_Message:(_)=>_,_Output:(_)=>_},makeLogger=(log2)=>({[LoggerTypeId]:loggerVariance,log:log2,pipe(){return pipeArguments(this,arguments)}});var none7={[LoggerTypeId]:loggerVariance,log:constVoid,pipe(){return pipeArguments(this,arguments)}};var textOnly=/^[^\s"=]*$/,format4=(quoteValue,whitespace)=>({annotations:annotations2,cause:cause2,date,fiberId:fiberId2,logLevel,message,spans})=>{let formatValue=(value)=>value.match(textOnly)?value:quoteValue(value),format5=(label,value)=>`${formatLabel(label)}=${formatValue(value)}`,append4=(label,value)=>" "+format5(label,value),out=format5("timestamp",date.toISOString());out+=append4("level",logLevel.label),out+=append4("fiber",threadName(fiberId2));let messages=ensure(message);for(let i=0;i<messages.length;i++)out+=append4("message",toStringUnknown(messages[i],whitespace));if(!isEmptyType(cause2))out+=append4("cause",pretty(cause2,{renderErrorCause:!0}));for(let span2 of spans)out+=" "+render(date.getTime())(span2);for(let[label,value]of annotations2)out+=append4(label,toStringUnknown(value,whitespace));return out},escapeDoubleQuotes=(s)=>`"${s.replace(/\\([\s\S])|(")/g,"\\$1$2")}"`,stringLogger=makeLogger(format4(escapeDoubleQuotes)),logfmtLogger=makeLogger(format4(JSON.stringify,0));var colors={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},logLevelColors={None:[],All:[],Trace:[colors.gray],Debug:[colors.blue],Info:[colors.green],Warning:[colors.yellow],Error:[colors.red],Fatal:[colors.bgBrightRed,colors.black]};var hasProcessStdout=typeof process==="object"&&process!==null&&typeof process.stdout==="object"&&process.stdout!==null,processStdoutIsTTY=hasProcessStdout&&process.stdout.isTTY===!0,hasProcessStdoutOrDeno=hasProcessStdout||"Deno"in globalThis;var MetricBoundariesSymbolKey="effect/MetricBoundaries",MetricBoundariesTypeId=Symbol.for(MetricBoundariesSymbolKey);class MetricBoundariesImpl{values;[MetricBoundariesTypeId]=MetricBoundariesTypeId;constructor(values3){this.values=values3,this._hash=pipe(string(MetricBoundariesSymbolKey),combine(array2(this.values)))}_hash;[symbol](){return this._hash}[symbol2](u){return isMetricBoundaries(u)&&equals(this.values,u.values)}pipe(){return pipeArguments(this,arguments)}}var isMetricBoundaries=(u)=>hasProperty(u,MetricBoundariesTypeId),fromIterable7=(iterable)=>{let values3=pipe(iterable,appendAll(of2(Number.POSITIVE_INFINITY)),dedupe);return new MetricBoundariesImpl(values3)};var exponential=(options)=>pipe(makeBy(options.count-1,(i)=>options.start*Math.pow(options.factor,i)),unsafeFromArray,fromIterable7);var MetricKeyTypeSymbolKey="effect/MetricKeyType",MetricKeyTypeTypeId=Symbol.for(MetricKeyTypeSymbolKey),CounterKeyTypeSymbolKey="effect/MetricKeyType/Counter",CounterKeyTypeTypeId=Symbol.for(CounterKeyTypeSymbolKey),FrequencyKeyTypeSymbolKey="effect/MetricKeyType/Frequency",FrequencyKeyTypeTypeId=Symbol.for(FrequencyKeyTypeSymbolKey),GaugeKeyTypeSymbolKey="effect/MetricKeyType/Gauge",GaugeKeyTypeTypeId=Symbol.for(GaugeKeyTypeSymbolKey),HistogramKeyTypeSymbolKey="effect/MetricKeyType/Histogram",HistogramKeyTypeTypeId=Symbol.for(HistogramKeyTypeSymbolKey),SummaryKeyTypeSymbolKey="effect/MetricKeyType/Summary",SummaryKeyTypeTypeId=Symbol.for(SummaryKeyTypeSymbolKey),metricKeyTypeVariance={_In:(_)=>_,_Out:(_)=>_};class CounterKeyType{incremental;bigint;[MetricKeyTypeTypeId]=metricKeyTypeVariance;[CounterKeyTypeTypeId]=CounterKeyTypeTypeId;constructor(incremental,bigint3){this.incremental=incremental,this.bigint=bigint3,this._hash=string(CounterKeyTypeSymbolKey)}_hash;[symbol](){return this._hash}[symbol2](that){return isCounterKey(that)}pipe(){return pipeArguments(this,arguments)}}class HistogramKeyType{boundaries;[MetricKeyTypeTypeId]=metricKeyTypeVariance;[HistogramKeyTypeTypeId]=HistogramKeyTypeTypeId;constructor(boundaries){this.boundaries=boundaries,this._hash=pipe(string(HistogramKeyTypeSymbolKey),combine(hash(this.boundaries)))}_hash;[symbol](){return this._hash}[symbol2](that){return isHistogramKey(that)&&equals(this.boundaries,that.boundaries)}pipe(){return pipeArguments(this,arguments)}}var counter=(options)=>new CounterKeyType(options?.incremental??!1,options?.bigint??!1);var histogram=(boundaries)=>{return new HistogramKeyType(boundaries)};var isCounterKey=(u)=>hasProperty(u,CounterKeyTypeTypeId),isFrequencyKey=(u)=>hasProperty(u,FrequencyKeyTypeTypeId),isGaugeKey=(u)=>hasProperty(u,GaugeKeyTypeTypeId),isHistogramKey=(u)=>hasProperty(u,HistogramKeyTypeTypeId),isSummaryKey=(u)=>hasProperty(u,SummaryKeyTypeTypeId);var MetricKeySymbolKey="effect/MetricKey",MetricKeyTypeId=Symbol.for(MetricKeySymbolKey),metricKeyVariance={_Type:(_)=>_},arrayEquivilence=getEquivalence(equals);class MetricKeyImpl{name;keyType;description;tags;[MetricKeyTypeId]=metricKeyVariance;constructor(name,keyType,description,tags=[]){this.name=name,this.keyType=keyType,this.description=description,this.tags=tags,this._hash=pipe(string(this.name+this.description),combine(hash(this.keyType)),combine(array2(this.tags)))}_hash;[symbol](){return this._hash}[symbol2](u){return isMetricKey(u)&&this.name===u.name&&equals(this.keyType,u.keyType)&&equals(this.description,u.description)&&arrayEquivilence(this.tags,u.tags)}pipe(){return pipeArguments(this,arguments)}}var isMetricKey=(u)=>hasProperty(u,MetricKeyTypeId),counter2=(name,options)=>new MetricKeyImpl(name,counter(options),fromNullable(options?.description));var histogram2=(name,boundaries,description)=>new MetricKeyImpl(name,histogram(boundaries),fromNullable(description));var taggedWithLabels=dual(2,(self,extraTags)=>extraTags.length===0?self:new MetricKeyImpl(self.name,self.keyType,self.description,union(self.tags,extraTags)));var MetricStateSymbolKey="effect/MetricState",MetricStateTypeId=Symbol.for(MetricStateSymbolKey),CounterStateSymbolKey="effect/MetricState/Counter",CounterStateTypeId=Symbol.for(CounterStateSymbolKey),FrequencyStateSymbolKey="effect/MetricState/Frequency",FrequencyStateTypeId=Symbol.for(FrequencyStateSymbolKey),GaugeStateSymbolKey="effect/MetricState/Gauge",GaugeStateTypeId=Symbol.for(GaugeStateSymbolKey),HistogramStateSymbolKey="effect/MetricState/Histogram",HistogramStateTypeId=Symbol.for(HistogramStateSymbolKey),SummaryStateSymbolKey="effect/MetricState/Summary",SummaryStateTypeId=Symbol.for(SummaryStateSymbolKey),metricStateVariance={_A:(_)=>_};class CounterState{count;[MetricStateTypeId]=metricStateVariance;[CounterStateTypeId]=CounterStateTypeId;constructor(count){this.count=count}[symbol](){return pipe(hash(CounterStateSymbolKey),combine(hash(this.count)),cached(this))}[symbol2](that){return isCounterState(that)&&this.count===that.count}pipe(){return pipeArguments(this,arguments)}}var arrayEquals=getEquivalence(equals);class FrequencyState{occurrences;[MetricStateTypeId]=metricStateVariance;[FrequencyStateTypeId]=FrequencyStateTypeId;constructor(occurrences){this.occurrences=occurrences}_hash;[symbol](){return pipe(string(FrequencyStateSymbolKey),combine(array2(fromIterable(this.occurrences.entries()))),cached(this))}[symbol2](that){return isFrequencyState(that)&&arrayEquals(fromIterable(this.occurrences.entries()),fromIterable(that.occurrences.entries()))}pipe(){return pipeArguments(this,arguments)}}class GaugeState{value;[MetricStateTypeId]=metricStateVariance;[GaugeStateTypeId]=GaugeStateTypeId;constructor(value){this.value=value}[symbol](){return pipe(hash(GaugeStateSymbolKey),combine(hash(this.value)),cached(this))}[symbol2](u){return isGaugeState(u)&&this.value===u.value}pipe(){return pipeArguments(this,arguments)}}class HistogramState{buckets;count;min;max;sum;[MetricStateTypeId]=metricStateVariance;[HistogramStateTypeId]=HistogramStateTypeId;constructor(buckets,count,min2,max2,sum){this.buckets=buckets,this.count=count,this.min=min2,this.max=max2,this.sum=sum}[symbol](){return pipe(hash(HistogramStateSymbolKey),combine(hash(this.buckets)),combine(hash(this.count)),combine(hash(this.min)),combine(hash(this.max)),combine(hash(this.sum)),cached(this))}[symbol2](that){return isHistogramState(that)&&equals(this.buckets,that.buckets)&&this.count===that.count&&this.min===that.min&&this.max===that.max&&this.sum===that.sum}pipe(){return pipeArguments(this,arguments)}}class SummaryState{error;quantiles;count;min;max;sum;[MetricStateTypeId]=metricStateVariance;[SummaryStateTypeId]=SummaryStateTypeId;constructor(error,quantiles,count,min2,max2,sum){this.error=error,this.quantiles=quantiles,this.count=count,this.min=min2,this.max=max2,this.sum=sum}[symbol](){return pipe(hash(SummaryStateSymbolKey),combine(hash(this.error)),combine(hash(this.quantiles)),combine(hash(this.count)),combine(hash(this.min)),combine(hash(this.max)),combine(hash(this.sum)),cached(this))}[symbol2](that){return isSummaryState(that)&&this.error===that.error&&equals(this.quantiles,that.quantiles)&&this.count===that.count&&this.min===that.min&&this.max===that.max&&this.sum===that.sum}pipe(){return pipeArguments(this,arguments)}}var counter3=(count)=>new CounterState(count),frequency2=(occurrences)=>{return new FrequencyState(occurrences)},gauge2=(count)=>new GaugeState(count),histogram3=(options)=>new HistogramState(options.buckets,options.count,options.min,options.max,options.sum),summary2=(options)=>new SummaryState(options.error,options.quantiles,options.count,options.min,options.max,options.sum);var isCounterState=(u)=>hasProperty(u,CounterStateTypeId),isFrequencyState=(u)=>hasProperty(u,FrequencyStateTypeId),isGaugeState=(u)=>hasProperty(u,GaugeStateTypeId),isHistogramState=(u)=>hasProperty(u,HistogramStateTypeId),isSummaryState=(u)=>hasProperty(u,SummaryStateTypeId);var MetricHookSymbolKey="effect/MetricHook",MetricHookTypeId=Symbol.for(MetricHookSymbolKey),metricHookVariance={_In:(_)=>_,_Out:(_)=>_},make30=(options)=>({[MetricHookTypeId]:metricHookVariance,pipe(){return pipeArguments(this,arguments)},...options});var bigint04=BigInt(0),counter4=(key)=>{let sum=key.keyType.bigint?bigint04:0,canUpdate=key.keyType.incremental?key.keyType.bigint?(value)=>value>=bigint04:(value)=>value>=0:(_value)=>!0,update4=(value)=>{if(canUpdate(value))sum=sum+value};return make30({get:()=>counter3(sum),update:update4,modify:update4})},frequency3=(key)=>{let values3=new Map;for(let word of key.keyType.preregisteredWords)values3.set(word,0);let update4=(word)=>{let slotCount=values3.get(word)??0;values3.set(word,slotCount+1)};return make30({get:()=>frequency2(values3),update:update4,modify:update4})},gauge3=(_key,startAt)=>{let value=startAt;return make30({get:()=>gauge2(value),update:(v)=>{value=v},modify:(v)=>{value=value+v}})},histogram4=(key)=>{let bounds=key.keyType.boundaries.values,size6=bounds.length,values3=new Uint32Array(size6+1),boundaries=new Float32Array(size6),count=0,sum=0,min2=Number.MAX_VALUE,max2=Number.MIN_VALUE;pipe(bounds,sort(Order),map3((n,i)=>{boundaries[i]=n}));let update4=(value)=>{let from=0,to=size6;while(from!==to){let mid=Math.floor(from+(to-from)/2),boundary=boundaries[mid];if(value<=boundary)to=mid;else from=mid;if(to===from+1)if(value<=boundaries[from])to=from;else from=to}if(values3[from]=values3[from]+1,count=count+1,sum=sum+value,value<min2)min2=value;if(value>max2)max2=value},getBuckets=()=>{let builder=allocate(size6),cumulated=0;for(let i=0;i<size6;i++){let boundary=boundaries[i],value=values3[i];cumulated=cumulated+value,builder[i]=[boundary,cumulated]}return builder};return make30({get:()=>histogram3({buckets:getBuckets(),count,min:min2,max:max2,sum}),update:update4,modify:update4})},summary3=(key)=>{let{error,maxAge,maxSize,quantiles}=key.keyType,sortedQuantiles=pipe(quantiles,sort(Order)),values3=allocate(maxSize),head4=0,count=0,sum=0,min2=0,max2=0,snapshot=(now)=>{let builder=[],i=0;while(i!==maxSize-1){let item=values3[i];if(item!=null){let[t,v]=item,age=millis(now-t);if(greaterThanOrEqualTo2(age,zero2)&&lessThanOrEqualTo2(age,maxAge))builder.push(v)}i=i+1}return calculateQuantiles(error,sortedQuantiles,sort(builder,Order))},observe=(value,timestamp)=>{if(maxSize>0){head4=head4+1;let target=head4%maxSize;values3[target]=[timestamp,value]}min2=count===0?value:Math.min(min2,value),max2=count===0?value:Math.max(max2,value),count=count+1,sum=sum+value};return make30({get:()=>summary2({error,quantiles:snapshot(Date.now()),count,min:min2,max:max2,sum}),update:([value,timestamp])=>observe(value,timestamp),modify:([value,timestamp])=>observe(value,timestamp)})},calculateQuantiles=(error,sortedQuantiles,sortedSamples)=>{let sampleCount=sortedSamples.length;if(!isNonEmptyReadonlyArray(sortedQuantiles))return empty2();let head4=sortedQuantiles[0],tail=sortedQuantiles.slice(1),resolvedHead=resolveQuantile(error,sampleCount,none2(),0,head4,sortedSamples),resolved=of(resolvedHead);return tail.forEach((quantile)=>{resolved.push(resolveQuantile(error,sampleCount,resolvedHead.value,resolvedHead.consumed,quantile,resolvedHead.rest))}),map3(resolved,(rq)=>[rq.quantile,rq.value])},resolveQuantile=(error,sampleCount,current,consumed,quantile,rest)=>{let error_1=error,sampleCount_1=sampleCount,current_1=current,consumed_1=consumed,quantile_1=quantile,rest_1=rest,error_2=error,sampleCount_2=sampleCount,current_2=current,consumed_2=consumed,quantile_2=quantile,rest_2=rest;while(!0){if(!isNonEmptyReadonlyArray(rest_1))return{quantile:quantile_1,value:none2(),consumed:consumed_1,rest:[]};if(quantile_1===1)return{quantile:quantile_1,value:some2(lastNonEmpty(rest_1)),consumed:consumed_1+rest_1.length,rest:[]};let headValue=headNonEmpty(rest_1),sameHead=span(rest_1,(n)=>n===headValue),desired=quantile_1*sampleCount_1,allowedError=error_1/2*desired,candConsumed=consumed_1+sameHead[0].length,candError=Math.abs(candConsumed-desired);if(candConsumed<desired-allowedError){error_2=error_1,sampleCount_2=sampleCount_1,current_2=head(rest_1),consumed_2=candConsumed,quantile_2=quantile_1,rest_2=sameHead[1],error_1=error_2,sampleCount_1=sampleCount_2,current_1=current_2,consumed_1=consumed_2,quantile_1=quantile_2,rest_1=rest_2;continue}if(candConsumed>desired+allowedError){let valueToReturn=isNone2(current_1)?some2(headValue):current_1;return{quantile:quantile_1,value:valueToReturn,consumed:consumed_1,rest:rest_1}}switch(current_1._tag){case"None":{error_2=error_1,sampleCount_2=sampleCount_1,current_2=head(rest_1),consumed_2=candConsumed,quantile_2=quantile_1,rest_2=sameHead[1],error_1=error_2,sampleCount_1=sampleCount_2,current_1=current_2,consumed_1=consumed_2,quantile_1=quantile_2,rest_1=rest_2;continue}case"Some":{let prevError=Math.abs(desired-current_1.value);if(candError<prevError){error_2=error_1,sampleCount_2=sampleCount_1,current_2=head(rest_1),consumed_2=candConsumed,quantile_2=quantile_1,rest_2=sameHead[1],error_1=error_2,sampleCount_1=sampleCount_2,current_1=current_2,consumed_1=consumed_2,quantile_1=quantile_2,rest_1=rest_2;continue}return{quantile:quantile_1,value:some2(current_1.value),consumed:consumed_1,rest:rest_1}}}}throw new Error("BUG: MetricHook.resolveQuantiles - please report an issue at https://github.com/Effect-TS/effect/issues")};var MetricPairSymbolKey="effect/MetricPair",MetricPairTypeId=Symbol.for(MetricPairSymbolKey),metricPairVariance={_Type:(_)=>_};var unsafeMake8=(metricKey,metricState)=>{return{[MetricPairTypeId]:metricPairVariance,metricKey,metricState,pipe(){return pipeArguments(this,arguments)}}};var MetricRegistrySymbolKey="effect/MetricRegistry",MetricRegistryTypeId=Symbol.for(MetricRegistrySymbolKey);class MetricRegistryImpl{[MetricRegistryTypeId]=MetricRegistryTypeId;map=empty21();snapshot(){let result=[];for(let[key,hook]of this.map)result.push(unsafeMake8(key,hook.get()));return result}get(key){let hook=pipe(this.map,get8(key),getOrUndefined);if(hook==null){if(isCounterKey(key.keyType))return this.getCounter(key);if(isGaugeKey(key.keyType))return this.getGauge(key);if(isFrequencyKey(key.keyType))return this.getFrequency(key);if(isHistogramKey(key.keyType))return this.getHistogram(key);if(isSummaryKey(key.keyType))return this.getSummary(key);throw new Error("BUG: MetricRegistry.get - unknown MetricKeyType - please report an issue at https://github.com/Effect-TS/effect/issues")}else return hook}getCounter(key){let value=pipe(this.map,get8(key),getOrUndefined);if(value==null){let counter5=counter4(key);if(!pipe(this.map,has4(key)))pipe(this.map,set4(key,counter5));value=counter5}return value}getFrequency(key){let value=pipe(this.map,get8(key),getOrUndefined);if(value==null){let frequency4=frequency3(key);if(!pipe(this.map,has4(key)))pipe(this.map,set4(key,frequency4));value=frequency4}return value}getGauge(key){let value=pipe(this.map,get8(key),getOrUndefined);if(value==null){let gauge4=gauge3(key,key.keyType.bigint?BigInt(0):0);if(!pipe(this.map,has4(key)))pipe(this.map,set4(key,gauge4));value=gauge4}return value}getHistogram(key){let value=pipe(this.map,get8(key),getOrUndefined);if(value==null){let histogram5=histogram4(key);if(!pipe(this.map,has4(key)))pipe(this.map,set4(key,histogram5));value=histogram5}return value}getSummary(key){let value=pipe(this.map,get8(key),getOrUndefined);if(value==null){let summary4=summary3(key);if(!pipe(this.map,has4(key)))pipe(this.map,set4(key,summary4));value=summary4}return value}}var make31=()=>{return new MetricRegistryImpl};var MetricSymbolKey="effect/Metric",MetricTypeId=Symbol.for(MetricSymbolKey),metricVariance={_Type:(_)=>_,_In:(_)=>_,_Out:(_)=>_},globalMetricRegistry=globalValue(Symbol.for("effect/Metric/globalMetricRegistry"),()=>make31()),make32=function(keyType,unsafeUpdate,unsafeValue,unsafeModify){let metric=Object.assign((effect)=>tap(effect,(a)=>update4(metric,a)),{[MetricTypeId]:metricVariance,keyType,unsafeUpdate,unsafeValue,unsafeModify,register(){return this.unsafeValue([]),this},pipe(){return pipeArguments(this,arguments)}});return metric};var counter5=(name,options)=>fromMetricKey(counter2(name,options));var fromMetricKey=(key)=>{let untaggedHook,hookCache=new WeakMap,hook=(extraTags)=>{if(extraTags.length===0){if(untaggedHook!==void 0)return untaggedHook;return untaggedHook=globalMetricRegistry.get(key),untaggedHook}let hook2=hookCache.get(extraTags);if(hook2!==void 0)return hook2;return hook2=globalMetricRegistry.get(taggedWithLabels(key,extraTags)),hookCache.set(extraTags,hook2),hook2};return make32(key.keyType,(input,extraTags)=>hook(extraTags).update(input),(extraTags)=>hook(extraTags).get(),(input,extraTags)=>hook(extraTags).modify(input))};var histogram5=(name,boundaries,description)=>fromMetricKey(histogram2(name,boundaries,description));var tagged=dual(3,(self,key,value)=>taggedWithLabels2(self,[make29(key,value)]));var taggedWithLabels2=dual(2,(self,extraTags)=>{return make32(self.keyType,(input,extraTags1)=>self.unsafeUpdate(input,union(extraTags,extraTags1)),(extraTags1)=>self.unsafeValue(union(extraTags,extraTags1)),(input,extraTags1)=>self.unsafeModify(input,union(extraTags,extraTags1)))});var update4=dual(2,(self,input)=>fiberRefGetWith(currentMetricLabels,(tags)=>sync(()=>self.unsafeUpdate(input,tags))));var RequestSymbolKey="effect/Request",RequestTypeId=Symbol.for(RequestSymbolKey),requestVariance={_E:(_)=>_,_A:(_)=>_},RequestPrototype={...StructuralPrototype,[RequestTypeId]:requestVariance},isRequest=(u)=>hasProperty(u,RequestTypeId);var complete=dual(2,(self,result)=>fiberRefGetWith(currentRequestMap,(map10)=>sync(()=>{if(map10.has(self)){let entry=map10.get(self);if(!entry.state.completed)entry.state.completed=!0,deferredUnsafeDone(entry.result,result)}})));class Listeners{count=0;observers=new Set;interrupted=!1;addObserver(f){this.observers.add(f)}removeObserver(f){this.observers.delete(f)}increment(){this.count++,this.observers.forEach((f)=>f(this.count))}decrement(){this.count--,this.observers.forEach((f)=>f(this.count))}}var Direction={Forward:0,Backward:1};class RedBlackTreeIterator{self;stack;direction;count=0;constructor(self,stack,direction){this.self=self,this.stack=stack,this.direction=direction}clone(){return new RedBlackTreeIterator(this.self,this.stack.slice(),this.direction)}reversed(){return new RedBlackTreeIterator(this.self,this.stack.slice(),this.direction===Direction.Forward?Direction.Backward:Direction.Forward)}next(){let entry=this.entry;if(this.count++,this.direction===Direction.Forward)this.moveNext();else this.movePrev();switch(entry._tag){case"None":return{done:!0,value:this.count};case"Some":return{done:!1,value:entry.value}}}get key(){if(this.stack.length>0)return some2(this.stack[this.stack.length-1].key);return none2()}get value(){if(this.stack.length>0)return some2(this.stack[this.stack.length-1].value);return none2()}get entry(){return map2(last(this.stack),(node)=>[node.key,node.value])}get index(){let idx=0,stack=this.stack;if(stack.length===0){let r=this.self._root;if(r!=null)return r.count;return 0}else if(stack[stack.length-1].left!=null)idx=stack[stack.length-1].left.count;for(let s=stack.length-2;s>=0;--s)if(stack[s+1]===stack[s].right){if(++idx,stack[s].left!=null)idx+=stack[s].left.count}return idx}moveNext(){let stack=this.stack;if(stack.length===0)return;let n=stack[stack.length-1];if(n.right!=null){n=n.right;while(n!=null)stack.push(n),n=n.left}else{stack.pop();while(stack.length>0&&stack[stack.length-1].right===n)n=stack[stack.length-1],stack.pop()}}get hasNext(){let stack=this.stack;if(stack.length===0)return!1;if(stack[stack.length-1].right!=null)return!0;for(let s=stack.length-1;s>0;--s)if(stack[s-1].left===stack[s])return!0;return!1}movePrev(){let stack=this.stack;if(stack.length===0)return;let n=stack[stack.length-1];if(n!=null&&n.left!=null){n=n.left;while(n!=null)stack.push(n),n=n.right}else{stack.pop();while(stack.length>0&&stack[stack.length-1].left===n)n=stack[stack.length-1],stack.pop()}}get hasPrev(){let stack=this.stack;if(stack.length===0)return!1;if(stack[stack.length-1].left!=null)return!0;for(let s=stack.length-1;s>0;--s)if(stack[s-1].right===stack[s])return!0;return!1}}var RedBlackTreeSymbolKey="effect/RedBlackTree",RedBlackTreeTypeId=Symbol.for(RedBlackTreeSymbolKey),redBlackTreeVariance={_Key:(_)=>_,_Value:(_)=>_},RedBlackTreeProto={[RedBlackTreeTypeId]:redBlackTreeVariance,[symbol](){let hash2=hash(RedBlackTreeSymbolKey);for(let item of this)hash2^=pipe(hash(item[0]),combine(hash(item[1])));return cached(this,hash2)},[symbol2](that){if(isRedBlackTree(that)){if((this._root?.count??0)!==(that._root?.count??0))return!1;let entries2=Array.from(that);return Array.from(this).every((itemSelf,i)=>{let itemThat=entries2[i];return equals(itemSelf[0],itemThat[0])&&equals(itemSelf[1],itemThat[1])})}return!1},[Symbol.iterator](){let stack=[],n=this._root;while(n!=null)stack.push(n),n=n.left;return new RedBlackTreeIterator(this,stack,Direction.Forward)},toString(){return format(this.toJSON())},toJSON(){return{_id:"RedBlackTree",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};var isRedBlackTree=(u)=>hasProperty(u,RedBlackTreeTypeId);var keysForward=(self)=>keys3(self,Direction.Forward);var keys3=(self,direction)=>{let begin=self[Symbol.iterator](),count=0;return{[Symbol.iterator]:()=>keys3(self,direction),next:()=>{count++;let entry=begin.key;if(direction===Direction.Forward)begin.moveNext();else begin.movePrev();switch(entry._tag){case"None":return{done:!0,value:count};case"Some":return{done:!1,value:entry.value}}}}};var keys4=keysForward;var TypeId15=Symbol.for("effect/SortedSet"),SortedSetProto={[TypeId15]:{_A:(_)=>_},[symbol](){return pipe(hash(this.keyTree),combine(hash(TypeId15)),cached(this))},[symbol2](that){return isSortedSet(that)&&equals(this.keyTree,that.keyTree)},[Symbol.iterator](){return keys4(this.keyTree)},toString(){return format(this.toJSON())},toJSON(){return{_id:"SortedSet",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};var isSortedSet=(u)=>hasProperty(u,TypeId15);var SupervisorSymbolKey="effect/Supervisor",SupervisorTypeId=Symbol.for(SupervisorSymbolKey),supervisorVariance={_T:(_)=>_};class ProxySupervisor{underlying;value0;[SupervisorTypeId]=supervisorVariance;constructor(underlying,value0){this.underlying=underlying,this.value0=value0}get value(){return this.value0}onStart(context2,effect,parent,fiber){this.underlying.onStart(context2,effect,parent,fiber)}onEnd(value,fiber){this.underlying.onEnd(value,fiber)}onEffect(fiber,effect){this.underlying.onEffect(fiber,effect)}onSuspend(fiber){this.underlying.onSuspend(fiber)}onResume(fiber){this.underlying.onResume(fiber)}map(f){return new ProxySupervisor(this,pipe(this.value,map9(f)))}zip(right3){return new Zip(this,right3)}}class Zip{left;right;_tag="Zip";[SupervisorTypeId]=supervisorVariance;constructor(left3,right3){this.left=left3,this.right=right3}get value(){return zip2(this.left.value,this.right.value)}onStart(context2,effect,parent,fiber){this.left.onStart(context2,effect,parent,fiber),this.right.onStart(context2,effect,parent,fiber)}onEnd(value,fiber){this.left.onEnd(value,fiber),this.right.onEnd(value,fiber)}onEffect(fiber,effect){this.left.onEffect(fiber,effect),this.right.onEffect(fiber,effect)}onSuspend(fiber){this.left.onSuspend(fiber),this.right.onSuspend(fiber)}onResume(fiber){this.left.onResume(fiber),this.right.onResume(fiber)}map(f){return new ProxySupervisor(this,pipe(this.value,map9(f)))}zip(right3){return new Zip(this,right3)}}var isZip=(self)=>hasProperty(self,SupervisorTypeId)&&isTagged(self,"Zip");class Track{[SupervisorTypeId]=supervisorVariance;fibers=new Set;get value(){return sync(()=>Array.from(this.fibers))}onStart(_context,_effect,_parent,fiber){this.fibers.add(fiber)}onEnd(_value,fiber){this.fibers.delete(fiber)}onEffect(_fiber,_effect){}onSuspend(_fiber){}onResume(_fiber){}map(f){return new ProxySupervisor(this,pipe(this.value,map9(f)))}zip(right3){return new Zip(this,right3)}onRun(execution,_fiber){return execution()}}class Const{effect;[SupervisorTypeId]=supervisorVariance;constructor(effect){this.effect=effect}get value(){return this.effect}onStart(_context,_effect,_parent,_fiber){}onEnd(_value,_fiber){}onEffect(_fiber,_effect){}onSuspend(_fiber){}onResume(_fiber){}map(f){return new ProxySupervisor(this,pipe(this.value,map9(f)))}zip(right3){return new Zip(this,right3)}onRun(execution,_fiber){return execution()}}var unsafeTrack=()=>{return new Track},track=sync(unsafeTrack),fromEffect=(effect)=>{return new Const(effect)},none8=globalValue("effect/Supervisor/none",()=>fromEffect(void_));var make34=make15;var OP_EMPTY3="Empty",OP_ADD_SUPERVISOR="AddSupervisor",OP_REMOVE_SUPERVISOR="RemoveSupervisor",OP_AND_THEN2="AndThen",empty29={_tag:OP_EMPTY3},combine11=(self,that)=>{return{_tag:OP_AND_THEN2,first:self,second:that}},patch11=(self,supervisor)=>{return patchLoop(supervisor,of2(self))},patchLoop=(_supervisor,_patches)=>{let supervisor=_supervisor,patches=_patches;while(isNonEmpty2(patches)){let head4=headNonEmpty2(patches);switch(head4._tag){case OP_EMPTY3:{patches=tailNonEmpty2(patches);break}case OP_ADD_SUPERVISOR:{supervisor=supervisor.zip(head4.supervisor),patches=tailNonEmpty2(patches);break}case OP_REMOVE_SUPERVISOR:{supervisor=removeSupervisor(supervisor,head4.supervisor),patches=tailNonEmpty2(patches);break}case OP_AND_THEN2:{patches=prepend2(head4.first)(prepend2(head4.second)(tailNonEmpty2(patches)));break}}}return supervisor},removeSupervisor=(self,that)=>{if(equals(self,that))return none8;else if(isZip(self))return removeSupervisor(self.left,that).zip(removeSupervisor(self.right,that));else return self},toSet2=(self)=>{if(equals(self,none8))return empty8();else if(isZip(self))return pipe(toSet2(self.left),union3(toSet2(self.right)));else return make11(self)},diff10=(oldValue,newValue)=>{if(equals(oldValue,newValue))return empty29;let oldSupervisors=toSet2(oldValue),newSupervisors=toSet2(newValue),added=pipe(newSupervisors,difference3(oldSupervisors),reduce5(empty29,(patch12,supervisor)=>combine11(patch12,{_tag:OP_ADD_SUPERVISOR,supervisor}))),removed=pipe(oldSupervisors,difference3(newSupervisors),reduce5(empty29,(patch12,supervisor)=>combine11(patch12,{_tag:OP_REMOVE_SUPERVISOR,supervisor})));return combine11(added,removed)},differ2=make34({empty:empty29,patch:patch11,combine:combine11,diff:diff10});var fiberStarted=counter5("effect_fiber_started",{incremental:!0}),fiberActive=counter5("effect_fiber_active"),fiberSuccesses=counter5("effect_fiber_successes",{incremental:!0}),fiberFailures=counter5("effect_fiber_failures",{incremental:!0}),fiberLifetimes=tagged(histogram5("effect_fiber_lifetimes",exponential({start:0.5,factor:2,count:35})),"time_unit","milliseconds"),EvaluationSignalContinue="Continue",EvaluationSignalDone="Done",EvaluationSignalYieldNow="Yield",runtimeFiberVariance={_E:(_)=>_,_A:(_)=>_},absurd=(_)=>{throw new Error(`BUG: FiberRuntime - ${toStringUnknown(_)} - please report an issue at https://github.com/Effect-TS/effect/issues`)},YieldedOp=Symbol.for("effect/internal/fiberRuntime/YieldedOp"),yieldedOpChannel=globalValue("effect/internal/fiberRuntime/yieldedOpChannel",()=>({currentOp:null})),contOpSuccess={[OP_ON_SUCCESS]:(_,cont,value)=>{return internalCall(()=>cont.effect_instruction_i1(value))},["OnStep"]:(_,_cont,value)=>{return exitSucceed(exitSucceed(value))},[OP_ON_SUCCESS_AND_FAILURE]:(_,cont,value)=>{return internalCall(()=>cont.effect_instruction_i2(value))},[OP_REVERT_FLAGS]:(self,cont,value)=>{if(self.patchRuntimeFlags(self.currentRuntimeFlags,cont.patch),interruptible(self.currentRuntimeFlags)&&self.isInterrupted())return exitFailCause(self.getInterruptedCause());else return exitSucceed(value)},[OP_WHILE]:(self,cont,value)=>{if(internalCall(()=>cont.effect_instruction_i2(value)),internalCall(()=>cont.effect_instruction_i0()))return self.pushStack(cont),internalCall(()=>cont.effect_instruction_i1());else return void_},[OP_ITERATOR]:(self,cont,value)=>{let state=internalCall(()=>cont.effect_instruction_i0.next(value));if(state.done)return exitSucceed(state.value);return self.pushStack(cont),yieldWrapGet(state.value)}},drainQueueWhileRunningTable={[OP_INTERRUPT_SIGNAL]:(self,runtimeFlags2,cur,message)=>{return self.processNewInterruptSignal(message.cause),interruptible(runtimeFlags2)?exitFailCause(message.cause):cur},[OP_RESUME]:(_self,_runtimeFlags,_cur,_message)=>{throw new Error("It is illegal to have multiple concurrent run loops in a single fiber")},[OP_STATEFUL]:(self,runtimeFlags2,cur,message)=>{return message.onFiber(self,running2(runtimeFlags2)),cur},[OP_YIELD_NOW]:(_self,_runtimeFlags,cur,_message)=>{return flatMap7(yieldNow(),()=>cur)}},runBlockedRequests=(self)=>forEachSequentialDiscard(flatten3(self),(requestsByRequestResolver)=>forEachConcurrentDiscard(sequentialCollectionToChunk(requestsByRequestResolver),([dataSource,sequential4])=>{let map10=new Map,arr=[];for(let block of sequential4){arr.push(toReadonlyArray(block));for(let entry of block)map10.set(entry.request,entry)}let flat=arr.flat();return fiberRefLocally(invokeWithInterrupt(dataSource.runAll(arr),flat,()=>flat.forEach((entry)=>{entry.listeners.interrupted=!0})),currentRequestMap,map10)},!1,!1)),_version=getCurrentVersion();class FiberRuntime extends Class{[FiberTypeId]=fiberVariance2;[RuntimeFiberTypeId]=runtimeFiberVariance;_fiberRefs;_fiberId;_queue=new Array;_children=null;_observers=new Array;_running=!1;_stack=[];_asyncInterruptor=null;_asyncBlockingOn=null;_exitValue=null;_steps=[];_isYielding=!1;currentRuntimeFlags;currentOpCount=0;currentSupervisor;currentScheduler;currentTracer;currentSpan;currentContext;currentDefaultServices;constructor(fiberId2,fiberRefs0,runtimeFlags0){super();if(this.currentRuntimeFlags=runtimeFlags0,this._fiberId=fiberId2,this._fiberRefs=fiberRefs0,runtimeMetrics(runtimeFlags0)){let tags=this.getFiberRef(currentMetricLabels);fiberStarted.unsafeUpdate(1,tags),fiberActive.unsafeUpdate(1,tags)}this.refreshRefCache()}commit(){return join2(this)}id(){return this._fiberId}resume(effect){this.tell(resume(effect))}get status(){return this.ask((_,status)=>status)}get runtimeFlags(){return this.ask((state,status)=>{if(isDone2(status))return state.currentRuntimeFlags;return status.runtimeFlags})}scope(){return unsafeMake7(this)}get children(){return this.ask((fiber)=>Array.from(fiber.getChildren()))}getChildren(){if(this._children===null)this._children=new Set;return this._children}getInterruptedCause(){return this.getFiberRef(currentInterruptedCause)}fiberRefs(){return this.ask((fiber)=>fiber.getFiberRefs())}ask(f){return suspend(()=>{let deferred=deferredUnsafeMake(this._fiberId);return this.tell(stateful((fiber,status)=>{deferredUnsafeDone(deferred,sync(()=>f(fiber,status)))})),deferredAwait(deferred)})}tell(message){if(this._queue.push(message),!this._running)this._running=!0,this.drainQueueLaterOnExecutor()}get await(){return async_((resume2)=>{let cb=(exit2)=>resume2(succeed(exit2));return this.tell(stateful((fiber,_)=>{if(fiber._exitValue!==null)cb(this._exitValue);else fiber.addObserver(cb)})),sync(()=>this.tell(stateful((fiber,_)=>{fiber.removeObserver(cb)})))},this.id())}get inheritAll(){return withFiberRuntime((parentFiber,parentStatus)=>{let parentFiberId=parentFiber.id(),parentFiberRefs=parentFiber.getFiberRefs(),parentRuntimeFlags=parentStatus.runtimeFlags,childFiberRefs=this.getFiberRefs(),updatedFiberRefs=joinAs(parentFiberRefs,parentFiberId,childFiberRefs);parentFiber.setFiberRefs(updatedFiberRefs);let updatedRuntimeFlags=parentFiber.getFiberRef(currentRuntimeFlags),patch12=pipe(diff7(parentRuntimeFlags,updatedRuntimeFlags),exclude2(Interruption),exclude2(WindDown));return updateRuntimeFlags(patch12)})}get poll(){return sync(()=>fromNullable(this._exitValue))}unsafePoll(){return this._exitValue}interruptAsFork(fiberId2){return sync(()=>this.tell(interruptSignal(interrupt(fiberId2))))}unsafeInterruptAsFork(fiberId2){this.tell(interruptSignal(interrupt(fiberId2)))}addObserver(observer){if(this._exitValue!==null)observer(this._exitValue);else this._observers.push(observer)}removeObserver(observer){this._observers=this._observers.filter((o)=>o!==observer)}getFiberRefs(){return this.setFiberRef(currentRuntimeFlags,this.currentRuntimeFlags),this._fiberRefs}unsafeDeleteFiberRef(fiberRef){this._fiberRefs=delete_(this._fiberRefs,fiberRef)}getFiberRef(fiberRef){if(this._fiberRefs.locals.has(fiberRef))return this._fiberRefs.locals.get(fiberRef)[0][1];return fiberRef.initial}setFiberRef(fiberRef,value){this._fiberRefs=updateAs(this._fiberRefs,{fiberId:this._fiberId,fiberRef,value}),this.refreshRefCache()}refreshRefCache(){this.currentDefaultServices=this.getFiberRef(currentServices),this.currentTracer=this.currentDefaultServices.unsafeMap.get(tracerTag.key),this.currentSupervisor=this.getFiberRef(currentSupervisor),this.currentScheduler=this.getFiberRef(currentScheduler),this.currentContext=this.getFiberRef(currentContext),this.currentSpan=this.currentContext.unsafeMap.get(spanTag.key)}setFiberRefs(fiberRefs3){this._fiberRefs=fiberRefs3,this.refreshRefCache()}addChild(child){this.getChildren().add(child)}removeChild(child){this.getChildren().delete(child)}transferChildren(scope){let children=this._children;if(this._children=null,children!==null&&children.size>0){for(let child of children)if(child._exitValue===null)scope.add(this.currentRuntimeFlags,child)}}drainQueueOnCurrentThread(){let recurse=!0;while(recurse){let evaluationSignal=EvaluationSignalContinue,prev=globalThis[currentFiberURI];globalThis[currentFiberURI]=this;try{while(evaluationSignal===EvaluationSignalContinue)evaluationSignal=this._queue.length===0?EvaluationSignalDone:this.evaluateMessageWhileSuspended(this._queue.splice(0,1)[0])}finally{this._running=!1,globalThis[currentFiberURI]=prev}if(this._queue.length>0&&!this._running)if(this._running=!0,evaluationSignal===EvaluationSignalYieldNow)this.drainQueueLaterOnExecutor(),recurse=!1;else recurse=!0;else recurse=!1}}drainQueueLaterOnExecutor(){this.currentScheduler.scheduleTask(this.run,this.getFiberRef(currentSchedulingPriority))}drainQueueWhileRunning(runtimeFlags2,cur0){let cur=cur0;while(this._queue.length>0){let message=this._queue.splice(0,1)[0];cur=drainQueueWhileRunningTable[message._tag](this,runtimeFlags2,cur,message)}return cur}isInterrupted(){return!isEmpty5(this.getFiberRef(currentInterruptedCause))}addInterruptedCause(cause2){let oldSC=this.getFiberRef(currentInterruptedCause);this.setFiberRef(currentInterruptedCause,sequential(oldSC,cause2))}processNewInterruptSignal(cause2){this.addInterruptedCause(cause2),this.sendInterruptSignalToAllChildren()}sendInterruptSignalToAllChildren(){if(this._children===null||this._children.size===0)return!1;let told=!1;for(let child of this._children)child.tell(interruptSignal(interrupt(this.id()))),told=!0;return told}interruptAllChildren(){if(this.sendInterruptSignalToAllChildren()){let it=this._children.values();this._children=null;let isDone3=!1;return whileLoop({while:()=>!isDone3,body:()=>{let next=it.next();if(!next.done)return asVoid(next.value.await);else return sync(()=>{isDone3=!0})},step:()=>{}})}return null}reportExitValue(exit2){if(runtimeMetrics(this.currentRuntimeFlags)){let tags=this.getFiberRef(currentMetricLabels),startTimeMillis=this.id().startTimeMillis,endTimeMillis=Date.now();switch(fiberLifetimes.unsafeUpdate(endTimeMillis-startTimeMillis,tags),fiberActive.unsafeUpdate(-1,tags),exit2._tag){case OP_SUCCESS:{fiberSuccesses.unsafeUpdate(1,tags);break}case OP_FAILURE:{fiberFailures.unsafeUpdate(1,tags);break}}}if(exit2._tag==="Failure"){let level=this.getFiberRef(currentUnhandledErrorLogLevel);if(!isInterruptedOnly(exit2.cause)&&level._tag==="Some")this.log("Fiber terminated with an unhandled error",exit2.cause,level)}}setExitValue(exit2){this._exitValue=exit2,this.reportExitValue(exit2);for(let i=this._observers.length-1;i>=0;i--)this._observers[i](exit2);this._observers=[]}getLoggers(){return this.getFiberRef(currentLoggers)}log(message,cause2,overrideLogLevel){let logLevel=isSome2(overrideLogLevel)?overrideLogLevel.value:this.getFiberRef(currentLogLevel),minimumLogLevel=this.getFiberRef(currentMinimumLogLevel);if(greaterThan2(minimumLogLevel,logLevel))return;let spans=this.getFiberRef(currentLogSpan),annotations2=this.getFiberRef(currentLogAnnotations),loggers=this.getLoggers(),contextMap=this.getFiberRefs();if(size3(loggers)>0){let clockService=get3(this.getFiberRef(currentServices),clockTag),date=new Date(clockService.unsafeCurrentTimeMillis());withRedactableContext(contextMap,()=>{for(let logger of loggers)logger.log({fiberId:this.id(),logLevel,message,cause:cause2,context:contextMap,spans,annotations:annotations2,date})})}}evaluateMessageWhileSuspended(message){switch(message._tag){case OP_YIELD_NOW:return EvaluationSignalYieldNow;case OP_INTERRUPT_SIGNAL:{if(this.processNewInterruptSignal(message.cause),this._asyncInterruptor!==null)this._asyncInterruptor(exitFailCause(message.cause)),this._asyncInterruptor=null;return EvaluationSignalContinue}case OP_RESUME:return this._asyncInterruptor=null,this._asyncBlockingOn=null,this.evaluateEffect(message.effect),EvaluationSignalContinue;case OP_STATEFUL:return message.onFiber(this,this._exitValue!==null?done4:suspended2(this.currentRuntimeFlags,this._asyncBlockingOn)),EvaluationSignalContinue;default:return absurd(message)}}evaluateEffect(effect0){this.currentSupervisor.onResume(this);try{let effect=interruptible(this.currentRuntimeFlags)&&this.isInterrupted()?exitFailCause(this.getInterruptedCause()):effect0;while(effect!==null){let eff=effect,exit2=this.runLoop(eff);if(exit2===YieldedOp){let op=yieldedOpChannel.currentOp;if(yieldedOpChannel.currentOp=null,op._op===OP_YIELD)if(cooperativeYielding(this.currentRuntimeFlags))this.tell(yieldNow3()),this.tell(resume(exitVoid)),effect=null;else effect=exitVoid;else if(op._op===OP_ASYNC)effect=null}else{this.currentRuntimeFlags=pipe(this.currentRuntimeFlags,enable2(WindDown));let interruption2=this.interruptAllChildren();if(interruption2!==null)effect=flatMap7(interruption2,()=>exit2);else{if(this._queue.length===0)this.setExitValue(exit2);else this.tell(resume(exit2));effect=null}}}}finally{this.currentSupervisor.onSuspend(this)}}start(effect){if(!this._running){this._running=!0;let prev=globalThis[currentFiberURI];globalThis[currentFiberURI]=this;try{this.evaluateEffect(effect)}finally{if(this._running=!1,globalThis[currentFiberURI]=prev,this._queue.length>0)this.drainQueueLaterOnExecutor()}}else this.tell(resume(effect))}startFork(effect){this.tell(resume(effect))}patchRuntimeFlags(oldRuntimeFlags,patch12){let newRuntimeFlags=patch7(oldRuntimeFlags,patch12);return globalThis[currentFiberURI]=this,this.currentRuntimeFlags=newRuntimeFlags,newRuntimeFlags}initiateAsync(runtimeFlags2,asyncRegister){let alreadyCalled=!1,callback=(effect)=>{if(!alreadyCalled)alreadyCalled=!0,this.tell(resume(effect))};if(interruptible(runtimeFlags2))this._asyncInterruptor=callback;try{asyncRegister(callback)}catch(e){callback(failCause(die(e)))}}pushStack(cont){if(this._stack.push(cont),cont._op==="OnStep")this._steps.push({refs:this.getFiberRefs(),flags:this.currentRuntimeFlags})}popStack(){let item=this._stack.pop();if(item){if(item._op==="OnStep")this._steps.pop();return item}return}getNextSuccessCont(){let frame=this.popStack();while(frame){if(frame._op!==OP_ON_FAILURE)return frame;frame=this.popStack()}}getNextFailCont(){let frame=this.popStack();while(frame){if(frame._op!==OP_ON_SUCCESS&&frame._op!==OP_WHILE&&frame._op!==OP_ITERATOR)return frame;frame=this.popStack()}}[OP_TAG](op){return sync(()=>unsafeGet3(this.currentContext,op))}["Left"](op){return fail2(op.left)}["None"](_){return fail2(new NoSuchElementException)}["Right"](op){return exitSucceed(op.right)}["Some"](op){return exitSucceed(op.value)}["Micro"](op){return unsafeAsync((microResume)=>{let resume2=microResume,fiber=runFork(provideContext2(op,this.currentContext));return fiber.addObserver((exit2)=>{if(exit2._tag==="Success")return resume2(exitSucceed(exit2.value));switch(exit2.cause._tag){case"Interrupt":return resume2(exitFailCause(interrupt(none4)));case"Fail":return resume2(fail2(exit2.cause.error));case"Die":return resume2(die2(exit2.cause.defect))}}),unsafeAsync((abortResume)=>{resume2=(_)=>{abortResume(void_)},fiber.unsafeInterrupt()})})}[OP_SYNC](op){let value=internalCall(()=>op.effect_instruction_i0()),cont=this.getNextSuccessCont();if(cont!==void 0){if(!(cont._op in contOpSuccess))absurd(cont);return contOpSuccess[cont._op](this,cont,value)}else return yieldedOpChannel.currentOp=exitSucceed(value),YieldedOp}[OP_SUCCESS](op){let oldCur=op,cont=this.getNextSuccessCont();if(cont!==void 0){if(!(cont._op in contOpSuccess))absurd(cont);return contOpSuccess[cont._op](this,cont,oldCur.effect_instruction_i0)}else return yieldedOpChannel.currentOp=oldCur,YieldedOp}[OP_FAILURE](op){let cause2=op.effect_instruction_i0,cont=this.getNextFailCont();if(cont!==void 0)switch(cont._op){case OP_ON_FAILURE:case OP_ON_SUCCESS_AND_FAILURE:if(!(interruptible(this.currentRuntimeFlags)&&this.isInterrupted()))return internalCall(()=>cont.effect_instruction_i1(cause2));else return exitFailCause(stripFailures(cause2));case"OnStep":if(!(interruptible(this.currentRuntimeFlags)&&this.isInterrupted()))return exitSucceed(exitFailCause(cause2));else return exitFailCause(stripFailures(cause2));case OP_REVERT_FLAGS:if(this.patchRuntimeFlags(this.currentRuntimeFlags,cont.patch),interruptible(this.currentRuntimeFlags)&&this.isInterrupted())return exitFailCause(sequential(cause2,this.getInterruptedCause()));else return exitFailCause(cause2);default:absurd(cont)}else return yieldedOpChannel.currentOp=exitFailCause(cause2),YieldedOp}[OP_WITH_RUNTIME](op){return internalCall(()=>op.effect_instruction_i0(this,running2(this.currentRuntimeFlags)))}["Blocked"](op){let refs=this.getFiberRefs(),flags=this.currentRuntimeFlags;if(this._steps.length>0){let frames=[],snap=this._steps[this._steps.length-1],frame=this.popStack();while(frame&&frame._op!=="OnStep")frames.push(frame),frame=this.popStack();this.setFiberRefs(snap.refs),this.currentRuntimeFlags=snap.flags;let patchRefs=diff9(snap.refs,refs),patchFlags=diff7(snap.flags,flags);return exitSucceed(blocked(op.effect_instruction_i0,withFiberRuntime((newFiber)=>{while(frames.length>0)newFiber.pushStack(frames.pop());return newFiber.setFiberRefs(patch10(newFiber.id(),newFiber.getFiberRefs())(patchRefs)),newFiber.currentRuntimeFlags=patch7(patchFlags)(newFiber.currentRuntimeFlags),op.effect_instruction_i1})))}return uninterruptibleMask((restore)=>flatMap7(forkDaemon(runRequestBlock(op.effect_instruction_i0)),()=>restore(op.effect_instruction_i1)))}["RunBlocked"](op){return runBlockedRequests(op.effect_instruction_i0)}[OP_UPDATE_RUNTIME_FLAGS](op){let updateFlags=op.effect_instruction_i0,oldRuntimeFlags=this.currentRuntimeFlags,newRuntimeFlags=patch7(oldRuntimeFlags,updateFlags);if(interruptible(newRuntimeFlags)&&this.isInterrupted())return exitFailCause(this.getInterruptedCause());else if(this.patchRuntimeFlags(this.currentRuntimeFlags,updateFlags),op.effect_instruction_i1){let revertFlags=diff7(newRuntimeFlags,oldRuntimeFlags);return this.pushStack(new RevertFlags(revertFlags,op)),internalCall(()=>op.effect_instruction_i1(oldRuntimeFlags))}else return exitVoid}[OP_ON_SUCCESS](op){return this.pushStack(op),op.effect_instruction_i0}["OnStep"](op){return this.pushStack(op),op.effect_instruction_i0}[OP_ON_FAILURE](op){return this.pushStack(op),op.effect_instruction_i0}[OP_ON_SUCCESS_AND_FAILURE](op){return this.pushStack(op),op.effect_instruction_i0}[OP_ASYNC](op){return this._asyncBlockingOn=op.effect_instruction_i1,this.initiateAsync(this.currentRuntimeFlags,op.effect_instruction_i0),yieldedOpChannel.currentOp=op,YieldedOp}[OP_YIELD](op){return this._isYielding=!1,yieldedOpChannel.currentOp=op,YieldedOp}[OP_WHILE](op){let{effect_instruction_i0:check,effect_instruction_i1:body}=op;if(check())return this.pushStack(op),body();else return exitVoid}[OP_ITERATOR](op){return contOpSuccess[OP_ITERATOR](this,op,void 0)}[OP_COMMIT](op){return internalCall(()=>op.commit())}runLoop(effect0){let cur=effect0;this.currentOpCount=0;while(!0){if((this.currentRuntimeFlags&OpSupervision)!==0)this.currentSupervisor.onEffect(this,cur);if(this._queue.length>0)cur=this.drainQueueWhileRunning(this.currentRuntimeFlags,cur);if(!this._isYielding){this.currentOpCount+=1;let shouldYield=this.currentScheduler.shouldYield(this);if(shouldYield!==!1){this._isYielding=!0,this.currentOpCount=0;let oldCur=cur;cur=flatMap7(yieldNow({priority:shouldYield}),()=>oldCur)}}try{if(cur=this.currentTracer.context(()=>{if(_version!==cur[EffectTypeId2]._V)return dieMessage(`Cannot execute an Effect versioned ${cur[EffectTypeId2]._V} with a Runtime of version ${getCurrentVersion()}`);return this[cur._op](cur)},this),cur===YieldedOp){let op=yieldedOpChannel.currentOp;if(op._op===OP_YIELD||op._op===OP_ASYNC)return YieldedOp;return yieldedOpChannel.currentOp=null,op._op===OP_SUCCESS||op._op===OP_FAILURE?op:exitFailCause(die(op))}}catch(e){if(cur!==YieldedOp&&!hasProperty(cur,"_op")||!(cur._op in this))cur=dieMessage(`Not a valid effect: ${toStringUnknown(cur)}`);else if(isInterruptedException(e))cur=exitFailCause(sequential(die(e),interrupt(none4)));else cur=die2(e)}}}run=()=>{this.drainQueueOnCurrentThread()}}var currentMinimumLogLevel=globalValue("effect/FiberRef/currentMinimumLogLevel",()=>fiberRefUnsafeMake(fromLiteral("Info"))),loggerWithConsoleLog=(self)=>makeLogger((opts)=>{let services=getOrDefault2(opts.context,currentServices);get3(services,consoleTag).unsafe.log(self.log(opts))});var defaultLogger=globalValue(Symbol.for("effect/Logger/defaultLogger"),()=>loggerWithConsoleLog(stringLogger));var tracerLogger=globalValue(Symbol.for("effect/Logger/tracerLogger"),()=>makeLogger(({annotations:annotations2,cause:cause2,context:context2,fiberId:fiberId2,logLevel,message})=>{let span2=getOption2(getOrDefault(context2,currentContext),spanTag);if(span2._tag==="None"||span2.value._tag==="ExternalSpan")return;let clockService=unsafeGet3(getOrDefault(context2,currentServices),clockTag),attributes={};for(let[key,value]of annotations2)attributes[key]=value;if(attributes["effect.fiberId"]=threadName2(fiberId2),attributes["effect.logLevel"]=logLevel.label,cause2!==null&&cause2._tag!=="Empty")attributes["effect.cause"]=pretty(cause2,{renderErrorCause:!0});span2.value.event(toStringUnknown(Array.isArray(message)?message[0]:message),clockService.unsafeCurrentTimeNanos(),attributes)}));var currentLoggers=globalValue(Symbol.for("effect/FiberRef/currentLoggers"),()=>fiberRefUnsafeMakeHashSet(make11(defaultLogger,tracerLogger)));var annotateLogsScoped=function(){if(typeof arguments[0]==="string")return fiberRefLocallyScopedWith(currentLogAnnotations,set3(arguments[0],arguments[1]));let entries2=Object.entries(arguments[0]);return fiberRefLocallyScopedWith(currentLogAnnotations,mutate3((annotations2)=>{for(let i=0;i<entries2.length;i++){let[key,value]=entries2[i];set3(annotations2,key,value)}return annotations2}))},whenLogLevel=dual(2,(effect,level)=>{let requiredLogLevel=typeof level==="string"?fromLiteral(level):level;return withFiberRuntime((fiberState)=>{let minimumLogLevel=fiberState.getFiberRef(currentMinimumLogLevel);if(greaterThan2(minimumLogLevel,requiredLogLevel))return succeed(none2());return map9(effect,some2)})}),acquireRelease=dual((args2)=>isEffect(args2[0]),(acquire,release)=>uninterruptible(tap(acquire,(a)=>addFinalizer((exit2)=>release(a,exit2))))),acquireReleaseInterruptible=dual((args2)=>isEffect(args2[0]),(acquire,release)=>ensuring(acquire,addFinalizer((exit2)=>release(exit2)))),addFinalizer=(finalizer)=>withFiberRuntime((runtime2)=>{let acquireRefs=runtime2.getFiberRefs(),acquireFlags=runtime2.currentRuntimeFlags;return flatMap7(scope,(scope)=>scopeAddFinalizerExit(scope,(exit2)=>withFiberRuntime((runtimeFinalizer)=>{let preRefs=runtimeFinalizer.getFiberRefs(),preFlags=runtimeFinalizer.currentRuntimeFlags,patchRefs=diff9(preRefs,acquireRefs),patchFlags=diff7(preFlags,acquireFlags),inverseRefs=diff9(acquireRefs,preRefs);return runtimeFinalizer.setFiberRefs(patch10(patchRefs,runtimeFinalizer.id(),acquireRefs)),ensuring(withRuntimeFlags(finalizer(exit2),patchFlags),sync(()=>{runtimeFinalizer.setFiberRefs(patch10(inverseRefs,runtimeFinalizer.id(),runtimeFinalizer.getFiberRefs()))}))})))}),daemonChildren=(self)=>{return fiberRefLocally(currentForkScopeOverride,some2(globalScope))(self)},_existsParFound=Symbol.for("effect/Effect/existsPar/found"),exists2=dual((args2)=>isIterable(args2[0])&&!isEffect(args2[0]),(elements,predicate,options)=>matchSimple(options?.concurrency,()=>suspend(()=>existsLoop(elements[Symbol.iterator](),0,predicate)),()=>matchEffect(forEach7(elements,(a,i)=>if_(predicate(a,i),{onTrue:()=>fail2(_existsParFound),onFalse:()=>void_}),options),{onFailure:(e)=>e===_existsParFound?succeed(!0):fail2(e),onSuccess:()=>succeed(!1)}))),existsLoop=(iterator,index,f)=>{let next=iterator.next();if(next.done)return succeed(!1);return pipe(flatMap7(f(next.value,index),(b)=>b?succeed(b):existsLoop(iterator,index+1,f)))},filter5=dual((args2)=>isIterable(args2[0])&&!isEffect(args2[0]),(elements,predicate,options)=>{let predicate_=options?.negate?(a,i)=>map9(predicate(a,i),not):predicate;return matchSimple(options?.concurrency,()=>suspend(()=>fromIterable(elements).reduceRight((effect,a,i)=>zipWith2(effect,suspend(()=>predicate_(a,i)),(list,b)=>b?[a,...list]:list),sync(()=>new Array))),()=>map9(forEach7(elements,(a,i)=>map9(predicate_(a,i),(b)=>b?some2(a):none2()),options),getSomes))}),allResolveInput=(input)=>{if(Array.isArray(input)||isIterable(input))return[input,none2()];let keys5=Object.keys(input),size8=keys5.length;return[keys5.map((k)=>input[k]),some2((values3)=>{let res={};for(let i=0;i<size8;i++)res[keys5[i]]=values3[i];return res})]},allValidate=(effects,reconcile,options)=>{let eitherEffects=[];for(let effect of effects)eitherEffects.push(either2(effect));return flatMap7(forEach7(eitherEffects,identity,{concurrency:options?.concurrency,batching:options?.batching,concurrentFinalizers:options?.concurrentFinalizers}),(eithers)=>{let none9=none2(),size8=eithers.length,errors=new Array(size8),successes=new Array(size8),errored=!1;for(let i=0;i<size8;i++){let either3=eithers[i];if(either3._tag==="Left")errors[i]=some2(either3.left),errored=!0;else successes[i]=either3.right,errors[i]=none9}if(errored)return reconcile._tag==="Some"?fail2(reconcile.value(errors)):fail2(errors);else if(options?.discard)return void_;return reconcile._tag==="Some"?succeed(reconcile.value(successes)):succeed(successes)})},allEither=(effects,reconcile,options)=>{let eitherEffects=[];for(let effect of effects)eitherEffects.push(either2(effect));if(options?.discard)return forEach7(eitherEffects,identity,{concurrency:options?.concurrency,batching:options?.batching,discard:!0,concurrentFinalizers:options?.concurrentFinalizers});return map9(forEach7(eitherEffects,identity,{concurrency:options?.concurrency,batching:options?.batching,concurrentFinalizers:options?.concurrentFinalizers}),(eithers)=>reconcile._tag==="Some"?reconcile.value(eithers):eithers)},all2=(arg,options)=>{let[effects,reconcile]=allResolveInput(arg);if(options?.mode==="validate")return allValidate(effects,reconcile,options);else if(options?.mode==="either")return allEither(effects,reconcile,options);return options?.discard!==!0&&reconcile._tag==="Some"?map9(forEach7(effects,identity,options),reconcile.value):forEach7(effects,identity,options)},allWith=(options)=>(arg)=>all2(arg,options),allSuccesses=(elements,options)=>map9(all2(fromIterable(elements).map(exit),options),filterMap((exit2)=>exitIsSuccess(exit2)?some2(exit2.effect_instruction_i0):none2())),replicate=dual(2,(self,n)=>Array.from({length:n},()=>self)),replicateEffect=dual((args2)=>isEffect(args2[0]),(self,n,options)=>all2(replicate(self,n),options)),forEach7=dual((args2)=>isIterable(args2[0]),(self,f,options)=>withFiberRuntime((r)=>{let isRequestBatchingEnabled=options?.batching===!0||options?.batching==="inherit"&&r.getFiberRef(currentRequestBatching);if(options?.discard)return match8(options.concurrency,()=>finalizersMaskInternal(sequential3,options?.concurrentFinalizers)((restore)=>isRequestBatchingEnabled?forEachConcurrentDiscard(self,(a,i)=>restore(f(a,i)),!0,!1,1):forEachSequentialDiscard(self,(a,i)=>restore(f(a,i)))),()=>finalizersMaskInternal(parallel3,options?.concurrentFinalizers)((restore)=>forEachConcurrentDiscard(self,(a,i)=>restore(f(a,i)),isRequestBatchingEnabled,!1)),(n)=>finalizersMaskInternal(parallelN2(n),options?.concurrentFinalizers)((restore)=>forEachConcurrentDiscard(self,(a,i)=>restore(f(a,i)),isRequestBatchingEnabled,!1,n)));return match8(options?.concurrency,()=>finalizersMaskInternal(sequential3,options?.concurrentFinalizers)((restore)=>isRequestBatchingEnabled?forEachParN(self,1,(a,i)=>restore(f(a,i)),!0):forEachSequential(self,(a,i)=>restore(f(a,i)))),()=>finalizersMaskInternal(parallel3,options?.concurrentFinalizers)((restore)=>forEachParUnbounded(self,(a,i)=>restore(f(a,i)),isRequestBatchingEnabled)),(n)=>finalizersMaskInternal(parallelN2(n),options?.concurrentFinalizers)((restore)=>forEachParN(self,n,(a,i)=>restore(f(a,i)),isRequestBatchingEnabled)))})),forEachParUnbounded=(self,f,batching)=>suspend(()=>{let as2=fromIterable(self),array4=new Array(as2.length);return zipRight(forEachConcurrentDiscard(as2,(a,i)=>flatMap7(f(a,i),(b)=>sync(()=>array4[i]=b)),batching,!1),succeed(array4))}),forEachConcurrentDiscard=(self,f,batching,processAll,n)=>uninterruptibleMask((restore)=>transplant((graft)=>withFiberRuntime((parent)=>{let todos=Array.from(self).reverse(),target=todos.length;if(target===0)return void_;let counter6=0,interrupted=!1,fibersCount=n?Math.min(todos.length,n):todos.length,fibers=new Set,results=new Array,interruptAll=()=>fibers.forEach((fiber)=>{fiber.currentScheduler.scheduleTask(()=>{fiber.unsafeInterruptAsFork(parent.id())},0)}),startOrder=new Array,joinOrder=new Array,residual=new Array,collectExits=()=>{let exits=results.filter(({exit:exit2})=>exit2._tag==="Failure").sort((a,b)=>a.index<b.index?-1:a.index===b.index?0:1).map(({exit:exit2})=>exit2);if(exits.length===0)exits.push(exitVoid);return exits},runFiber=(eff,interruptImmediately=!1)=>{let runnable=uninterruptible(graft(eff)),fiber=unsafeForkUnstarted(runnable,parent,parent.currentRuntimeFlags,globalScope);return parent.currentScheduler.scheduleTask(()=>{if(interruptImmediately)fiber.unsafeInterruptAsFork(parent.id());fiber.resume(runnable)},0),fiber},onInterruptSignal=()=>{if(!processAll)target-=todos.length,todos=[];interrupted=!0,interruptAll()},stepOrExit=batching?step2:exit,processingFiber=runFiber(async_((resume2)=>{let pushResult=(res,index)=>{if(res._op==="Blocked")residual.push(res);else if(results.push({index,exit:res}),res._op==="Failure"&&!interrupted)onInterruptSignal()},next=()=>{if(todos.length>0){let a=todos.pop(),index=counter6++,returnNextElement=()=>{let a2=todos.pop();return index=counter6++,flatMap7(yieldNow(),()=>flatMap7(stepOrExit(restore(f(a2,index))),onRes))},onRes=(res)=>{if(todos.length>0){if(pushResult(res,index),todos.length>0)return returnNextElement()}return succeed(res)},todo=flatMap7(stepOrExit(restore(f(a,index))),onRes),fiber=runFiber(todo);if(startOrder.push(fiber),fibers.add(fiber),interrupted)fiber.currentScheduler.scheduleTask(()=>{fiber.unsafeInterruptAsFork(parent.id())},0);fiber.addObserver((wrapped)=>{let exit2;if(wrapped._op==="Failure")exit2=wrapped;else exit2=wrapped.effect_instruction_i0;if(joinOrder.push(fiber),fibers.delete(fiber),pushResult(exit2,index),results.length===target)resume2(succeed(getOrElse(exitCollectAll(collectExits(),{parallel:!0}),()=>exitVoid)));else if(residual.length+results.length===target){let exits=collectExits(),requests=residual.map((blocked2)=>blocked2.effect_instruction_i0).reduce(par);resume2(succeed(blocked(requests,forEachConcurrentDiscard([getOrElse(exitCollectAll(exits,{parallel:!0}),()=>exitVoid),...residual.map((blocked2)=>blocked2.effect_instruction_i1)],(i)=>i,batching,!0,n))))}else next()})}};for(let i=0;i<fibersCount;i++)next()}));return asVoid(onExit(flatten5(restore(join2(processingFiber))),exitMatch({onFailure:(cause2)=>{onInterruptSignal();let target2=residual.length+1,concurrency=Math.min(typeof n==="number"?n:residual.length,residual.length),toPop=Array.from(residual);return async_((cb)=>{let exits=[],count=0,index=0,check=(index2,hitNext)=>(exit2)=>{if(exits[index2]=exit2,count++,count===target2)cb(exitSucceed(exitFailCause(cause2)));if(toPop.length>0&&hitNext)next()},next=()=>{runFiber(toPop.pop(),!0).addObserver(check(index,!0)),index++};processingFiber.addObserver(check(index,!1)),index++;for(let i=0;i<concurrency;i++)next()})},onSuccess:()=>forEachSequential(joinOrder,(f2)=>f2.inheritAll)})))}))),forEachParN=(self,n,f,batching)=>suspend(()=>{let as2=fromIterable(self),array4=new Array(as2.length);return zipRight(forEachConcurrentDiscard(as2,(a,i)=>map9(f(a,i),(b)=>array4[i]=b),batching,!1,n),succeed(array4))}),fork=(self)=>withFiberRuntime((state,status)=>succeed(unsafeFork(self,state,status.runtimeFlags))),forkDaemon=(self)=>forkWithScopeOverride(self,globalScope),forkWithErrorHandler=dual(2,(self,handler)=>fork(onError(self,(cause2)=>{let either3=failureOrCause(cause2);switch(either3._tag){case"Left":return handler(either3.left);case"Right":return failCause(either3.right)}}))),unsafeFork=(effect,parentFiber,parentRuntimeFlags,overrideScope=null)=>{let childFiber=unsafeMakeChildFiber(effect,parentFiber,parentRuntimeFlags,overrideScope);return childFiber.resume(effect),childFiber},unsafeForkUnstarted=(effect,parentFiber,parentRuntimeFlags,overrideScope=null)=>{return unsafeMakeChildFiber(effect,parentFiber,parentRuntimeFlags,overrideScope)},unsafeMakeChildFiber=(effect,parentFiber,parentRuntimeFlags,overrideScope=null)=>{let childId=unsafeMake3(),parentFiberRefs=parentFiber.getFiberRefs(),childFiberRefs=forkAs(parentFiberRefs,childId),childFiber=new FiberRuntime(childId,childFiberRefs,parentRuntimeFlags),childContext=getOrDefault(childFiberRefs,currentContext),supervisor=childFiber.currentSupervisor;return supervisor.onStart(childContext,effect,some2(parentFiber),childFiber),childFiber.addObserver((exit2)=>supervisor.onEnd(exit2,childFiber)),(overrideScope!==null?overrideScope:pipe(parentFiber.getFiberRef(currentForkScopeOverride),getOrElse(()=>parentFiber.scope()))).add(parentRuntimeFlags,childFiber),childFiber},forkWithScopeOverride=(self,scopeOverride)=>withFiberRuntime((parentFiber,parentStatus)=>succeed(unsafeFork(self,parentFiber,parentStatus.runtimeFlags,scopeOverride))),mergeAll3=dual((args2)=>isFunction2(args2[2]),(elements,zero3,f,options)=>matchSimple(options?.concurrency,()=>fromIterable(elements).reduce((acc,a,i)=>zipWith2(acc,a,(acc2,a2)=>f(acc2,a2,i)),succeed(zero3)),()=>flatMap7(make28(zero3),(acc)=>flatMap7(forEach7(elements,(effect,i)=>flatMap7(effect,(a)=>update3(acc,(b)=>f(b,a,i))),options),()=>get12(acc))))),partition3=dual((args2)=>isIterable(args2[0]),(elements,f,options)=>pipe(forEach7(elements,(a,i)=>either2(f(a,i)),options),map9((chunk2)=>partitionMap2(chunk2,identity)))),validateAll=dual((args2)=>isIterable(args2[0]),(elements,f,options)=>flatMap7(partition3(elements,f,{concurrency:options?.concurrency,batching:options?.batching,concurrentFinalizers:options?.concurrentFinalizers}),([es,bs])=>isNonEmptyArray2(es)?fail2(es):options?.discard?void_:succeed(bs))),raceAll=(all3)=>{let list=fromIterable2(all3);if(!isNonEmpty2(list))return dieSync(()=>new IllegalArgumentException("Received an empty collection of effects"));let self=headNonEmpty2(list),effects=tailNonEmpty2(list),inheritAll2=(res)=>pipe(inheritAll(res[1]),as(res[0]));return pipe(deferredMake(),flatMap7((done5)=>pipe(make28(effects.length),flatMap7((fails)=>uninterruptibleMask((restore)=>pipe(fork(interruptible2(self)),flatMap7((head4)=>pipe(effects,forEachSequential((effect)=>fork(interruptible2(effect))),map9((fibers)=>unsafeFromArray(fibers)),map9((tail)=>pipe(tail,prepend2(head4))),tap((fibers)=>pipe(fibers,reduce(void_,(effect,fiber)=>pipe(effect,zipRight(pipe(_await2(fiber),flatMap7(raceAllArbiter(fibers,fiber,done5,fails)),fork,asVoid)))))),flatMap7((fibers)=>pipe(restore(pipe(_await(done5),flatMap7(inheritAll2))),onInterrupt(()=>pipe(fibers,reduce(void_,(effect,fiber)=>pipe(effect,zipLeft(interruptFiber(fiber))))))))))))))))},raceAllArbiter=(fibers,winner,deferred,fails)=>(exit2)=>exitMatchEffect(exit2,{onFailure:(cause2)=>pipe(modify3(fails,(fails2)=>[fails2===0?pipe(deferredFailCause(deferred,cause2),asVoid):void_,fails2-1]),flatten5),onSuccess:(value)=>pipe(deferredSucceed(deferred,[value,winner]),flatMap7((set6)=>set6?pipe(fromIterable2(fibers),reduce(void_,(effect,fiber)=>fiber===winner?effect:pipe(effect,zipLeft(interruptFiber(fiber))))):void_))}),reduceEffect=dual((args2)=>isIterable(args2[0])&&!isEffect(args2[0]),(elements,zero3,f,options)=>matchSimple(options?.concurrency,()=>fromIterable(elements).reduce((acc,a,i)=>zipWith2(acc,a,(acc2,a2)=>f(acc2,a2,i)),zero3),()=>suspend(()=>pipe(mergeAll3([zero3,...elements],none2(),(acc,elem,i)=>{switch(acc._tag){case"None":return some2(elem);case"Some":return some2(f(acc.value,elem,i))}},options),map9((option2)=>{switch(option2._tag){case"None":throw new Error("BUG: Effect.reduceEffect - please report an issue at https://github.com/Effect-TS/effect/issues");case"Some":return option2.value}}))))),parallelFinalizers=(self)=>contextWithEffect((context2)=>match2(getOption2(context2,scopeTag),{onNone:()=>self,onSome:(scope)=>{switch(scope.strategy._tag){case"Parallel":return self;case"Sequential":case"ParallelN":return flatMap7(scopeFork(scope,parallel3),(inner)=>scopeExtend(self,inner))}}})),parallelNFinalizers=(parallelism)=>(self)=>contextWithEffect((context2)=>match2(getOption2(context2,scopeTag),{onNone:()=>self,onSome:(scope)=>{if(scope.strategy._tag==="ParallelN"&&scope.strategy.parallelism===parallelism)return self;return flatMap7(scopeFork(scope,parallelN2(parallelism)),(inner)=>scopeExtend(self,inner))}})),finalizersMask=(strategy)=>(self)=>finalizersMaskInternal(strategy,!0)(self),finalizersMaskInternal=(strategy,concurrentFinalizers)=>(self)=>contextWithEffect((context2)=>match2(getOption2(context2,scopeTag),{onNone:()=>self(identity),onSome:(scope)=>{if(concurrentFinalizers===!0){let patch12=strategy._tag==="Parallel"?parallelFinalizers:strategy._tag==="Sequential"?sequentialFinalizers:parallelNFinalizers(strategy.parallelism);switch(scope.strategy._tag){case"Parallel":return patch12(self(parallelFinalizers));case"Sequential":return patch12(self(sequentialFinalizers));case"ParallelN":return patch12(self(parallelNFinalizers(scope.strategy.parallelism)))}}else return self(identity)}})),scopeWith=(f)=>flatMap7(scopeTag,f),scopedWith=(f)=>flatMap7(scopeMake(),(scope)=>onExit(f(scope),(exit2)=>scope.close(exit2))),scopedEffect=(effect)=>flatMap7(scopeMake(),(scope)=>scopeUse(effect,scope)),sequentialFinalizers=(self)=>contextWithEffect((context2)=>match2(getOption2(context2,scopeTag),{onNone:()=>self,onSome:(scope)=>{switch(scope.strategy._tag){case"Sequential":return self;case"Parallel":case"ParallelN":return flatMap7(scopeFork(scope,sequential3),(inner)=>scopeExtend(self,inner))}}})),tagMetricsScoped=(key,value)=>labelMetricsScoped([make29(key,value)]),labelMetricsScoped=(labels)=>fiberRefLocallyScopedWith(currentMetricLabels,(old)=>union(old,labels)),using=dual(2,(self,use)=>scopedWith((scope)=>flatMap7(scopeExtend(self,scope),use))),validate=dual((args2)=>isEffect(args2[1]),(self,that,options)=>validateWith(self,that,(a,b)=>[a,b],options)),validateWith=dual((args2)=>isEffect(args2[1]),(self,that,f,options)=>flatten5(zipWithOptions(exit(self),exit(that),(ea,eb)=>exitZipWith(ea,eb,{onSuccess:f,onFailure:(ca,cb)=>options?.concurrent?parallel(ca,cb):sequential(ca,cb)}),options)));var validateFirst=dual((args2)=>isIterable(args2[0]),(elements,f,options)=>flip(forEach7(elements,(a,i)=>flip(f(a,i)),options))),withClockScoped=(c)=>fiberRefLocallyScopedWith(currentServices,add2(clockTag,c)),withRandomScoped=(value)=>fiberRefLocallyScopedWith(currentServices,add2(randomTag,value)),withConfigProviderScoped=(provider)=>fiberRefLocallyScopedWith(currentServices,add2(configProviderTag,provider)),withEarlyRelease=(self)=>scopeWith((parent)=>flatMap7(scopeFork(parent,sequential2),(child)=>pipe(self,scopeExtend(child),map9((value)=>[fiberIdWith((fiberId2)=>scopeClose(child,exitInterrupt(fiberId2))),value])))),zipOptions=dual((args2)=>isEffect(args2[1]),(self,that,options)=>zipWithOptions(self,that,(a,b)=>[a,b],options)),zipLeftOptions=dual((args2)=>isEffect(args2[1]),(self,that,options)=>{if(options?.concurrent!==!0&&(options?.batching===void 0||options.batching===!1))return zipLeft(self,that);return zipWithOptions(self,that,(a,_)=>a,options)}),zipRightOptions=dual((args2)=>isEffect(args2[1]),(self,that,options)=>{if(options?.concurrent!==!0&&(options?.batching===void 0||options.batching===!1))return zipRight(self,that);return zipWithOptions(self,that,(_,b)=>b,options)}),zipWithOptions=dual((args2)=>isEffect(args2[1]),(self,that,f,options)=>map9(all2([self,that],{concurrency:options?.concurrent?2:1,batching:options?.batching,concurrentFinalizers:options?.concurrentFinalizers}),([a,a2])=>f(a,a2))),withRuntimeFlagsScoped=(update5)=>{if(update5===empty18)return void_;return pipe(runtimeFlags,flatMap7((runtimeFlags2)=>{let updatedRuntimeFlags=patch7(runtimeFlags2,update5),revertRuntimeFlags=diff7(updatedRuntimeFlags,runtimeFlags2);return pipe(updateRuntimeFlags(update5),zipRight(addFinalizer(()=>updateRuntimeFlags(revertRuntimeFlags))),asVoid)}),uninterruptible)},scopeTag=GenericTag("effect/Scope"),scope=scopeTag,scopeUnsafeAddFinalizer=(scope2,fin)=>{if(scope2.state._tag==="Open")scope2.state.finalizers.set({},fin)},ScopeImplProto={[ScopeTypeId]:ScopeTypeId,[CloseableScopeTypeId]:CloseableScopeTypeId,pipe(){return pipeArguments(this,arguments)},fork(strategy){return sync(()=>{let newScope=scopeUnsafeMake(strategy);if(this.state._tag==="Closed")return newScope.state=this.state,newScope;let key={},fin=(exit2)=>newScope.close(exit2);return this.state.finalizers.set(key,fin),scopeUnsafeAddFinalizer(newScope,(_)=>sync(()=>{if(this.state._tag==="Open")this.state.finalizers.delete(key)})),newScope})},close(exit2){return suspend(()=>{if(this.state._tag==="Closed")return void_;let finalizers=Array.from(this.state.finalizers.values()).reverse();if(this.state={_tag:"Closed",exit:exit2},finalizers.length===0)return void_;return isSequential(this.strategy)?pipe(forEachSequential(finalizers,(fin)=>exit(fin(exit2))),flatMap7((results)=>pipe(exitCollectAll(results),map2(exitAsVoid),getOrElse(()=>exitVoid)))):isParallel(this.strategy)?pipe(forEachParUnbounded(finalizers,(fin)=>exit(fin(exit2)),!1),flatMap7((results)=>pipe(exitCollectAll(results,{parallel:!0}),map2(exitAsVoid),getOrElse(()=>exitVoid)))):pipe(forEachParN(finalizers,this.strategy.parallelism,(fin)=>exit(fin(exit2)),!1),flatMap7((results)=>pipe(exitCollectAll(results,{parallel:!0}),map2(exitAsVoid),getOrElse(()=>exitVoid))))})},addFinalizer(fin){return suspend(()=>{if(this.state._tag==="Closed")return fin(this.state.exit);return this.state.finalizers.set({},fin),void_})}},scopeUnsafeMake=(strategy=sequential2)=>{let scope2=Object.create(ScopeImplProto);return scope2.strategy=strategy,scope2.state={_tag:"Open",finalizers:new Map},scope2},scopeMake=(strategy=sequential2)=>sync(()=>scopeUnsafeMake(strategy)),scopeExtend=dual(2,(effect,scope2)=>mapInputContext(effect,merge3(make6(scopeTag,scope2)))),scopeUse=dual(2,(effect,scope2)=>pipe(effect,scopeExtend(scope2),onExit((exit2)=>scope2.close(exit2)))),fiberRefUnsafeMakeSupervisor=(initial)=>fiberRefUnsafeMakePatch(initial,{differ:differ2,fork:empty29}),fiberRefLocallyScoped=dual(2,(self,value)=>asVoid(acquireRelease(flatMap7(fiberRefGet(self),(oldValue)=>as(fiberRefSet(self,value),oldValue)),(oldValue)=>fiberRefSet(self,oldValue)))),fiberRefLocallyScopedWith=dual(2,(self,f)=>fiberRefGetWith(self,(a)=>fiberRefLocallyScoped(self,f(a))));var currentRuntimeFlags=fiberRefUnsafeMakeRuntimeFlags(none5),currentSupervisor=fiberRefUnsafeMakeSupervisor(none8),fiberAwaitAll=(fibers)=>forEach7(fibers,_await2),fiberAll=(fibers)=>{return{...CommitPrototype2,commit(){return join2(this)},[FiberTypeId]:fiberVariance2,id:()=>fromIterable(fibers).reduce((id,fiber)=>combine3(id,fiber.id()),none4),await:exit(forEachParUnbounded(fibers,(fiber)=>flatten5(fiber.await),!1)),children:map9(forEachParUnbounded(fibers,(fiber)=>fiber.children,!1),flatten),inheritAll:forEachSequentialDiscard(fibers,(fiber)=>fiber.inheritAll),poll:map9(forEachSequential(fibers,(fiber)=>fiber.poll),reduceRight(some2(exitSucceed(new Array)),(optionB,optionA)=>{switch(optionA._tag){case"None":return none2();case"Some":switch(optionB._tag){case"None":return none2();case"Some":return some2(exitZipWith(optionA.value,optionB.value,{onSuccess:(a,chunk2)=>[a,...chunk2],onFailure:parallel}))}}})),interruptAsFork:(fiberId2)=>forEachSequentialDiscard(fibers,(fiber)=>fiber.interruptAsFork(fiberId2))}};var raceWith=dual(3,(self,other,options)=>raceFibersWith(self,other,{onSelfWin:(winner,loser)=>flatMap7(winner.await,(exit2)=>{switch(exit2._tag){case OP_SUCCESS:return flatMap7(winner.inheritAll,()=>options.onSelfDone(exit2,loser));case OP_FAILURE:return options.onSelfDone(exit2,loser)}}),onOtherWin:(winner,loser)=>flatMap7(winner.await,(exit2)=>{switch(exit2._tag){case OP_SUCCESS:return flatMap7(winner.inheritAll,()=>options.onOtherDone(exit2,loser));case OP_FAILURE:return options.onOtherDone(exit2,loser)}})})),disconnect=(self)=>uninterruptibleMask((restore)=>fiberIdWith((fiberId2)=>flatMap7(forkDaemon(restore(self)),(fiber)=>pipe(restore(join2(fiber)),onInterrupt(()=>pipe(fiber,interruptAsFork(fiberId2))))))),race=dual(2,(self,that)=>fiberIdWith((parentFiberId)=>raceWith(self,that,{onSelfDone:(exit2,right3)=>exitMatchEffect(exit2,{onFailure:(cause2)=>pipe(join2(right3),mapErrorCause((cause22)=>parallel(cause2,cause22))),onSuccess:(value)=>pipe(right3,interruptAsFiber(parentFiberId),as(value))}),onOtherDone:(exit2,left3)=>exitMatchEffect(exit2,{onFailure:(cause2)=>pipe(join2(left3),mapErrorCause((cause22)=>parallel(cause22,cause2))),onSuccess:(value)=>pipe(left3,interruptAsFiber(parentFiberId),as(value))})}))),raceFibersWith=dual(3,(self,other,options)=>withFiberRuntime((parentFiber,parentStatus)=>{let parentRuntimeFlags=parentStatus.runtimeFlags,raceIndicator=make12(!0),leftFiber=unsafeMakeChildFiber(self,parentFiber,parentRuntimeFlags,options.selfScope),rightFiber=unsafeMakeChildFiber(other,parentFiber,parentRuntimeFlags,options.otherScope);return async_((cb)=>{leftFiber.addObserver(()=>completeRace(leftFiber,rightFiber,options.onSelfWin,raceIndicator,cb)),rightFiber.addObserver(()=>completeRace(rightFiber,leftFiber,options.onOtherWin,raceIndicator,cb)),leftFiber.startFork(self),rightFiber.startFork(other)},combine3(leftFiber.id(),rightFiber.id()))})),completeRace=(winner,loser,cont,ab,cb)=>{if(compareAndSet(!0,!1)(ab))cb(cont(winner,loser))},ensuring=dual(2,(self,finalizer)=>uninterruptibleMask((restore)=>matchCauseEffect(restore(self),{onFailure:(cause1)=>matchCauseEffect(finalizer,{onFailure:(cause2)=>failCause(sequential(cause1,cause2)),onSuccess:()=>failCause(cause1)}),onSuccess:(a)=>as(finalizer,a)}))),invokeWithInterrupt=(self,entries2,onInterrupt2)=>fiberIdWith((id)=>flatMap7(flatMap7(forkDaemon(interruptible2(self)),(processing)=>async_((cb)=>{let counts=entries2.map((_)=>_.listeners.count),checkDone=()=>{if(counts.every((count)=>count===0)){if(entries2.every((_)=>{if(_.result.state.current._tag==="Pending")return!0;else if(_.result.state.current._tag==="Done"&&exitIsExit(_.result.state.current.effect)&&_.result.state.current.effect._tag==="Failure"&&isInterrupted(_.result.state.current.effect.cause))return!0;else return!1}))cleanup.forEach((f)=>f()),onInterrupt2?.(),cb(interruptFiber(processing))}};processing.addObserver((exit2)=>{cleanup.forEach((f)=>f()),cb(exit2)});let cleanup=entries2.map((r,i)=>{let observer=(count)=>{counts[i]=count,checkDone()};return r.listeners.addObserver(observer),()=>r.listeners.removeObserver(observer)});return checkDone(),sync(()=>{cleanup.forEach((f)=>f())})})),()=>suspend(()=>{let residual=entries2.flatMap((entry)=>{if(!entry.state.completed)return[entry];return[]});return forEachSequentialDiscard(residual,(entry)=>complete(entry.request,exitInterrupt(id)))})));var makeSpanScoped=(name,options)=>{return options=addSpanStackTrace(options),uninterruptible(withFiberRuntime((fiber)=>{let scope2=unsafeGet3(fiber.getFiberRef(currentContext),scopeTag),span2=unsafeMakeSpan(fiber,name,options),timingEnabled=fiber.getFiberRef(currentTracerTimingEnabled),clock_=get3(fiber.getFiberRef(currentServices),clockTag);return as(scopeAddFinalizerExit(scope2,(exit2)=>endSpan(span2,exit2,clock_,timingEnabled)),span2)}))},withTracerScoped=(value)=>fiberRefLocallyScopedWith(currentServices,add2(tracerTag,value)),withSpanScoped=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 flatMap7(makeSpanScoped(name,addSpanStackTrace(options)),(span2)=>provideService(self,spanTag,span2))}return(self)=>flatMap7(makeSpanScoped(name,addSpanStackTrace(options)),(span2)=>provideService(self,spanTag,span2))};var complete2=(key,exit2,entryStats,timeToLiveMillis)=>struct({_tag:"Complete",key,exit:exit2,entryStats,timeToLiveMillis}),pending2=(key,deferred)=>struct({_tag:"Pending",key,deferred}),refreshing=(deferred,complete3)=>struct({_tag:"Refreshing",deferred,complete:complete3}),MapKeyTypeId=Symbol.for("effect/Cache/MapKey");class MapKeyImpl{current;[MapKeyTypeId]=MapKeyTypeId;previous=void 0;next=void 0;constructor(current){this.current=current}[symbol](){return pipe(hash(this.current),combine(hash(this.previous)),combine(hash(this.next)),cached(this))}[symbol2](that){if(this===that)return!0;return isMapKey(that)&&equals(this.current,that.current)&&equals(this.previous,that.previous)&&equals(this.next,that.next)}}var makeMapKey=(current)=>new MapKeyImpl(current),isMapKey=(u)=>hasProperty(u,MapKeyTypeId);class KeySetImpl{head=void 0;tail=void 0;add(key){if(key!==this.tail)if(this.tail===void 0)this.head=key,this.tail=key;else{let{previous,next}=key;if(next!==void 0)if(key.next=void 0,previous!==void 0)previous.next=next,next.previous=previous;else this.head=next,this.head.previous=void 0;this.tail.next=key,key.previous=this.tail,this.tail=key}}remove(){let key=this.head;if(key!==void 0){let next=key.next;if(next!==void 0)key.next=void 0,this.head=next,this.head.previous=void 0;else this.head=void 0,this.tail=void 0}return key}}var makeKeySet=()=>new KeySetImpl,makeCacheState=(map10,keys5,accesses,updating,hits,misses)=>({map:map10,keys:keys5,accesses,updating,hits,misses}),initialCacheState=()=>makeCacheState(empty21(),makeKeySet(),unbounded(),make12(!1),0,0),CacheSymbolKey="effect/Cache",CacheTypeId=Symbol.for(CacheSymbolKey),cacheVariance={_Key:(_)=>_,_Error:(_)=>_,_Value:(_)=>_},ConsumerCacheSymbolKey="effect/ConsumerCache",ConsumerCacheTypeId=Symbol.for(ConsumerCacheSymbolKey),consumerCacheVariance={_Key:(_)=>_,_Error:(_)=>_,_Value:(_)=>_},makeCacheStats=(options)=>options,makeEntryStats=(loadedMillis)=>({loadedMillis});class CacheImpl{capacity;context;fiberId;lookup;timeToLive;[CacheTypeId]=cacheVariance;[ConsumerCacheTypeId]=consumerCacheVariance;cacheState;constructor(capacity,context2,fiberId2,lookup,timeToLive){this.capacity=capacity,this.context=context2,this.fiberId=fiberId2,this.lookup=lookup,this.timeToLive=timeToLive,this.cacheState=initialCacheState()}get(key){return map9(this.getEither(key),merge)}get cacheStats(){return sync(()=>makeCacheStats({hits:this.cacheState.hits,misses:this.cacheState.misses,size:size4(this.cacheState.map)}))}getOption(key){return suspend(()=>match2(get8(this.cacheState.map,key),{onNone:()=>{let mapKey=makeMapKey(key);return this.trackAccess(mapKey),this.trackMiss(),succeed(none2())},onSome:(value)=>this.resolveMapValue(value)}))}getOptionComplete(key){return suspend(()=>match2(get8(this.cacheState.map,key),{onNone:()=>{let mapKey=makeMapKey(key);return this.trackAccess(mapKey),this.trackMiss(),succeed(none2())},onSome:(value)=>this.resolveMapValue(value,!0)}))}contains(key){return sync(()=>has4(this.cacheState.map,key))}entryStats(key){return sync(()=>{let option2=get8(this.cacheState.map,key);if(isSome2(option2))switch(option2.value._tag){case"Complete":{let loaded=option2.value.entryStats.loadedMillis;return some2(makeEntryStats(loaded))}case"Pending":return none2();case"Refreshing":{let loaded=option2.value.complete.entryStats.loadedMillis;return some2(makeEntryStats(loaded))}}return none2()})}getEither(key){return suspend(()=>{let k=key,mapKey=void 0,deferred=void 0,value=getOrUndefined(get8(this.cacheState.map,k));if(value===void 0)if(deferred=unsafeMake4(this.fiberId),mapKey=makeMapKey(k),has4(this.cacheState.map,k))value=getOrUndefined(get8(this.cacheState.map,k));else set4(this.cacheState.map,k,pending2(mapKey,deferred));if(value===void 0)return this.trackAccess(mapKey),this.trackMiss(),map9(this.lookupValueOf(key,deferred),right2);else return flatMap7(this.resolveMapValue(value),match2({onNone:()=>this.getEither(key),onSome:(value2)=>succeed(left2(value2))}))})}invalidate(key){return sync(()=>{remove6(this.cacheState.map,key)})}invalidateWhen(key,when2){return sync(()=>{let value=get8(this.cacheState.map,key);if(isSome2(value)&&value.value._tag==="Complete"){if(value.value.exit._tag==="Success"){if(when2(value.value.exit.value))remove6(this.cacheState.map,key)}}})}get invalidateAll(){return sync(()=>{this.cacheState.map=empty21()})}refresh(key){return clockWith3((clock2)=>suspend(()=>{let k=key,deferred=unsafeMake4(this.fiberId),value=getOrUndefined(get8(this.cacheState.map,k));if(value===void 0)if(has4(this.cacheState.map,k))value=getOrUndefined(get8(this.cacheState.map,k));else set4(this.cacheState.map,k,pending2(makeMapKey(k),deferred));if(value===void 0)return asVoid(this.lookupValueOf(key,deferred));else switch(value._tag){case"Complete":{if(this.hasExpired(clock2,value.timeToLiveMillis)){let found=getOrUndefined(get8(this.cacheState.map,k));if(equals(found,value))remove6(this.cacheState.map,k);return asVoid(this.get(key))}return pipe(this.lookupValueOf(key,deferred),when(()=>{let current=getOrUndefined(get8(this.cacheState.map,k));if(equals(current,value)){let mapValue=refreshing(deferred,value);return set4(this.cacheState.map,k,mapValue),!0}return!1}),asVoid)}case"Pending":return _await(value.deferred);case"Refreshing":return _await(value.deferred)}}))}set(key,value){return clockWith3((clock2)=>sync(()=>{let now=clock2.unsafeCurrentTimeMillis(),k=key,lookupResult=succeed2(value),mapValue=complete2(makeMapKey(k),lookupResult,makeEntryStats(now),now+toMillis(decode(this.timeToLive(lookupResult))));set4(this.cacheState.map,k,mapValue)}))}get size(){return sync(()=>{return size4(this.cacheState.map)})}get values(){return sync(()=>{let values3=[];for(let entry of this.cacheState.map)if(entry[1]._tag==="Complete"&&entry[1].exit._tag==="Success")values3.push(entry[1].exit.value);return values3})}get entries(){return sync(()=>{let values3=[];for(let entry of this.cacheState.map)if(entry[1]._tag==="Complete"&&entry[1].exit._tag==="Success")values3.push([entry[0],entry[1].exit.value]);return values3})}get keys(){return sync(()=>{let keys5=[];for(let entry of this.cacheState.map)if(entry[1]._tag==="Complete"&&entry[1].exit._tag==="Success")keys5.push(entry[0]);return keys5})}resolveMapValue(value,ignorePending=!1){return clockWith3((clock2)=>{switch(value._tag){case"Complete":{if(this.trackAccess(value.key),this.hasExpired(clock2,value.timeToLiveMillis))return remove6(this.cacheState.map,value.key.current),succeed(none2());return this.trackHit(),map9(value.exit,some2)}case"Pending":{if(this.trackAccess(value.key),this.trackHit(),ignorePending)return succeed(none2());return map9(_await(value.deferred),some2)}case"Refreshing":{if(this.trackAccess(value.complete.key),this.trackHit(),this.hasExpired(clock2,value.complete.timeToLiveMillis)){if(ignorePending)return succeed(none2());return map9(_await(value.deferred),some2)}return map9(value.complete.exit,some2)}}})}trackHit(){this.cacheState.hits=this.cacheState.hits+1}trackMiss(){this.cacheState.misses=this.cacheState.misses+1}trackAccess(key){if(offer(this.cacheState.accesses,key),compareAndSet(this.cacheState.updating,!1,!0)){let loop2=!0;while(loop2){let key2=poll(this.cacheState.accesses,EmptyMutableQueue);if(key2===EmptyMutableQueue)loop2=!1;else this.cacheState.keys.add(key2)}let size8=size4(this.cacheState.map);loop2=size8>this.capacity;while(loop2){let key2=this.cacheState.keys.remove();if(key2!==void 0){if(has4(this.cacheState.map,key2.current))remove6(this.cacheState.map,key2.current),size8=size8-1,loop2=size8>this.capacity}else loop2=!1}set2(this.cacheState.updating,!1)}}hasExpired(clock2,timeToLiveMillis){return clock2.unsafeCurrentTimeMillis()>timeToLiveMillis}lookupValueOf(input,deferred){return clockWith3((clock2)=>suspend(()=>{let key=input;return pipe(this.lookup(input),provideContext(this.context),exit,flatMap7((exit2)=>{let now=clock2.unsafeCurrentTimeMillis(),stats=makeEntryStats(now),value=complete2(makeMapKey(key),exit2,stats,now+toMillis(decode(this.timeToLive(exit2))));return set4(this.cacheState.map,key,value),zipRight(done2(deferred,exit2),exit2)}),onInterrupt(()=>zipRight(interrupt3(deferred),sync(()=>{remove6(this.cacheState.map,key)}))))}))}}var unsafeMakeWith=(capacity,lookup,timeToLive)=>new CacheImpl(capacity,empty4(),none3,lookup,(exit2)=>decode(timeToLive(exit2)));var fail4=fail,die4=die,interrupt5=interrupt;var isFailType2=isFailType;var failureOrCause2=failureOrCause;var NoSuchElementException2=NoSuchElementException;var pretty2=pretty;var exports_Effect={};__export(exports_Effect,{zipWith:()=>zipWith6,zipRight:()=>zipRight2,zipLeft:()=>zipLeft2,zip:()=>zip4,yieldNow:()=>yieldNow4,withUnhandledErrorLogLevel:()=>withUnhandledErrorLogLevel2,withTracerTiming:()=>withTracerTiming2,withTracerScoped:()=>withTracerScoped2,withTracerEnabled:()=>withTracerEnabled2,withTracer:()=>withTracer2,withSpanScoped:()=>withSpanScoped2,withSpan:()=>withSpan3,withSchedulingPriority:()=>withSchedulingPriority2,withScheduler:()=>withScheduler2,withRuntimeFlagsPatchScoped:()=>withRuntimeFlagsPatchScoped,withRuntimeFlagsPatch:()=>withRuntimeFlagsPatch,withRequestCaching:()=>withRequestCaching2,withRequestCache:()=>withRequestCache2,withRequestBatching:()=>withRequestBatching2,withRandomScoped:()=>withRandomScoped2,withRandom:()=>withRandom2,withParentSpan:()=>withParentSpan3,withMetric:()=>withMetric2,withMaxOpsBeforeYield:()=>withMaxOpsBeforeYield2,withLogSpan:()=>withLogSpan2,withFiberRuntime:()=>withFiberRuntime2,withEarlyRelease:()=>withEarlyRelease2,withConsoleScoped:()=>withConsoleScoped2,withConsole:()=>withConsole2,withConfigProviderScoped:()=>withConfigProviderScoped2,withConfigProvider:()=>withConfigProvider2,withConcurrency:()=>withConcurrency2,withClockScoped:()=>withClockScoped2,withClock:()=>withClock2,whileLoop:()=>whileLoop2,whenRef:()=>whenRef2,whenLogLevel:()=>whenLogLevel2,whenFiberRef:()=>whenFiberRef2,whenEffect:()=>whenEffect2,when:()=>when2,void:()=>_void,validateWith:()=>validateWith2,validateFirst:()=>validateFirst2,validateAll:()=>validateAll2,validate:()=>validate2,using:()=>using2,useSpan:()=>useSpan2,updateService:()=>updateService2,updateFiberRefs:()=>updateFiberRefs2,unsandbox:()=>unsandbox2,unsafeMakeSemaphore:()=>unsafeMakeSemaphore2,unsafeMakeLatch:()=>unsafeMakeLatch2,unlessEffect:()=>unlessEffect2,unless:()=>unless2,uninterruptibleMask:()=>uninterruptibleMask3,uninterruptible:()=>uninterruptible2,tryPromise:()=>tryPromise2,tryMapPromise:()=>tryMapPromise2,tryMap:()=>tryMap2,try:()=>try_2,transposeOption:()=>transposeOption,transposeMapOption:()=>transposeMapOption,transplant:()=>transplant2,tracerWith:()=>tracerWith4,tracer:()=>tracer2,timeoutTo:()=>timeoutTo2,timeoutOption:()=>timeoutOption2,timeoutFailCause:()=>timeoutFailCause2,timeoutFail:()=>timeoutFail2,timeout:()=>timeout2,timedWith:()=>timedWith2,timed:()=>timed2,tapErrorTag:()=>tapErrorTag2,tapErrorCause:()=>tapErrorCause3,tapError:()=>tapError3,tapDefect:()=>tapDefect2,tapBoth:()=>tapBoth2,tap:()=>tap3,takeWhile:()=>takeWhile2,takeUntil:()=>takeUntil2,tagMetricsScoped:()=>tagMetricsScoped2,tagMetrics:()=>tagMetrics2,sync:()=>sync3,suspend:()=>suspend3,supervised:()=>supervised2,summarized:()=>summarized2,succeedSome:()=>succeedSome2,succeedNone:()=>succeedNone2,succeed:()=>succeed7,step:()=>step3,spanLinks:()=>spanLinks2,spanAnnotations:()=>spanAnnotations2,sleep:()=>sleep4,setFiberRefs:()=>setFiberRefs2,serviceOptional:()=>serviceOptional2,serviceOption:()=>serviceOption2,serviceMembers:()=>serviceMembers2,serviceFunctions:()=>serviceFunctions2,serviceFunctionEffect:()=>serviceFunctionEffect2,serviceFunction:()=>serviceFunction2,serviceConstants:()=>serviceConstants2,sequentialFinalizers:()=>sequentialFinalizers2,scopedWith:()=>scopedWith2,scoped:()=>scoped2,scopeWith:()=>scopeWith2,scope:()=>scope3,scheduleFrom:()=>scheduleFrom,scheduleForked:()=>scheduleForked2,schedule:()=>schedule,sandbox:()=>sandbox2,runtime:()=>runtime3,runSyncExit:()=>runSyncExit,runSync:()=>runSync,runRequestBlock:()=>runRequestBlock2,runPromiseExit:()=>runPromiseExit,runPromise:()=>runPromise,runFork:()=>runFork2,runCallback:()=>runCallback,retryOrElse:()=>retryOrElse,retry:()=>retry2,request:()=>request,replicateEffect:()=>replicateEffect2,replicate:()=>replicate2,repeatOrElse:()=>repeatOrElse,repeatN:()=>repeatN2,repeat:()=>repeat,reduceWhile:()=>reduceWhile2,reduceRight:()=>reduceRight3,reduceEffect:()=>reduceEffect2,reduce:()=>reduce12,randomWith:()=>randomWith2,random:()=>random3,raceWith:()=>raceWith2,raceFirst:()=>raceFirst2,raceAll:()=>raceAll2,race:()=>race2,provideServiceEffect:()=>provideServiceEffect2,provideService:()=>provideService2,provide:()=>provide2,promise:()=>promise2,patchRuntimeFlags:()=>patchRuntimeFlags,patchFiberRefs:()=>patchFiberRefs2,partition:()=>partition4,parallelFinalizers:()=>parallelFinalizers2,parallelErrors:()=>parallelErrors2,orElseSucceed:()=>orElseSucceed2,orElseFail:()=>orElseFail2,orElse:()=>orElse5,orDieWith:()=>orDieWith2,orDie:()=>orDie3,optionFromOptional:()=>optionFromOptional2,option:()=>option2,once:()=>once2,onInterrupt:()=>onInterrupt2,onExit:()=>onExit3,onError:()=>onError2,none:()=>none9,never:()=>never3,negate:()=>negate2,metricLabels:()=>metricLabels2,mergeAll:()=>mergeAll5,merge:()=>merge7,matchEffect:()=>matchEffect2,matchCauseEffect:()=>matchCauseEffect3,matchCause:()=>matchCause3,match:()=>match13,mapInputContext:()=>mapInputContext2,mapErrorCause:()=>mapErrorCause2,mapError:()=>mapError3,mapBoth:()=>mapBoth2,mapAccum:()=>mapAccum3,map:()=>map13,makeSpanScoped:()=>makeSpanScoped2,makeSpan:()=>makeSpan2,makeSemaphore:()=>makeSemaphore2,makeLatch:()=>makeLatch2,loop:()=>loop2,logWithLevel:()=>logWithLevel2,logWarning:()=>logWarning2,logTrace:()=>logTrace2,logInfo:()=>logInfo2,logFatal:()=>logFatal2,logError:()=>logError2,logDebug:()=>logDebug2,logAnnotations:()=>logAnnotations2,log:()=>log2,locallyWith:()=>locallyWith,locallyScopedWith:()=>locallyScopedWith,locallyScoped:()=>locallyScoped,locally:()=>locally,linkSpans:()=>linkSpans2,linkSpanCurrent:()=>linkSpanCurrent2,liftPredicate:()=>liftPredicate2,let:()=>let_3,labelMetricsScoped:()=>labelMetricsScoped2,labelMetrics:()=>labelMetrics2,iterate:()=>iterate2,isSuccess:()=>isSuccess3,isFailure:()=>isFailure3,isEffect:()=>isEffect2,intoDeferred:()=>intoDeferred2,interruptibleMask:()=>interruptibleMask2,interruptible:()=>interruptible4,interruptWith:()=>interruptWith2,interrupt:()=>interrupt6,inheritFiberRefs:()=>inheritFiberRefs2,ignoreLogged:()=>ignoreLogged2,ignore:()=>ignore2,if:()=>if_2,head:()=>head4,getRuntimeFlags:()=>getRuntimeFlags,getFiberRefs:()=>getFiberRefs,gen:()=>gen2,functionWithSpan:()=>functionWithSpan2,fromNullable:()=>fromNullable3,fromFiberEffect:()=>fromFiberEffect2,fromFiber:()=>fromFiber2,forkWithErrorHandler:()=>forkWithErrorHandler2,forkScoped:()=>forkScoped2,forkIn:()=>forkIn2,forkDaemon:()=>forkDaemon2,forkAll:()=>forkAll2,fork:()=>fork3,forever:()=>forever3,forEach:()=>forEach8,fnUntraced:()=>fnUntraced2,fn:()=>fn,flipWith:()=>flipWith2,flip:()=>flip2,flatten:()=>flatten8,flatMap:()=>flatMap10,firstSuccessOf:()=>firstSuccessOf2,findFirst:()=>findFirst6,finalizersMask:()=>finalizersMask2,filterOrFail:()=>filterOrFail2,filterOrElse:()=>filterOrElse2,filterOrDieMessage:()=>filterOrDieMessage2,filterOrDie:()=>filterOrDie2,filterMap:()=>filterMap4,filterEffectOrFail:()=>filterEffectOrFail2,filterEffectOrElse:()=>filterEffectOrElse2,filter:()=>filter7,fiberIdWith:()=>fiberIdWith2,fiberId:()=>fiberId2,failSync:()=>failSync3,failCauseSync:()=>failCauseSync3,failCause:()=>failCause7,fail:()=>fail8,exit:()=>exit2,exists:()=>exists3,every:()=>every6,eventually:()=>eventually2,ensuringChildren:()=>ensuringChildren2,ensuringChild:()=>ensuringChild2,ensuring:()=>ensuring2,either:()=>either3,dropWhile:()=>dropWhile2,dropUntil:()=>dropUntil2,disconnect:()=>disconnect2,diffFiberRefs:()=>diffFiberRefs2,dieSync:()=>dieSync3,dieMessage:()=>dieMessage2,die:()=>die6,descriptorWith:()=>descriptorWith2,descriptor:()=>descriptor2,delay:()=>delay2,daemonChildren:()=>daemonChildren2,custom:()=>custom2,currentSpan:()=>currentSpan2,currentParentSpan:()=>currentParentSpan2,contextWithEffect:()=>contextWithEffect2,contextWith:()=>contextWith2,context:()=>context3,consoleWith:()=>consoleWith2,console:()=>console3,configProviderWith:()=>configProviderWith2,clockWith:()=>clockWith4,clock:()=>clock2,checkInterruptible:()=>checkInterruptible2,cause:()=>cause2,catchTags:()=>catchTags2,catchTag:()=>catchTag2,catchSomeDefect:()=>catchSomeDefect2,catchSomeCause:()=>catchSomeCause2,catchSome:()=>catchSome2,catchIf:()=>catchIf2,catchAllDefect:()=>catchAllDefect2,catchAllCause:()=>catchAllCause3,catchAll:()=>catchAll3,catch:()=>_catch2,cachedWithTTL:()=>cachedWithTTL,cachedInvalidateWithTTL:()=>cachedInvalidateWithTTL2,cachedFunction:()=>cachedFunction2,cached:()=>cached3,cacheRequestResult:()=>cacheRequestResult,blocked:()=>blocked2,bindTo:()=>bindTo3,bindAll:()=>bindAll2,bind:()=>bind3,awaitAllChildren:()=>awaitAllChildren2,asyncEffect:()=>asyncEffect2,async:()=>async,asVoid:()=>asVoid2,asSomeError:()=>asSomeError2,asSome:()=>asSome2,as:()=>as3,ap:()=>ap,annotateSpans:()=>annotateSpans3,annotateLogsScoped:()=>annotateLogsScoped2,annotateLogs:()=>annotateLogs3,annotateCurrentSpan:()=>annotateCurrentSpan2,andThen:()=>andThen4,allowInterrupt:()=>allowInterrupt2,allWith:()=>allWith2,allSuccesses:()=>allSuccesses2,all:()=>all4,addFinalizer:()=>addFinalizer2,acquireUseRelease:()=>acquireUseRelease2,acquireReleaseInterruptible:()=>acquireReleaseInterruptible2,acquireRelease:()=>acquireRelease2,Tag:()=>Tag3,Service:()=>Service,EffectTypeId:()=>EffectTypeId3,Do:()=>Do2});var IntervalSymbolKey="effect/ScheduleInterval",IntervalTypeId=Symbol.for(IntervalSymbolKey),empty30={[IntervalTypeId]:IntervalTypeId,startMillis:0,endMillis:0},make36=(startMillis,endMillis)=>{if(startMillis>endMillis)return empty30;return{[IntervalTypeId]:IntervalTypeId,startMillis,endMillis}},lessThan2=dual(2,(self,that)=>min2(self,that)===self),min2=dual(2,(self,that)=>{if(self.endMillis<=that.startMillis)return self;if(that.endMillis<=self.startMillis)return that;if(self.startMillis<that.startMillis)return self;if(that.startMillis<self.startMillis)return that;if(self.endMillis<=that.endMillis)return self;return that});var isEmpty7=(self)=>{return self.startMillis>=self.endMillis};var intersect=dual(2,(self,that)=>{let start=Math.max(self.startMillis,that.startMillis),end=Math.min(self.endMillis,that.endMillis);return make36(start,end)});var after=(startMilliseconds)=>{return make36(startMilliseconds,Number.POSITIVE_INFINITY)};var empty31=empty30,lessThan3=lessThan2;var isEmpty8=isEmpty7;var intersect2=intersect;var after2=after;var IntervalsSymbolKey="effect/ScheduleIntervals",IntervalsTypeId=Symbol.for(IntervalsSymbolKey),make38=(intervals)=>{return{[IntervalsTypeId]:IntervalsTypeId,intervals}};var intersect3=dual(2,(self,that)=>intersectLoop(self.intervals,that.intervals,empty5())),intersectLoop=(_left,_right,_acc)=>{let left3=_left,right3=_right,acc=_acc;while(isNonEmpty2(left3)&&isNonEmpty2(right3)){let interval=pipe(headNonEmpty2(left3),intersect2(headNonEmpty2(right3))),intervals=isEmpty8(interval)?acc:pipe(acc,prepend2(interval));if(pipe(headNonEmpty2(left3),lessThan3(headNonEmpty2(right3))))left3=tailNonEmpty2(left3);else right3=tailNonEmpty2(right3);acc=intervals}return make38(reverse2(acc))},start=(self)=>{return pipe(self.intervals,head2,getOrElse(()=>empty31)).startMillis},end=(self)=>{return pipe(self.intervals,head2,getOrElse(()=>empty31)).endMillis},lessThan4=dual(2,(self,that)=>start(self)<start(that)),isNonEmpty4=(self)=>{return isNonEmpty2(self.intervals)};var make39=make38;var intersect4=intersect3,start2=start,end2=end,lessThan5=lessThan4,isNonEmpty5=isNonEmpty4;var OP_CONTINUE="Continue",OP_DONE2="Done",_continue=(intervals)=>{return{_tag:OP_CONTINUE,intervals}},continueWith=(interval)=>{return{_tag:OP_CONTINUE,intervals:make39(of2(interval))}},done5={_tag:OP_DONE2},isContinue=(self)=>{return self._tag===OP_CONTINUE},isDone3=(self)=>{return self._tag===OP_DONE2};var _continue2=_continue;var continueWith2=continueWith,done6=done5,isContinue2=isContinue,isDone4=isDone3;var Scope=scopeTag;var close=scopeClose;var fork2=scopeFork;var exports_Data={};__export(exports_Data,{unsafeStruct:()=>unsafeStruct,unsafeArray:()=>unsafeArray,tuple:()=>tuple3,taggedEnum:()=>taggedEnum,tagged:()=>tagged2,struct:()=>struct2,case:()=>_case,array:()=>array4,TaggedError:()=>TaggedError,TaggedClass:()=>TaggedClass,Structural:()=>Structural2,Error:()=>Error3,Class:()=>Class2});var struct2=struct,unsafeStruct=(as3)=>Object.setPrototypeOf(as3,StructuralPrototype),tuple3=(...as3)=>unsafeArray(as3),array4=(as3)=>unsafeArray(as3.slice(0)),unsafeArray=(as3)=>Object.setPrototypeOf(as3,ArrayProto),_case=()=>(args2)=>args2===void 0?Object.create(StructuralPrototype):struct2(args2);var tagged2=(tag)=>(args2)=>{let value=args2===void 0?Object.create(StructuralPrototype):struct2(args2);return value._tag=tag,value},Class2=Structural,TaggedClass=(tag)=>{class Base3 extends Class2{_tag=tag}return Base3},Structural2=Structural,taggedEnum=()=>new Proxy({},{get(_target,tag,_receiver){if(tag==="$is")return isTagged;else if(tag==="$match")return taggedMatch;return tagged2(tag)}});function taggedMatch(){if(arguments.length===1){let cases2=arguments[0];return function(value2){return cases2[value2._tag](value2)}}let value=arguments[0];return arguments[1][value._tag](value)}var Error3=function(){let plainArgsSymbol=Symbol.for("effect/Data/Error/plainArgs");return{BaseEffectError:class extends YieldableError{constructor(args2){super(args2?.message,args2?.cause?{cause:args2.cause}:void 0);if(args2)Object.assign(this,args2),Object.defineProperty(this,plainArgsSymbol,{value:args2,enumerable:!1})}toJSON(){return{...this[plainArgsSymbol],...this}}}}.BaseEffectError}(),TaggedError=(tag)=>{let O={BaseEffectError:class extends Error3{_tag=tag}};return O.BaseEffectError.prototype.name=tag,O.BaseEffectError};var TypeId16=Symbol.for("effect/DateTime"),TimeZoneTypeId=Symbol.for("effect/DateTime/TimeZone"),Proto2={[TypeId16]:TypeId16,pipe(){return pipeArguments(this,arguments)},[NodeInspectSymbol](){return this.toString()},toJSON(){return toDateUtc(this).toJSON()}},ProtoUtc={...Proto2,_tag:"Utc",[symbol](){return cached(this,number2(this.epochMillis))},[symbol2](that){return isDateTime(that)&&that._tag==="Utc"&&this.epochMillis===that.epochMillis},toString(){return`DateTime.Utc(${toDateUtc(this).toJSON()})`}},ProtoZoned={...Proto2,_tag:"Zoned",[symbol](){return pipe(number2(this.epochMillis),combine(hash(this.zone)),cached(this))},[symbol2](that){return isDateTime(that)&&that._tag==="Zoned"&&this.epochMillis===that.epochMillis&&equals(this.zone,that.zone)},toString(){return`DateTime.Zoned(${formatIsoZoned(this)})`}},ProtoTimeZone={[TimeZoneTypeId]:TimeZoneTypeId,[NodeInspectSymbol](){return this.toString()}},ProtoTimeZoneNamed={...ProtoTimeZone,_tag:"Named",[symbol](){return cached(this,string(`Named:${this.id}`))},[symbol2](that){return isTimeZone(that)&&that._tag==="Named"&&this.id===that.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},ProtoTimeZoneOffset={...ProtoTimeZone,_tag:"Offset",[symbol](){return cached(this,string(`Offset:${this.offset}`))},[symbol2](that){return isTimeZone(that)&&that._tag==="Offset"&&this.offset===that.offset},toString(){return`TimeZone.Offset(${offsetToString(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}};var isDateTime=(u)=>hasProperty(u,TypeId16);var isTimeZone=(u)=>hasProperty(u,TimeZoneTypeId);var toDateUtc=(self)=>new Date(self.epochMillis),toDate=(self)=>{if(self._tag==="Utc")return new Date(self.epochMillis);else if(self.zone._tag==="Offset")return new Date(self.epochMillis+self.zone.offset);else if(self.adjustedEpochMillis!==void 0)return new Date(self.adjustedEpochMillis);let parts2=self.zone.format.formatToParts(self.epochMillis).filter((_)=>_.type!=="literal"),date=new Date(0);return date.setUTCFullYear(Number(parts2[2].value),Number(parts2[0].value)-1,Number(parts2[1].value)),date.setUTCHours(Number(parts2[3].value),Number(parts2[4].value),Number(parts2[5].value),Number(parts2[6].value)),self.adjustedEpochMillis=date.getTime(),date},zonedOffset=(self)=>{return toDate(self).getTime()-toEpochMillis(self)},offsetToString=(offset)=>{let abs2=Math.abs(offset),hours2=Math.floor(abs2/3600000),minutes2=Math.round(abs2%3600000/60000);if(minutes2===60)hours2+=1,minutes2=0;return`${offset<0?"-":"+"}${String(hours2).padStart(2,"0")}:${String(minutes2).padStart(2,"0")}`},zonedOffsetIso=(self)=>offsetToString(zonedOffset(self)),toEpochMillis=(self)=>self.epochMillis;var formatIsoOffset=(self)=>{let date=toDate(self);return self._tag==="Utc"?date.toISOString():`${date.toISOString().slice(0,-1)}${zonedOffsetIso(self)}`},formatIsoZoned=(self)=>self.zone._tag==="Offset"?formatIsoOffset(self):`${formatIsoOffset(self)}[${self.zone.id}]`;var TypeId17=Symbol.for("effect/Cron"),CronProto={[TypeId17]:TypeId17,[symbol2](that){return isCron(that)&&equals4(this,that)},[symbol](){return pipe(hash(this.tz),combine(array2(fromIterable(this.seconds))),combine(array2(fromIterable(this.minutes))),combine(array2(fromIterable(this.hours))),combine(array2(fromIterable(this.days))),combine(array2(fromIterable(this.months))),combine(array2(fromIterable(this.weekdays))),cached(this))},toString(){return format(this.toJSON())},toJSON(){return{_id:"Cron",tz:this.tz,seconds:fromIterable(this.seconds),minutes:fromIterable(this.minutes),hours:fromIterable(this.hours),days:fromIterable(this.days),months:fromIterable(this.months),weekdays:fromIterable(this.weekdays)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}},isCron=(u)=>hasProperty(u,TypeId17);var Equivalence3=make((self,that)=>restrictionsEquals(self.seconds,that.seconds)&&restrictionsEquals(self.minutes,that.minutes)&&restrictionsEquals(self.hours,that.hours)&&restrictionsEquals(self.days,that.days)&&restrictionsEquals(self.months,that.months)&&restrictionsEquals(self.weekdays,that.weekdays)),restrictionsArrayEquals=array(number),restrictionsEquals=(self,that)=>restrictionsArrayEquals(fromIterable(self),fromIterable(that)),equals4=dual(2,(self,that)=>Equivalence3(self,that));var ScheduleSymbolKey="effect/Schedule",ScheduleTypeId=Symbol.for(ScheduleSymbolKey),isSchedule=(u)=>hasProperty(u,ScheduleTypeId),ScheduleDriverSymbolKey="effect/ScheduleDriver",ScheduleDriverTypeId=Symbol.for(ScheduleDriverSymbolKey),scheduleVariance={_Out:(_)=>_,_In:(_)=>_,_R:(_)=>_},scheduleDriverVariance={_Out:(_)=>_,_In:(_)=>_,_R:(_)=>_};class ScheduleImpl{initial;step;[ScheduleTypeId]=scheduleVariance;constructor(initial,step3){this.initial=initial,this.step=step3}pipe(){return pipeArguments(this,arguments)}}class ScheduleDriverImpl{schedule;ref;[ScheduleDriverTypeId]=scheduleDriverVariance;constructor(schedule,ref){this.schedule=schedule,this.ref=ref}get state(){return map9(get11(this.ref),(tuple4)=>tuple4[1])}get last(){return flatMap7(get11(this.ref),([element,_])=>{switch(element._tag){case"None":return failSync(()=>new NoSuchElementException);case"Some":return succeed(element.value)}})}get reset(){return set5(this.ref,[none2(),this.schedule.initial])}next(input){return pipe(map9(get11(this.ref),(tuple4)=>tuple4[1]),flatMap7((state)=>pipe(currentTimeMillis2,flatMap7((now)=>pipe(suspend(()=>this.schedule.step(now,input,state)),flatMap7(([state2,out,decision])=>{let setState=set5(this.ref,[some2(out),state2]);if(isDone4(decision))return zipRight(setState,fail2(none2()));let millis2=start2(decision.intervals)-now;if(millis2<=0)return as(setState,out);return pipe(setState,zipRight(sleep3(millis(millis2))),as(out))}))))))}}var makeWithState=(initial,step3)=>new ScheduleImpl(initial,step3);var check=dual(2,(self,test)=>checkEffect(self,(input,out)=>sync(()=>test(input,out)))),checkEffect=dual(2,(self,test)=>makeWithState(self.initial,(now,input,state)=>flatMap7(self.step(now,input,state),([state2,out,decision])=>{if(isDone4(decision))return succeed([state2,out,done6]);return map9(test(input,out),(cont)=>cont?[state2,out,decision]:[state2,out,done6])})));var driver=(self)=>pipe(make27([none2(),self.initial]),map9((ref)=>new ScheduleDriverImpl(self,ref)));var intersect5=dual(2,(self,that)=>intersectWith(self,that,intersect4)),intersectWith=dual(3,(self,that,f)=>makeWithState([self.initial,that.initial],(now,input,state)=>pipe(zipWith2(self.step(now,input,state[0]),that.step(now,input,state[1]),(a,b)=>[a,b]),flatMap7(([[lState,out,lDecision],[rState,out2,rDecision]])=>{if(isContinue2(lDecision)&&isContinue2(rDecision))return intersectWithLoop(self,that,input,lState,out,lDecision.intervals,rState,out2,rDecision.intervals,f);return succeed([[lState,rState],[out,out2],done6])})))),intersectWithLoop=(self,that,input,lState,out,lInterval,rState,out2,rInterval,f)=>{let combined=f(lInterval,rInterval);if(isNonEmpty5(combined))return succeed([[lState,rState],[out,out2],_continue2(combined)]);if(pipe(lInterval,lessThan5(rInterval)))return flatMap7(self.step(end2(lInterval),input,lState),([lState2,out3,decision])=>{if(isDone4(decision))return succeed([[lState2,rState],[out3,out2],done6]);return intersectWithLoop(self,that,input,lState2,out3,decision.intervals,rState,out2,rInterval,f)});return flatMap7(that.step(end2(rInterval),input,rState),([rState2,out22,decision])=>{if(isDone4(decision))return succeed([[lState,rState2],[out,out22],done6]);return intersectWithLoop(self,that,input,lState,out,lInterval,rState2,out22,decision.intervals,f)})};var map10=dual(2,(self,f)=>mapEffect(self,(out)=>sync(()=>f(out)))),mapEffect=dual(2,(self,f)=>makeWithState(self.initial,(now,input,state)=>flatMap7(self.step(now,input,state),([state2,out,decision])=>map9(f(out),(out2)=>[state2,out2,decision]))));var passthrough=(self)=>makeWithState(self.initial,(now,input,state)=>pipe(self.step(now,input,state),map9(([state2,_,decision])=>[state2,input,decision])));var recurs=(n)=>whileOutput(forever2,(out)=>out<n);var unfold2=(initial,f)=>makeWithState(initial,(now,_,state)=>sync(()=>[f(state),state,continueWith2(after2(now))]));var untilInputEffect=dual(2,(self,f)=>checkEffect(self,(input,_)=>negate(f(input))));var whileInputEffect=dual(2,(self,f)=>checkEffect(self,(input,_)=>f(input))),whileOutput=dual(2,(self,f)=>check(self,(_,out)=>f(out)));var ScheduleDefectTypeId=Symbol.for("effect/Schedule/ScheduleDefect");class ScheduleDefect{error;[ScheduleDefectTypeId];constructor(error){this.error=error,this[ScheduleDefectTypeId]=ScheduleDefectTypeId}}var isScheduleDefect=(u)=>hasProperty(u,ScheduleDefectTypeId),scheduleDefectWrap=(self)=>catchAll(self,(e)=>die2(new ScheduleDefect(e))),scheduleDefectRefail=(self)=>catchAllCause(self,(cause2)=>match2(find(cause2,(_)=>isDieType(_)&&isScheduleDefect(_.defect)?some2(_.defect):none2()),{onNone:()=>failCause(cause2),onSome:(error)=>fail2(error.error)})),repeat_Effect=dual(2,(self,schedule)=>repeatOrElse_Effect(self,schedule,(e,_)=>fail2(e))),repeat_combined=dual(2,(self,options)=>{if(isSchedule(options))return repeat_Effect(self,options);let base=options.schedule??passthrough(forever2),withWhile=options.while?whileInputEffect(base,(a)=>{let applied=options.while(a);if(typeof applied==="boolean")return succeed(applied);return scheduleDefectWrap(applied)}):base,withUntil=options.until?untilInputEffect(withWhile,(a)=>{let applied=options.until(a);if(typeof applied==="boolean")return succeed(applied);return scheduleDefectWrap(applied)}):withWhile,withTimes=options.times?intersect5(withUntil,recurs(options.times)).pipe(map10((intersectionPair)=>intersectionPair[0])):withUntil;return scheduleDefectRefail(repeat_Effect(self,withTimes))}),repeatOrElse_Effect=dual(3,(self,schedule,orElse3)=>flatMap7(driver(schedule),(driver2)=>matchEffect(self,{onFailure:(error)=>orElse3(error,none2()),onSuccess:(value)=>repeatOrElseEffectLoop(self,driver2,orElse3,value)}))),repeatOrElseEffectLoop=(self,driver2,orElse3,value)=>{return matchEffect(driver2.next(value),{onFailure:()=>orDie(driver2.last),onSuccess:(b)=>matchEffect(self,{onFailure:(error)=>orElse3(error,some2(b)),onSuccess:(value2)=>repeatOrElseEffectLoop(self,driver2,orElse3,value2)})})},retry_Effect=dual(2,(self,policy)=>retryOrElse_Effect(self,policy,(e,_)=>fail2(e))),retry_combined=dual(2,(self,options)=>{if(isSchedule(options))return retry_Effect(self,options);let base=options.schedule??forever2,withWhile=options.while?whileInputEffect(base,(e)=>{let applied=options.while(e);if(typeof applied==="boolean")return succeed(applied);return scheduleDefectWrap(applied)}):base,withUntil=options.until?untilInputEffect(withWhile,(e)=>{let applied=options.until(e);if(typeof applied==="boolean")return succeed(applied);return scheduleDefectWrap(applied)}):withWhile,withTimes=options.times?intersect5(withUntil,recurs(options.times)):withUntil;return scheduleDefectRefail(retry_Effect(self,withTimes))}),retryOrElse_Effect=dual(3,(self,policy,orElse3)=>flatMap7(driver(policy),(driver2)=>retryOrElse_EffectLoop(self,driver2,orElse3))),retryOrElse_EffectLoop=(self,driver2,orElse3)=>{return catchAll(self,(e)=>matchEffect(driver2.next(e),{onFailure:()=>pipe(driver2.last,orDie,flatMap7((out)=>orElse3(e,out))),onSuccess:()=>retryOrElse_EffectLoop(self,driver2,orElse3)}))},schedule_Effect=dual(2,(self,schedule)=>scheduleFrom_Effect(self,void 0,schedule)),scheduleFrom_Effect=dual(3,(self,initial,schedule)=>flatMap7(driver(schedule),(driver2)=>scheduleFrom_EffectLoop(self,initial,driver2))),scheduleFrom_EffectLoop=(self,initial,driver2)=>matchEffect(driver2.next(initial),{onFailure:()=>orDie(driver2.last),onSuccess:()=>flatMap7(self,(a)=>scheduleFrom_EffectLoop(self,a,driver2))});var forever2=unfold2(0,(n)=>n+1);class Semaphore{permits;waiters=new Set;taken=0;constructor(permits){this.permits=permits}get free(){return this.permits-this.taken}take=(n)=>asyncInterrupt((resume2)=>{if(this.free<n){let observer=()=>{if(this.free<n)return;this.waiters.delete(observer),this.taken+=n,resume2(succeed(n))};return this.waiters.add(observer),sync(()=>{this.waiters.delete(observer)})}return this.taken+=n,resume2(succeed(n))});updateTaken=(f)=>withFiberRuntime((fiber)=>{if(this.taken=f(this.taken),this.waiters.size>0)fiber.getFiberRef(currentScheduler).scheduleTask(()=>{let iter=this.waiters.values(),item=iter.next();while(item.done===!1&&this.free>0)item.value(),item=iter.next()},fiber.getFiberRef(currentSchedulingPriority));return succeed(this.free)});release=(n)=>this.updateTaken((taken)=>taken-n);releaseAll=this.updateTaken((_)=>0);withPermits=(n)=>(self)=>uninterruptibleMask((restore)=>flatMap7(restore(this.take(n)),(permits)=>ensuring(restore(self),this.release(permits))));withPermitsIfAvailable=(n)=>(self)=>uninterruptibleMask((restore)=>suspend(()=>{if(this.free<n)return succeedNone;return this.taken+=n,ensuring(restore(asSome(self)),this.release(n))}))}var unsafeMakeSemaphore=(permits)=>new Semaphore(permits),makeSemaphore=(permits)=>sync(()=>unsafeMakeSemaphore(permits));class Latch extends Class{isOpen;waiters=[];scheduled=!1;constructor(isOpen){super();this.isOpen=isOpen}commit(){return this.await}unsafeSchedule(fiber){if(this.scheduled||this.waiters.length===0)return void_;return this.scheduled=!0,fiber.currentScheduler.scheduleTask(this.flushWaiters,fiber.getFiberRef(currentSchedulingPriority)),void_}flushWaiters=()=>{this.scheduled=!1;let waiters=this.waiters;this.waiters=[];for(let i=0;i<waiters.length;i++)waiters[i](exitVoid)};open=withFiberRuntime((fiber)=>{if(this.isOpen)return void_;return this.isOpen=!0,this.unsafeSchedule(fiber)});unsafeOpen(){if(this.isOpen)return;this.isOpen=!0,this.flushWaiters()}release=withFiberRuntime((fiber)=>{if(this.isOpen)return void_;return this.unsafeSchedule(fiber)});await=asyncInterrupt((resume2)=>{if(this.isOpen)return resume2(void_);return this.waiters.push(resume2),sync(()=>{let index=this.waiters.indexOf(resume2);if(index!==-1)this.waiters.splice(index,1)})});unsafeClose(){this.isOpen=!1}close=sync(()=>{this.isOpen=!1});whenOpen=(self)=>{return zipRight(this.await,self)}}var unsafeMakeLatch=(open)=>new Latch(open??!1),makeLatch=(open)=>sync(()=>unsafeMakeLatch(open)),awaitAllChildren=(self)=>ensuringChildren(self,fiberAwaitAll),cached2=dual(2,(self,timeToLive)=>map9(cachedInvalidateWithTTL(self,timeToLive),(tuple4)=>tuple4[0])),cachedInvalidateWithTTL=dual(2,(self,timeToLive)=>{let duration=decode(timeToLive);return flatMap7(context(),(env)=>map9(makeSynchronized(none2()),(cache)=>[provideContext(getCachedValue(self,duration,cache),env),invalidateCache(cache)]))}),computeCachedValue=(self,timeToLive,start3)=>{let timeToLiveMillis=toMillis(decode(timeToLive));return pipe(deferredMake(),tap((deferred)=>intoDeferred(self,deferred)),map9((deferred)=>some2([start3+timeToLiveMillis,deferred])))},getCachedValue=(self,timeToLive,cache)=>uninterruptibleMask((restore)=>pipe(clockWith3((clock2)=>clock2.currentTimeMillis),flatMap7((time)=>updateSomeAndGetEffectSynchronized(cache,(option2)=>{switch(option2._tag){case"None":return some2(computeCachedValue(self,timeToLive,time));case"Some":{let[end3]=option2.value;return end3-time<=0?some2(computeCachedValue(self,timeToLive,time)):none2()}}})),flatMap7((option2)=>isNone2(option2)?dieMessage("BUG: Effect.cachedInvalidate - please report an issue at https://github.com/Effect-TS/effect/issues"):restore(deferredAwait(option2.value[1]))))),invalidateCache=(cache)=>set5(cache,none2()),ensuringChild=dual(2,(self,f)=>ensuringChildren(self,(children)=>f(fiberAll(children)))),ensuringChildren=dual(2,(self,children)=>flatMap7(track,(supervisor)=>pipe(supervised(self,supervisor),ensuring(flatMap7(supervisor.value,children))))),forkAll=dual((args2)=>isIterable(args2[0]),(effects,options)=>options?.discard?forEachSequentialDiscard(effects,fork):map9(forEachSequential(effects,fork),fiberAll)),forkIn=dual(2,(self,scope2)=>withFiberRuntime((parent,parentStatus)=>{let scopeImpl=scope2,fiber=unsafeFork(self,parent,parentStatus.runtimeFlags,globalScope);if(scopeImpl.state._tag==="Open"){let finalizer=()=>fiberIdWith((fiberId2)=>equals(fiberId2,fiber.id())?void_:asVoid(interruptFiber(fiber))),key={};scopeImpl.state.finalizers.set(key,finalizer),fiber.addObserver(()=>{if(scopeImpl.state._tag==="Closed")return;scopeImpl.state.finalizers.delete(key)})}else fiber.unsafeInterruptAsFork(parent.id());return succeed(fiber)})),forkScoped=(self)=>scopeWith((scope2)=>forkIn(self,scope2)),fromFiber=(fiber)=>join2(fiber),fromFiberEffect=(fiber)=>suspend(()=>flatMap7(fiber,join2)),memoKeySymbol=Symbol.for("effect/Effect/memoizeFunction.key");class Key{a;eq;[memoKeySymbol]=memoKeySymbol;constructor(a,eq){this.a=a,this.eq=eq}[symbol2](that){if(hasProperty(that,memoKeySymbol))if(this.eq)return this.eq(this.a,that.a);else return equals(this.a,that.a);return!1}[symbol](){return this.eq?0:cached(this,hash(this.a))}}var cachedFunction=(f,eq)=>{return pipe(sync(()=>empty21()),flatMap7(makeSynchronized),map9((ref)=>(a)=>pipe(ref.modifyEffect((map11)=>{let result=pipe(map11,get8(new Key(a,eq)));if(isNone2(result))return pipe(deferredMake(),tap((deferred)=>pipe(diffFiberRefs(f(a)),intoDeferred(deferred),fork)),map9((deferred)=>[deferred,pipe(map11,set4(new Key(a,eq),deferred))]));return succeed([result.value,map11])}),flatMap7(deferredAwait),flatMap7(([patch12,b])=>pipe(patchFiberRefs(patch12),as(b))))))},raceFirst=dual(2,(self,that)=>pipe(exit(self),race(exit(that)),(effect)=>flatten5(effect))),scheduleForked=dual(2,(self,schedule)=>pipe(self,schedule_Effect(schedule),forkScoped)),supervised=dual(2,(self,supervisor)=>{return fiberRefLocallyWith(currentSupervisor,(s)=>s.zip(supervisor))(self)}),timeout=dual(2,(self,duration)=>timeoutFail(self,{onTimeout:()=>timeoutExceptionFromDuration(duration),duration})),timeoutFail=dual(2,(self,{duration,onTimeout})=>flatten5(timeoutTo(self,{onTimeout:()=>failSync(onTimeout),onSuccess:succeed,duration}))),timeoutFailCause=dual(2,(self,{duration,onTimeout})=>flatten5(timeoutTo(self,{onTimeout:()=>failCauseSync(onTimeout),onSuccess:succeed,duration}))),timeoutOption=dual(2,(self,duration)=>timeoutTo(self,{duration,onSuccess:some2,onTimeout:none2})),timeoutTo=dual(2,(self,{duration,onSuccess,onTimeout})=>fiberIdWith((parentFiberId)=>uninterruptibleMask((restore)=>raceFibersWith(restore(self),interruptible2(sleep3(duration)),{onSelfWin:(winner,loser)=>flatMap7(winner.await,(exit2)=>{if(exit2._tag==="Success")return flatMap7(winner.inheritAll,()=>as(interruptAsFiber(loser,parentFiberId),onSuccess(exit2.value)));else return flatMap7(interruptAsFiber(loser,parentFiberId),()=>exitFailCause(exit2.cause))}),onOtherWin:(winner,loser)=>flatMap7(winner.await,(exit2)=>{if(exit2._tag==="Success")return flatMap7(winner.inheritAll,()=>as(interruptAsFiber(loser,parentFiberId),onTimeout()));else return flatMap7(interruptAsFiber(loser,parentFiberId),()=>exitFailCause(exit2.cause))}),otherScope:globalScope})))),SynchronizedSymbolKey="effect/Ref/SynchronizedRef",SynchronizedTypeId=Symbol.for(SynchronizedSymbolKey),synchronizedVariance={_A:(_)=>_};class SynchronizedImpl extends Class{ref;withLock;[SynchronizedTypeId]=synchronizedVariance;[RefTypeId]=refVariance;[TypeId13]=TypeId13;constructor(ref,withLock){super();this.ref=ref,this.withLock=withLock,this.get=get11(this.ref)}get;commit(){return this.get}modify(f){return this.modifyEffect((a)=>succeed(f(a)))}modifyEffect(f){return this.withLock(pipe(flatMap7(get11(this.ref),f),flatMap7(([b,a])=>as(set5(this.ref,a),b))))}}var makeSynchronized=(value)=>sync(()=>unsafeMakeSynchronized(value)),unsafeMakeSynchronized=(value)=>{let ref=unsafeMake6(value),sem=unsafeMakeSemaphore(1);return new SynchronizedImpl(ref,sem.withPermits(1))},updateSomeAndGetEffectSynchronized=dual(2,(self,pf)=>self.modifyEffect((value)=>{let result=pf(value);switch(result._tag){case"None":return succeed([value,value]);case"Some":return map9(result.value,(a)=>[a,a])}}));var bindAll=dual((args2)=>isEffect(args2[0]),(self,f,options)=>flatMap7(self,(a)=>all2(f(a),options).pipe(map9((record)=>Object.assign({},a,record)))));var TypeId18=Symbol.for("effect/ManagedRuntime");var OP_EXTEND_SCOPE="ExtendScope",OP_FOLD="Fold",OP_FRESH="Fresh",OP_FROM_EFFECT="FromEffect",OP_SCOPED="Scoped",OP_SUSPEND="Suspend",OP_PROVIDE="Provide",OP_PROVIDE_MERGE="ProvideMerge",OP_ZIP_WITH2="ZipWith";var interruptAs=interruptAsFiber;var makeDual=(f)=>function(){if(arguments.length===1){let runtime2=arguments[0];return(effect,...args2)=>f(runtime2,effect,...args2)}return f.apply(this,arguments)},unsafeFork2=makeDual((runtime2,self,options)=>{let fiberId2=unsafeMake3(),fiberRefUpdates=[[currentContext,[[fiberId2,runtime2.context]]]];if(options?.scheduler)fiberRefUpdates.push([currentScheduler,[[fiberId2,options.scheduler]]]);let fiberRefs3=updateManyAs2(runtime2.fiberRefs,{entries:fiberRefUpdates,forkAs:fiberId2});if(options?.updateRefs)fiberRefs3=options.updateRefs(fiberRefs3,fiberId2);let fiberRuntime=new FiberRuntime(fiberId2,fiberRefs3,runtime2.runtimeFlags),effect=self;if(options?.scope)effect=flatMap7(fork2(options.scope,sequential2),(closeableScope)=>zipRight(scopeAddFinalizer(closeableScope,fiberIdWith((id2)=>equals(id2,fiberRuntime.id())?void_:interruptAsFiber(fiberRuntime,id2))),onExit(self,(exit2)=>close(closeableScope,exit2))));let supervisor=fiberRuntime.currentSupervisor;if(supervisor!==none8)supervisor.onStart(runtime2.context,effect,none2(),fiberRuntime),fiberRuntime.addObserver((exit2)=>supervisor.onEnd(exit2,fiberRuntime));if(globalScope.add(runtime2.runtimeFlags,fiberRuntime),options?.immediate===!1)fiberRuntime.resume(effect);else fiberRuntime.start(effect);return fiberRuntime}),unsafeRunCallback=makeDual((runtime2,effect,options={})=>{let fiberRuntime=unsafeFork2(runtime2,effect,options);if(options.onExit)fiberRuntime.addObserver((exit2)=>{options.onExit(exit2)});return(id2,cancelOptions)=>unsafeRunCallback(runtime2)(pipe(fiberRuntime,interruptAs(id2??none4)),{...cancelOptions,onExit:cancelOptions?.onExit?(exit2)=>cancelOptions.onExit(flatten6(exit2)):void 0})}),unsafeRunSync=makeDual((runtime2,effect)=>{let result=unsafeRunSyncExit(runtime2)(effect);if(result._tag==="Failure")throw fiberFailure(result.effect_instruction_i0);return result.effect_instruction_i0});class AsyncFiberExceptionImpl extends Error{fiber;_tag="AsyncFiberException";constructor(fiber){super(`Fiber #${fiber.id().id} cannot be resolved synchronously. This is caused by using runSync on an effect that performs async work`);this.fiber=fiber,this.name=this._tag,this.stack=this.message}}var asyncFiberException=(fiber)=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=0;let error=new AsyncFiberExceptionImpl(fiber);return Error.stackTraceLimit=limit,error};var FiberFailureId=Symbol.for("effect/Runtime/FiberFailure"),FiberFailureCauseId=Symbol.for("effect/Runtime/FiberFailure/Cause");class FiberFailureImpl extends Error{[FiberFailureId];[FiberFailureCauseId];constructor(cause2){let head4=prettyErrors(cause2)[0];super(head4?.message||"An error has occurred");if(this[FiberFailureId]=FiberFailureId,this[FiberFailureCauseId]=cause2,this.name=head4?`(FiberFailure) ${head4.name}`:"FiberFailure",head4?.stack)this.stack=head4.stack}toJSON(){return{_id:"FiberFailure",cause:this[FiberFailureCauseId].toJSON()}}toString(){return"(FiberFailure) "+pretty(this[FiberFailureCauseId],{renderErrorCause:!0})}[NodeInspectSymbol](){return this.toString()}}var fiberFailure=(cause2)=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=0;let error=new FiberFailureImpl(cause2);return Error.stackTraceLimit=limit,error};var fastPath=(effect)=>{let op=effect;switch(op._op){case"Failure":case"Success":return op;case"Left":return exitFail(op.left);case"Right":return exitSucceed(op.right);case"Some":return exitSucceed(op.value);case"None":return exitFail(NoSuchElementException())}},unsafeRunSyncExit=makeDual((runtime2,effect)=>{let op=fastPath(effect);if(op)return op;let scheduler=new SyncScheduler,fiberRuntime=unsafeFork2(runtime2)(effect,{scheduler});scheduler.flush();let result=fiberRuntime.unsafePoll();if(result)return result;return exitDie(capture(asyncFiberException(fiberRuntime),currentSpanFromFiber(fiberRuntime)))}),unsafeRunPromise=makeDual((runtime2,effect,options)=>unsafeRunPromiseExit(runtime2,effect,options).then((result)=>{switch(result._tag){case OP_SUCCESS:return result.effect_instruction_i0;case OP_FAILURE:throw fiberFailure(result.effect_instruction_i0)}})),unsafeRunPromiseExit=makeDual((runtime2,effect,options)=>new Promise((resolve)=>{let op=fastPath(effect);if(op)resolve(op);let fiber=unsafeFork2(runtime2)(effect);if(fiber.addObserver((exit2)=>{resolve(exit2)}),options?.signal!==void 0)if(options.signal.aborted)fiber.unsafeInterruptAsFork(fiber.id());else options.signal.addEventListener("abort",()=>{fiber.unsafeInterruptAsFork(fiber.id())},{once:!0})}));class RuntimeImpl{context;runtimeFlags;fiberRefs;constructor(context2,runtimeFlags2,fiberRefs3){this.context=context2,this.runtimeFlags=runtimeFlags2,this.fiberRefs=fiberRefs3}pipe(){return pipeArguments(this,arguments)}}var make40=(options)=>new RuntimeImpl(options.context,options.runtimeFlags,options.fiberRefs),runtime2=()=>withFiberRuntime((state,status2)=>succeed(new RuntimeImpl(state.getFiberRef(currentContext),status2.runtimeFlags,state.getFiberRefs()))),defaultRuntimeFlags=make17(Interruption,CooperativeYielding,RuntimeMetrics),defaultRuntime=make40({context:empty4(),runtimeFlags:defaultRuntimeFlags,fiberRefs:empty25()});var unsafeRunEffect=unsafeRunCallback(defaultRuntime),unsafeForkEffect=unsafeFork2(defaultRuntime),unsafeRunPromiseEffect=unsafeRunPromise(defaultRuntime),unsafeRunPromiseExitEffect=unsafeRunPromiseExit(defaultRuntime),unsafeRunSyncEffect=unsafeRunSync(defaultRuntime),unsafeRunSyncExitEffect=unsafeRunSyncExit(defaultRuntime),asyncEffect=(register)=>suspend(()=>{let cleanup=void 0;return flatMap7(deferredMake(),(deferred)=>flatMap7(runtime2(),(runtime3)=>uninterruptibleMask((restore)=>zipRight(fork(restore(matchCauseEffect(register((cb)=>unsafeRunCallback(runtime3)(intoDeferred(cb,deferred))),{onFailure:(cause2)=>deferredFailCause(deferred,cause2),onSuccess:(cleanup_)=>{return cleanup=cleanup_,void_}}))),restore(onInterrupt(deferredAwait(deferred),()=>cleanup??void_))))))});var modifyEffect=dual(2,(self,f)=>self.modifyEffect(f));var LayerSymbolKey="effect/Layer",LayerTypeId=Symbol.for(LayerSymbolKey),layerVariance={_RIn:(_)=>_,_E:(_)=>_,_ROut:(_)=>_},proto3={[LayerTypeId]:layerVariance,pipe(){return pipeArguments(this,arguments)}},MemoMapTypeIdKey="effect/Layer/MemoMap",MemoMapTypeId=Symbol.for(MemoMapTypeIdKey),CurrentMemoMap=Reference2()("effect/Layer/CurrentMemoMap",{defaultValue:()=>unsafeMakeMemoMap()}),isLayer=(u)=>hasProperty(u,LayerTypeId),isFresh=(self)=>{return self._op_layer===OP_FRESH};class MemoMapImpl{ref;[MemoMapTypeId];constructor(ref){this.ref=ref,this[MemoMapTypeId]=MemoMapTypeId}getOrElseMemoize(layer,scope2){return pipe(modifyEffect(this.ref,(map12)=>{let inMap=map12.get(layer);if(inMap!==void 0){let[acquire,release]=inMap,cached3=pipe(acquire,flatMap7(([patch12,b])=>pipe(patchFiberRefs(patch12),as(b))),onExit(exitMatch({onFailure:()=>void_,onSuccess:()=>scopeAddFinalizerExit(scope2,release)})));return succeed([cached3,map12])}return pipe(make27(0),flatMap7((observers)=>pipe(deferredMake(),flatMap7((deferred)=>pipe(make27(()=>void_),map9((finalizerRef)=>{let resource=uninterruptibleMask((restore)=>pipe(scopeMake(),flatMap7((innerScope)=>pipe(restore(flatMap7(makeBuilder(layer,innerScope,!0),(f)=>diffFiberRefs(f(this)))),exit,flatMap7((exit2)=>{switch(exit2._tag){case OP_FAILURE:return pipe(deferredFailCause(deferred,exit2.effect_instruction_i0),zipRight(scopeClose(innerScope,exit2)),zipRight(failCause(exit2.effect_instruction_i0)));case OP_SUCCESS:return pipe(set5(finalizerRef,(exit3)=>pipe(scopeClose(innerScope,exit3),whenEffect(modify2(observers,(n)=>[n===1,n-1])),asVoid)),zipRight(update2(observers,(n)=>n+1)),zipRight(scopeAddFinalizerExit(scope2,(exit3)=>pipe(sync(()=>map12.delete(layer)),zipRight(get11(finalizerRef)),flatMap7((finalizer)=>finalizer(exit3))))),zipRight(deferredSucceed(deferred,exit2.effect_instruction_i0)),as(exit2.effect_instruction_i0[1]))}}))))),memoized=[pipe(deferredAwait(deferred),onExit(exitMatchEffect({onFailure:()=>void_,onSuccess:()=>update2(observers,(n)=>n+1)}))),(exit2)=>pipe(get11(finalizerRef),flatMap7((finalizer)=>finalizer(exit2)))];return[resource,isFresh(layer)?map12:map12.set(layer,memoized)]}))))))}),flatten5)}}var makeMemoMap=suspend(()=>map9(makeSynchronized(new Map),(ref)=>new MemoMapImpl(ref))),unsafeMakeMemoMap=()=>new MemoMapImpl(unsafeMakeSynchronized(new Map)),build=(self)=>scopeWith((scope2)=>buildWithScope(self,scope2)),buildWithScope=dual(2,(self,scope2)=>flatMap7(makeMemoMap,(memoMap)=>buildWithMemoMap(self,memoMap,scope2))),buildWithMemoMap=dual(3,(self,memoMap,scope2)=>flatMap7(makeBuilder(self,scope2),(run)=>provideService(run(memoMap),CurrentMemoMap,memoMap))),makeBuilder=(self,scope2,inMemoMap=!1)=>{let op=self;switch(op._op_layer){case"Locally":return sync(()=>(memoMap)=>op.f(memoMap.getOrElseMemoize(op.self,scope2)));case"ExtendScope":return sync(()=>(memoMap)=>scopeWith((scope3)=>memoMap.getOrElseMemoize(op.layer,scope3)));case"Fold":return sync(()=>(memoMap)=>pipe(memoMap.getOrElseMemoize(op.layer,scope2),matchCauseEffect({onFailure:(cause2)=>memoMap.getOrElseMemoize(op.failureK(cause2),scope2),onSuccess:(value)=>memoMap.getOrElseMemoize(op.successK(value),scope2)})));case"Fresh":return sync(()=>(_)=>pipe(op.layer,buildWithScope(scope2)));case"FromEffect":return inMemoMap?sync(()=>(_)=>op.effect):sync(()=>(memoMap)=>memoMap.getOrElseMemoize(self,scope2));case"Provide":return sync(()=>(memoMap)=>pipe(memoMap.getOrElseMemoize(op.first,scope2),flatMap7((env)=>pipe(memoMap.getOrElseMemoize(op.second,scope2),provideContext(env)))));case"Scoped":return inMemoMap?sync(()=>(_)=>scopeExtend(op.effect,scope2)):sync(()=>(memoMap)=>memoMap.getOrElseMemoize(self,scope2));case"Suspend":return sync(()=>(memoMap)=>memoMap.getOrElseMemoize(op.evaluate(),scope2));case"ProvideMerge":return sync(()=>(memoMap)=>pipe(memoMap.getOrElseMemoize(op.first,scope2),zipWith2(memoMap.getOrElseMemoize(op.second,scope2),op.zipK)));case"ZipWith":return sync(()=>(memoMap)=>pipe(memoMap.getOrElseMemoize(op.first,scope2),zipWithOptions(memoMap.getOrElseMemoize(op.second,scope2),op.zipK,{concurrent:!0})))}},catchAll2=dual(2,(self,onFailure)=>match12(self,{onFailure,onSuccess:succeedContext})),catchAllCause2=dual(2,(self,onFailure)=>matchCause2(self,{onFailure,onSuccess:succeedContext})),die5=(defect)=>failCause5(die4(defect)),dieSync2=(evaluate2)=>failCauseSync2(()=>die4(evaluate2())),discard=(self)=>map12(self,()=>empty4()),context2=()=>fromEffectContext(context()),extendScope=(self)=>{let extendScope2=Object.create(proto3);return extendScope2._op_layer=OP_EXTEND_SCOPE,extendScope2.layer=self,extendScope2},fail6=(error)=>failCause5(fail4(error)),failSync2=(evaluate2)=>failCauseSync2(()=>fail4(evaluate2())),failCause5=(cause2)=>fromEffectContext(failCause(cause2)),failCauseSync2=(evaluate2)=>fromEffectContext(failCauseSync(evaluate2)),flatMap9=dual(2,(self,f)=>match12(self,{onFailure:fail6,onSuccess:f})),flatten7=dual(2,(self,tag)=>flatMap9(self,get3(tag))),fresh=(self)=>{let fresh2=Object.create(proto3);return fresh2._op_layer=OP_FRESH,fresh2.layer=self,fresh2},fromEffect3=dual(2,(a,b)=>{let tagFirst=isTag2(a),tag=tagFirst?a:b;return fromEffectContext(map9(tagFirst?b:a,(service)=>make6(tag,service)))}),fromEffectDiscard=(effect)=>fromEffectContext(map9(effect,()=>empty4()));function fromEffectContext(effect){let fromEffect4=Object.create(proto3);return fromEffect4._op_layer=OP_FROM_EFFECT,fromEffect4.effect=effect,fromEffect4}var fiberRefLocally2=dual(3,(self,ref,value)=>locallyEffect(self,fiberRefLocally(ref,value))),locallyEffect=dual(2,(self,f)=>{let locally=Object.create(proto3);return locally._op_layer="Locally",locally.self=self,locally.f=f,locally}),fiberRefLocallyWith2=dual(3,(self,ref,value)=>locallyEffect(self,fiberRefLocallyWith(ref,value))),fiberRefLocallyScoped2=(self,value)=>scopedDiscard(fiberRefLocallyScoped(self,value)),fiberRefLocallyScopedWith2=(self,value)=>scopedDiscard(fiberRefLocallyScopedWith(self,value)),fromFunction=(tagA,tagB,f)=>fromEffectContext(map9(tagA,(a)=>make6(tagB,f(a)))),launch=(self)=>scopedEffect(zipRight(scopeWith((scope2)=>pipe(self,buildWithScope(scope2))),never)),map12=dual(2,(self,f)=>flatMap9(self,(context3)=>succeedContext(f(context3)))),mapError2=dual(2,(self,f)=>catchAll2(self,(error)=>failSync2(()=>f(error)))),matchCause2=dual(2,(self,{onFailure,onSuccess})=>{let fold=Object.create(proto3);return fold._op_layer=OP_FOLD,fold.layer=self,fold.failureK=onFailure,fold.successK=onSuccess,fold}),match12=dual(2,(self,{onFailure,onSuccess})=>matchCause2(self,{onFailure:(cause2)=>{let failureOrCause3=failureOrCause2(cause2);switch(failureOrCause3._tag){case"Left":return onFailure(failureOrCause3.left);case"Right":return failCause5(failureOrCause3.right)}},onSuccess})),memoize2=(self)=>scopeWith((scope2)=>map9(memoize(buildWithScope(self,scope2)),fromEffectContext)),merge6=dual(2,(self,that)=>zipWith5(self,that,(a,b)=>merge3(a,b))),mergeAll4=(...layers)=>{let final=layers[0];for(let i=1;i<layers.length;i++)final=merge6(final,layers[i]);return final},orDie2=(self)=>catchAll2(self,(defect)=>die5(defect)),orElse4=dual(2,(self,that)=>catchAll2(self,that)),passthrough2=(self)=>merge6(context2(),self),project=dual(4,(self,tagA,tagB,f)=>map12(self,(context3)=>make6(tagB,f(unsafeGet3(context3,tagA))))),retry=dual(2,(self,schedule)=>suspend2(()=>{let stateTag=GenericTag("effect/Layer/retry/{ state: unknown }");return pipe(succeed5(stateTag,{state:schedule.initial}),flatMap9((env)=>retryLoop(self,schedule,stateTag,pipe(env,get3(stateTag)).state)))})),retryLoop=(self,schedule,stateTag,state)=>{return pipe(self,catchAll2((error)=>pipe(retryUpdate(schedule,stateTag,error,state),flatMap9((env)=>fresh(retryLoop(self,schedule,stateTag,pipe(env,get3(stateTag)).state))))))},retryUpdate=(schedule,stateTag,error,state)=>{return fromEffect3(stateTag,pipe(currentTimeMillis2,flatMap7((now)=>pipe(schedule.step(now,error,state),flatMap7(([state2,_,decision])=>isDone4(decision)?fail2(error):pipe(sleep2(millis(start2(decision.intervals)-now)),as({state:state2})))))))},scoped=dual(2,(a,b)=>{let tagFirst=isTag2(a),tag=tagFirst?a:b;return scopedContext(map9(tagFirst?b:a,(service)=>make6(tag,service)))}),scopedDiscard=(effect)=>scopedContext(pipe(effect,as(empty4()))),scopedContext=(effect)=>{let scoped2=Object.create(proto3);return scoped2._op_layer=OP_SCOPED,scoped2.effect=effect,scoped2},scope2=scopedContext(map9(acquireRelease(scopeMake(),(scope3,exit2)=>scope3.close(exit2)),(scope3)=>make6(Scope,scope3))),service=(tag)=>fromEffect3(tag,tag),succeed5=dual(2,(a,b)=>{let tagFirst=isTag2(a);return fromEffectContext(succeed(make6(tagFirst?a:b,tagFirst?b:a)))}),succeedContext=(context3)=>{return fromEffectContext(succeed(context3))},empty33=succeedContext(empty4()),suspend2=(evaluate2)=>{let suspend3=Object.create(proto3);return suspend3._op_layer=OP_SUSPEND,suspend3.evaluate=evaluate2,suspend3},sync2=dual(2,(a,b)=>{let tagFirst=isTag2(a),tag=tagFirst?a:b,evaluate2=tagFirst?b:a;return fromEffectContext(sync(()=>make6(tag,evaluate2())))}),syncContext=(evaluate2)=>{return fromEffectContext(sync(evaluate2))},tap2=dual(2,(self,f)=>flatMap9(self,(context3)=>fromEffectContext(as(f(context3),context3)))),tapError2=dual(2,(self,f)=>catchAll2(self,(e)=>fromEffectContext(flatMap7(f(e),()=>fail2(e))))),tapErrorCause2=dual(2,(self,f)=>catchAllCause2(self,(cause2)=>fromEffectContext(flatMap7(f(cause2),()=>failCause(cause2))))),toRuntime=(self)=>pipe(scopeWith((scope3)=>buildWithScope(self,scope3)),flatMap7((context3)=>pipe(runtime2(),provideContext(context3)))),toRuntimeWithMemoMap=dual(2,(self,memoMap)=>flatMap7(scopeWith((scope3)=>buildWithMemoMap(self,memoMap,scope3)),(context3)=>pipe(runtime2(),provideContext(context3)))),provide=dual(2,(self,that)=>suspend2(()=>{let provideTo=Object.create(proto3);return provideTo._op_layer=OP_PROVIDE,provideTo.first=Object.create(proto3,{_op_layer:{value:OP_PROVIDE_MERGE,enumerable:!0},first:{value:context2(),enumerable:!0},second:{value:Array.isArray(that)?mergeAll4(...that):that},zipK:{value:(a,b)=>pipe(a,merge3(b))}}),provideTo.second=self,provideTo})),provideMerge=dual(2,(that,self)=>{let zipWith5=Object.create(proto3);return zipWith5._op_layer=OP_PROVIDE_MERGE,zipWith5.first=self,zipWith5.second=provide(that,self),zipWith5.zipK=(a,b)=>{return pipe(a,merge3(b))},zipWith5}),zipWith5=dual(3,(self,that,f)=>suspend2(()=>{let zipWith6=Object.create(proto3);return zipWith6._op_layer=OP_ZIP_WITH2,zipWith6.first=self,zipWith6.second=that,zipWith6.zipK=f,zipWith6})),unwrapEffect=(self)=>{let tag=GenericTag("effect/Layer/unwrapEffect/Layer.Layer<R1, E1, A>");return flatMap9(fromEffect3(tag,self),(context3)=>get3(context3,tag))},unwrapScoped=(self)=>{let tag=GenericTag("effect/Layer/unwrapScoped/Layer.Layer<R1, E1, A>");return flatMap9(scoped(tag,self),(context3)=>get3(context3,tag))},annotateLogs2=dual((args2)=>isLayer(args2[0]),function(){let args2=arguments;return fiberRefLocallyWith2(args2[0],currentLogAnnotations,typeof args2[1]==="string"?set3(args2[1],args2[2]):(annotations2)=>Object.entries(args2[1]).reduce((acc,[key,value])=>set3(acc,key,value),annotations2))}),annotateSpans2=dual((args2)=>isLayer(args2[0]),function(){let args2=arguments;return fiberRefLocallyWith2(args2[0],currentTracerSpanAnnotations,typeof args2[1]==="string"?set3(args2[1],args2[2]):(annotations2)=>Object.entries(args2[1]).reduce((acc,[key,value])=>set3(acc,key,value),annotations2))}),withSpan2=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 unwrapScoped(map9(options?.onEnd?tap(makeSpanScoped(name,options),(span2)=>addFinalizer((exit2)=>options.onEnd(span2,exit2))):makeSpanScoped(name,options),(span2)=>withParentSpan2(self,span2)))}return(self)=>unwrapScoped(map9(options?.onEnd?tap(makeSpanScoped(name,options),(span2)=>addFinalizer((exit2)=>options.onEnd(span2,exit2))):makeSpanScoped(name,options),(span2)=>withParentSpan2(self,span2)))},withParentSpan2=dual(2,(self,span2)=>provide(self,succeedContext(make6(spanTag,span2)))),provideSomeLayer=dual(2,(self,layer)=>scopedWith((scope3)=>flatMap7(buildWithScope(layer,scope3),(context3)=>provideSomeContext(self,context3)))),provideSomeRuntime=dual(2,(self,rt)=>{let patchRefs=diff9(defaultRuntime.fiberRefs,rt.fiberRefs),patchFlags=diff7(defaultRuntime.runtimeFlags,rt.runtimeFlags);return uninterruptibleMask((restore)=>withFiberRuntime((fiber)=>{let oldContext=fiber.getFiberRef(currentContext),oldRefs=fiber.getFiberRefs(),newRefs=patch10(fiber.id(),oldRefs)(patchRefs),oldFlags=fiber.currentRuntimeFlags,newFlags=patch7(patchFlags)(oldFlags),rollbackRefs=diff9(newRefs,oldRefs),rollbackFlags=diff7(newFlags,oldFlags);return fiber.setFiberRefs(newRefs),fiber.currentRuntimeFlags=newFlags,ensuring(provideSomeContext(restore(self),merge3(oldContext,rt.context)),withFiberRuntime((fiber2)=>{return fiber2.setFiberRefs(patch10(fiber2.id(),fiber2.getFiberRefs())(rollbackRefs)),fiber2.currentRuntimeFlags=patch7(rollbackFlags)(fiber2.currentRuntimeFlags),void_}))}))}),effect_provide=dual(2,(self,source)=>{if(Array.isArray(source))return provideSomeLayer(self,mergeAll4(...source));else if(isLayer(source))return provideSomeLayer(self,source);else if(isContext2(source))return provideSomeContext(self,source);else if(TypeId18 in source)return flatMap7(source.runtimeEffect,(rt)=>provideSomeRuntime(self,rt));else return provideSomeRuntime(self,source)});var console2=map9(fiberRefGet(currentServices),get3(consoleTag)),consoleWith=(f)=>fiberRefGetWith(currentServices,(services)=>f(get3(services,consoleTag))),withConsole=dual(2,(effect,value)=>fiberRefLocallyWith(effect,currentServices,add2(consoleTag,value))),withConsoleScoped=(console3)=>fiberRefLocallyScopedWith(currentServices,add2(consoleTag,console3));var currentCache=globalValue(Symbol.for("effect/FiberRef/currentCache"),()=>fiberRefUnsafeMake(unsafeMakeWith(65536,()=>map9(deferredMake(),(handle)=>({listeners:new Listeners,handle})),()=>seconds(60)))),currentCacheEnabled=globalValue(Symbol.for("effect/FiberRef/currentCacheEnabled"),()=>fiberRefUnsafeMake(!1)),fromRequest=(request,dataSource)=>flatMap7(isEffect(dataSource)?dataSource:succeed(dataSource),(ds)=>fiberIdWith((id2)=>{let proxy=new Proxy(request,{});return fiberRefGetWith(currentCacheEnabled,(cacheEnabled)=>{if(cacheEnabled){let cached3=fiberRefGetWith(currentCache,(cache)=>flatMap7(cache.getEither(proxy),(orNew)=>{switch(orNew._tag){case"Left":{if(orNew.left.listeners.interrupted)return flatMap7(cache.invalidateWhen(proxy,(entry)=>entry.handle===orNew.left.handle),()=>cached3);return orNew.left.listeners.increment(),uninterruptibleMask((restore)=>flatMap7(exit(blocked(empty19,restore(deferredAwait(orNew.left.handle)))),(exit2)=>{return orNew.left.listeners.decrement(),exit2}))}case"Right":return orNew.right.listeners.increment(),uninterruptibleMask((restore)=>flatMap7(exit(blocked(single(ds,makeEntry({request:proxy,result:orNew.right.handle,listeners:orNew.right.listeners,ownerId:id2,state:{completed:!1}})),restore(deferredAwait(orNew.right.handle)))),()=>{return orNew.right.listeners.decrement(),deferredAwait(orNew.right.handle)}))}}));return cached3}let listeners=new Listeners;return listeners.increment(),flatMap7(deferredMake(),(ref)=>ensuring(blocked(single(ds,makeEntry({request:proxy,result:ref,listeners,ownerId:id2,state:{completed:!1}})),deferredAwait(ref)),sync(()=>listeners.decrement())))})})),cacheRequest=(request,result)=>{return fiberRefGetWith(currentCacheEnabled,(cacheEnabled)=>{if(cacheEnabled)return fiberRefGetWith(currentCache,(cache)=>flatMap7(cache.getEither(request),(orNew)=>{switch(orNew._tag){case"Left":return void_;case"Right":return deferredComplete(orNew.right.handle,result)}}));return void_})},withRequestCaching=dual(2,(self,strategy)=>fiberRefLocally(self,currentCacheEnabled,strategy)),withRequestCache=dual(2,(self,cache)=>fiberRefLocally(self,currentCache,cache));var isRequest2=isRequest;var EffectTypeId3=EffectTypeId2,isEffect2=isEffect,cachedWithTTL=cached2,cachedInvalidateWithTTL2=cachedInvalidateWithTTL,cached3=memoize,cachedFunction2=cachedFunction,once2=once,all4=all2,allWith2=allWith,allSuccesses2=allSuccesses,dropUntil2=dropUntil,dropWhile2=dropWhile,takeUntil2=takeUntil,takeWhile2=takeWhile,every6=every5,exists3=exists2,filter7=filter5,filterMap4=filterMap3,findFirst6=findFirst4,forEach8=forEach7,head4=head3,mergeAll5=mergeAll3,partition4=partition3,reduce12=reduce10,reduceWhile2=reduceWhile,reduceRight3=reduceRight2,reduceEffect2=reduceEffect,replicate2=replicate,replicateEffect2=replicateEffect,validateAll2=validateAll,validateFirst2=validateFirst,async=async_,asyncEffect2=asyncEffect,custom2=custom,withFiberRuntime2=withFiberRuntime,fail8=fail2,failSync3=failSync,failCause7=failCause,failCauseSync3=failCauseSync,die6=die2,dieMessage2=dieMessage,dieSync3=dieSync,gen2=gen,never3=never,none9=none6,promise2=promise,succeed7=succeed,succeedNone2=succeedNone,succeedSome2=succeedSome,suspend3=suspend,sync3=sync,_void=void_;var yieldNow4=yieldNow,_catch2=_catch;var catchAll3=catchAll,catchAllCause3=catchAllCause,catchAllDefect2=catchAllDefect,catchIf2=catchIf,catchSome2=catchSome,catchSomeCause2=catchSomeCause,catchSomeDefect2=catchSomeDefect,catchTag2=catchTag,catchTags2=catchTags,cause2=cause,eventually2=eventually,ignore2=ignore,ignoreLogged2=ignoreLogged,parallelErrors2=parallelErrors,sandbox2=sandbox,retry2=retry_combined,retryOrElse=retryOrElse_Effect,try_2=try_;var tryMap2=tryMap,tryMapPromise2=tryMapPromise,tryPromise2=tryPromise,unsandbox2=unsandbox,allowInterrupt2=allowInterrupt,checkInterruptible2=checkInterruptible,disconnect2=disconnect,interrupt6=interrupt2,interruptWith2=interruptWith,interruptible4=interruptible2,interruptibleMask2=interruptibleMask,onInterrupt2=onInterrupt,uninterruptible2=uninterruptible,uninterruptibleMask3=uninterruptibleMask,liftPredicate2=liftPredicate,as3=as,asSome2=asSome,asSomeError2=asSomeError,asVoid2=asVoid,flip2=flip,flipWith2=flipWith,map13=map9,mapAccum3=mapAccum2,mapBoth2=mapBoth,mapError3=mapError,mapErrorCause2=mapErrorCause,merge7=merge5,negate2=negate,acquireRelease2=acquireRelease,acquireReleaseInterruptible2=acquireReleaseInterruptible,acquireUseRelease2=acquireUseRelease,addFinalizer2=addFinalizer,ensuring2=ensuring,onError2=onError,onExit3=onExit,parallelFinalizers2=parallelFinalizers,sequentialFinalizers2=sequentialFinalizers,finalizersMask2=finalizersMask,scope3=scope,scopeWith2=scopeWith,scopedWith2=scopedWith,scoped2=scopedEffect,using2=using,withEarlyRelease2=withEarlyRelease,awaitAllChildren2=awaitAllChildren,daemonChildren2=daemonChildren,descriptor2=descriptor,descriptorWith2=descriptorWith,diffFiberRefs2=diffFiberRefs,ensuringChild2=ensuringChild,ensuringChildren2=ensuringChildren,fiberId2=fiberId,fiberIdWith2=fiberIdWith,fork3=fork,forkDaemon2=forkDaemon,forkAll2=forkAll,forkIn2=forkIn,forkScoped2=forkScoped,forkWithErrorHandler2=forkWithErrorHandler,fromFiber2=fromFiber,fromFiberEffect2=fromFiberEffect,supervised2=supervised,transplant2=transplant,withConcurrency2=withConcurrency,withScheduler2=withScheduler,withSchedulingPriority2=withSchedulingPriority,withMaxOpsBeforeYield2=withMaxOpsBeforeYield,clock2=clock,clockWith4=clockWith3,withClockScoped2=withClockScoped,withClock2=withClock,console3=console2,consoleWith2=consoleWith,withConsoleScoped2=withConsoleScoped,withConsole2=withConsole,delay2=delay,sleep4=sleep3,timed2=timed,timedWith2=timedWith,timeout2=timeout,timeoutOption2=timeoutOption,timeoutFail2=timeoutFail,timeoutFailCause2=timeoutFailCause,timeoutTo2=timeoutTo,configProviderWith2=configProviderWith,withConfigProvider2=withConfigProvider,withConfigProviderScoped2=withConfigProviderScoped,context3=context,contextWith2=contextWith,contextWithEffect2=contextWithEffect,mapInputContext2=mapInputContext,provide2=effect_provide,provideService2=provideService,provideServiceEffect2=provideServiceEffect,serviceFunction2=serviceFunction,serviceFunctionEffect2=serviceFunctionEffect,serviceFunctions2=serviceFunctions,serviceConstants2=serviceConstants,serviceMembers2=serviceMembers,serviceOption2=serviceOption,serviceOptional2=serviceOptional,updateService2=updateService,Do2=Do,bind3=bind2,bindAll2=bindAll,bindTo3=bindTo2,let_3=let_2;var option2=option,either3=either2,exit2=exit,intoDeferred2=intoDeferred,if_2=if_;var filterOrDie2=filterOrDie,filterOrDieMessage2=filterOrDieMessage,filterOrElse2=filterOrElse,filterOrFail2=filterOrFail,filterEffectOrElse2=filterEffectOrElse,filterEffectOrFail2=filterEffectOrFail,unless2=unless,unlessEffect2=unlessEffect,when2=when,whenEffect2=whenEffect,whenFiberRef2=whenFiberRef,whenRef2=whenRef,flatMap10=flatMap7,andThen4=andThen2,flatten8=flatten5,race2=race,raceAll2=raceAll,raceFirst2=raceFirst,raceWith2=raceWith,summarized2=summarized,tap3=tap,tapBoth2=tapBoth,tapDefect2=tapDefect,tapError3=tapError,tapErrorTag2=tapErrorTag,tapErrorCause3=tapErrorCause,forever3=forever,iterate2=iterate,loop2=loop,repeat=repeat_combined,repeatN2=repeatN,repeatOrElse=repeatOrElse_Effect,schedule=schedule_Effect,scheduleForked2=scheduleForked,scheduleFrom=scheduleFrom_Effect,whileLoop2=whileLoop,getFiberRefs=fiberRefs2,inheritFiberRefs2=inheritFiberRefs,locally=fiberRefLocally,locallyWith=fiberRefLocallyWith,locallyScoped=fiberRefLocallyScoped,locallyScopedWith=fiberRefLocallyScopedWith,patchFiberRefs2=patchFiberRefs,setFiberRefs2=setFiberRefs,updateFiberRefs2=updateFiberRefs,isFailure3=isFailure,isSuccess3=isSuccess2,match13=match6,matchCause3=matchCause,matchCauseEffect3=matchCauseEffect,matchEffect2=matchEffect,log2=log,logWithLevel2=(level,...message)=>logWithLevel(level)(...message),logTrace2=logTrace,logDebug2=logDebug,logInfo2=logInfo,logWarning2=logWarning,logError2=logError,logFatal2=logFatal,withLogSpan2=withLogSpan,annotateLogs3=annotateLogs,annotateLogsScoped2=annotateLogsScoped,logAnnotations2=logAnnotations,withUnhandledErrorLogLevel2=withUnhandledErrorLogLevel,whenLogLevel2=whenLogLevel,orDie3=orDie,orDieWith2=orDieWith,orElse5=orElse2,orElseFail2=orElseFail,orElseSucceed2=orElseSucceed,firstSuccessOf2=firstSuccessOf,random3=random2,randomWith2=randomWith,withRandom2=withRandom,withRandomScoped2=withRandomScoped,runtime3=runtime2,getRuntimeFlags=runtimeFlags,patchRuntimeFlags=updateRuntimeFlags,withRuntimeFlagsPatch=withRuntimeFlags,withRuntimeFlagsPatchScoped=withRuntimeFlagsScoped,tagMetrics2=tagMetrics,labelMetrics2=labelMetrics,tagMetricsScoped2=tagMetricsScoped,labelMetricsScoped2=labelMetricsScoped,metricLabels2=metricLabels,withMetric2=withMetric,unsafeMakeSemaphore2=unsafeMakeSemaphore,makeSemaphore2=makeSemaphore,unsafeMakeLatch2=unsafeMakeLatch,makeLatch2=makeLatch,runFork2=unsafeForkEffect,runCallback=unsafeRunEffect,runPromise=unsafeRunPromiseEffect,runPromiseExit=unsafeRunPromiseExitEffect,runSync=unsafeRunSyncEffect,runSyncExit=unsafeRunSyncExitEffect,validate2=validate,validateWith2=validateWith,zip4=zipOptions,zipLeft2=zipLeftOptions,zipRight2=zipRightOptions,zipWith6=zipWithOptions,ap=dual(2,(self,that)=>zipWith6(self,that,(f,a)=>f(a))),blocked2=blocked,runRequestBlock2=runRequestBlock,step3=step2,request=dual((args2)=>isRequest2(args2[0]),fromRequest),cacheRequestResult=cacheRequest,withRequestBatching2=withRequestBatching,withRequestCaching2=withRequestCaching,withRequestCache2=withRequestCache,tracer2=tracer,tracerWith4=tracerWith,withTracer2=withTracer,withTracerScoped2=withTracerScoped,withTracerEnabled2=withTracerEnabled,withTracerTiming2=withTracerTiming,annotateSpans3=annotateSpans,annotateCurrentSpan2=annotateCurrentSpan,currentSpan2=currentSpan,currentParentSpan2=currentParentSpan,spanAnnotations2=spanAnnotations,spanLinks2=spanLinks,linkSpans2=linkSpans,linkSpanCurrent2=linkSpanCurrent,makeSpan2=makeSpan,makeSpanScoped2=makeSpanScoped,useSpan2=useSpan,withSpan3=withSpan,functionWithSpan2=functionWithSpan,withSpanScoped2=withSpanScoped,withParentSpan3=withParentSpan,fromNullable3=fromNullable2,optionFromOptional2=optionFromOptional,transposeOption=(self)=>{return isNone(self)?succeedNone2:map13(self.value,some)},transposeMapOption=dual(2,(self,f)=>isNone(self)?succeedNone2:map13(f(self.value),some)),makeTagProxy=(TagClass)=>{let cache=new Map;return new Proxy(TagClass,{get(target,prop,receiver){if(prop in target)return Reflect.get(target,prop,receiver);if(cache.has(prop))return cache.get(prop);let fn=(...args2)=>andThen2(target,(s)=>{if(typeof s[prop]==="function")return cache.set(prop,(...args3)=>andThen2(target,(s2)=>s2[prop](...args3))),s[prop](...args2);return cache.set(prop,andThen2(target,(s2)=>s2[prop])),s[prop]}),cn=andThen2(target,(s)=>s[prop]);return Object.assign(fn,cn),Object.setPrototypeOf(fn,Object.getPrototypeOf(cn)),cache.set(prop,fn),fn}})},Tag3=(id2)=>()=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=new Error;Error.stackTraceLimit=limit;function TagClass(){}return Object.setPrototypeOf(TagClass,TagProto),TagClass.key=id2,Object.defineProperty(TagClass,"use",{get(){return(body)=>andThen2(this,body)}}),Object.defineProperty(TagClass,"stack",{get(){return creationError.stack}}),makeTagProxy(TagClass)},Service=function(){return function(){let[id2,maker]=arguments,proxy="accessors"in maker?maker.accessors:!1,limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=new Error;Error.stackTraceLimit=limit;let patchState="unchecked",TagClass=function(service2){if(patchState==="unchecked"){let proto4=Object.getPrototypeOf(service2);if(proto4===Object.prototype||proto4===null)patchState="plain";else{let selfProto=Object.getPrototypeOf(this);Object.setPrototypeOf(selfProto,proto4),patchState="patched"}}if(patchState==="plain")Object.assign(this,service2);else if(patchState==="patched")return Object.setPrototypeOf(service2,Object.getPrototypeOf(this)),service2};TagClass.prototype._tag=id2,Object.defineProperty(TagClass,"make",{get(){return(service2)=>new this(service2)}}),Object.defineProperty(TagClass,"use",{get(){return(body)=>andThen2(this,body)}}),TagClass.key=id2,Object.assign(TagClass,TagProto),Object.defineProperty(TagClass,"stack",{get(){return creationError.stack}});let hasDeps="dependencies"in maker&&maker.dependencies.length>0,layerName=hasDeps?"DefaultWithoutDependencies":"Default",layerCache;if("effect"in maker)Object.defineProperty(TagClass,layerName,{get(){return layerCache??=fromEffect3(TagClass,map13(maker.effect,(_)=>new this(_)))}});else if("scoped"in maker)Object.defineProperty(TagClass,layerName,{get(){return layerCache??=scoped(TagClass,map13(maker.scoped,(_)=>new this(_)))}});else if("sync"in maker)Object.defineProperty(TagClass,layerName,{get(){return layerCache??=sync2(TagClass,()=>new this(maker.sync()))}});else Object.defineProperty(TagClass,layerName,{get(){return layerCache??=succeed5(TagClass,new this(maker.succeed))}});if(hasDeps){let layerWithDepsCache;Object.defineProperty(TagClass,"Default",{get(){return layerWithDepsCache??=provide(this.DefaultWithoutDependencies,maker.dependencies)}})}return proxy===!0?makeTagProxy(TagClass):TagClass}},fn=function(nameOrBody,...pipeables){let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let errorDef=new Error;if(Error.stackTraceLimit=limit,typeof nameOrBody!=="string")return defineLength(nameOrBody.length,function(...args2){let limit2=Error.stackTraceLimit;Error.stackTraceLimit=2;let errorCall=new Error;return Error.stackTraceLimit=limit2,fnApply({self:this,body:nameOrBody,args:args2,pipeables,spanName:"<anonymous>",spanOptions:{context:DisablePropagation.context(!0)},errorDef,errorCall})});let name=nameOrBody,options=pipeables[0];return(body,...pipeables2)=>defineLength(body.length,{[name](...args2){let limit2=Error.stackTraceLimit;Error.stackTraceLimit=2;let errorCall=new Error;return Error.stackTraceLimit=limit2,fnApply({self:this,body,args:args2,pipeables:pipeables2,spanName:name,spanOptions:options,errorDef,errorCall})}}[name])};function defineLength(length2,fn2){return Object.defineProperty(fn2,"length",{value:length2,configurable:!0})}function fnApply(options){let effect,fnError=void 0;if(isGeneratorFunction(options.body))effect=fromIterator(()=>options.body.apply(options.self,options.args));else try{effect=options.body.apply(options.self,options.args)}catch(error){fnError=error,effect=die6(error)}if(options.pipeables.length>0)try{for(let x of options.pipeables)effect=x(effect,...options.args)}catch(error){effect=fnError?failCause7(sequential(die(fnError),die(error))):die6(error)}let cache=!1,captureStackTrace=()=>{if(cache!==!1)return cache;if(options.errorCall.stack){let stackDef=options.errorDef.stack.trim().split(`
|
|
30
|
+
`)}`;super(message);this._tag=_tag,this.traces=traces,this[MicroCauseTypeId]=microCauseVariance,this.name=name,this.stack=stack}pipe(){return pipeArguments(this,arguments)}toString(){return this.stack}[NodeInspectSymbol](){return this.stack}}class Die extends MicroCauseImpl{defect;constructor(defect,traces=[]){super("Die",defect,traces);this.defect=defect}}var causeDie=(defect,traces=[])=>new Die(defect,traces);class Interrupt extends MicroCauseImpl{constructor(traces=[]){super("Interrupt","interrupted",traces)}}var causeInterrupt=(traces=[])=>new Interrupt(traces);var causeIsInterrupt=(self)=>self._tag==="Interrupt";var MicroFiberTypeId=Symbol.for("effect/Micro/MicroFiber"),fiberVariance={_A:identity,_E:identity};class MicroFiberImpl{context;interruptible;[MicroFiberTypeId];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor(context2,interruptible3=!0){this.context=context2,this.interruptible=interruptible3,this[MicroFiberTypeId]=fiberVariance}getRef(ref){return unsafeGetReference(this.context,ref)}addObserver(cb){if(this._exit)return cb(this._exit),constVoid;return this._observers.push(cb),()=>{let index=this._observers.indexOf(cb);if(index>=0)this._observers.splice(index,1)}}_interrupted=!1;unsafeInterrupt(){if(this._exit)return;if(this._interrupted=!0,this.interruptible)this.evaluate(exitInterrupt2)}unsafePoll(){return this._exit}evaluate(effect){if(this._exit)return;else if(this._yielded!==void 0){let yielded=this._yielded;this._yielded=void 0,yielded()}let exit2=this.runLoop(effect);if(exit2===Yield)return;let interruptChildren=fiberMiddleware.interruptChildren&&fiberMiddleware.interruptChildren(this);if(interruptChildren!==void 0)return this.evaluate(flatMap8(interruptChildren,()=>exit2));this._exit=exit2;for(let i=0;i<this._observers.length;i++)this._observers[i](exit2);this._observers.length=0}runLoop(effect){let yielding=!1,current=effect;this.currentOpCount=0;try{while(!0){if(this.currentOpCount++,!yielding&&this.getRef(CurrentScheduler).shouldYield(this)){yielding=!0;let prev=current;current=flatMap8(yieldNow2,()=>prev)}if(current=current[evaluate](this),current===Yield){let yielded=this._yielded;if(MicroExitTypeId in yielded)return this._yielded=void 0,yielded;return Yield}}}catch(error){if(!hasProperty(current,evaluate))return exitDie2(`MicroFiber.runLoop: Not a valid effect: ${String(current)}`);return exitDie2(error)}}getCont(symbol3){while(!0){let op=this._stack.pop();if(!op)return;let cont=op[ensureCont]&&op[ensureCont](this);if(cont)return{[symbol3]:cont};if(op[symbol3])return op}}_yielded=void 0;yieldWith(value){return this._yielded=value,Yield}children(){return this._children??=new Set}}var fiberMiddleware=globalValue("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var identifier=Symbol.for("effect/Micro/identifier"),args=Symbol.for("effect/Micro/args"),evaluate=Symbol.for("effect/Micro/evaluate"),successCont=Symbol.for("effect/Micro/successCont"),failureCont=Symbol.for("effect/Micro/failureCont"),ensureCont=Symbol.for("effect/Micro/ensureCont"),Yield=Symbol.for("effect/Micro/Yield"),microVariance={_A:identity,_E:identity,_R:identity},MicroProto={...EffectPrototype2,_op:"Micro",[TypeId14]:microVariance,pipe(){return pipeArguments(this,arguments)},[Symbol.iterator](){return new SingleShotGen(new YieldWrap(this))},toJSON(){return{_id:"Micro",op:this[identifier],...args in this?{args:this[args]}:void 0}},toString(){return format(this)},[NodeInspectSymbol](){return format(this)}};function defaultEvaluate(_fiber){return exitDie2("Micro.evaluate: Not implemented")}var makePrimitiveProto=(options)=>({...MicroProto,[identifier]:options.op,[evaluate]:options.eval??defaultEvaluate,[successCont]:options.contA,[failureCont]:options.contE,[ensureCont]:options.ensure}),makePrimitive=(options)=>{let Proto2=makePrimitiveProto(options);return function(){let self=Object.create(Proto2);return self[args]=options.single===!1?arguments:arguments[0],self}},makeExit=(options)=>{let Proto2={...makePrimitiveProto(options),[MicroExitTypeId]:MicroExitTypeId,_tag:options.op,get[options.prop](){return this[args]},toJSON(){return{_id:"MicroExit",_tag:options.op,[options.prop]:this[args]}},[symbol2](that){return isMicroExit(that)&&that._tag===options.op&&equals(this[args],that[args])},[symbol](){return cached(this,combine(string(options.op))(hash(this[args])))}};return function(value){let self=Object.create(Proto2);return self[args]=value,self[successCont]=void 0,self[failureCont]=void 0,self[ensureCont]=void 0,self}},succeed3=makeExit({op:"Success",prop:"value",eval(fiber){let cont=fiber.getCont(successCont);return cont?cont[successCont](this[args],fiber):fiber.yieldWith(this)}}),failCause3=makeExit({op:"Failure",prop:"cause",eval(fiber){let cont=fiber.getCont(failureCont);while(causeIsInterrupt(this[args])&&cont&&fiber.interruptible)cont=fiber.getCont(failureCont);return cont?cont[failureCont](this[args],fiber):fiber.yieldWith(this)}});var yieldNowWith=makePrimitive({op:"Yield",eval(fiber){let resumed=!1;return fiber.getRef(CurrentScheduler).scheduleTask(()=>{if(resumed)return;fiber.evaluate(exitVoid2)},this[args]??0),fiber.yieldWith(()=>{resumed=!0})}}),yieldNow2=yieldNowWith(0);var void_2=succeed3(void 0);var withMicroFiber=makePrimitive({op:"WithMicroFiber",eval(fiber){return this[args](fiber)}});var flatMap8=dual(2,(self,f)=>{let onSuccess=Object.create(OnSuccessProto);return onSuccess[args]=self,onSuccess[successCont]=f,onSuccess}),OnSuccessProto=makePrimitiveProto({op:"OnSuccess",eval(fiber){return fiber._stack.push(this),this[args]}});var isMicroExit=(u)=>hasProperty(u,MicroExitTypeId),exitSucceed2=succeed3,exitFailCause2=failCause3,exitInterrupt2=exitFailCause2(causeInterrupt());var exitDie2=(defect)=>exitFailCause2(causeDie(defect));var exitVoid2=exitSucceed2(void 0);var setImmediate2="setImmediate"in globalThis?globalThis.setImmediate:(f)=>setTimeout(f,0);class MicroSchedulerDefault{tasks=[];running=!1;scheduleTask(task,_priority){if(this.tasks.push(task),!this.running)this.running=!0,setImmediate2(this.afterScheduled)}afterScheduled=()=>{this.running=!1,this.runTasks()};runTasks(){let tasks=this.tasks;this.tasks=[];for(let i=0,len=tasks.length;i<len;i++)tasks[i]()}shouldYield(fiber){return fiber.currentOpCount>=fiber.getRef(MaxOpsBeforeYield)}flush(){while(this.tasks.length>0)this.runTasks()}}var updateContext=dual(2,(self,f)=>withMicroFiber((fiber)=>{let prev=fiber.context;return fiber.context=f(prev),onExit2(self,()=>{return fiber.context=prev,void_2})}));var provideContext2=dual(2,(self,provided)=>updateContext(self,merge3(provided)));class MaxOpsBeforeYield extends Reference2()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){}class CurrentScheduler extends Reference2()("effect/Micro/currentScheduler",{defaultValue:()=>new MicroSchedulerDefault}){}var matchCauseEffect2=dual(2,(self,options)=>{let primitive=Object.create(OnSuccessAndFailureProto);return primitive[args]=self,primitive[successCont]=options.onSuccess,primitive[failureCont]=options.onFailure,primitive}),OnSuccessAndFailureProto=makePrimitiveProto({op:"OnSuccessAndFailure",eval(fiber){return fiber._stack.push(this),this[args]}});var onExit2=dual(2,(self,f)=>uninterruptibleMask2((restore)=>matchCauseEffect2(restore(self),{onFailure:(cause2)=>flatMap8(f(exitFailCause2(cause2)),()=>failCause3(cause2)),onSuccess:(a)=>flatMap8(f(exitSucceed2(a)),()=>succeed3(a))})));var setInterruptible=makePrimitive({op:"SetInterruptible",ensure(fiber){if(fiber.interruptible=this[args],fiber._interrupted&&fiber.interruptible)return()=>exitInterrupt2}}),interruptible3=(self)=>withMicroFiber((fiber)=>{if(fiber.interruptible)return self;if(fiber.interruptible=!0,fiber._stack.push(setInterruptible(!1)),fiber._interrupted)return exitInterrupt2;return self}),uninterruptibleMask2=(f)=>withMicroFiber((fiber)=>{if(!fiber.interruptible)return f(identity);return fiber.interruptible=!1,fiber._stack.push(setInterruptible(!0)),f(interruptible3)});var runFork=(effect,options)=>{let fiber=new MicroFiberImpl(CurrentScheduler.context(options?.scheduler??new MicroSchedulerDefault));if(fiber.evaluate(effect),options?.signal)if(options.signal.aborted)fiber.unsafeInterrupt();else{let abort=()=>fiber.unsafeInterrupt();options.signal.addEventListener("abort",abort,{once:!0}),fiber.addObserver(()=>options.signal.removeEventListener("abort",abort))}return fiber};class PriorityBuckets{buckets=[];scheduleTask(task,priority){let length2=this.buckets.length,bucket=void 0,index=0;for(;index<length2;index++)if(this.buckets[index][0]<=priority)bucket=this.buckets[index];else break;if(bucket&&bucket[0]===priority)bucket[1].push(task);else if(index===length2)this.buckets.push([priority,[task]]);else this.buckets.splice(index,0,[priority,[task]])}}class MixedScheduler{maxNextTickBeforeTimer;running=!1;tasks=new PriorityBuckets;constructor(maxNextTickBeforeTimer){this.maxNextTickBeforeTimer=maxNextTickBeforeTimer}starveInternal(depth){let tasks=this.tasks.buckets;this.tasks.buckets=[];for(let[_,toRun]of tasks)for(let i=0;i<toRun.length;i++)toRun[i]();if(this.tasks.buckets.length===0)this.running=!1;else this.starve(depth)}starve(depth=0){if(depth>=this.maxNextTickBeforeTimer)setTimeout(()=>this.starveInternal(0),0);else Promise.resolve(void 0).then(()=>this.starveInternal(depth+1))}shouldYield(fiber){return fiber.currentOpCount>fiber.getFiberRef(currentMaxOpsBeforeYield)?fiber.getFiberRef(currentSchedulingPriority):!1}scheduleTask(task,priority){if(this.tasks.scheduleTask(task,priority),!this.running)this.running=!0,this.starve()}}var defaultScheduler=globalValue(Symbol.for("effect/Scheduler/defaultScheduler"),()=>new MixedScheduler(2048));class SyncScheduler{tasks=new PriorityBuckets;deferred=!1;scheduleTask(task,priority){if(this.deferred)defaultScheduler.scheduleTask(task,priority);else this.tasks.scheduleTask(task,priority)}shouldYield(fiber){return fiber.currentOpCount>fiber.getFiberRef(currentMaxOpsBeforeYield)?fiber.getFiberRef(currentSchedulingPriority):!1}flush(){while(this.tasks.buckets.length>0){let tasks=this.tasks.buckets;this.tasks.buckets=[];for(let[_,toRun]of tasks)for(let i=0;i<toRun.length;i++)toRun[i]()}this.deferred=!0}}var currentScheduler=globalValue(Symbol.for("effect/FiberRef/currentScheduler"),()=>fiberRefUnsafeMake(defaultScheduler)),withScheduler=dual(2,(self,scheduler)=>fiberRefLocally(self,currentScheduler,scheduler));var currentRequestMap=globalValue(Symbol.for("effect/FiberRef/currentRequestMap"),()=>fiberRefUnsafeMake(new Map));var match8=(concurrency,sequential4,unbounded2,bounded)=>{switch(concurrency){case void 0:return sequential4();case"unbounded":return unbounded2();case"inherit":return fiberRefGetWith(currentConcurrency,(concurrency2)=>concurrency2==="unbounded"?unbounded2():concurrency2>1?bounded(concurrency2):sequential4());default:return concurrency>1?bounded(concurrency):sequential4()}},matchSimple=(concurrency,sequential4,concurrent)=>{switch(concurrency){case void 0:return sequential4();case"unbounded":return concurrent();case"inherit":return fiberRefGetWith(currentConcurrency,(concurrency2)=>concurrency2==="unbounded"||concurrency2>1?concurrent():sequential4());default:return concurrency>1?concurrent():sequential4()}};var OP_INTERRUPT_SIGNAL="InterruptSignal",OP_STATEFUL="Stateful",OP_RESUME="Resume",OP_YIELD_NOW="YieldNow",interruptSignal=(cause2)=>({_tag:"InterruptSignal",cause:cause2}),stateful=(onFiber)=>({_tag:"Stateful",onFiber}),resume=(effect)=>({_tag:"Resume",effect}),yieldNow3=()=>({_tag:"YieldNow"});var FiberScopeSymbolKey="effect/FiberScope",FiberScopeTypeId=Symbol.for(FiberScopeSymbolKey);class Global{[FiberScopeTypeId]=FiberScopeTypeId;fiberId=none4;roots=new Set;add(_runtimeFlags,child){this.roots.add(child),child.addObserver(()=>{this.roots.delete(child)})}}class Local{fiberId;parent;[FiberScopeTypeId]=FiberScopeTypeId;constructor(fiberId2,parent){this.fiberId=fiberId2,this.parent=parent}add(_runtimeFlags,child){this.parent.tell(stateful((parentFiber)=>{parentFiber.addChild(child),child.addObserver(()=>{parentFiber.removeChild(child)})}))}}var unsafeMake7=(fiber)=>{return new Local(fiber.id(),fiber)},globalScope=globalValue(Symbol.for("effect/FiberScope/Global"),()=>new Global);var FiberSymbolKey="effect/Fiber",FiberTypeId=Symbol.for(FiberSymbolKey),fiberVariance2={_E:(_)=>_,_A:(_)=>_},fiberProto={[FiberTypeId]:fiberVariance2,pipe(){return pipeArguments(this,arguments)}},RuntimeFiberSymbolKey="effect/Fiber",RuntimeFiberTypeId=Symbol.for(RuntimeFiberSymbolKey);var _await2=(self)=>self.await;var inheritAll=(self)=>self.inheritAll;var interruptAsFork=dual(2,(self,fiberId2)=>self.interruptAsFork(fiberId2)),join2=(self)=>zipLeft(flatten5(self.await),self.inheritAll);var _never={...CommitPrototype,commit(){return join2(this)},...fiberProto,id:()=>none4,await:never,children:succeed([]),inheritAll:never,poll:succeed(none2()),interruptAsFork:()=>never};var currentFiberURI="effect/FiberCurrent";var LoggerSymbolKey="effect/Logger",LoggerTypeId=Symbol.for(LoggerSymbolKey),loggerVariance={_Message:(_)=>_,_Output:(_)=>_},makeLogger=(log2)=>({[LoggerTypeId]:loggerVariance,log:log2,pipe(){return pipeArguments(this,arguments)}});var none7={[LoggerTypeId]:loggerVariance,log:constVoid,pipe(){return pipeArguments(this,arguments)}};var textOnly=/^[^\s"=]*$/,format4=(quoteValue,whitespace)=>({annotations:annotations2,cause:cause2,date,fiberId:fiberId2,logLevel,message,spans})=>{let formatValue=(value)=>value.match(textOnly)?value:quoteValue(value),format5=(label,value)=>`${formatLabel(label)}=${formatValue(value)}`,append4=(label,value)=>" "+format5(label,value),out=format5("timestamp",date.toISOString());out+=append4("level",logLevel.label),out+=append4("fiber",threadName(fiberId2));let messages=ensure(message);for(let i=0;i<messages.length;i++)out+=append4("message",toStringUnknown(messages[i],whitespace));if(!isEmptyType(cause2))out+=append4("cause",pretty(cause2,{renderErrorCause:!0}));for(let span2 of spans)out+=" "+render(date.getTime())(span2);for(let[label,value]of annotations2)out+=append4(label,toStringUnknown(value,whitespace));return out},escapeDoubleQuotes=(s)=>`"${s.replace(/\\([\s\S])|(")/g,"\\$1$2")}"`,stringLogger=makeLogger(format4(escapeDoubleQuotes)),logfmtLogger=makeLogger(format4(JSON.stringify,0));var colors={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},logLevelColors={None:[],All:[],Trace:[colors.gray],Debug:[colors.blue],Info:[colors.green],Warning:[colors.yellow],Error:[colors.red],Fatal:[colors.bgBrightRed,colors.black]};var hasProcessStdout=typeof process==="object"&&process!==null&&typeof process.stdout==="object"&&process.stdout!==null,processStdoutIsTTY=hasProcessStdout&&process.stdout.isTTY===!0,hasProcessStdoutOrDeno=hasProcessStdout||"Deno"in globalThis;var MetricBoundariesSymbolKey="effect/MetricBoundaries",MetricBoundariesTypeId=Symbol.for(MetricBoundariesSymbolKey);class MetricBoundariesImpl{values;[MetricBoundariesTypeId]=MetricBoundariesTypeId;constructor(values3){this.values=values3,this._hash=pipe(string(MetricBoundariesSymbolKey),combine(array2(this.values)))}_hash;[symbol](){return this._hash}[symbol2](u){return isMetricBoundaries(u)&&equals(this.values,u.values)}pipe(){return pipeArguments(this,arguments)}}var isMetricBoundaries=(u)=>hasProperty(u,MetricBoundariesTypeId),fromIterable7=(iterable)=>{let values3=pipe(iterable,appendAll(of2(Number.POSITIVE_INFINITY)),dedupe);return new MetricBoundariesImpl(values3)};var exponential=(options)=>pipe(makeBy(options.count-1,(i)=>options.start*Math.pow(options.factor,i)),unsafeFromArray,fromIterable7);var MetricKeyTypeSymbolKey="effect/MetricKeyType",MetricKeyTypeTypeId=Symbol.for(MetricKeyTypeSymbolKey),CounterKeyTypeSymbolKey="effect/MetricKeyType/Counter",CounterKeyTypeTypeId=Symbol.for(CounterKeyTypeSymbolKey),FrequencyKeyTypeSymbolKey="effect/MetricKeyType/Frequency",FrequencyKeyTypeTypeId=Symbol.for(FrequencyKeyTypeSymbolKey),GaugeKeyTypeSymbolKey="effect/MetricKeyType/Gauge",GaugeKeyTypeTypeId=Symbol.for(GaugeKeyTypeSymbolKey),HistogramKeyTypeSymbolKey="effect/MetricKeyType/Histogram",HistogramKeyTypeTypeId=Symbol.for(HistogramKeyTypeSymbolKey),SummaryKeyTypeSymbolKey="effect/MetricKeyType/Summary",SummaryKeyTypeTypeId=Symbol.for(SummaryKeyTypeSymbolKey),metricKeyTypeVariance={_In:(_)=>_,_Out:(_)=>_};class CounterKeyType{incremental;bigint;[MetricKeyTypeTypeId]=metricKeyTypeVariance;[CounterKeyTypeTypeId]=CounterKeyTypeTypeId;constructor(incremental,bigint3){this.incremental=incremental,this.bigint=bigint3,this._hash=string(CounterKeyTypeSymbolKey)}_hash;[symbol](){return this._hash}[symbol2](that){return isCounterKey(that)}pipe(){return pipeArguments(this,arguments)}}class HistogramKeyType{boundaries;[MetricKeyTypeTypeId]=metricKeyTypeVariance;[HistogramKeyTypeTypeId]=HistogramKeyTypeTypeId;constructor(boundaries){this.boundaries=boundaries,this._hash=pipe(string(HistogramKeyTypeSymbolKey),combine(hash(this.boundaries)))}_hash;[symbol](){return this._hash}[symbol2](that){return isHistogramKey(that)&&equals(this.boundaries,that.boundaries)}pipe(){return pipeArguments(this,arguments)}}var counter=(options)=>new CounterKeyType(options?.incremental??!1,options?.bigint??!1);var histogram=(boundaries)=>{return new HistogramKeyType(boundaries)};var isCounterKey=(u)=>hasProperty(u,CounterKeyTypeTypeId),isFrequencyKey=(u)=>hasProperty(u,FrequencyKeyTypeTypeId),isGaugeKey=(u)=>hasProperty(u,GaugeKeyTypeTypeId),isHistogramKey=(u)=>hasProperty(u,HistogramKeyTypeTypeId),isSummaryKey=(u)=>hasProperty(u,SummaryKeyTypeTypeId);var MetricKeySymbolKey="effect/MetricKey",MetricKeyTypeId=Symbol.for(MetricKeySymbolKey),metricKeyVariance={_Type:(_)=>_},arrayEquivilence=getEquivalence(equals);class MetricKeyImpl{name;keyType;description;tags;[MetricKeyTypeId]=metricKeyVariance;constructor(name,keyType,description,tags=[]){this.name=name,this.keyType=keyType,this.description=description,this.tags=tags,this._hash=pipe(string(this.name+this.description),combine(hash(this.keyType)),combine(array2(this.tags)))}_hash;[symbol](){return this._hash}[symbol2](u){return isMetricKey(u)&&this.name===u.name&&equals(this.keyType,u.keyType)&&equals(this.description,u.description)&&arrayEquivilence(this.tags,u.tags)}pipe(){return pipeArguments(this,arguments)}}var isMetricKey=(u)=>hasProperty(u,MetricKeyTypeId),counter2=(name,options)=>new MetricKeyImpl(name,counter(options),fromNullable(options?.description));var histogram2=(name,boundaries,description)=>new MetricKeyImpl(name,histogram(boundaries),fromNullable(description));var taggedWithLabels=dual(2,(self,extraTags)=>extraTags.length===0?self:new MetricKeyImpl(self.name,self.keyType,self.description,union(self.tags,extraTags)));var MetricStateSymbolKey="effect/MetricState",MetricStateTypeId=Symbol.for(MetricStateSymbolKey),CounterStateSymbolKey="effect/MetricState/Counter",CounterStateTypeId=Symbol.for(CounterStateSymbolKey),FrequencyStateSymbolKey="effect/MetricState/Frequency",FrequencyStateTypeId=Symbol.for(FrequencyStateSymbolKey),GaugeStateSymbolKey="effect/MetricState/Gauge",GaugeStateTypeId=Symbol.for(GaugeStateSymbolKey),HistogramStateSymbolKey="effect/MetricState/Histogram",HistogramStateTypeId=Symbol.for(HistogramStateSymbolKey),SummaryStateSymbolKey="effect/MetricState/Summary",SummaryStateTypeId=Symbol.for(SummaryStateSymbolKey),metricStateVariance={_A:(_)=>_};class CounterState{count;[MetricStateTypeId]=metricStateVariance;[CounterStateTypeId]=CounterStateTypeId;constructor(count){this.count=count}[symbol](){return pipe(hash(CounterStateSymbolKey),combine(hash(this.count)),cached(this))}[symbol2](that){return isCounterState(that)&&this.count===that.count}pipe(){return pipeArguments(this,arguments)}}var arrayEquals=getEquivalence(equals);class FrequencyState{occurrences;[MetricStateTypeId]=metricStateVariance;[FrequencyStateTypeId]=FrequencyStateTypeId;constructor(occurrences){this.occurrences=occurrences}_hash;[symbol](){return pipe(string(FrequencyStateSymbolKey),combine(array2(fromIterable(this.occurrences.entries()))),cached(this))}[symbol2](that){return isFrequencyState(that)&&arrayEquals(fromIterable(this.occurrences.entries()),fromIterable(that.occurrences.entries()))}pipe(){return pipeArguments(this,arguments)}}class GaugeState{value;[MetricStateTypeId]=metricStateVariance;[GaugeStateTypeId]=GaugeStateTypeId;constructor(value){this.value=value}[symbol](){return pipe(hash(GaugeStateSymbolKey),combine(hash(this.value)),cached(this))}[symbol2](u){return isGaugeState(u)&&this.value===u.value}pipe(){return pipeArguments(this,arguments)}}class HistogramState{buckets;count;min;max;sum;[MetricStateTypeId]=metricStateVariance;[HistogramStateTypeId]=HistogramStateTypeId;constructor(buckets,count,min2,max2,sum){this.buckets=buckets,this.count=count,this.min=min2,this.max=max2,this.sum=sum}[symbol](){return pipe(hash(HistogramStateSymbolKey),combine(hash(this.buckets)),combine(hash(this.count)),combine(hash(this.min)),combine(hash(this.max)),combine(hash(this.sum)),cached(this))}[symbol2](that){return isHistogramState(that)&&equals(this.buckets,that.buckets)&&this.count===that.count&&this.min===that.min&&this.max===that.max&&this.sum===that.sum}pipe(){return pipeArguments(this,arguments)}}class SummaryState{error;quantiles;count;min;max;sum;[MetricStateTypeId]=metricStateVariance;[SummaryStateTypeId]=SummaryStateTypeId;constructor(error,quantiles,count,min2,max2,sum){this.error=error,this.quantiles=quantiles,this.count=count,this.min=min2,this.max=max2,this.sum=sum}[symbol](){return pipe(hash(SummaryStateSymbolKey),combine(hash(this.error)),combine(hash(this.quantiles)),combine(hash(this.count)),combine(hash(this.min)),combine(hash(this.max)),combine(hash(this.sum)),cached(this))}[symbol2](that){return isSummaryState(that)&&this.error===that.error&&equals(this.quantiles,that.quantiles)&&this.count===that.count&&this.min===that.min&&this.max===that.max&&this.sum===that.sum}pipe(){return pipeArguments(this,arguments)}}var counter3=(count)=>new CounterState(count),frequency2=(occurrences)=>{return new FrequencyState(occurrences)},gauge2=(count)=>new GaugeState(count),histogram3=(options)=>new HistogramState(options.buckets,options.count,options.min,options.max,options.sum),summary2=(options)=>new SummaryState(options.error,options.quantiles,options.count,options.min,options.max,options.sum);var isCounterState=(u)=>hasProperty(u,CounterStateTypeId),isFrequencyState=(u)=>hasProperty(u,FrequencyStateTypeId),isGaugeState=(u)=>hasProperty(u,GaugeStateTypeId),isHistogramState=(u)=>hasProperty(u,HistogramStateTypeId),isSummaryState=(u)=>hasProperty(u,SummaryStateTypeId);var MetricHookSymbolKey="effect/MetricHook",MetricHookTypeId=Symbol.for(MetricHookSymbolKey),metricHookVariance={_In:(_)=>_,_Out:(_)=>_},make30=(options)=>({[MetricHookTypeId]:metricHookVariance,pipe(){return pipeArguments(this,arguments)},...options});var bigint04=BigInt(0),counter4=(key)=>{let sum=key.keyType.bigint?bigint04:0,canUpdate=key.keyType.incremental?key.keyType.bigint?(value)=>value>=bigint04:(value)=>value>=0:(_value)=>!0,update4=(value)=>{if(canUpdate(value))sum=sum+value};return make30({get:()=>counter3(sum),update:update4,modify:update4})},frequency3=(key)=>{let values3=new Map;for(let word of key.keyType.preregisteredWords)values3.set(word,0);let update4=(word)=>{let slotCount=values3.get(word)??0;values3.set(word,slotCount+1)};return make30({get:()=>frequency2(values3),update:update4,modify:update4})},gauge3=(_key,startAt)=>{let value=startAt;return make30({get:()=>gauge2(value),update:(v)=>{value=v},modify:(v)=>{value=value+v}})},histogram4=(key)=>{let bounds=key.keyType.boundaries.values,size6=bounds.length,values3=new Uint32Array(size6+1),boundaries=new Float32Array(size6),count=0,sum=0,min2=Number.MAX_VALUE,max2=Number.MIN_VALUE;pipe(bounds,sort(Order),map3((n,i)=>{boundaries[i]=n}));let update4=(value)=>{let from=0,to=size6;while(from!==to){let mid=Math.floor(from+(to-from)/2),boundary=boundaries[mid];if(value<=boundary)to=mid;else from=mid;if(to===from+1)if(value<=boundaries[from])to=from;else from=to}if(values3[from]=values3[from]+1,count=count+1,sum=sum+value,value<min2)min2=value;if(value>max2)max2=value},getBuckets=()=>{let builder=allocate(size6),cumulated=0;for(let i=0;i<size6;i++){let boundary=boundaries[i],value=values3[i];cumulated=cumulated+value,builder[i]=[boundary,cumulated]}return builder};return make30({get:()=>histogram3({buckets:getBuckets(),count,min:min2,max:max2,sum}),update:update4,modify:update4})},summary3=(key)=>{let{error,maxAge,maxSize,quantiles}=key.keyType,sortedQuantiles=pipe(quantiles,sort(Order)),values3=allocate(maxSize),head4=0,count=0,sum=0,min2=0,max2=0,snapshot=(now)=>{let builder=[],i=0;while(i!==maxSize-1){let item=values3[i];if(item!=null){let[t,v]=item,age=millis(now-t);if(greaterThanOrEqualTo2(age,zero2)&&lessThanOrEqualTo2(age,maxAge))builder.push(v)}i=i+1}return calculateQuantiles(error,sortedQuantiles,sort(builder,Order))},observe=(value,timestamp)=>{if(maxSize>0){head4=head4+1;let target=head4%maxSize;values3[target]=[timestamp,value]}min2=count===0?value:Math.min(min2,value),max2=count===0?value:Math.max(max2,value),count=count+1,sum=sum+value};return make30({get:()=>summary2({error,quantiles:snapshot(Date.now()),count,min:min2,max:max2,sum}),update:([value,timestamp])=>observe(value,timestamp),modify:([value,timestamp])=>observe(value,timestamp)})},calculateQuantiles=(error,sortedQuantiles,sortedSamples)=>{let sampleCount=sortedSamples.length;if(!isNonEmptyReadonlyArray(sortedQuantiles))return empty2();let head4=sortedQuantiles[0],tail=sortedQuantiles.slice(1),resolvedHead=resolveQuantile(error,sampleCount,none2(),0,head4,sortedSamples),resolved=of(resolvedHead);return tail.forEach((quantile)=>{resolved.push(resolveQuantile(error,sampleCount,resolvedHead.value,resolvedHead.consumed,quantile,resolvedHead.rest))}),map3(resolved,(rq)=>[rq.quantile,rq.value])},resolveQuantile=(error,sampleCount,current,consumed,quantile,rest)=>{let error_1=error,sampleCount_1=sampleCount,current_1=current,consumed_1=consumed,quantile_1=quantile,rest_1=rest,error_2=error,sampleCount_2=sampleCount,current_2=current,consumed_2=consumed,quantile_2=quantile,rest_2=rest;while(!0){if(!isNonEmptyReadonlyArray(rest_1))return{quantile:quantile_1,value:none2(),consumed:consumed_1,rest:[]};if(quantile_1===1)return{quantile:quantile_1,value:some2(lastNonEmpty(rest_1)),consumed:consumed_1+rest_1.length,rest:[]};let headValue=headNonEmpty(rest_1),sameHead=span(rest_1,(n)=>n===headValue),desired=quantile_1*sampleCount_1,allowedError=error_1/2*desired,candConsumed=consumed_1+sameHead[0].length,candError=Math.abs(candConsumed-desired);if(candConsumed<desired-allowedError){error_2=error_1,sampleCount_2=sampleCount_1,current_2=head(rest_1),consumed_2=candConsumed,quantile_2=quantile_1,rest_2=sameHead[1],error_1=error_2,sampleCount_1=sampleCount_2,current_1=current_2,consumed_1=consumed_2,quantile_1=quantile_2,rest_1=rest_2;continue}if(candConsumed>desired+allowedError){let valueToReturn=isNone2(current_1)?some2(headValue):current_1;return{quantile:quantile_1,value:valueToReturn,consumed:consumed_1,rest:rest_1}}switch(current_1._tag){case"None":{error_2=error_1,sampleCount_2=sampleCount_1,current_2=head(rest_1),consumed_2=candConsumed,quantile_2=quantile_1,rest_2=sameHead[1],error_1=error_2,sampleCount_1=sampleCount_2,current_1=current_2,consumed_1=consumed_2,quantile_1=quantile_2,rest_1=rest_2;continue}case"Some":{let prevError=Math.abs(desired-current_1.value);if(candError<prevError){error_2=error_1,sampleCount_2=sampleCount_1,current_2=head(rest_1),consumed_2=candConsumed,quantile_2=quantile_1,rest_2=sameHead[1],error_1=error_2,sampleCount_1=sampleCount_2,current_1=current_2,consumed_1=consumed_2,quantile_1=quantile_2,rest_1=rest_2;continue}return{quantile:quantile_1,value:some2(current_1.value),consumed:consumed_1,rest:rest_1}}}}throw new Error("BUG: MetricHook.resolveQuantiles - please report an issue at https://github.com/Effect-TS/effect/issues")};var MetricPairSymbolKey="effect/MetricPair",MetricPairTypeId=Symbol.for(MetricPairSymbolKey),metricPairVariance={_Type:(_)=>_};var unsafeMake8=(metricKey,metricState)=>{return{[MetricPairTypeId]:metricPairVariance,metricKey,metricState,pipe(){return pipeArguments(this,arguments)}}};var MetricRegistrySymbolKey="effect/MetricRegistry",MetricRegistryTypeId=Symbol.for(MetricRegistrySymbolKey);class MetricRegistryImpl{[MetricRegistryTypeId]=MetricRegistryTypeId;map=empty21();snapshot(){let result=[];for(let[key,hook]of this.map)result.push(unsafeMake8(key,hook.get()));return result}get(key){let hook=pipe(this.map,get8(key),getOrUndefined);if(hook==null){if(isCounterKey(key.keyType))return this.getCounter(key);if(isGaugeKey(key.keyType))return this.getGauge(key);if(isFrequencyKey(key.keyType))return this.getFrequency(key);if(isHistogramKey(key.keyType))return this.getHistogram(key);if(isSummaryKey(key.keyType))return this.getSummary(key);throw new Error("BUG: MetricRegistry.get - unknown MetricKeyType - please report an issue at https://github.com/Effect-TS/effect/issues")}else return hook}getCounter(key){let value=pipe(this.map,get8(key),getOrUndefined);if(value==null){let counter5=counter4(key);if(!pipe(this.map,has4(key)))pipe(this.map,set4(key,counter5));value=counter5}return value}getFrequency(key){let value=pipe(this.map,get8(key),getOrUndefined);if(value==null){let frequency4=frequency3(key);if(!pipe(this.map,has4(key)))pipe(this.map,set4(key,frequency4));value=frequency4}return value}getGauge(key){let value=pipe(this.map,get8(key),getOrUndefined);if(value==null){let gauge4=gauge3(key,key.keyType.bigint?BigInt(0):0);if(!pipe(this.map,has4(key)))pipe(this.map,set4(key,gauge4));value=gauge4}return value}getHistogram(key){let value=pipe(this.map,get8(key),getOrUndefined);if(value==null){let histogram5=histogram4(key);if(!pipe(this.map,has4(key)))pipe(this.map,set4(key,histogram5));value=histogram5}return value}getSummary(key){let value=pipe(this.map,get8(key),getOrUndefined);if(value==null){let summary4=summary3(key);if(!pipe(this.map,has4(key)))pipe(this.map,set4(key,summary4));value=summary4}return value}}var make31=()=>{return new MetricRegistryImpl};var MetricSymbolKey="effect/Metric",MetricTypeId=Symbol.for(MetricSymbolKey),metricVariance={_Type:(_)=>_,_In:(_)=>_,_Out:(_)=>_},globalMetricRegistry=globalValue(Symbol.for("effect/Metric/globalMetricRegistry"),()=>make31()),make32=function(keyType,unsafeUpdate,unsafeValue,unsafeModify){let metric=Object.assign((effect)=>tap(effect,(a)=>update4(metric,a)),{[MetricTypeId]:metricVariance,keyType,unsafeUpdate,unsafeValue,unsafeModify,register(){return this.unsafeValue([]),this},pipe(){return pipeArguments(this,arguments)}});return metric};var counter5=(name,options)=>fromMetricKey(counter2(name,options));var fromMetricKey=(key)=>{let untaggedHook,hookCache=new WeakMap,hook=(extraTags)=>{if(extraTags.length===0){if(untaggedHook!==void 0)return untaggedHook;return untaggedHook=globalMetricRegistry.get(key),untaggedHook}let hook2=hookCache.get(extraTags);if(hook2!==void 0)return hook2;return hook2=globalMetricRegistry.get(taggedWithLabels(key,extraTags)),hookCache.set(extraTags,hook2),hook2};return make32(key.keyType,(input,extraTags)=>hook(extraTags).update(input),(extraTags)=>hook(extraTags).get(),(input,extraTags)=>hook(extraTags).modify(input))};var histogram5=(name,boundaries,description)=>fromMetricKey(histogram2(name,boundaries,description));var tagged=dual(3,(self,key,value)=>taggedWithLabels2(self,[make29(key,value)]));var taggedWithLabels2=dual(2,(self,extraTags)=>{return make32(self.keyType,(input,extraTags1)=>self.unsafeUpdate(input,union(extraTags,extraTags1)),(extraTags1)=>self.unsafeValue(union(extraTags,extraTags1)),(input,extraTags1)=>self.unsafeModify(input,union(extraTags,extraTags1)))});var update4=dual(2,(self,input)=>fiberRefGetWith(currentMetricLabels,(tags)=>sync(()=>self.unsafeUpdate(input,tags))));var RequestSymbolKey="effect/Request",RequestTypeId=Symbol.for(RequestSymbolKey),requestVariance={_E:(_)=>_,_A:(_)=>_},RequestPrototype={...StructuralPrototype,[RequestTypeId]:requestVariance},isRequest=(u)=>hasProperty(u,RequestTypeId);var complete=dual(2,(self,result)=>fiberRefGetWith(currentRequestMap,(map10)=>sync(()=>{if(map10.has(self)){let entry=map10.get(self);if(!entry.state.completed)entry.state.completed=!0,deferredUnsafeDone(entry.result,result)}})));class Listeners{count=0;observers=new Set;interrupted=!1;addObserver(f){this.observers.add(f)}removeObserver(f){this.observers.delete(f)}increment(){this.count++,this.observers.forEach((f)=>f(this.count))}decrement(){this.count--,this.observers.forEach((f)=>f(this.count))}}var Direction={Forward:0,Backward:1};class RedBlackTreeIterator{self;stack;direction;count=0;constructor(self,stack,direction){this.self=self,this.stack=stack,this.direction=direction}clone(){return new RedBlackTreeIterator(this.self,this.stack.slice(),this.direction)}reversed(){return new RedBlackTreeIterator(this.self,this.stack.slice(),this.direction===Direction.Forward?Direction.Backward:Direction.Forward)}next(){let entry=this.entry;if(this.count++,this.direction===Direction.Forward)this.moveNext();else this.movePrev();switch(entry._tag){case"None":return{done:!0,value:this.count};case"Some":return{done:!1,value:entry.value}}}get key(){if(this.stack.length>0)return some2(this.stack[this.stack.length-1].key);return none2()}get value(){if(this.stack.length>0)return some2(this.stack[this.stack.length-1].value);return none2()}get entry(){return map2(last(this.stack),(node)=>[node.key,node.value])}get index(){let idx=0,stack=this.stack;if(stack.length===0){let r=this.self._root;if(r!=null)return r.count;return 0}else if(stack[stack.length-1].left!=null)idx=stack[stack.length-1].left.count;for(let s=stack.length-2;s>=0;--s)if(stack[s+1]===stack[s].right){if(++idx,stack[s].left!=null)idx+=stack[s].left.count}return idx}moveNext(){let stack=this.stack;if(stack.length===0)return;let n=stack[stack.length-1];if(n.right!=null){n=n.right;while(n!=null)stack.push(n),n=n.left}else{stack.pop();while(stack.length>0&&stack[stack.length-1].right===n)n=stack[stack.length-1],stack.pop()}}get hasNext(){let stack=this.stack;if(stack.length===0)return!1;if(stack[stack.length-1].right!=null)return!0;for(let s=stack.length-1;s>0;--s)if(stack[s-1].left===stack[s])return!0;return!1}movePrev(){let stack=this.stack;if(stack.length===0)return;let n=stack[stack.length-1];if(n!=null&&n.left!=null){n=n.left;while(n!=null)stack.push(n),n=n.right}else{stack.pop();while(stack.length>0&&stack[stack.length-1].left===n)n=stack[stack.length-1],stack.pop()}}get hasPrev(){let stack=this.stack;if(stack.length===0)return!1;if(stack[stack.length-1].left!=null)return!0;for(let s=stack.length-1;s>0;--s)if(stack[s-1].right===stack[s])return!0;return!1}}var RedBlackTreeSymbolKey="effect/RedBlackTree",RedBlackTreeTypeId=Symbol.for(RedBlackTreeSymbolKey),redBlackTreeVariance={_Key:(_)=>_,_Value:(_)=>_},RedBlackTreeProto={[RedBlackTreeTypeId]:redBlackTreeVariance,[symbol](){let hash2=hash(RedBlackTreeSymbolKey);for(let item of this)hash2^=pipe(hash(item[0]),combine(hash(item[1])));return cached(this,hash2)},[symbol2](that){if(isRedBlackTree(that)){if((this._root?.count??0)!==(that._root?.count??0))return!1;let entries2=Array.from(that);return Array.from(this).every((itemSelf,i)=>{let itemThat=entries2[i];return equals(itemSelf[0],itemThat[0])&&equals(itemSelf[1],itemThat[1])})}return!1},[Symbol.iterator](){let stack=[],n=this._root;while(n!=null)stack.push(n),n=n.left;return new RedBlackTreeIterator(this,stack,Direction.Forward)},toString(){return format(this.toJSON())},toJSON(){return{_id:"RedBlackTree",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};var isRedBlackTree=(u)=>hasProperty(u,RedBlackTreeTypeId);var keysForward=(self)=>keys3(self,Direction.Forward);var keys3=(self,direction)=>{let begin=self[Symbol.iterator](),count=0;return{[Symbol.iterator]:()=>keys3(self,direction),next:()=>{count++;let entry=begin.key;if(direction===Direction.Forward)begin.moveNext();else begin.movePrev();switch(entry._tag){case"None":return{done:!0,value:count};case"Some":return{done:!1,value:entry.value}}}}};var keys4=keysForward;var TypeId15=Symbol.for("effect/SortedSet"),SortedSetProto={[TypeId15]:{_A:(_)=>_},[symbol](){return pipe(hash(this.keyTree),combine(hash(TypeId15)),cached(this))},[symbol2](that){return isSortedSet(that)&&equals(this.keyTree,that.keyTree)},[Symbol.iterator](){return keys4(this.keyTree)},toString(){return format(this.toJSON())},toJSON(){return{_id:"SortedSet",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};var isSortedSet=(u)=>hasProperty(u,TypeId15);var SupervisorSymbolKey="effect/Supervisor",SupervisorTypeId=Symbol.for(SupervisorSymbolKey),supervisorVariance={_T:(_)=>_};class ProxySupervisor{underlying;value0;[SupervisorTypeId]=supervisorVariance;constructor(underlying,value0){this.underlying=underlying,this.value0=value0}get value(){return this.value0}onStart(context2,effect,parent,fiber){this.underlying.onStart(context2,effect,parent,fiber)}onEnd(value,fiber){this.underlying.onEnd(value,fiber)}onEffect(fiber,effect){this.underlying.onEffect(fiber,effect)}onSuspend(fiber){this.underlying.onSuspend(fiber)}onResume(fiber){this.underlying.onResume(fiber)}map(f){return new ProxySupervisor(this,pipe(this.value,map9(f)))}zip(right3){return new Zip(this,right3)}}class Zip{left;right;_tag="Zip";[SupervisorTypeId]=supervisorVariance;constructor(left3,right3){this.left=left3,this.right=right3}get value(){return zip2(this.left.value,this.right.value)}onStart(context2,effect,parent,fiber){this.left.onStart(context2,effect,parent,fiber),this.right.onStart(context2,effect,parent,fiber)}onEnd(value,fiber){this.left.onEnd(value,fiber),this.right.onEnd(value,fiber)}onEffect(fiber,effect){this.left.onEffect(fiber,effect),this.right.onEffect(fiber,effect)}onSuspend(fiber){this.left.onSuspend(fiber),this.right.onSuspend(fiber)}onResume(fiber){this.left.onResume(fiber),this.right.onResume(fiber)}map(f){return new ProxySupervisor(this,pipe(this.value,map9(f)))}zip(right3){return new Zip(this,right3)}}var isZip=(self)=>hasProperty(self,SupervisorTypeId)&&isTagged(self,"Zip");class Track{[SupervisorTypeId]=supervisorVariance;fibers=new Set;get value(){return sync(()=>Array.from(this.fibers))}onStart(_context,_effect,_parent,fiber){this.fibers.add(fiber)}onEnd(_value,fiber){this.fibers.delete(fiber)}onEffect(_fiber,_effect){}onSuspend(_fiber){}onResume(_fiber){}map(f){return new ProxySupervisor(this,pipe(this.value,map9(f)))}zip(right3){return new Zip(this,right3)}onRun(execution,_fiber){return execution()}}class Const{effect;[SupervisorTypeId]=supervisorVariance;constructor(effect){this.effect=effect}get value(){return this.effect}onStart(_context,_effect,_parent,_fiber){}onEnd(_value,_fiber){}onEffect(_fiber,_effect){}onSuspend(_fiber){}onResume(_fiber){}map(f){return new ProxySupervisor(this,pipe(this.value,map9(f)))}zip(right3){return new Zip(this,right3)}onRun(execution,_fiber){return execution()}}var unsafeTrack=()=>{return new Track},track=sync(unsafeTrack),fromEffect=(effect)=>{return new Const(effect)},none8=globalValue("effect/Supervisor/none",()=>fromEffect(void_));var make34=make15;var OP_EMPTY3="Empty",OP_ADD_SUPERVISOR="AddSupervisor",OP_REMOVE_SUPERVISOR="RemoveSupervisor",OP_AND_THEN2="AndThen",empty29={_tag:OP_EMPTY3},combine11=(self,that)=>{return{_tag:OP_AND_THEN2,first:self,second:that}},patch11=(self,supervisor)=>{return patchLoop(supervisor,of2(self))},patchLoop=(_supervisor,_patches)=>{let supervisor=_supervisor,patches=_patches;while(isNonEmpty2(patches)){let head4=headNonEmpty2(patches);switch(head4._tag){case OP_EMPTY3:{patches=tailNonEmpty2(patches);break}case OP_ADD_SUPERVISOR:{supervisor=supervisor.zip(head4.supervisor),patches=tailNonEmpty2(patches);break}case OP_REMOVE_SUPERVISOR:{supervisor=removeSupervisor(supervisor,head4.supervisor),patches=tailNonEmpty2(patches);break}case OP_AND_THEN2:{patches=prepend2(head4.first)(prepend2(head4.second)(tailNonEmpty2(patches)));break}}}return supervisor},removeSupervisor=(self,that)=>{if(equals(self,that))return none8;else if(isZip(self))return removeSupervisor(self.left,that).zip(removeSupervisor(self.right,that));else return self},toSet2=(self)=>{if(equals(self,none8))return empty8();else if(isZip(self))return pipe(toSet2(self.left),union3(toSet2(self.right)));else return make11(self)},diff10=(oldValue,newValue)=>{if(equals(oldValue,newValue))return empty29;let oldSupervisors=toSet2(oldValue),newSupervisors=toSet2(newValue),added=pipe(newSupervisors,difference3(oldSupervisors),reduce5(empty29,(patch12,supervisor)=>combine11(patch12,{_tag:OP_ADD_SUPERVISOR,supervisor}))),removed=pipe(oldSupervisors,difference3(newSupervisors),reduce5(empty29,(patch12,supervisor)=>combine11(patch12,{_tag:OP_REMOVE_SUPERVISOR,supervisor})));return combine11(added,removed)},differ2=make34({empty:empty29,patch:patch11,combine:combine11,diff:diff10});var fiberStarted=counter5("effect_fiber_started",{incremental:!0}),fiberActive=counter5("effect_fiber_active"),fiberSuccesses=counter5("effect_fiber_successes",{incremental:!0}),fiberFailures=counter5("effect_fiber_failures",{incremental:!0}),fiberLifetimes=tagged(histogram5("effect_fiber_lifetimes",exponential({start:0.5,factor:2,count:35})),"time_unit","milliseconds"),EvaluationSignalContinue="Continue",EvaluationSignalDone="Done",EvaluationSignalYieldNow="Yield",runtimeFiberVariance={_E:(_)=>_,_A:(_)=>_},absurd=(_)=>{throw new Error(`BUG: FiberRuntime - ${toStringUnknown(_)} - please report an issue at https://github.com/Effect-TS/effect/issues`)},YieldedOp=Symbol.for("effect/internal/fiberRuntime/YieldedOp"),yieldedOpChannel=globalValue("effect/internal/fiberRuntime/yieldedOpChannel",()=>({currentOp:null})),contOpSuccess={[OP_ON_SUCCESS]:(_,cont,value)=>{return internalCall(()=>cont.effect_instruction_i1(value))},["OnStep"]:(_,_cont,value)=>{return exitSucceed(exitSucceed(value))},[OP_ON_SUCCESS_AND_FAILURE]:(_,cont,value)=>{return internalCall(()=>cont.effect_instruction_i2(value))},[OP_REVERT_FLAGS]:(self,cont,value)=>{if(self.patchRuntimeFlags(self.currentRuntimeFlags,cont.patch),interruptible(self.currentRuntimeFlags)&&self.isInterrupted())return exitFailCause(self.getInterruptedCause());else return exitSucceed(value)},[OP_WHILE]:(self,cont,value)=>{if(internalCall(()=>cont.effect_instruction_i2(value)),internalCall(()=>cont.effect_instruction_i0()))return self.pushStack(cont),internalCall(()=>cont.effect_instruction_i1());else return void_},[OP_ITERATOR]:(self,cont,value)=>{let state=internalCall(()=>cont.effect_instruction_i0.next(value));if(state.done)return exitSucceed(state.value);return self.pushStack(cont),yieldWrapGet(state.value)}},drainQueueWhileRunningTable={[OP_INTERRUPT_SIGNAL]:(self,runtimeFlags2,cur,message)=>{return self.processNewInterruptSignal(message.cause),interruptible(runtimeFlags2)?exitFailCause(message.cause):cur},[OP_RESUME]:(_self,_runtimeFlags,_cur,_message)=>{throw new Error("It is illegal to have multiple concurrent run loops in a single fiber")},[OP_STATEFUL]:(self,runtimeFlags2,cur,message)=>{return message.onFiber(self,running2(runtimeFlags2)),cur},[OP_YIELD_NOW]:(_self,_runtimeFlags,cur,_message)=>{return flatMap7(yieldNow(),()=>cur)}},runBlockedRequests=(self)=>forEachSequentialDiscard(flatten3(self),(requestsByRequestResolver)=>forEachConcurrentDiscard(sequentialCollectionToChunk(requestsByRequestResolver),([dataSource,sequential4])=>{let map10=new Map,arr=[];for(let block of sequential4){arr.push(toReadonlyArray(block));for(let entry of block)map10.set(entry.request,entry)}let flat=arr.flat();return fiberRefLocally(invokeWithInterrupt(dataSource.runAll(arr),flat,()=>flat.forEach((entry)=>{entry.listeners.interrupted=!0})),currentRequestMap,map10)},!1,!1)),_version=getCurrentVersion();class FiberRuntime extends Class{[FiberTypeId]=fiberVariance2;[RuntimeFiberTypeId]=runtimeFiberVariance;_fiberRefs;_fiberId;_queue=new Array;_children=null;_observers=new Array;_running=!1;_stack=[];_asyncInterruptor=null;_asyncBlockingOn=null;_exitValue=null;_steps=[];_isYielding=!1;currentRuntimeFlags;currentOpCount=0;currentSupervisor;currentScheduler;currentTracer;currentSpan;currentContext;currentDefaultServices;constructor(fiberId2,fiberRefs0,runtimeFlags0){super();if(this.currentRuntimeFlags=runtimeFlags0,this._fiberId=fiberId2,this._fiberRefs=fiberRefs0,runtimeMetrics(runtimeFlags0)){let tags=this.getFiberRef(currentMetricLabels);fiberStarted.unsafeUpdate(1,tags),fiberActive.unsafeUpdate(1,tags)}this.refreshRefCache()}commit(){return join2(this)}id(){return this._fiberId}resume(effect){this.tell(resume(effect))}get status(){return this.ask((_,status)=>status)}get runtimeFlags(){return this.ask((state,status)=>{if(isDone2(status))return state.currentRuntimeFlags;return status.runtimeFlags})}scope(){return unsafeMake7(this)}get children(){return this.ask((fiber)=>Array.from(fiber.getChildren()))}getChildren(){if(this._children===null)this._children=new Set;return this._children}getInterruptedCause(){return this.getFiberRef(currentInterruptedCause)}fiberRefs(){return this.ask((fiber)=>fiber.getFiberRefs())}ask(f){return suspend(()=>{let deferred=deferredUnsafeMake(this._fiberId);return this.tell(stateful((fiber,status)=>{deferredUnsafeDone(deferred,sync(()=>f(fiber,status)))})),deferredAwait(deferred)})}tell(message){if(this._queue.push(message),!this._running)this._running=!0,this.drainQueueLaterOnExecutor()}get await(){return async_((resume2)=>{let cb=(exit2)=>resume2(succeed(exit2));return this.tell(stateful((fiber,_)=>{if(fiber._exitValue!==null)cb(this._exitValue);else fiber.addObserver(cb)})),sync(()=>this.tell(stateful((fiber,_)=>{fiber.removeObserver(cb)})))},this.id())}get inheritAll(){return withFiberRuntime((parentFiber,parentStatus)=>{let parentFiberId=parentFiber.id(),parentFiberRefs=parentFiber.getFiberRefs(),parentRuntimeFlags=parentStatus.runtimeFlags,childFiberRefs=this.getFiberRefs(),updatedFiberRefs=joinAs(parentFiberRefs,parentFiberId,childFiberRefs);parentFiber.setFiberRefs(updatedFiberRefs);let updatedRuntimeFlags=parentFiber.getFiberRef(currentRuntimeFlags),patch12=pipe(diff7(parentRuntimeFlags,updatedRuntimeFlags),exclude2(Interruption),exclude2(WindDown));return updateRuntimeFlags(patch12)})}get poll(){return sync(()=>fromNullable(this._exitValue))}unsafePoll(){return this._exitValue}interruptAsFork(fiberId2){return sync(()=>this.tell(interruptSignal(interrupt(fiberId2))))}unsafeInterruptAsFork(fiberId2){this.tell(interruptSignal(interrupt(fiberId2)))}addObserver(observer){if(this._exitValue!==null)observer(this._exitValue);else this._observers.push(observer)}removeObserver(observer){this._observers=this._observers.filter((o)=>o!==observer)}getFiberRefs(){return this.setFiberRef(currentRuntimeFlags,this.currentRuntimeFlags),this._fiberRefs}unsafeDeleteFiberRef(fiberRef){this._fiberRefs=delete_(this._fiberRefs,fiberRef)}getFiberRef(fiberRef){if(this._fiberRefs.locals.has(fiberRef))return this._fiberRefs.locals.get(fiberRef)[0][1];return fiberRef.initial}setFiberRef(fiberRef,value){this._fiberRefs=updateAs(this._fiberRefs,{fiberId:this._fiberId,fiberRef,value}),this.refreshRefCache()}refreshRefCache(){this.currentDefaultServices=this.getFiberRef(currentServices),this.currentTracer=this.currentDefaultServices.unsafeMap.get(tracerTag.key),this.currentSupervisor=this.getFiberRef(currentSupervisor),this.currentScheduler=this.getFiberRef(currentScheduler),this.currentContext=this.getFiberRef(currentContext),this.currentSpan=this.currentContext.unsafeMap.get(spanTag.key)}setFiberRefs(fiberRefs3){this._fiberRefs=fiberRefs3,this.refreshRefCache()}addChild(child){this.getChildren().add(child)}removeChild(child){this.getChildren().delete(child)}transferChildren(scope){let children=this._children;if(this._children=null,children!==null&&children.size>0){for(let child of children)if(child._exitValue===null)scope.add(this.currentRuntimeFlags,child)}}drainQueueOnCurrentThread(){let recurse=!0;while(recurse){let evaluationSignal=EvaluationSignalContinue,prev=globalThis[currentFiberURI];globalThis[currentFiberURI]=this;try{while(evaluationSignal===EvaluationSignalContinue)evaluationSignal=this._queue.length===0?EvaluationSignalDone:this.evaluateMessageWhileSuspended(this._queue.splice(0,1)[0])}finally{this._running=!1,globalThis[currentFiberURI]=prev}if(this._queue.length>0&&!this._running)if(this._running=!0,evaluationSignal===EvaluationSignalYieldNow)this.drainQueueLaterOnExecutor(),recurse=!1;else recurse=!0;else recurse=!1}}drainQueueLaterOnExecutor(){this.currentScheduler.scheduleTask(this.run,this.getFiberRef(currentSchedulingPriority))}drainQueueWhileRunning(runtimeFlags2,cur0){let cur=cur0;while(this._queue.length>0){let message=this._queue.splice(0,1)[0];cur=drainQueueWhileRunningTable[message._tag](this,runtimeFlags2,cur,message)}return cur}isInterrupted(){return!isEmpty5(this.getFiberRef(currentInterruptedCause))}addInterruptedCause(cause2){let oldSC=this.getFiberRef(currentInterruptedCause);this.setFiberRef(currentInterruptedCause,sequential(oldSC,cause2))}processNewInterruptSignal(cause2){this.addInterruptedCause(cause2),this.sendInterruptSignalToAllChildren()}sendInterruptSignalToAllChildren(){if(this._children===null||this._children.size===0)return!1;let told=!1;for(let child of this._children)child.tell(interruptSignal(interrupt(this.id()))),told=!0;return told}interruptAllChildren(){if(this.sendInterruptSignalToAllChildren()){let it=this._children.values();this._children=null;let isDone3=!1;return whileLoop({while:()=>!isDone3,body:()=>{let next=it.next();if(!next.done)return asVoid(next.value.await);else return sync(()=>{isDone3=!0})},step:()=>{}})}return null}reportExitValue(exit2){if(runtimeMetrics(this.currentRuntimeFlags)){let tags=this.getFiberRef(currentMetricLabels),startTimeMillis=this.id().startTimeMillis,endTimeMillis=Date.now();switch(fiberLifetimes.unsafeUpdate(endTimeMillis-startTimeMillis,tags),fiberActive.unsafeUpdate(-1,tags),exit2._tag){case OP_SUCCESS:{fiberSuccesses.unsafeUpdate(1,tags);break}case OP_FAILURE:{fiberFailures.unsafeUpdate(1,tags);break}}}if(exit2._tag==="Failure"){let level=this.getFiberRef(currentUnhandledErrorLogLevel);if(!isInterruptedOnly(exit2.cause)&&level._tag==="Some")this.log("Fiber terminated with an unhandled error",exit2.cause,level)}}setExitValue(exit2){this._exitValue=exit2,this.reportExitValue(exit2);for(let i=this._observers.length-1;i>=0;i--)this._observers[i](exit2);this._observers=[]}getLoggers(){return this.getFiberRef(currentLoggers)}log(message,cause2,overrideLogLevel){let logLevel=isSome2(overrideLogLevel)?overrideLogLevel.value:this.getFiberRef(currentLogLevel),minimumLogLevel=this.getFiberRef(currentMinimumLogLevel);if(greaterThan2(minimumLogLevel,logLevel))return;let spans=this.getFiberRef(currentLogSpan),annotations2=this.getFiberRef(currentLogAnnotations),loggers=this.getLoggers(),contextMap=this.getFiberRefs();if(size3(loggers)>0){let clockService=get3(this.getFiberRef(currentServices),clockTag),date=new Date(clockService.unsafeCurrentTimeMillis());withRedactableContext(contextMap,()=>{for(let logger of loggers)logger.log({fiberId:this.id(),logLevel,message,cause:cause2,context:contextMap,spans,annotations:annotations2,date})})}}evaluateMessageWhileSuspended(message){switch(message._tag){case OP_YIELD_NOW:return EvaluationSignalYieldNow;case OP_INTERRUPT_SIGNAL:{if(this.processNewInterruptSignal(message.cause),this._asyncInterruptor!==null)this._asyncInterruptor(exitFailCause(message.cause)),this._asyncInterruptor=null;return EvaluationSignalContinue}case OP_RESUME:return this._asyncInterruptor=null,this._asyncBlockingOn=null,this.evaluateEffect(message.effect),EvaluationSignalContinue;case OP_STATEFUL:return message.onFiber(this,this._exitValue!==null?done4:suspended2(this.currentRuntimeFlags,this._asyncBlockingOn)),EvaluationSignalContinue;default:return absurd(message)}}evaluateEffect(effect0){this.currentSupervisor.onResume(this);try{let effect=interruptible(this.currentRuntimeFlags)&&this.isInterrupted()?exitFailCause(this.getInterruptedCause()):effect0;while(effect!==null){let eff=effect,exit2=this.runLoop(eff);if(exit2===YieldedOp){let op=yieldedOpChannel.currentOp;if(yieldedOpChannel.currentOp=null,op._op===OP_YIELD)if(cooperativeYielding(this.currentRuntimeFlags))this.tell(yieldNow3()),this.tell(resume(exitVoid)),effect=null;else effect=exitVoid;else if(op._op===OP_ASYNC)effect=null}else{this.currentRuntimeFlags=pipe(this.currentRuntimeFlags,enable2(WindDown));let interruption2=this.interruptAllChildren();if(interruption2!==null)effect=flatMap7(interruption2,()=>exit2);else{if(this._queue.length===0)this.setExitValue(exit2);else this.tell(resume(exit2));effect=null}}}}finally{this.currentSupervisor.onSuspend(this)}}start(effect){if(!this._running){this._running=!0;let prev=globalThis[currentFiberURI];globalThis[currentFiberURI]=this;try{this.evaluateEffect(effect)}finally{if(this._running=!1,globalThis[currentFiberURI]=prev,this._queue.length>0)this.drainQueueLaterOnExecutor()}}else this.tell(resume(effect))}startFork(effect){this.tell(resume(effect))}patchRuntimeFlags(oldRuntimeFlags,patch12){let newRuntimeFlags=patch7(oldRuntimeFlags,patch12);return globalThis[currentFiberURI]=this,this.currentRuntimeFlags=newRuntimeFlags,newRuntimeFlags}initiateAsync(runtimeFlags2,asyncRegister){let alreadyCalled=!1,callback=(effect)=>{if(!alreadyCalled)alreadyCalled=!0,this.tell(resume(effect))};if(interruptible(runtimeFlags2))this._asyncInterruptor=callback;try{asyncRegister(callback)}catch(e){callback(failCause(die(e)))}}pushStack(cont){if(this._stack.push(cont),cont._op==="OnStep")this._steps.push({refs:this.getFiberRefs(),flags:this.currentRuntimeFlags})}popStack(){let item=this._stack.pop();if(item){if(item._op==="OnStep")this._steps.pop();return item}return}getNextSuccessCont(){let frame=this.popStack();while(frame){if(frame._op!==OP_ON_FAILURE)return frame;frame=this.popStack()}}getNextFailCont(){let frame=this.popStack();while(frame){if(frame._op!==OP_ON_SUCCESS&&frame._op!==OP_WHILE&&frame._op!==OP_ITERATOR)return frame;frame=this.popStack()}}[OP_TAG](op){return sync(()=>unsafeGet3(this.currentContext,op))}["Left"](op){return fail2(op.left)}["None"](_){return fail2(new NoSuchElementException)}["Right"](op){return exitSucceed(op.right)}["Some"](op){return exitSucceed(op.value)}["Micro"](op){return unsafeAsync((microResume)=>{let resume2=microResume,fiber=runFork(provideContext2(op,this.currentContext));return fiber.addObserver((exit2)=>{if(exit2._tag==="Success")return resume2(exitSucceed(exit2.value));switch(exit2.cause._tag){case"Interrupt":return resume2(exitFailCause(interrupt(none4)));case"Fail":return resume2(fail2(exit2.cause.error));case"Die":return resume2(die2(exit2.cause.defect))}}),unsafeAsync((abortResume)=>{resume2=(_)=>{abortResume(void_)},fiber.unsafeInterrupt()})})}[OP_SYNC](op){let value=internalCall(()=>op.effect_instruction_i0()),cont=this.getNextSuccessCont();if(cont!==void 0){if(!(cont._op in contOpSuccess))absurd(cont);return contOpSuccess[cont._op](this,cont,value)}else return yieldedOpChannel.currentOp=exitSucceed(value),YieldedOp}[OP_SUCCESS](op){let oldCur=op,cont=this.getNextSuccessCont();if(cont!==void 0){if(!(cont._op in contOpSuccess))absurd(cont);return contOpSuccess[cont._op](this,cont,oldCur.effect_instruction_i0)}else return yieldedOpChannel.currentOp=oldCur,YieldedOp}[OP_FAILURE](op){let cause2=op.effect_instruction_i0,cont=this.getNextFailCont();if(cont!==void 0)switch(cont._op){case OP_ON_FAILURE:case OP_ON_SUCCESS_AND_FAILURE:if(!(interruptible(this.currentRuntimeFlags)&&this.isInterrupted()))return internalCall(()=>cont.effect_instruction_i1(cause2));else return exitFailCause(stripFailures(cause2));case"OnStep":if(!(interruptible(this.currentRuntimeFlags)&&this.isInterrupted()))return exitSucceed(exitFailCause(cause2));else return exitFailCause(stripFailures(cause2));case OP_REVERT_FLAGS:if(this.patchRuntimeFlags(this.currentRuntimeFlags,cont.patch),interruptible(this.currentRuntimeFlags)&&this.isInterrupted())return exitFailCause(sequential(cause2,this.getInterruptedCause()));else return exitFailCause(cause2);default:absurd(cont)}else return yieldedOpChannel.currentOp=exitFailCause(cause2),YieldedOp}[OP_WITH_RUNTIME](op){return internalCall(()=>op.effect_instruction_i0(this,running2(this.currentRuntimeFlags)))}["Blocked"](op){let refs=this.getFiberRefs(),flags=this.currentRuntimeFlags;if(this._steps.length>0){let frames=[],snap=this._steps[this._steps.length-1],frame=this.popStack();while(frame&&frame._op!=="OnStep")frames.push(frame),frame=this.popStack();this.setFiberRefs(snap.refs),this.currentRuntimeFlags=snap.flags;let patchRefs=diff9(snap.refs,refs),patchFlags=diff7(snap.flags,flags);return exitSucceed(blocked(op.effect_instruction_i0,withFiberRuntime((newFiber)=>{while(frames.length>0)newFiber.pushStack(frames.pop());return newFiber.setFiberRefs(patch10(newFiber.id(),newFiber.getFiberRefs())(patchRefs)),newFiber.currentRuntimeFlags=patch7(patchFlags)(newFiber.currentRuntimeFlags),op.effect_instruction_i1})))}return uninterruptibleMask((restore)=>flatMap7(forkDaemon(runRequestBlock(op.effect_instruction_i0)),()=>restore(op.effect_instruction_i1)))}["RunBlocked"](op){return runBlockedRequests(op.effect_instruction_i0)}[OP_UPDATE_RUNTIME_FLAGS](op){let updateFlags=op.effect_instruction_i0,oldRuntimeFlags=this.currentRuntimeFlags,newRuntimeFlags=patch7(oldRuntimeFlags,updateFlags);if(interruptible(newRuntimeFlags)&&this.isInterrupted())return exitFailCause(this.getInterruptedCause());else if(this.patchRuntimeFlags(this.currentRuntimeFlags,updateFlags),op.effect_instruction_i1){let revertFlags=diff7(newRuntimeFlags,oldRuntimeFlags);return this.pushStack(new RevertFlags(revertFlags,op)),internalCall(()=>op.effect_instruction_i1(oldRuntimeFlags))}else return exitVoid}[OP_ON_SUCCESS](op){return this.pushStack(op),op.effect_instruction_i0}["OnStep"](op){return this.pushStack(op),op.effect_instruction_i0}[OP_ON_FAILURE](op){return this.pushStack(op),op.effect_instruction_i0}[OP_ON_SUCCESS_AND_FAILURE](op){return this.pushStack(op),op.effect_instruction_i0}[OP_ASYNC](op){return this._asyncBlockingOn=op.effect_instruction_i1,this.initiateAsync(this.currentRuntimeFlags,op.effect_instruction_i0),yieldedOpChannel.currentOp=op,YieldedOp}[OP_YIELD](op){return this._isYielding=!1,yieldedOpChannel.currentOp=op,YieldedOp}[OP_WHILE](op){let{effect_instruction_i0:check,effect_instruction_i1:body}=op;if(check())return this.pushStack(op),body();else return exitVoid}[OP_ITERATOR](op){return contOpSuccess[OP_ITERATOR](this,op,void 0)}[OP_COMMIT](op){return internalCall(()=>op.commit())}runLoop(effect0){let cur=effect0;this.currentOpCount=0;while(!0){if((this.currentRuntimeFlags&OpSupervision)!==0)this.currentSupervisor.onEffect(this,cur);if(this._queue.length>0)cur=this.drainQueueWhileRunning(this.currentRuntimeFlags,cur);if(!this._isYielding){this.currentOpCount+=1;let shouldYield=this.currentScheduler.shouldYield(this);if(shouldYield!==!1){this._isYielding=!0,this.currentOpCount=0;let oldCur=cur;cur=flatMap7(yieldNow({priority:shouldYield}),()=>oldCur)}}try{if(cur=this.currentTracer.context(()=>{if(_version!==cur[EffectTypeId2]._V)return dieMessage(`Cannot execute an Effect versioned ${cur[EffectTypeId2]._V} with a Runtime of version ${getCurrentVersion()}`);return this[cur._op](cur)},this),cur===YieldedOp){let op=yieldedOpChannel.currentOp;if(op._op===OP_YIELD||op._op===OP_ASYNC)return YieldedOp;return yieldedOpChannel.currentOp=null,op._op===OP_SUCCESS||op._op===OP_FAILURE?op:exitFailCause(die(op))}}catch(e){if(cur!==YieldedOp&&!hasProperty(cur,"_op")||!(cur._op in this))cur=dieMessage(`Not a valid effect: ${toStringUnknown(cur)}`);else if(isInterruptedException(e))cur=exitFailCause(sequential(die(e),interrupt(none4)));else cur=die2(e)}}}run=()=>{this.drainQueueOnCurrentThread()}}var currentMinimumLogLevel=globalValue("effect/FiberRef/currentMinimumLogLevel",()=>fiberRefUnsafeMake(fromLiteral("Info"))),loggerWithConsoleLog=(self)=>makeLogger((opts)=>{let services=getOrDefault2(opts.context,currentServices);get3(services,consoleTag).unsafe.log(self.log(opts))});var defaultLogger=globalValue(Symbol.for("effect/Logger/defaultLogger"),()=>loggerWithConsoleLog(stringLogger));var tracerLogger=globalValue(Symbol.for("effect/Logger/tracerLogger"),()=>makeLogger(({annotations:annotations2,cause:cause2,context:context2,fiberId:fiberId2,logLevel,message})=>{let span2=getOption2(getOrDefault(context2,currentContext),spanTag);if(span2._tag==="None"||span2.value._tag==="ExternalSpan")return;let clockService=unsafeGet3(getOrDefault(context2,currentServices),clockTag),attributes={};for(let[key,value]of annotations2)attributes[key]=value;if(attributes["effect.fiberId"]=threadName2(fiberId2),attributes["effect.logLevel"]=logLevel.label,cause2!==null&&cause2._tag!=="Empty")attributes["effect.cause"]=pretty(cause2,{renderErrorCause:!0});span2.value.event(toStringUnknown(Array.isArray(message)?message[0]:message),clockService.unsafeCurrentTimeNanos(),attributes)}));var currentLoggers=globalValue(Symbol.for("effect/FiberRef/currentLoggers"),()=>fiberRefUnsafeMakeHashSet(make11(defaultLogger,tracerLogger)));var annotateLogsScoped=function(){if(typeof arguments[0]==="string")return fiberRefLocallyScopedWith(currentLogAnnotations,set3(arguments[0],arguments[1]));let entries2=Object.entries(arguments[0]);return fiberRefLocallyScopedWith(currentLogAnnotations,mutate3((annotations2)=>{for(let i=0;i<entries2.length;i++){let[key,value]=entries2[i];set3(annotations2,key,value)}return annotations2}))},whenLogLevel=dual(2,(effect,level)=>{let requiredLogLevel=typeof level==="string"?fromLiteral(level):level;return withFiberRuntime((fiberState)=>{let minimumLogLevel=fiberState.getFiberRef(currentMinimumLogLevel);if(greaterThan2(minimumLogLevel,requiredLogLevel))return succeed(none2());return map9(effect,some2)})}),acquireRelease=dual((args2)=>isEffect(args2[0]),(acquire,release)=>uninterruptible(tap(acquire,(a)=>addFinalizer((exit2)=>release(a,exit2))))),acquireReleaseInterruptible=dual((args2)=>isEffect(args2[0]),(acquire,release)=>ensuring(acquire,addFinalizer((exit2)=>release(exit2)))),addFinalizer=(finalizer)=>withFiberRuntime((runtime2)=>{let acquireRefs=runtime2.getFiberRefs(),acquireFlags=runtime2.currentRuntimeFlags;return flatMap7(scope,(scope)=>scopeAddFinalizerExit(scope,(exit2)=>withFiberRuntime((runtimeFinalizer)=>{let preRefs=runtimeFinalizer.getFiberRefs(),preFlags=runtimeFinalizer.currentRuntimeFlags,patchRefs=diff9(preRefs,acquireRefs),patchFlags=diff7(preFlags,acquireFlags),inverseRefs=diff9(acquireRefs,preRefs);return runtimeFinalizer.setFiberRefs(patch10(patchRefs,runtimeFinalizer.id(),acquireRefs)),ensuring(withRuntimeFlags(finalizer(exit2),patchFlags),sync(()=>{runtimeFinalizer.setFiberRefs(patch10(inverseRefs,runtimeFinalizer.id(),runtimeFinalizer.getFiberRefs()))}))})))}),daemonChildren=(self)=>{return fiberRefLocally(currentForkScopeOverride,some2(globalScope))(self)},_existsParFound=Symbol.for("effect/Effect/existsPar/found"),exists2=dual((args2)=>isIterable(args2[0])&&!isEffect(args2[0]),(elements,predicate,options)=>matchSimple(options?.concurrency,()=>suspend(()=>existsLoop(elements[Symbol.iterator](),0,predicate)),()=>matchEffect(forEach7(elements,(a,i)=>if_(predicate(a,i),{onTrue:()=>fail2(_existsParFound),onFalse:()=>void_}),options),{onFailure:(e)=>e===_existsParFound?succeed(!0):fail2(e),onSuccess:()=>succeed(!1)}))),existsLoop=(iterator,index,f)=>{let next=iterator.next();if(next.done)return succeed(!1);return pipe(flatMap7(f(next.value,index),(b)=>b?succeed(b):existsLoop(iterator,index+1,f)))},filter5=dual((args2)=>isIterable(args2[0])&&!isEffect(args2[0]),(elements,predicate,options)=>{let predicate_=options?.negate?(a,i)=>map9(predicate(a,i),not):predicate;return matchSimple(options?.concurrency,()=>suspend(()=>fromIterable(elements).reduceRight((effect,a,i)=>zipWith2(effect,suspend(()=>predicate_(a,i)),(list,b)=>b?[a,...list]:list),sync(()=>new Array))),()=>map9(forEach7(elements,(a,i)=>map9(predicate_(a,i),(b)=>b?some2(a):none2()),options),getSomes))}),allResolveInput=(input)=>{if(Array.isArray(input)||isIterable(input))return[input,none2()];let keys5=Object.keys(input),size8=keys5.length;return[keys5.map((k)=>input[k]),some2((values3)=>{let res={};for(let i=0;i<size8;i++)res[keys5[i]]=values3[i];return res})]},allValidate=(effects,reconcile,options)=>{let eitherEffects=[];for(let effect of effects)eitherEffects.push(either2(effect));return flatMap7(forEach7(eitherEffects,identity,{concurrency:options?.concurrency,batching:options?.batching,concurrentFinalizers:options?.concurrentFinalizers}),(eithers)=>{let none9=none2(),size8=eithers.length,errors=new Array(size8),successes=new Array(size8),errored=!1;for(let i=0;i<size8;i++){let either3=eithers[i];if(either3._tag==="Left")errors[i]=some2(either3.left),errored=!0;else successes[i]=either3.right,errors[i]=none9}if(errored)return reconcile._tag==="Some"?fail2(reconcile.value(errors)):fail2(errors);else if(options?.discard)return void_;return reconcile._tag==="Some"?succeed(reconcile.value(successes)):succeed(successes)})},allEither=(effects,reconcile,options)=>{let eitherEffects=[];for(let effect of effects)eitherEffects.push(either2(effect));if(options?.discard)return forEach7(eitherEffects,identity,{concurrency:options?.concurrency,batching:options?.batching,discard:!0,concurrentFinalizers:options?.concurrentFinalizers});return map9(forEach7(eitherEffects,identity,{concurrency:options?.concurrency,batching:options?.batching,concurrentFinalizers:options?.concurrentFinalizers}),(eithers)=>reconcile._tag==="Some"?reconcile.value(eithers):eithers)},all2=(arg,options)=>{let[effects,reconcile]=allResolveInput(arg);if(options?.mode==="validate")return allValidate(effects,reconcile,options);else if(options?.mode==="either")return allEither(effects,reconcile,options);return options?.discard!==!0&&reconcile._tag==="Some"?map9(forEach7(effects,identity,options),reconcile.value):forEach7(effects,identity,options)},allWith=(options)=>(arg)=>all2(arg,options),allSuccesses=(elements,options)=>map9(all2(fromIterable(elements).map(exit),options),filterMap((exit2)=>exitIsSuccess(exit2)?some2(exit2.effect_instruction_i0):none2())),replicate=dual(2,(self,n)=>Array.from({length:n},()=>self)),replicateEffect=dual((args2)=>isEffect(args2[0]),(self,n,options)=>all2(replicate(self,n),options)),forEach7=dual((args2)=>isIterable(args2[0]),(self,f,options)=>withFiberRuntime((r)=>{let isRequestBatchingEnabled=options?.batching===!0||options?.batching==="inherit"&&r.getFiberRef(currentRequestBatching);if(options?.discard)return match8(options.concurrency,()=>finalizersMaskInternal(sequential3,options?.concurrentFinalizers)((restore)=>isRequestBatchingEnabled?forEachConcurrentDiscard(self,(a,i)=>restore(f(a,i)),!0,!1,1):forEachSequentialDiscard(self,(a,i)=>restore(f(a,i)))),()=>finalizersMaskInternal(parallel3,options?.concurrentFinalizers)((restore)=>forEachConcurrentDiscard(self,(a,i)=>restore(f(a,i)),isRequestBatchingEnabled,!1)),(n)=>finalizersMaskInternal(parallelN2(n),options?.concurrentFinalizers)((restore)=>forEachConcurrentDiscard(self,(a,i)=>restore(f(a,i)),isRequestBatchingEnabled,!1,n)));return match8(options?.concurrency,()=>finalizersMaskInternal(sequential3,options?.concurrentFinalizers)((restore)=>isRequestBatchingEnabled?forEachParN(self,1,(a,i)=>restore(f(a,i)),!0):forEachSequential(self,(a,i)=>restore(f(a,i)))),()=>finalizersMaskInternal(parallel3,options?.concurrentFinalizers)((restore)=>forEachParUnbounded(self,(a,i)=>restore(f(a,i)),isRequestBatchingEnabled)),(n)=>finalizersMaskInternal(parallelN2(n),options?.concurrentFinalizers)((restore)=>forEachParN(self,n,(a,i)=>restore(f(a,i)),isRequestBatchingEnabled)))})),forEachParUnbounded=(self,f,batching)=>suspend(()=>{let as2=fromIterable(self),array4=new Array(as2.length);return zipRight(forEachConcurrentDiscard(as2,(a,i)=>flatMap7(f(a,i),(b)=>sync(()=>array4[i]=b)),batching,!1),succeed(array4))}),forEachConcurrentDiscard=(self,f,batching,processAll,n)=>uninterruptibleMask((restore)=>transplant((graft)=>withFiberRuntime((parent)=>{let todos=Array.from(self).reverse(),target=todos.length;if(target===0)return void_;let counter6=0,interrupted=!1,fibersCount=n?Math.min(todos.length,n):todos.length,fibers=new Set,results=new Array,interruptAll=()=>fibers.forEach((fiber)=>{fiber.currentScheduler.scheduleTask(()=>{fiber.unsafeInterruptAsFork(parent.id())},0)}),startOrder=new Array,joinOrder=new Array,residual=new Array,collectExits=()=>{let exits=results.filter(({exit:exit2})=>exit2._tag==="Failure").sort((a,b)=>a.index<b.index?-1:a.index===b.index?0:1).map(({exit:exit2})=>exit2);if(exits.length===0)exits.push(exitVoid);return exits},runFiber=(eff,interruptImmediately=!1)=>{let runnable=uninterruptible(graft(eff)),fiber=unsafeForkUnstarted(runnable,parent,parent.currentRuntimeFlags,globalScope);return parent.currentScheduler.scheduleTask(()=>{if(interruptImmediately)fiber.unsafeInterruptAsFork(parent.id());fiber.resume(runnable)},0),fiber},onInterruptSignal=()=>{if(!processAll)target-=todos.length,todos=[];interrupted=!0,interruptAll()},stepOrExit=batching?step2:exit,processingFiber=runFiber(async_((resume2)=>{let pushResult=(res,index)=>{if(res._op==="Blocked")residual.push(res);else if(results.push({index,exit:res}),res._op==="Failure"&&!interrupted)onInterruptSignal()},next=()=>{if(todos.length>0){let a=todos.pop(),index=counter6++,returnNextElement=()=>{let a2=todos.pop();return index=counter6++,flatMap7(yieldNow(),()=>flatMap7(stepOrExit(restore(f(a2,index))),onRes))},onRes=(res)=>{if(todos.length>0){if(pushResult(res,index),todos.length>0)return returnNextElement()}return succeed(res)},todo=flatMap7(stepOrExit(restore(f(a,index))),onRes),fiber=runFiber(todo);if(startOrder.push(fiber),fibers.add(fiber),interrupted)fiber.currentScheduler.scheduleTask(()=>{fiber.unsafeInterruptAsFork(parent.id())},0);fiber.addObserver((wrapped)=>{let exit2;if(wrapped._op==="Failure")exit2=wrapped;else exit2=wrapped.effect_instruction_i0;if(joinOrder.push(fiber),fibers.delete(fiber),pushResult(exit2,index),results.length===target)resume2(succeed(getOrElse(exitCollectAll(collectExits(),{parallel:!0}),()=>exitVoid)));else if(residual.length+results.length===target){let exits=collectExits(),requests=residual.map((blocked2)=>blocked2.effect_instruction_i0).reduce(par);resume2(succeed(blocked(requests,forEachConcurrentDiscard([getOrElse(exitCollectAll(exits,{parallel:!0}),()=>exitVoid),...residual.map((blocked2)=>blocked2.effect_instruction_i1)],(i)=>i,batching,!0,n))))}else next()})}};for(let i=0;i<fibersCount;i++)next()}));return asVoid(onExit(flatten5(restore(join2(processingFiber))),exitMatch({onFailure:(cause2)=>{onInterruptSignal();let target2=residual.length+1,concurrency=Math.min(typeof n==="number"?n:residual.length,residual.length),toPop=Array.from(residual);return async_((cb)=>{let exits=[],count=0,index=0,check=(index2,hitNext)=>(exit2)=>{if(exits[index2]=exit2,count++,count===target2)cb(exitSucceed(exitFailCause(cause2)));if(toPop.length>0&&hitNext)next()},next=()=>{runFiber(toPop.pop(),!0).addObserver(check(index,!0)),index++};processingFiber.addObserver(check(index,!1)),index++;for(let i=0;i<concurrency;i++)next()})},onSuccess:()=>forEachSequential(joinOrder,(f2)=>f2.inheritAll)})))}))),forEachParN=(self,n,f,batching)=>suspend(()=>{let as2=fromIterable(self),array4=new Array(as2.length);return zipRight(forEachConcurrentDiscard(as2,(a,i)=>map9(f(a,i),(b)=>array4[i]=b),batching,!1,n),succeed(array4))}),fork=(self)=>withFiberRuntime((state,status)=>succeed(unsafeFork(self,state,status.runtimeFlags))),forkDaemon=(self)=>forkWithScopeOverride(self,globalScope),forkWithErrorHandler=dual(2,(self,handler)=>fork(onError(self,(cause2)=>{let either3=failureOrCause(cause2);switch(either3._tag){case"Left":return handler(either3.left);case"Right":return failCause(either3.right)}}))),unsafeFork=(effect,parentFiber,parentRuntimeFlags,overrideScope=null)=>{let childFiber=unsafeMakeChildFiber(effect,parentFiber,parentRuntimeFlags,overrideScope);return childFiber.resume(effect),childFiber},unsafeForkUnstarted=(effect,parentFiber,parentRuntimeFlags,overrideScope=null)=>{return unsafeMakeChildFiber(effect,parentFiber,parentRuntimeFlags,overrideScope)},unsafeMakeChildFiber=(effect,parentFiber,parentRuntimeFlags,overrideScope=null)=>{let childId=unsafeMake3(),parentFiberRefs=parentFiber.getFiberRefs(),childFiberRefs=forkAs(parentFiberRefs,childId),childFiber=new FiberRuntime(childId,childFiberRefs,parentRuntimeFlags),childContext=getOrDefault(childFiberRefs,currentContext),supervisor=childFiber.currentSupervisor;return supervisor.onStart(childContext,effect,some2(parentFiber),childFiber),childFiber.addObserver((exit2)=>supervisor.onEnd(exit2,childFiber)),(overrideScope!==null?overrideScope:pipe(parentFiber.getFiberRef(currentForkScopeOverride),getOrElse(()=>parentFiber.scope()))).add(parentRuntimeFlags,childFiber),childFiber},forkWithScopeOverride=(self,scopeOverride)=>withFiberRuntime((parentFiber,parentStatus)=>succeed(unsafeFork(self,parentFiber,parentStatus.runtimeFlags,scopeOverride))),mergeAll3=dual((args2)=>isFunction2(args2[2]),(elements,zero3,f,options)=>matchSimple(options?.concurrency,()=>fromIterable(elements).reduce((acc,a,i)=>zipWith2(acc,a,(acc2,a2)=>f(acc2,a2,i)),succeed(zero3)),()=>flatMap7(make28(zero3),(acc)=>flatMap7(forEach7(elements,(effect,i)=>flatMap7(effect,(a)=>update3(acc,(b)=>f(b,a,i))),options),()=>get12(acc))))),partition3=dual((args2)=>isIterable(args2[0]),(elements,f,options)=>pipe(forEach7(elements,(a,i)=>either2(f(a,i)),options),map9((chunk2)=>partitionMap2(chunk2,identity)))),validateAll=dual((args2)=>isIterable(args2[0]),(elements,f,options)=>flatMap7(partition3(elements,f,{concurrency:options?.concurrency,batching:options?.batching,concurrentFinalizers:options?.concurrentFinalizers}),([es,bs])=>isNonEmptyArray2(es)?fail2(es):options?.discard?void_:succeed(bs))),raceAll=(all3)=>{let list=fromIterable2(all3);if(!isNonEmpty2(list))return dieSync(()=>new IllegalArgumentException("Received an empty collection of effects"));let self=headNonEmpty2(list),effects=tailNonEmpty2(list),inheritAll2=(res)=>pipe(inheritAll(res[1]),as(res[0]));return pipe(deferredMake(),flatMap7((done5)=>pipe(make28(effects.length),flatMap7((fails)=>uninterruptibleMask((restore)=>pipe(fork(interruptible2(self)),flatMap7((head4)=>pipe(effects,forEachSequential((effect)=>fork(interruptible2(effect))),map9((fibers)=>unsafeFromArray(fibers)),map9((tail)=>pipe(tail,prepend2(head4))),tap((fibers)=>pipe(fibers,reduce(void_,(effect,fiber)=>pipe(effect,zipRight(pipe(_await2(fiber),flatMap7(raceAllArbiter(fibers,fiber,done5,fails)),fork,asVoid)))))),flatMap7((fibers)=>pipe(restore(pipe(_await(done5),flatMap7(inheritAll2))),onInterrupt(()=>pipe(fibers,reduce(void_,(effect,fiber)=>pipe(effect,zipLeft(interruptFiber(fiber))))))))))))))))},raceAllArbiter=(fibers,winner,deferred,fails)=>(exit2)=>exitMatchEffect(exit2,{onFailure:(cause2)=>pipe(modify4(fails,(fails2)=>[fails2===0?pipe(deferredFailCause(deferred,cause2),asVoid):void_,fails2-1]),flatten5),onSuccess:(value)=>pipe(deferredSucceed(deferred,[value,winner]),flatMap7((set6)=>set6?pipe(fromIterable2(fibers),reduce(void_,(effect,fiber)=>fiber===winner?effect:pipe(effect,zipLeft(interruptFiber(fiber))))):void_))}),reduceEffect=dual((args2)=>isIterable(args2[0])&&!isEffect(args2[0]),(elements,zero3,f,options)=>matchSimple(options?.concurrency,()=>fromIterable(elements).reduce((acc,a,i)=>zipWith2(acc,a,(acc2,a2)=>f(acc2,a2,i)),zero3),()=>suspend(()=>pipe(mergeAll3([zero3,...elements],none2(),(acc,elem,i)=>{switch(acc._tag){case"None":return some2(elem);case"Some":return some2(f(acc.value,elem,i))}},options),map9((option2)=>{switch(option2._tag){case"None":throw new Error("BUG: Effect.reduceEffect - please report an issue at https://github.com/Effect-TS/effect/issues");case"Some":return option2.value}}))))),parallelFinalizers=(self)=>contextWithEffect((context2)=>match2(getOption2(context2,scopeTag),{onNone:()=>self,onSome:(scope)=>{switch(scope.strategy._tag){case"Parallel":return self;case"Sequential":case"ParallelN":return flatMap7(scopeFork(scope,parallel3),(inner)=>scopeExtend(self,inner))}}})),parallelNFinalizers=(parallelism)=>(self)=>contextWithEffect((context2)=>match2(getOption2(context2,scopeTag),{onNone:()=>self,onSome:(scope)=>{if(scope.strategy._tag==="ParallelN"&&scope.strategy.parallelism===parallelism)return self;return flatMap7(scopeFork(scope,parallelN2(parallelism)),(inner)=>scopeExtend(self,inner))}})),finalizersMask=(strategy)=>(self)=>finalizersMaskInternal(strategy,!0)(self),finalizersMaskInternal=(strategy,concurrentFinalizers)=>(self)=>contextWithEffect((context2)=>match2(getOption2(context2,scopeTag),{onNone:()=>self(identity),onSome:(scope)=>{if(concurrentFinalizers===!0){let patch12=strategy._tag==="Parallel"?parallelFinalizers:strategy._tag==="Sequential"?sequentialFinalizers:parallelNFinalizers(strategy.parallelism);switch(scope.strategy._tag){case"Parallel":return patch12(self(parallelFinalizers));case"Sequential":return patch12(self(sequentialFinalizers));case"ParallelN":return patch12(self(parallelNFinalizers(scope.strategy.parallelism)))}}else return self(identity)}})),scopeWith=(f)=>flatMap7(scopeTag,f),scopedWith=(f)=>flatMap7(scopeMake(),(scope)=>onExit(f(scope),(exit2)=>scope.close(exit2))),scopedEffect=(effect)=>flatMap7(scopeMake(),(scope)=>scopeUse(effect,scope)),sequentialFinalizers=(self)=>contextWithEffect((context2)=>match2(getOption2(context2,scopeTag),{onNone:()=>self,onSome:(scope)=>{switch(scope.strategy._tag){case"Sequential":return self;case"Parallel":case"ParallelN":return flatMap7(scopeFork(scope,sequential3),(inner)=>scopeExtend(self,inner))}}})),tagMetricsScoped=(key,value)=>labelMetricsScoped([make29(key,value)]),labelMetricsScoped=(labels)=>fiberRefLocallyScopedWith(currentMetricLabels,(old)=>union(old,labels)),using=dual(2,(self,use)=>scopedWith((scope)=>flatMap7(scopeExtend(self,scope),use))),validate=dual((args2)=>isEffect(args2[1]),(self,that,options)=>validateWith(self,that,(a,b)=>[a,b],options)),validateWith=dual((args2)=>isEffect(args2[1]),(self,that,f,options)=>flatten5(zipWithOptions(exit(self),exit(that),(ea,eb)=>exitZipWith(ea,eb,{onSuccess:f,onFailure:(ca,cb)=>options?.concurrent?parallel(ca,cb):sequential(ca,cb)}),options)));var validateFirst=dual((args2)=>isIterable(args2[0]),(elements,f,options)=>flip(forEach7(elements,(a,i)=>flip(f(a,i)),options))),withClockScoped=(c)=>fiberRefLocallyScopedWith(currentServices,add2(clockTag,c)),withRandomScoped=(value)=>fiberRefLocallyScopedWith(currentServices,add2(randomTag,value)),withConfigProviderScoped=(provider)=>fiberRefLocallyScopedWith(currentServices,add2(configProviderTag,provider)),withEarlyRelease=(self)=>scopeWith((parent)=>flatMap7(scopeFork(parent,sequential2),(child)=>pipe(self,scopeExtend(child),map9((value)=>[fiberIdWith((fiberId2)=>scopeClose(child,exitInterrupt(fiberId2))),value])))),zipOptions=dual((args2)=>isEffect(args2[1]),(self,that,options)=>zipWithOptions(self,that,(a,b)=>[a,b],options)),zipLeftOptions=dual((args2)=>isEffect(args2[1]),(self,that,options)=>{if(options?.concurrent!==!0&&(options?.batching===void 0||options.batching===!1))return zipLeft(self,that);return zipWithOptions(self,that,(a,_)=>a,options)}),zipRightOptions=dual((args2)=>isEffect(args2[1]),(self,that,options)=>{if(options?.concurrent!==!0&&(options?.batching===void 0||options.batching===!1))return zipRight(self,that);return zipWithOptions(self,that,(_,b)=>b,options)}),zipWithOptions=dual((args2)=>isEffect(args2[1]),(self,that,f,options)=>map9(all2([self,that],{concurrency:options?.concurrent?2:1,batching:options?.batching,concurrentFinalizers:options?.concurrentFinalizers}),([a,a2])=>f(a,a2))),withRuntimeFlagsScoped=(update5)=>{if(update5===empty18)return void_;return pipe(runtimeFlags,flatMap7((runtimeFlags2)=>{let updatedRuntimeFlags=patch7(runtimeFlags2,update5),revertRuntimeFlags=diff7(updatedRuntimeFlags,runtimeFlags2);return pipe(updateRuntimeFlags(update5),zipRight(addFinalizer(()=>updateRuntimeFlags(revertRuntimeFlags))),asVoid)}),uninterruptible)},scopeTag=GenericTag("effect/Scope"),scope=scopeTag,scopeUnsafeAddFinalizer=(scope2,fin)=>{if(scope2.state._tag==="Open")scope2.state.finalizers.set({},fin)},ScopeImplProto={[ScopeTypeId]:ScopeTypeId,[CloseableScopeTypeId]:CloseableScopeTypeId,pipe(){return pipeArguments(this,arguments)},fork(strategy){return sync(()=>{let newScope=scopeUnsafeMake(strategy);if(this.state._tag==="Closed")return newScope.state=this.state,newScope;let key={},fin=(exit2)=>newScope.close(exit2);return this.state.finalizers.set(key,fin),scopeUnsafeAddFinalizer(newScope,(_)=>sync(()=>{if(this.state._tag==="Open")this.state.finalizers.delete(key)})),newScope})},close(exit2){return suspend(()=>{if(this.state._tag==="Closed")return void_;let finalizers=Array.from(this.state.finalizers.values()).reverse();if(this.state={_tag:"Closed",exit:exit2},finalizers.length===0)return void_;return isSequential(this.strategy)?pipe(forEachSequential(finalizers,(fin)=>exit(fin(exit2))),flatMap7((results)=>pipe(exitCollectAll(results),map2(exitAsVoid),getOrElse(()=>exitVoid)))):isParallel(this.strategy)?pipe(forEachParUnbounded(finalizers,(fin)=>exit(fin(exit2)),!1),flatMap7((results)=>pipe(exitCollectAll(results,{parallel:!0}),map2(exitAsVoid),getOrElse(()=>exitVoid)))):pipe(forEachParN(finalizers,this.strategy.parallelism,(fin)=>exit(fin(exit2)),!1),flatMap7((results)=>pipe(exitCollectAll(results,{parallel:!0}),map2(exitAsVoid),getOrElse(()=>exitVoid))))})},addFinalizer(fin){return suspend(()=>{if(this.state._tag==="Closed")return fin(this.state.exit);return this.state.finalizers.set({},fin),void_})}},scopeUnsafeMake=(strategy=sequential2)=>{let scope2=Object.create(ScopeImplProto);return scope2.strategy=strategy,scope2.state={_tag:"Open",finalizers:new Map},scope2},scopeMake=(strategy=sequential2)=>sync(()=>scopeUnsafeMake(strategy)),scopeExtend=dual(2,(effect,scope2)=>mapInputContext(effect,merge3(make6(scopeTag,scope2)))),scopeUse=dual(2,(effect,scope2)=>pipe(effect,scopeExtend(scope2),onExit((exit2)=>scope2.close(exit2)))),fiberRefUnsafeMakeSupervisor=(initial)=>fiberRefUnsafeMakePatch(initial,{differ:differ2,fork:empty29}),fiberRefLocallyScoped=dual(2,(self,value)=>asVoid(acquireRelease(flatMap7(fiberRefGet(self),(oldValue)=>as(fiberRefSet(self,value),oldValue)),(oldValue)=>fiberRefSet(self,oldValue)))),fiberRefLocallyScopedWith=dual(2,(self,f)=>fiberRefGetWith(self,(a)=>fiberRefLocallyScoped(self,f(a))));var currentRuntimeFlags=fiberRefUnsafeMakeRuntimeFlags(none5),currentSupervisor=fiberRefUnsafeMakeSupervisor(none8),fiberAwaitAll=(fibers)=>forEach7(fibers,_await2),fiberAll=(fibers)=>{return{...CommitPrototype2,commit(){return join2(this)},[FiberTypeId]:fiberVariance2,id:()=>fromIterable(fibers).reduce((id,fiber)=>combine3(id,fiber.id()),none4),await:exit(forEachParUnbounded(fibers,(fiber)=>flatten5(fiber.await),!1)),children:map9(forEachParUnbounded(fibers,(fiber)=>fiber.children,!1),flatten),inheritAll:forEachSequentialDiscard(fibers,(fiber)=>fiber.inheritAll),poll:map9(forEachSequential(fibers,(fiber)=>fiber.poll),reduceRight(some2(exitSucceed(new Array)),(optionB,optionA)=>{switch(optionA._tag){case"None":return none2();case"Some":switch(optionB._tag){case"None":return none2();case"Some":return some2(exitZipWith(optionA.value,optionB.value,{onSuccess:(a,chunk2)=>[a,...chunk2],onFailure:parallel}))}}})),interruptAsFork:(fiberId2)=>forEachSequentialDiscard(fibers,(fiber)=>fiber.interruptAsFork(fiberId2))}};var raceWith=dual(3,(self,other,options)=>raceFibersWith(self,other,{onSelfWin:(winner,loser)=>flatMap7(winner.await,(exit2)=>{switch(exit2._tag){case OP_SUCCESS:return flatMap7(winner.inheritAll,()=>options.onSelfDone(exit2,loser));case OP_FAILURE:return options.onSelfDone(exit2,loser)}}),onOtherWin:(winner,loser)=>flatMap7(winner.await,(exit2)=>{switch(exit2._tag){case OP_SUCCESS:return flatMap7(winner.inheritAll,()=>options.onOtherDone(exit2,loser));case OP_FAILURE:return options.onOtherDone(exit2,loser)}})})),disconnect=(self)=>uninterruptibleMask((restore)=>fiberIdWith((fiberId2)=>flatMap7(forkDaemon(restore(self)),(fiber)=>pipe(restore(join2(fiber)),onInterrupt(()=>pipe(fiber,interruptAsFork(fiberId2))))))),race=dual(2,(self,that)=>fiberIdWith((parentFiberId)=>raceWith(self,that,{onSelfDone:(exit2,right3)=>exitMatchEffect(exit2,{onFailure:(cause2)=>pipe(join2(right3),mapErrorCause((cause22)=>parallel(cause2,cause22))),onSuccess:(value)=>pipe(right3,interruptAsFiber(parentFiberId),as(value))}),onOtherDone:(exit2,left3)=>exitMatchEffect(exit2,{onFailure:(cause2)=>pipe(join2(left3),mapErrorCause((cause22)=>parallel(cause22,cause2))),onSuccess:(value)=>pipe(left3,interruptAsFiber(parentFiberId),as(value))})}))),raceFibersWith=dual(3,(self,other,options)=>withFiberRuntime((parentFiber,parentStatus)=>{let parentRuntimeFlags=parentStatus.runtimeFlags,raceIndicator=make12(!0),leftFiber=unsafeMakeChildFiber(self,parentFiber,parentRuntimeFlags,options.selfScope),rightFiber=unsafeMakeChildFiber(other,parentFiber,parentRuntimeFlags,options.otherScope);return async_((cb)=>{leftFiber.addObserver(()=>completeRace(leftFiber,rightFiber,options.onSelfWin,raceIndicator,cb)),rightFiber.addObserver(()=>completeRace(rightFiber,leftFiber,options.onOtherWin,raceIndicator,cb)),leftFiber.startFork(self),rightFiber.startFork(other)},combine3(leftFiber.id(),rightFiber.id()))})),completeRace=(winner,loser,cont,ab,cb)=>{if(compareAndSet(!0,!1)(ab))cb(cont(winner,loser))},ensuring=dual(2,(self,finalizer)=>uninterruptibleMask((restore)=>matchCauseEffect(restore(self),{onFailure:(cause1)=>matchCauseEffect(finalizer,{onFailure:(cause2)=>failCause(sequential(cause1,cause2)),onSuccess:()=>failCause(cause1)}),onSuccess:(a)=>as(finalizer,a)}))),invokeWithInterrupt=(self,entries2,onInterrupt2)=>fiberIdWith((id)=>flatMap7(flatMap7(forkDaemon(interruptible2(self)),(processing)=>async_((cb)=>{let counts=entries2.map((_)=>_.listeners.count),checkDone=()=>{if(counts.every((count)=>count===0)){if(entries2.every((_)=>{if(_.result.state.current._tag==="Pending")return!0;else if(_.result.state.current._tag==="Done"&&exitIsExit(_.result.state.current.effect)&&_.result.state.current.effect._tag==="Failure"&&isInterrupted(_.result.state.current.effect.cause))return!0;else return!1}))cleanup.forEach((f)=>f()),onInterrupt2?.(),cb(interruptFiber(processing))}};processing.addObserver((exit2)=>{cleanup.forEach((f)=>f()),cb(exit2)});let cleanup=entries2.map((r,i)=>{let observer=(count)=>{counts[i]=count,checkDone()};return r.listeners.addObserver(observer),()=>r.listeners.removeObserver(observer)});return checkDone(),sync(()=>{cleanup.forEach((f)=>f())})})),()=>suspend(()=>{let residual=entries2.flatMap((entry)=>{if(!entry.state.completed)return[entry];return[]});return forEachSequentialDiscard(residual,(entry)=>complete(entry.request,exitInterrupt(id)))})));var makeSpanScoped=(name,options)=>{return options=addSpanStackTrace(options),uninterruptible(withFiberRuntime((fiber)=>{let scope2=unsafeGet3(fiber.getFiberRef(currentContext),scopeTag),span2=unsafeMakeSpan(fiber,name,options),timingEnabled=fiber.getFiberRef(currentTracerTimingEnabled),clock_=get3(fiber.getFiberRef(currentServices),clockTag);return as(scopeAddFinalizerExit(scope2,(exit2)=>endSpan(span2,exit2,clock_,timingEnabled)),span2)}))},withTracerScoped=(value)=>fiberRefLocallyScopedWith(currentServices,add2(tracerTag,value)),withSpanScoped=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 flatMap7(makeSpanScoped(name,addSpanStackTrace(options)),(span2)=>provideService(self,spanTag,span2))}return(self)=>flatMap7(makeSpanScoped(name,addSpanStackTrace(options)),(span2)=>provideService(self,spanTag,span2))};var complete2=(key,exit2,entryStats,timeToLiveMillis)=>struct({_tag:"Complete",key,exit:exit2,entryStats,timeToLiveMillis}),pending2=(key,deferred)=>struct({_tag:"Pending",key,deferred}),refreshing=(deferred,complete3)=>struct({_tag:"Refreshing",deferred,complete:complete3}),MapKeyTypeId=Symbol.for("effect/Cache/MapKey");class MapKeyImpl{current;[MapKeyTypeId]=MapKeyTypeId;previous=void 0;next=void 0;constructor(current){this.current=current}[symbol](){return pipe(hash(this.current),combine(hash(this.previous)),combine(hash(this.next)),cached(this))}[symbol2](that){if(this===that)return!0;return isMapKey(that)&&equals(this.current,that.current)&&equals(this.previous,that.previous)&&equals(this.next,that.next)}}var makeMapKey=(current)=>new MapKeyImpl(current),isMapKey=(u)=>hasProperty(u,MapKeyTypeId);class KeySetImpl{head=void 0;tail=void 0;add(key){if(key!==this.tail)if(this.tail===void 0)this.head=key,this.tail=key;else{let{previous,next}=key;if(next!==void 0)if(key.next=void 0,previous!==void 0)previous.next=next,next.previous=previous;else this.head=next,this.head.previous=void 0;this.tail.next=key,key.previous=this.tail,this.tail=key}}remove(){let key=this.head;if(key!==void 0){let next=key.next;if(next!==void 0)key.next=void 0,this.head=next,this.head.previous=void 0;else this.head=void 0,this.tail=void 0}return key}}var makeKeySet=()=>new KeySetImpl,makeCacheState=(map10,keys5,accesses,updating,hits,misses)=>({map:map10,keys:keys5,accesses,updating,hits,misses}),initialCacheState=()=>makeCacheState(empty21(),makeKeySet(),unbounded(),make12(!1),0,0),CacheSymbolKey="effect/Cache",CacheTypeId=Symbol.for(CacheSymbolKey),cacheVariance={_Key:(_)=>_,_Error:(_)=>_,_Value:(_)=>_},ConsumerCacheSymbolKey="effect/ConsumerCache",ConsumerCacheTypeId=Symbol.for(ConsumerCacheSymbolKey),consumerCacheVariance={_Key:(_)=>_,_Error:(_)=>_,_Value:(_)=>_},makeCacheStats=(options)=>options,makeEntryStats=(loadedMillis)=>({loadedMillis});class CacheImpl{capacity;context;fiberId;lookup;timeToLive;[CacheTypeId]=cacheVariance;[ConsumerCacheTypeId]=consumerCacheVariance;cacheState;constructor(capacity,context2,fiberId2,lookup,timeToLive){this.capacity=capacity,this.context=context2,this.fiberId=fiberId2,this.lookup=lookup,this.timeToLive=timeToLive,this.cacheState=initialCacheState()}get(key){return map9(this.getEither(key),merge)}get cacheStats(){return sync(()=>makeCacheStats({hits:this.cacheState.hits,misses:this.cacheState.misses,size:size4(this.cacheState.map)}))}getOption(key){return suspend(()=>match2(get8(this.cacheState.map,key),{onNone:()=>{let mapKey=makeMapKey(key);return this.trackAccess(mapKey),this.trackMiss(),succeed(none2())},onSome:(value)=>this.resolveMapValue(value)}))}getOptionComplete(key){return suspend(()=>match2(get8(this.cacheState.map,key),{onNone:()=>{let mapKey=makeMapKey(key);return this.trackAccess(mapKey),this.trackMiss(),succeed(none2())},onSome:(value)=>this.resolveMapValue(value,!0)}))}contains(key){return sync(()=>has4(this.cacheState.map,key))}entryStats(key){return sync(()=>{let option2=get8(this.cacheState.map,key);if(isSome2(option2))switch(option2.value._tag){case"Complete":{let loaded=option2.value.entryStats.loadedMillis;return some2(makeEntryStats(loaded))}case"Pending":return none2();case"Refreshing":{let loaded=option2.value.complete.entryStats.loadedMillis;return some2(makeEntryStats(loaded))}}return none2()})}getEither(key){return suspend(()=>{let k=key,mapKey=void 0,deferred=void 0,value=getOrUndefined(get8(this.cacheState.map,k));if(value===void 0)if(deferred=unsafeMake4(this.fiberId),mapKey=makeMapKey(k),has4(this.cacheState.map,k))value=getOrUndefined(get8(this.cacheState.map,k));else set4(this.cacheState.map,k,pending2(mapKey,deferred));if(value===void 0)return this.trackAccess(mapKey),this.trackMiss(),map9(this.lookupValueOf(key,deferred),right2);else return flatMap7(this.resolveMapValue(value),match2({onNone:()=>this.getEither(key),onSome:(value2)=>succeed(left2(value2))}))})}invalidate(key){return sync(()=>{remove6(this.cacheState.map,key)})}invalidateWhen(key,when2){return sync(()=>{let value=get8(this.cacheState.map,key);if(isSome2(value)&&value.value._tag==="Complete"){if(value.value.exit._tag==="Success"){if(when2(value.value.exit.value))remove6(this.cacheState.map,key)}}})}get invalidateAll(){return sync(()=>{this.cacheState.map=empty21()})}refresh(key){return clockWith3((clock2)=>suspend(()=>{let k=key,deferred=unsafeMake4(this.fiberId),value=getOrUndefined(get8(this.cacheState.map,k));if(value===void 0)if(has4(this.cacheState.map,k))value=getOrUndefined(get8(this.cacheState.map,k));else set4(this.cacheState.map,k,pending2(makeMapKey(k),deferred));if(value===void 0)return asVoid(this.lookupValueOf(key,deferred));else switch(value._tag){case"Complete":{if(this.hasExpired(clock2,value.timeToLiveMillis)){let found=getOrUndefined(get8(this.cacheState.map,k));if(equals(found,value))remove6(this.cacheState.map,k);return asVoid(this.get(key))}return pipe(this.lookupValueOf(key,deferred),when(()=>{let current=getOrUndefined(get8(this.cacheState.map,k));if(equals(current,value)){let mapValue=refreshing(deferred,value);return set4(this.cacheState.map,k,mapValue),!0}return!1}),asVoid)}case"Pending":return _await(value.deferred);case"Refreshing":return _await(value.deferred)}}))}set(key,value){return clockWith3((clock2)=>sync(()=>{let now=clock2.unsafeCurrentTimeMillis(),k=key,lookupResult=succeed2(value),mapValue=complete2(makeMapKey(k),lookupResult,makeEntryStats(now),now+toMillis(decode(this.timeToLive(lookupResult))));set4(this.cacheState.map,k,mapValue)}))}get size(){return sync(()=>{return size4(this.cacheState.map)})}get values(){return sync(()=>{let values3=[];for(let entry of this.cacheState.map)if(entry[1]._tag==="Complete"&&entry[1].exit._tag==="Success")values3.push(entry[1].exit.value);return values3})}get entries(){return sync(()=>{let values3=[];for(let entry of this.cacheState.map)if(entry[1]._tag==="Complete"&&entry[1].exit._tag==="Success")values3.push([entry[0],entry[1].exit.value]);return values3})}get keys(){return sync(()=>{let keys5=[];for(let entry of this.cacheState.map)if(entry[1]._tag==="Complete"&&entry[1].exit._tag==="Success")keys5.push(entry[0]);return keys5})}resolveMapValue(value,ignorePending=!1){return clockWith3((clock2)=>{switch(value._tag){case"Complete":{if(this.trackAccess(value.key),this.hasExpired(clock2,value.timeToLiveMillis))return remove6(this.cacheState.map,value.key.current),succeed(none2());return this.trackHit(),map9(value.exit,some2)}case"Pending":{if(this.trackAccess(value.key),this.trackHit(),ignorePending)return succeed(none2());return map9(_await(value.deferred),some2)}case"Refreshing":{if(this.trackAccess(value.complete.key),this.trackHit(),this.hasExpired(clock2,value.complete.timeToLiveMillis)){if(ignorePending)return succeed(none2());return map9(_await(value.deferred),some2)}return map9(value.complete.exit,some2)}}})}trackHit(){this.cacheState.hits=this.cacheState.hits+1}trackMiss(){this.cacheState.misses=this.cacheState.misses+1}trackAccess(key){if(offer(this.cacheState.accesses,key),compareAndSet(this.cacheState.updating,!1,!0)){let loop2=!0;while(loop2){let key2=poll(this.cacheState.accesses,EmptyMutableQueue);if(key2===EmptyMutableQueue)loop2=!1;else this.cacheState.keys.add(key2)}let size8=size4(this.cacheState.map);loop2=size8>this.capacity;while(loop2){let key2=this.cacheState.keys.remove();if(key2!==void 0){if(has4(this.cacheState.map,key2.current))remove6(this.cacheState.map,key2.current),size8=size8-1,loop2=size8>this.capacity}else loop2=!1}set2(this.cacheState.updating,!1)}}hasExpired(clock2,timeToLiveMillis){return clock2.unsafeCurrentTimeMillis()>timeToLiveMillis}lookupValueOf(input,deferred){return clockWith3((clock2)=>suspend(()=>{let key=input;return pipe(this.lookup(input),provideContext(this.context),exit,flatMap7((exit2)=>{let now=clock2.unsafeCurrentTimeMillis(),stats=makeEntryStats(now),value=complete2(makeMapKey(key),exit2,stats,now+toMillis(decode(this.timeToLive(exit2))));return set4(this.cacheState.map,key,value),zipRight(done2(deferred,exit2),exit2)}),onInterrupt(()=>zipRight(interrupt3(deferred),sync(()=>{remove6(this.cacheState.map,key)}))))}))}}var unsafeMakeWith=(capacity,lookup,timeToLive)=>new CacheImpl(capacity,empty4(),none3,lookup,(exit2)=>decode(timeToLive(exit2)));var fail4=fail,die4=die,interrupt5=interrupt;var isFailType2=isFailType;var failureOrCause2=failureOrCause;var NoSuchElementException2=NoSuchElementException;var pretty2=pretty;var exports_Effect={};__export(exports_Effect,{zipWith:()=>zipWith6,zipRight:()=>zipRight2,zipLeft:()=>zipLeft2,zip:()=>zip4,yieldNow:()=>yieldNow4,withUnhandledErrorLogLevel:()=>withUnhandledErrorLogLevel2,withTracerTiming:()=>withTracerTiming2,withTracerScoped:()=>withTracerScoped2,withTracerEnabled:()=>withTracerEnabled2,withTracer:()=>withTracer2,withSpanScoped:()=>withSpanScoped2,withSpan:()=>withSpan3,withSchedulingPriority:()=>withSchedulingPriority2,withScheduler:()=>withScheduler2,withRuntimeFlagsPatchScoped:()=>withRuntimeFlagsPatchScoped,withRuntimeFlagsPatch:()=>withRuntimeFlagsPatch,withRequestCaching:()=>withRequestCaching2,withRequestCache:()=>withRequestCache2,withRequestBatching:()=>withRequestBatching2,withRandomScoped:()=>withRandomScoped2,withRandom:()=>withRandom2,withParentSpan:()=>withParentSpan3,withMetric:()=>withMetric2,withMaxOpsBeforeYield:()=>withMaxOpsBeforeYield2,withLogSpan:()=>withLogSpan2,withFiberRuntime:()=>withFiberRuntime2,withExecutionPlan:()=>withExecutionPlan2,withEarlyRelease:()=>withEarlyRelease2,withConsoleScoped:()=>withConsoleScoped2,withConsole:()=>withConsole2,withConfigProviderScoped:()=>withConfigProviderScoped2,withConfigProvider:()=>withConfigProvider2,withConcurrency:()=>withConcurrency2,withClockScoped:()=>withClockScoped2,withClock:()=>withClock2,whileLoop:()=>whileLoop2,whenRef:()=>whenRef2,whenLogLevel:()=>whenLogLevel2,whenFiberRef:()=>whenFiberRef2,whenEffect:()=>whenEffect2,when:()=>when2,void:()=>_void,validateWith:()=>validateWith2,validateFirst:()=>validateFirst2,validateAll:()=>validateAll2,validate:()=>validate2,using:()=>using2,useSpan:()=>useSpan2,updateService:()=>updateService2,updateFiberRefs:()=>updateFiberRefs2,unsandbox:()=>unsandbox2,unsafeMakeSemaphore:()=>unsafeMakeSemaphore2,unsafeMakeLatch:()=>unsafeMakeLatch2,unlessEffect:()=>unlessEffect2,unless:()=>unless2,uninterruptibleMask:()=>uninterruptibleMask3,uninterruptible:()=>uninterruptible2,tryPromise:()=>tryPromise2,tryMapPromise:()=>tryMapPromise2,tryMap:()=>tryMap2,try:()=>try_2,transposeOption:()=>transposeOption,transposeMapOption:()=>transposeMapOption,transplant:()=>transplant2,tracerWith:()=>tracerWith4,tracer:()=>tracer2,timeoutTo:()=>timeoutTo2,timeoutOption:()=>timeoutOption2,timeoutFailCause:()=>timeoutFailCause2,timeoutFail:()=>timeoutFail2,timeout:()=>timeout2,timedWith:()=>timedWith2,timed:()=>timed2,tapErrorTag:()=>tapErrorTag2,tapErrorCause:()=>tapErrorCause3,tapError:()=>tapError3,tapDefect:()=>tapDefect2,tapBoth:()=>tapBoth2,tap:()=>tap3,takeWhile:()=>takeWhile2,takeUntil:()=>takeUntil2,tagMetricsScoped:()=>tagMetricsScoped2,tagMetrics:()=>tagMetrics2,sync:()=>sync3,suspend:()=>suspend3,supervised:()=>supervised2,summarized:()=>summarized2,succeedSome:()=>succeedSome2,succeedNone:()=>succeedNone2,succeed:()=>succeed7,step:()=>step3,spanLinks:()=>spanLinks2,spanAnnotations:()=>spanAnnotations2,sleep:()=>sleep4,setFiberRefs:()=>setFiberRefs2,serviceOptional:()=>serviceOptional2,serviceOption:()=>serviceOption2,serviceMembers:()=>serviceMembers2,serviceFunctions:()=>serviceFunctions2,serviceFunctionEffect:()=>serviceFunctionEffect2,serviceFunction:()=>serviceFunction2,serviceConstants:()=>serviceConstants2,sequentialFinalizers:()=>sequentialFinalizers2,scopedWith:()=>scopedWith2,scoped:()=>scoped2,scopeWith:()=>scopeWith2,scope:()=>scope3,scheduleFrom:()=>scheduleFrom,scheduleForked:()=>scheduleForked2,schedule:()=>schedule,sandbox:()=>sandbox2,runtime:()=>runtime3,runSyncExit:()=>runSyncExit,runSync:()=>runSync,runRequestBlock:()=>runRequestBlock2,runPromiseExit:()=>runPromiseExit,runPromise:()=>runPromise,runFork:()=>runFork2,runCallback:()=>runCallback,retryOrElse:()=>retryOrElse,retry:()=>retry2,request:()=>request,replicateEffect:()=>replicateEffect2,replicate:()=>replicate2,repeatOrElse:()=>repeatOrElse,repeatN:()=>repeatN2,repeat:()=>repeat,reduceWhile:()=>reduceWhile2,reduceRight:()=>reduceRight3,reduceEffect:()=>reduceEffect2,reduce:()=>reduce12,randomWith:()=>randomWith2,random:()=>random3,raceWith:()=>raceWith2,raceFirst:()=>raceFirst2,raceAll:()=>raceAll2,race:()=>race2,provideServiceEffect:()=>provideServiceEffect2,provideService:()=>provideService2,provide:()=>provide2,promise:()=>promise2,patchRuntimeFlags:()=>patchRuntimeFlags,patchFiberRefs:()=>patchFiberRefs2,partition:()=>partition4,parallelFinalizers:()=>parallelFinalizers2,parallelErrors:()=>parallelErrors2,orElseSucceed:()=>orElseSucceed2,orElseFail:()=>orElseFail2,orElse:()=>orElse5,orDieWith:()=>orDieWith2,orDie:()=>orDie3,optionFromOptional:()=>optionFromOptional2,option:()=>option2,once:()=>once3,onInterrupt:()=>onInterrupt2,onExit:()=>onExit3,onError:()=>onError2,none:()=>none9,never:()=>never3,negate:()=>negate2,metricLabels:()=>metricLabels2,mergeAll:()=>mergeAll5,merge:()=>merge7,matchEffect:()=>matchEffect2,matchCauseEffect:()=>matchCauseEffect3,matchCause:()=>matchCause3,match:()=>match13,mapInputContext:()=>mapInputContext2,mapErrorCause:()=>mapErrorCause2,mapError:()=>mapError3,mapBoth:()=>mapBoth2,mapAccum:()=>mapAccum3,map:()=>map13,makeSpanScoped:()=>makeSpanScoped2,makeSpan:()=>makeSpan2,makeSemaphore:()=>makeSemaphore2,makeLatch:()=>makeLatch2,loop:()=>loop2,logWithLevel:()=>logWithLevel2,logWarning:()=>logWarning2,logTrace:()=>logTrace2,logInfo:()=>logInfo2,logFatal:()=>logFatal2,logError:()=>logError2,logDebug:()=>logDebug2,logAnnotations:()=>logAnnotations2,log:()=>log2,locallyWith:()=>locallyWith,locallyScopedWith:()=>locallyScopedWith,locallyScoped:()=>locallyScoped,locally:()=>locally,linkSpans:()=>linkSpans2,linkSpanCurrent:()=>linkSpanCurrent2,liftPredicate:()=>liftPredicate2,let:()=>let_3,labelMetricsScoped:()=>labelMetricsScoped2,labelMetrics:()=>labelMetrics2,iterate:()=>iterate2,isSuccess:()=>isSuccess3,isFailure:()=>isFailure3,isEffect:()=>isEffect2,intoDeferred:()=>intoDeferred2,interruptibleMask:()=>interruptibleMask2,interruptible:()=>interruptible4,interruptWith:()=>interruptWith2,interrupt:()=>interrupt6,inheritFiberRefs:()=>inheritFiberRefs2,ignoreLogged:()=>ignoreLogged2,ignore:()=>ignore2,if:()=>if_2,head:()=>head4,getRuntimeFlags:()=>getRuntimeFlags,getFiberRefs:()=>getFiberRefs,gen:()=>gen2,functionWithSpan:()=>functionWithSpan2,fromNullable:()=>fromNullable3,fromFiberEffect:()=>fromFiberEffect2,fromFiber:()=>fromFiber2,forkWithErrorHandler:()=>forkWithErrorHandler2,forkScoped:()=>forkScoped2,forkIn:()=>forkIn2,forkDaemon:()=>forkDaemon2,forkAll:()=>forkAll2,fork:()=>fork3,forever:()=>forever3,forEach:()=>forEach8,fnUntraced:()=>fnUntraced2,fn:()=>fn,flipWith:()=>flipWith2,flip:()=>flip2,flatten:()=>flatten8,flatMap:()=>flatMap10,firstSuccessOf:()=>firstSuccessOf2,findFirst:()=>findFirst6,finalizersMask:()=>finalizersMask2,filterOrFail:()=>filterOrFail2,filterOrElse:()=>filterOrElse2,filterOrDieMessage:()=>filterOrDieMessage2,filterOrDie:()=>filterOrDie2,filterMap:()=>filterMap4,filterEffectOrFail:()=>filterEffectOrFail2,filterEffectOrElse:()=>filterEffectOrElse2,filter:()=>filter7,fiberIdWith:()=>fiberIdWith2,fiberId:()=>fiberId2,failSync:()=>failSync3,failCauseSync:()=>failCauseSync3,failCause:()=>failCause7,fail:()=>fail8,exit:()=>exit2,exists:()=>exists3,every:()=>every6,eventually:()=>eventually2,ensuringChildren:()=>ensuringChildren2,ensuringChild:()=>ensuringChild2,ensuring:()=>ensuring2,either:()=>either3,dropWhile:()=>dropWhile2,dropUntil:()=>dropUntil2,disconnect:()=>disconnect2,diffFiberRefs:()=>diffFiberRefs2,dieSync:()=>dieSync3,dieMessage:()=>dieMessage2,die:()=>die6,descriptorWith:()=>descriptorWith2,descriptor:()=>descriptor2,delay:()=>delay2,daemonChildren:()=>daemonChildren2,custom:()=>custom2,currentSpan:()=>currentSpan2,currentParentSpan:()=>currentParentSpan2,contextWithEffect:()=>contextWithEffect2,contextWith:()=>contextWith2,context:()=>context3,consoleWith:()=>consoleWith2,console:()=>console3,configProviderWith:()=>configProviderWith2,clockWith:()=>clockWith4,clock:()=>clock2,checkInterruptible:()=>checkInterruptible2,cause:()=>cause2,catchTags:()=>catchTags2,catchTag:()=>catchTag2,catchSomeDefect:()=>catchSomeDefect2,catchSomeCause:()=>catchSomeCause2,catchSome:()=>catchSome2,catchIf:()=>catchIf2,catchAllDefect:()=>catchAllDefect2,catchAllCause:()=>catchAllCause3,catchAll:()=>catchAll3,catch:()=>_catch2,cachedWithTTL:()=>cachedWithTTL,cachedInvalidateWithTTL:()=>cachedInvalidateWithTTL2,cachedFunction:()=>cachedFunction2,cached:()=>cached3,cacheRequestResult:()=>cacheRequestResult,blocked:()=>blocked2,bindTo:()=>bindTo3,bindAll:()=>bindAll2,bind:()=>bind3,awaitAllChildren:()=>awaitAllChildren2,asyncEffect:()=>asyncEffect2,async:()=>async,asVoid:()=>asVoid3,asSomeError:()=>asSomeError2,asSome:()=>asSome2,as:()=>as3,ap:()=>ap,annotateSpans:()=>annotateSpans3,annotateLogsScoped:()=>annotateLogsScoped2,annotateLogs:()=>annotateLogs3,annotateCurrentSpan:()=>annotateCurrentSpan2,andThen:()=>andThen4,allowInterrupt:()=>allowInterrupt2,allWith:()=>allWith2,allSuccesses:()=>allSuccesses2,all:()=>all4,addFinalizer:()=>addFinalizer2,acquireUseRelease:()=>acquireUseRelease2,acquireReleaseInterruptible:()=>acquireReleaseInterruptible2,acquireRelease:()=>acquireRelease2,Tag:()=>Tag3,Service:()=>Service,EffectTypeId:()=>EffectTypeId3,Do:()=>Do2});var IntervalSymbolKey="effect/ScheduleInterval",IntervalTypeId=Symbol.for(IntervalSymbolKey),empty30={[IntervalTypeId]:IntervalTypeId,startMillis:0,endMillis:0},make36=(startMillis,endMillis)=>{if(startMillis>endMillis)return empty30;return{[IntervalTypeId]:IntervalTypeId,startMillis,endMillis}},lessThan2=dual(2,(self,that)=>min2(self,that)===self),min2=dual(2,(self,that)=>{if(self.endMillis<=that.startMillis)return self;if(that.endMillis<=self.startMillis)return that;if(self.startMillis<that.startMillis)return self;if(that.startMillis<self.startMillis)return that;if(self.endMillis<=that.endMillis)return self;return that});var isEmpty7=(self)=>{return self.startMillis>=self.endMillis};var intersect=dual(2,(self,that)=>{let start=Math.max(self.startMillis,that.startMillis),end=Math.min(self.endMillis,that.endMillis);return make36(start,end)});var after=(startMilliseconds)=>{return make36(startMilliseconds,Number.POSITIVE_INFINITY)};var empty31=empty30,lessThan3=lessThan2;var isEmpty8=isEmpty7;var intersect2=intersect;var after2=after;var IntervalsSymbolKey="effect/ScheduleIntervals",IntervalsTypeId=Symbol.for(IntervalsSymbolKey),make38=(intervals)=>{return{[IntervalsTypeId]:IntervalsTypeId,intervals}};var intersect3=dual(2,(self,that)=>intersectLoop(self.intervals,that.intervals,empty5())),intersectLoop=(_left,_right,_acc)=>{let left3=_left,right3=_right,acc=_acc;while(isNonEmpty2(left3)&&isNonEmpty2(right3)){let interval=pipe(headNonEmpty2(left3),intersect2(headNonEmpty2(right3))),intervals=isEmpty8(interval)?acc:pipe(acc,prepend2(interval));if(pipe(headNonEmpty2(left3),lessThan3(headNonEmpty2(right3))))left3=tailNonEmpty2(left3);else right3=tailNonEmpty2(right3);acc=intervals}return make38(reverse2(acc))},start=(self)=>{return pipe(self.intervals,head2,getOrElse(()=>empty31)).startMillis},end=(self)=>{return pipe(self.intervals,head2,getOrElse(()=>empty31)).endMillis},lessThan4=dual(2,(self,that)=>start(self)<start(that)),isNonEmpty4=(self)=>{return isNonEmpty2(self.intervals)};var make39=make38;var intersect4=intersect3,start2=start,end2=end,lessThan5=lessThan4,isNonEmpty5=isNonEmpty4;var OP_CONTINUE="Continue",OP_DONE2="Done",_continue=(intervals)=>{return{_tag:OP_CONTINUE,intervals}},continueWith=(interval)=>{return{_tag:OP_CONTINUE,intervals:make39(of2(interval))}},done5={_tag:OP_DONE2},isContinue=(self)=>{return self._tag===OP_CONTINUE},isDone3=(self)=>{return self._tag===OP_DONE2};var _continue2=_continue;var continueWith2=continueWith,done6=done5,isContinue2=isContinue,isDone4=isDone3;var Scope=scopeTag;var close=scopeClose;var fork2=scopeFork;class Semaphore{permits;waiters=new Set;taken=0;constructor(permits){this.permits=permits}get free(){return this.permits-this.taken}take=(n)=>asyncInterrupt((resume2)=>{if(this.free<n){let observer=()=>{if(this.free<n)return;this.waiters.delete(observer),this.taken+=n,resume2(succeed(n))};return this.waiters.add(observer),sync(()=>{this.waiters.delete(observer)})}return this.taken+=n,resume2(succeed(n))});updateTaken=(f)=>withFiberRuntime((fiber)=>{if(this.taken=f(this.taken),this.waiters.size>0)fiber.getFiberRef(currentScheduler).scheduleTask(()=>{let iter=this.waiters.values(),item=iter.next();while(item.done===!1&&this.free>0)item.value(),item=iter.next()},fiber.getFiberRef(currentSchedulingPriority));return succeed(this.free)});release=(n)=>this.updateTaken((taken)=>taken-n);releaseAll=this.updateTaken((_)=>0);withPermits=(n)=>(self)=>uninterruptibleMask((restore)=>flatMap7(restore(this.take(n)),(permits)=>ensuring(restore(self),this.release(permits))));withPermitsIfAvailable=(n)=>(self)=>uninterruptibleMask((restore)=>suspend(()=>{if(this.free<n)return succeedNone;return this.taken+=n,ensuring(restore(asSome(self)),this.release(n))}))}var unsafeMakeSemaphore=(permits)=>new Semaphore(permits),makeSemaphore=(permits)=>sync(()=>unsafeMakeSemaphore(permits));class Latch extends Class{isOpen;waiters=[];scheduled=!1;constructor(isOpen){super();this.isOpen=isOpen}commit(){return this.await}unsafeSchedule(fiber){if(this.scheduled||this.waiters.length===0)return void_;return this.scheduled=!0,fiber.currentScheduler.scheduleTask(this.flushWaiters,fiber.getFiberRef(currentSchedulingPriority)),void_}flushWaiters=()=>{this.scheduled=!1;let waiters=this.waiters;this.waiters=[];for(let i=0;i<waiters.length;i++)waiters[i](exitVoid)};open=withFiberRuntime((fiber)=>{if(this.isOpen)return void_;return this.isOpen=!0,this.unsafeSchedule(fiber)});unsafeOpen(){if(this.isOpen)return;this.isOpen=!0,this.flushWaiters()}release=withFiberRuntime((fiber)=>{if(this.isOpen)return void_;return this.unsafeSchedule(fiber)});await=asyncInterrupt((resume2)=>{if(this.isOpen)return resume2(void_);return this.waiters.push(resume2),sync(()=>{let index=this.waiters.indexOf(resume2);if(index!==-1)this.waiters.splice(index,1)})});unsafeClose(){this.isOpen=!1}close=sync(()=>{this.isOpen=!1});whenOpen=(self)=>{return zipRight(this.await,self)}}var unsafeMakeLatch=(open)=>new Latch(open??!1),makeLatch=(open)=>sync(()=>unsafeMakeLatch(open)),awaitAllChildren=(self)=>ensuringChildren(self,fiberAwaitAll),cached2=dual(2,(self,timeToLive)=>map9(cachedInvalidateWithTTL(self,timeToLive),(tuple3)=>tuple3[0])),cachedInvalidateWithTTL=dual(2,(self,timeToLive)=>{let duration=decode(timeToLive);return flatMap7(context(),(env)=>map9(makeSynchronized(none2()),(cache)=>[provideContext(getCachedValue(self,duration,cache),env),invalidateCache(cache)]))}),computeCachedValue=(self,timeToLive,start3)=>{let timeToLiveMillis=toMillis(decode(timeToLive));return pipe(deferredMake(),tap((deferred)=>intoDeferred(self,deferred)),map9((deferred)=>some2([start3+timeToLiveMillis,deferred])))},getCachedValue=(self,timeToLive,cache)=>uninterruptibleMask((restore)=>pipe(clockWith3((clock2)=>clock2.currentTimeMillis),flatMap7((time)=>updateSomeAndGetEffectSynchronized(cache,(option2)=>{switch(option2._tag){case"None":return some2(computeCachedValue(self,timeToLive,time));case"Some":{let[end3]=option2.value;return end3-time<=0?some2(computeCachedValue(self,timeToLive,time)):none2()}}})),flatMap7((option2)=>isNone2(option2)?dieMessage("BUG: Effect.cachedInvalidate - please report an issue at https://github.com/Effect-TS/effect/issues"):restore(deferredAwait(option2.value[1]))))),invalidateCache=(cache)=>set5(cache,none2()),ensuringChild=dual(2,(self,f)=>ensuringChildren(self,(children)=>f(fiberAll(children)))),ensuringChildren=dual(2,(self,children)=>flatMap7(track,(supervisor)=>pipe(supervised(self,supervisor),ensuring(flatMap7(supervisor.value,children))))),forkAll=dual((args2)=>isIterable(args2[0]),(effects,options)=>options?.discard?forEachSequentialDiscard(effects,fork):map9(forEachSequential(effects,fork),fiberAll)),forkIn=dual(2,(self,scope2)=>withFiberRuntime((parent,parentStatus)=>{let scopeImpl=scope2,fiber=unsafeFork(self,parent,parentStatus.runtimeFlags,globalScope);if(scopeImpl.state._tag==="Open"){let finalizer=()=>fiberIdWith((fiberId2)=>equals(fiberId2,fiber.id())?void_:asVoid(interruptFiber(fiber))),key={};scopeImpl.state.finalizers.set(key,finalizer),fiber.addObserver(()=>{if(scopeImpl.state._tag==="Closed")return;scopeImpl.state.finalizers.delete(key)})}else fiber.unsafeInterruptAsFork(parent.id());return succeed(fiber)})),forkScoped=(self)=>scopeWith((scope2)=>forkIn(self,scope2)),fromFiber=(fiber)=>join2(fiber),fromFiberEffect=(fiber)=>suspend(()=>flatMap7(fiber,join2)),memoKeySymbol=Symbol.for("effect/Effect/memoizeFunction.key");class Key{a;eq;[memoKeySymbol]=memoKeySymbol;constructor(a,eq){this.a=a,this.eq=eq}[symbol2](that){if(hasProperty(that,memoKeySymbol))if(this.eq)return this.eq(this.a,that.a);else return equals(this.a,that.a);return!1}[symbol](){return this.eq?0:cached(this,hash(this.a))}}var cachedFunction=(f,eq)=>{return pipe(sync(()=>empty21()),flatMap7(makeSynchronized),map9((ref)=>(a)=>pipe(ref.modifyEffect((map10)=>{let result=pipe(map10,get8(new Key(a,eq)));if(isNone2(result))return pipe(deferredMake(),tap((deferred)=>pipe(diffFiberRefs(f(a)),intoDeferred(deferred),fork)),map9((deferred)=>[deferred,pipe(map10,set4(new Key(a,eq),deferred))]));return succeed([result.value,map10])}),flatMap7(deferredAwait),flatMap7(([patch12,b])=>pipe(patchFiberRefs(patch12),as(b))))))},raceFirst=dual(2,(self,that)=>pipe(exit(self),race(exit(that)),(effect)=>flatten5(effect))),supervised=dual(2,(self,supervisor)=>{return fiberRefLocallyWith(currentSupervisor,(s)=>s.zip(supervisor))(self)}),timeout=dual(2,(self,duration)=>timeoutFail(self,{onTimeout:()=>timeoutExceptionFromDuration(duration),duration})),timeoutFail=dual(2,(self,{duration,onTimeout})=>flatten5(timeoutTo(self,{onTimeout:()=>failSync(onTimeout),onSuccess:succeed,duration}))),timeoutFailCause=dual(2,(self,{duration,onTimeout})=>flatten5(timeoutTo(self,{onTimeout:()=>failCauseSync(onTimeout),onSuccess:succeed,duration}))),timeoutOption=dual(2,(self,duration)=>timeoutTo(self,{duration,onSuccess:some2,onTimeout:none2})),timeoutTo=dual(2,(self,{duration,onSuccess,onTimeout})=>fiberIdWith((parentFiberId)=>uninterruptibleMask((restore)=>raceFibersWith(restore(self),interruptible2(sleep3(duration)),{onSelfWin:(winner,loser)=>flatMap7(winner.await,(exit2)=>{if(exit2._tag==="Success")return flatMap7(winner.inheritAll,()=>as(interruptAsFiber(loser,parentFiberId),onSuccess(exit2.value)));else return flatMap7(interruptAsFiber(loser,parentFiberId),()=>exitFailCause(exit2.cause))}),onOtherWin:(winner,loser)=>flatMap7(winner.await,(exit2)=>{if(exit2._tag==="Success")return flatMap7(winner.inheritAll,()=>as(interruptAsFiber(loser,parentFiberId),onTimeout()));else return flatMap7(interruptAsFiber(loser,parentFiberId),()=>exitFailCause(exit2.cause))}),otherScope:globalScope})))),SynchronizedSymbolKey="effect/Ref/SynchronizedRef",SynchronizedTypeId=Symbol.for(SynchronizedSymbolKey),synchronizedVariance={_A:(_)=>_};class SynchronizedImpl extends Class{ref;withLock;[SynchronizedTypeId]=synchronizedVariance;[RefTypeId]=refVariance;[TypeId13]=TypeId13;constructor(ref,withLock){super();this.ref=ref,this.withLock=withLock,this.get=get11(this.ref)}get;commit(){return this.get}modify(f){return this.modifyEffect((a)=>succeed(f(a)))}modifyEffect(f){return this.withLock(pipe(flatMap7(get11(this.ref),f),flatMap7(([b,a])=>as(set5(this.ref,a),b))))}}var makeSynchronized=(value)=>sync(()=>unsafeMakeSynchronized(value)),unsafeMakeSynchronized=(value)=>{let ref=unsafeMake6(value),sem=unsafeMakeSemaphore(1);return new SynchronizedImpl(ref,sem.withPermits(1))},updateSomeAndGetEffectSynchronized=dual(2,(self,pf)=>self.modifyEffect((value)=>{let result=pf(value);switch(result._tag){case"None":return succeed([value,value]);case"Some":return map9(result.value,(a)=>[a,a])}}));var bindAll=dual((args2)=>isEffect(args2[0]),(self,f,options)=>flatMap7(self,(a)=>all2(f(a),options).pipe(map9((record)=>Object.assign({},a,record)))));var TypeId16=Symbol.for("effect/ManagedRuntime");var OP_EXTEND_SCOPE="ExtendScope",OP_FOLD="Fold",OP_FRESH="Fresh",OP_FROM_EFFECT="FromEffect",OP_SCOPED="Scoped",OP_SUSPEND="Suspend",OP_PROVIDE="Provide",OP_PROVIDE_MERGE="ProvideMerge",OP_ZIP_WITH2="ZipWith";var interruptAs=interruptAsFiber;var makeDual=(f)=>function(){if(arguments.length===1){let runtime2=arguments[0];return(effect,...args2)=>f(runtime2,effect,...args2)}return f.apply(this,arguments)},unsafeFork2=makeDual((runtime2,self,options)=>{let fiberId2=unsafeMake3(),fiberRefUpdates=[[currentContext,[[fiberId2,runtime2.context]]]];if(options?.scheduler)fiberRefUpdates.push([currentScheduler,[[fiberId2,options.scheduler]]]);let fiberRefs3=updateManyAs2(runtime2.fiberRefs,{entries:fiberRefUpdates,forkAs:fiberId2});if(options?.updateRefs)fiberRefs3=options.updateRefs(fiberRefs3,fiberId2);let fiberRuntime=new FiberRuntime(fiberId2,fiberRefs3,runtime2.runtimeFlags),effect=self;if(options?.scope)effect=flatMap7(fork2(options.scope,sequential2),(closeableScope)=>zipRight(scopeAddFinalizer(closeableScope,fiberIdWith((id2)=>equals(id2,fiberRuntime.id())?void_:interruptAsFiber(fiberRuntime,id2))),onExit(self,(exit2)=>close(closeableScope,exit2))));let supervisor=fiberRuntime.currentSupervisor;if(supervisor!==none8)supervisor.onStart(runtime2.context,effect,none2(),fiberRuntime),fiberRuntime.addObserver((exit2)=>supervisor.onEnd(exit2,fiberRuntime));if(globalScope.add(runtime2.runtimeFlags,fiberRuntime),options?.immediate===!1)fiberRuntime.resume(effect);else fiberRuntime.start(effect);return fiberRuntime}),unsafeRunCallback=makeDual((runtime2,effect,options={})=>{let fiberRuntime=unsafeFork2(runtime2,effect,options);if(options.onExit)fiberRuntime.addObserver((exit2)=>{options.onExit(exit2)});return(id2,cancelOptions)=>unsafeRunCallback(runtime2)(pipe(fiberRuntime,interruptAs(id2??none4)),{...cancelOptions,onExit:cancelOptions?.onExit?(exit2)=>cancelOptions.onExit(flatten6(exit2)):void 0})}),unsafeRunSync=makeDual((runtime2,effect)=>{let result=unsafeRunSyncExit(runtime2)(effect);if(result._tag==="Failure")throw fiberFailure(result.effect_instruction_i0);return result.effect_instruction_i0});class AsyncFiberExceptionImpl extends Error{fiber;_tag="AsyncFiberException";constructor(fiber){super(`Fiber #${fiber.id().id} cannot be resolved synchronously. This is caused by using runSync on an effect that performs async work`);this.fiber=fiber,this.name=this._tag,this.stack=this.message}}var asyncFiberException=(fiber)=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=0;let error=new AsyncFiberExceptionImpl(fiber);return Error.stackTraceLimit=limit,error};var FiberFailureId=Symbol.for("effect/Runtime/FiberFailure"),FiberFailureCauseId=Symbol.for("effect/Runtime/FiberFailure/Cause");class FiberFailureImpl extends Error{[FiberFailureId];[FiberFailureCauseId];constructor(cause2){let head4=prettyErrors(cause2)[0];super(head4?.message||"An error has occurred");if(this[FiberFailureId]=FiberFailureId,this[FiberFailureCauseId]=cause2,this.name=head4?`(FiberFailure) ${head4.name}`:"FiberFailure",head4?.stack)this.stack=head4.stack}toJSON(){return{_id:"FiberFailure",cause:this[FiberFailureCauseId].toJSON()}}toString(){return"(FiberFailure) "+pretty(this[FiberFailureCauseId],{renderErrorCause:!0})}[NodeInspectSymbol](){return this.toString()}}var fiberFailure=(cause2)=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=0;let error=new FiberFailureImpl(cause2);return Error.stackTraceLimit=limit,error};var fastPath=(effect)=>{let op=effect;switch(op._op){case"Failure":case"Success":return op;case"Left":return exitFail(op.left);case"Right":return exitSucceed(op.right);case"Some":return exitSucceed(op.value);case"None":return exitFail(NoSuchElementException())}},unsafeRunSyncExit=makeDual((runtime2,effect)=>{let op=fastPath(effect);if(op)return op;let scheduler=new SyncScheduler,fiberRuntime=unsafeFork2(runtime2)(effect,{scheduler});scheduler.flush();let result=fiberRuntime.unsafePoll();if(result)return result;return exitDie(capture(asyncFiberException(fiberRuntime),currentSpanFromFiber(fiberRuntime)))}),unsafeRunPromise=makeDual((runtime2,effect,options)=>unsafeRunPromiseExit(runtime2,effect,options).then((result)=>{switch(result._tag){case OP_SUCCESS:return result.effect_instruction_i0;case OP_FAILURE:throw fiberFailure(result.effect_instruction_i0)}})),unsafeRunPromiseExit=makeDual((runtime2,effect,options)=>new Promise((resolve)=>{let op=fastPath(effect);if(op)resolve(op);let fiber=unsafeFork2(runtime2)(effect);if(fiber.addObserver((exit2)=>{resolve(exit2)}),options?.signal!==void 0)if(options.signal.aborted)fiber.unsafeInterruptAsFork(fiber.id());else options.signal.addEventListener("abort",()=>{fiber.unsafeInterruptAsFork(fiber.id())},{once:!0})}));class RuntimeImpl{context;runtimeFlags;fiberRefs;constructor(context2,runtimeFlags2,fiberRefs3){this.context=context2,this.runtimeFlags=runtimeFlags2,this.fiberRefs=fiberRefs3}pipe(){return pipeArguments(this,arguments)}}var make40=(options)=>new RuntimeImpl(options.context,options.runtimeFlags,options.fiberRefs),runtime2=()=>withFiberRuntime((state,status2)=>succeed(new RuntimeImpl(state.getFiberRef(currentContext),status2.runtimeFlags,state.getFiberRefs()))),defaultRuntimeFlags=make17(Interruption,CooperativeYielding,RuntimeMetrics),defaultRuntime=make40({context:empty4(),runtimeFlags:defaultRuntimeFlags,fiberRefs:empty25()});var unsafeRunEffect=unsafeRunCallback(defaultRuntime),unsafeForkEffect=unsafeFork2(defaultRuntime),unsafeRunPromiseEffect=unsafeRunPromise(defaultRuntime),unsafeRunPromiseExitEffect=unsafeRunPromiseExit(defaultRuntime),unsafeRunSyncEffect=unsafeRunSync(defaultRuntime),unsafeRunSyncExitEffect=unsafeRunSyncExit(defaultRuntime),asyncEffect=(register)=>suspend(()=>{let cleanup=void 0;return flatMap7(deferredMake(),(deferred)=>flatMap7(runtime2(),(runtime3)=>uninterruptibleMask((restore)=>zipRight(fork(restore(matchCauseEffect(register((cb)=>unsafeRunCallback(runtime3)(intoDeferred(cb,deferred))),{onFailure:(cause2)=>deferredFailCause(deferred,cause2),onSuccess:(cleanup_)=>{return cleanup=cleanup_,void_}}))),restore(onInterrupt(deferredAwait(deferred),()=>cleanup??void_))))))});var modifyEffect=dual(2,(self,f)=>self.modifyEffect(f));var LayerSymbolKey="effect/Layer",LayerTypeId=Symbol.for(LayerSymbolKey),layerVariance={_RIn:(_)=>_,_E:(_)=>_,_ROut:(_)=>_},proto3={[LayerTypeId]:layerVariance,pipe(){return pipeArguments(this,arguments)}},MemoMapTypeIdKey="effect/Layer/MemoMap",MemoMapTypeId=Symbol.for(MemoMapTypeIdKey),CurrentMemoMap=Reference2()("effect/Layer/CurrentMemoMap",{defaultValue:()=>unsafeMakeMemoMap()}),isLayer=(u)=>hasProperty(u,LayerTypeId),isFresh=(self)=>{return self._op_layer===OP_FRESH};class MemoMapImpl{ref;[MemoMapTypeId];constructor(ref){this.ref=ref,this[MemoMapTypeId]=MemoMapTypeId}getOrElseMemoize(layer,scope2){return pipe(modifyEffect(this.ref,(map11)=>{let inMap=map11.get(layer);if(inMap!==void 0){let[acquire,release]=inMap,cached3=pipe(acquire,flatMap7(([patch12,b])=>pipe(patchFiberRefs(patch12),as(b))),onExit(exitMatch({onFailure:()=>void_,onSuccess:()=>scopeAddFinalizerExit(scope2,release)})));return succeed([cached3,map11])}return pipe(make27(0),flatMap7((observers)=>pipe(deferredMake(),flatMap7((deferred)=>pipe(make27(()=>void_),map9((finalizerRef)=>{let resource=uninterruptibleMask((restore)=>pipe(scopeMake(),flatMap7((innerScope)=>pipe(restore(flatMap7(makeBuilder(layer,innerScope,!0),(f)=>diffFiberRefs(f(this)))),exit,flatMap7((exit2)=>{switch(exit2._tag){case OP_FAILURE:return pipe(deferredFailCause(deferred,exit2.effect_instruction_i0),zipRight(scopeClose(innerScope,exit2)),zipRight(failCause(exit2.effect_instruction_i0)));case OP_SUCCESS:return pipe(set5(finalizerRef,(exit3)=>pipe(scopeClose(innerScope,exit3),whenEffect(modify3(observers,(n)=>[n===1,n-1])),asVoid)),zipRight(update2(observers,(n)=>n+1)),zipRight(scopeAddFinalizerExit(scope2,(exit3)=>pipe(sync(()=>map11.delete(layer)),zipRight(get11(finalizerRef)),flatMap7((finalizer)=>finalizer(exit3))))),zipRight(deferredSucceed(deferred,exit2.effect_instruction_i0)),as(exit2.effect_instruction_i0[1]))}}))))),memoized=[pipe(deferredAwait(deferred),onExit(exitMatchEffect({onFailure:()=>void_,onSuccess:()=>update2(observers,(n)=>n+1)}))),(exit2)=>pipe(get11(finalizerRef),flatMap7((finalizer)=>finalizer(exit2)))];return[resource,isFresh(layer)?map11:map11.set(layer,memoized)]}))))))}),flatten5)}}var makeMemoMap=suspend(()=>map9(makeSynchronized(new Map),(ref)=>new MemoMapImpl(ref))),unsafeMakeMemoMap=()=>new MemoMapImpl(unsafeMakeSynchronized(new Map)),build=(self)=>scopeWith((scope2)=>buildWithScope(self,scope2)),buildWithScope=dual(2,(self,scope2)=>flatMap7(makeMemoMap,(memoMap)=>buildWithMemoMap(self,memoMap,scope2))),buildWithMemoMap=dual(3,(self,memoMap,scope2)=>flatMap7(makeBuilder(self,scope2),(run)=>provideService(run(memoMap),CurrentMemoMap,memoMap))),makeBuilder=(self,scope2,inMemoMap=!1)=>{let op=self;switch(op._op_layer){case"Locally":return sync(()=>(memoMap)=>op.f(memoMap.getOrElseMemoize(op.self,scope2)));case"ExtendScope":return sync(()=>(memoMap)=>scopeWith((scope3)=>memoMap.getOrElseMemoize(op.layer,scope3)));case"Fold":return sync(()=>(memoMap)=>pipe(memoMap.getOrElseMemoize(op.layer,scope2),matchCauseEffect({onFailure:(cause2)=>memoMap.getOrElseMemoize(op.failureK(cause2),scope2),onSuccess:(value)=>memoMap.getOrElseMemoize(op.successK(value),scope2)})));case"Fresh":return sync(()=>(_)=>pipe(op.layer,buildWithScope(scope2)));case"FromEffect":return inMemoMap?sync(()=>(_)=>op.effect):sync(()=>(memoMap)=>memoMap.getOrElseMemoize(self,scope2));case"Provide":return sync(()=>(memoMap)=>pipe(memoMap.getOrElseMemoize(op.first,scope2),flatMap7((env)=>pipe(memoMap.getOrElseMemoize(op.second,scope2),provideContext(env)))));case"Scoped":return inMemoMap?sync(()=>(_)=>scopeExtend(op.effect,scope2)):sync(()=>(memoMap)=>memoMap.getOrElseMemoize(self,scope2));case"Suspend":return sync(()=>(memoMap)=>memoMap.getOrElseMemoize(op.evaluate(),scope2));case"ProvideMerge":return sync(()=>(memoMap)=>pipe(memoMap.getOrElseMemoize(op.first,scope2),zipWith2(memoMap.getOrElseMemoize(op.second,scope2),op.zipK)));case"ZipWith":return sync(()=>(memoMap)=>pipe(memoMap.getOrElseMemoize(op.first,scope2),zipWithOptions(memoMap.getOrElseMemoize(op.second,scope2),op.zipK,{concurrent:!0})))}},catchAll2=dual(2,(self,onFailure)=>match11(self,{onFailure,onSuccess:succeedContext})),catchAllCause2=dual(2,(self,onFailure)=>matchCause2(self,{onFailure,onSuccess:succeedContext})),die5=(defect)=>failCause5(die4(defect)),dieSync2=(evaluate2)=>failCauseSync2(()=>die4(evaluate2())),discard=(self)=>map11(self,()=>empty4()),context2=()=>fromEffectContext(context()),extendScope=(self)=>{let extendScope2=Object.create(proto3);return extendScope2._op_layer=OP_EXTEND_SCOPE,extendScope2.layer=self,extendScope2},fail6=(error)=>failCause5(fail4(error)),failSync2=(evaluate2)=>failCauseSync2(()=>fail4(evaluate2())),failCause5=(cause2)=>fromEffectContext(failCause(cause2)),failCauseSync2=(evaluate2)=>fromEffectContext(failCauseSync(evaluate2)),flatMap9=dual(2,(self,f)=>match11(self,{onFailure:fail6,onSuccess:f})),flatten7=dual(2,(self,tag)=>flatMap9(self,get3(tag))),fresh=(self)=>{let fresh2=Object.create(proto3);return fresh2._op_layer=OP_FRESH,fresh2.layer=self,fresh2},fromEffect3=dual(2,(a,b)=>{let tagFirst=isTag2(a),tag=tagFirst?a:b;return fromEffectContext(map9(tagFirst?b:a,(service)=>make6(tag,service)))}),fromEffectDiscard=(effect)=>fromEffectContext(map9(effect,()=>empty4()));function fromEffectContext(effect){let fromEffect4=Object.create(proto3);return fromEffect4._op_layer=OP_FROM_EFFECT,fromEffect4.effect=effect,fromEffect4}var fiberRefLocally2=dual(3,(self,ref,value)=>locallyEffect(self,fiberRefLocally(ref,value))),locallyEffect=dual(2,(self,f)=>{let locally=Object.create(proto3);return locally._op_layer="Locally",locally.self=self,locally.f=f,locally}),fiberRefLocallyWith2=dual(3,(self,ref,value)=>locallyEffect(self,fiberRefLocallyWith(ref,value))),fiberRefLocallyScoped2=(self,value)=>scopedDiscard(fiberRefLocallyScoped(self,value)),fiberRefLocallyScopedWith2=(self,value)=>scopedDiscard(fiberRefLocallyScopedWith(self,value)),fromFunction=(tagA,tagB,f)=>fromEffectContext(map9(tagA,(a)=>make6(tagB,f(a)))),launch=(self)=>scopedEffect(zipRight(scopeWith((scope2)=>pipe(self,buildWithScope(scope2))),never)),map11=dual(2,(self,f)=>flatMap9(self,(context3)=>succeedContext(f(context3)))),mapError2=dual(2,(self,f)=>catchAll2(self,(error)=>failSync2(()=>f(error)))),matchCause2=dual(2,(self,{onFailure,onSuccess})=>{let fold=Object.create(proto3);return fold._op_layer=OP_FOLD,fold.layer=self,fold.failureK=onFailure,fold.successK=onSuccess,fold}),match11=dual(2,(self,{onFailure,onSuccess})=>matchCause2(self,{onFailure:(cause2)=>{let failureOrCause3=failureOrCause2(cause2);switch(failureOrCause3._tag){case"Left":return onFailure(failureOrCause3.left);case"Right":return failCause5(failureOrCause3.right)}},onSuccess})),memoize2=(self)=>scopeWith((scope2)=>map9(memoize(buildWithScope(self,scope2)),fromEffectContext)),merge6=dual(2,(self,that)=>zipWith5(self,that,(a,b)=>merge3(a,b))),mergeAll4=(...layers)=>{let final=layers[0];for(let i=1;i<layers.length;i++)final=merge6(final,layers[i]);return final},orDie2=(self)=>catchAll2(self,(defect)=>die5(defect)),orElse4=dual(2,(self,that)=>catchAll2(self,that)),passthrough=(self)=>merge6(context2(),self),project=dual(4,(self,tagA,tagB,f)=>map11(self,(context3)=>make6(tagB,f(unsafeGet3(context3,tagA))))),retry=dual(2,(self,schedule)=>suspend2(()=>{let stateTag=GenericTag("effect/Layer/retry/{ state: unknown }");return pipe(succeed5(stateTag,{state:schedule.initial}),flatMap9((env)=>retryLoop(self,schedule,stateTag,pipe(env,get3(stateTag)).state)))})),retryLoop=(self,schedule,stateTag,state)=>{return pipe(self,catchAll2((error)=>pipe(retryUpdate(schedule,stateTag,error,state),flatMap9((env)=>fresh(retryLoop(self,schedule,stateTag,pipe(env,get3(stateTag)).state))))))},retryUpdate=(schedule,stateTag,error,state)=>{return fromEffect3(stateTag,pipe(currentTimeMillis2,flatMap7((now)=>pipe(schedule.step(now,error,state),flatMap7(([state2,_,decision])=>isDone4(decision)?fail2(error):pipe(sleep2(millis(start2(decision.intervals)-now)),as({state:state2})))))))},scoped=dual(2,(a,b)=>{let tagFirst=isTag2(a),tag=tagFirst?a:b;return scopedContext(map9(tagFirst?b:a,(service)=>make6(tag,service)))}),scopedDiscard=(effect)=>scopedContext(pipe(effect,as(empty4()))),scopedContext=(effect)=>{let scoped2=Object.create(proto3);return scoped2._op_layer=OP_SCOPED,scoped2.effect=effect,scoped2},scope2=scopedContext(map9(acquireRelease(scopeMake(),(scope3,exit2)=>scope3.close(exit2)),(scope3)=>make6(Scope,scope3))),service=(tag)=>fromEffect3(tag,tag),succeed5=dual(2,(a,b)=>{let tagFirst=isTag2(a);return fromEffectContext(succeed(make6(tagFirst?a:b,tagFirst?b:a)))}),succeedContext=(context3)=>{return fromEffectContext(succeed(context3))},empty33=succeedContext(empty4()),suspend2=(evaluate2)=>{let suspend3=Object.create(proto3);return suspend3._op_layer=OP_SUSPEND,suspend3.evaluate=evaluate2,suspend3},sync2=dual(2,(a,b)=>{let tagFirst=isTag2(a),tag=tagFirst?a:b,evaluate2=tagFirst?b:a;return fromEffectContext(sync(()=>make6(tag,evaluate2())))}),syncContext=(evaluate2)=>{return fromEffectContext(sync(evaluate2))},tap2=dual(2,(self,f)=>flatMap9(self,(context3)=>fromEffectContext(as(f(context3),context3)))),tapError2=dual(2,(self,f)=>catchAll2(self,(e)=>fromEffectContext(flatMap7(f(e),()=>fail2(e))))),tapErrorCause2=dual(2,(self,f)=>catchAllCause2(self,(cause2)=>fromEffectContext(flatMap7(f(cause2),()=>failCause(cause2))))),toRuntime=(self)=>pipe(scopeWith((scope3)=>buildWithScope(self,scope3)),flatMap7((context3)=>pipe(runtime2(),provideContext(context3)))),toRuntimeWithMemoMap=dual(2,(self,memoMap)=>flatMap7(scopeWith((scope3)=>buildWithMemoMap(self,memoMap,scope3)),(context3)=>pipe(runtime2(),provideContext(context3)))),provide=dual(2,(self,that)=>suspend2(()=>{let provideTo=Object.create(proto3);return provideTo._op_layer=OP_PROVIDE,provideTo.first=Object.create(proto3,{_op_layer:{value:OP_PROVIDE_MERGE,enumerable:!0},first:{value:context2(),enumerable:!0},second:{value:Array.isArray(that)?mergeAll4(...that):that},zipK:{value:(a,b)=>pipe(a,merge3(b))}}),provideTo.second=self,provideTo})),provideMerge=dual(2,(that,self)=>{let zipWith5=Object.create(proto3);return zipWith5._op_layer=OP_PROVIDE_MERGE,zipWith5.first=self,zipWith5.second=provide(that,self),zipWith5.zipK=(a,b)=>{return pipe(a,merge3(b))},zipWith5}),zipWith5=dual(3,(self,that,f)=>suspend2(()=>{let zipWith6=Object.create(proto3);return zipWith6._op_layer=OP_ZIP_WITH2,zipWith6.first=self,zipWith6.second=that,zipWith6.zipK=f,zipWith6})),unwrapEffect=(self)=>{let tag=GenericTag("effect/Layer/unwrapEffect/Layer.Layer<R1, E1, A>");return flatMap9(fromEffect3(tag,self),(context3)=>get3(context3,tag))},unwrapScoped=(self)=>{let tag=GenericTag("effect/Layer/unwrapScoped/Layer.Layer<R1, E1, A>");return flatMap9(scoped(tag,self),(context3)=>get3(context3,tag))},annotateLogs2=dual((args2)=>isLayer(args2[0]),function(){let args2=arguments;return fiberRefLocallyWith2(args2[0],currentLogAnnotations,typeof args2[1]==="string"?set3(args2[1],args2[2]):(annotations2)=>Object.entries(args2[1]).reduce((acc,[key,value])=>set3(acc,key,value),annotations2))}),annotateSpans2=dual((args2)=>isLayer(args2[0]),function(){let args2=arguments;return fiberRefLocallyWith2(args2[0],currentTracerSpanAnnotations,typeof args2[1]==="string"?set3(args2[1],args2[2]):(annotations2)=>Object.entries(args2[1]).reduce((acc,[key,value])=>set3(acc,key,value),annotations2))}),withSpan2=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 unwrapScoped(map9(options?.onEnd?tap(makeSpanScoped(name,options),(span2)=>addFinalizer((exit2)=>options.onEnd(span2,exit2))):makeSpanScoped(name,options),(span2)=>withParentSpan2(self,span2)))}return(self)=>unwrapScoped(map9(options?.onEnd?tap(makeSpanScoped(name,options),(span2)=>addFinalizer((exit2)=>options.onEnd(span2,exit2))):makeSpanScoped(name,options),(span2)=>withParentSpan2(self,span2)))},withParentSpan2=dual(2,(self,span2)=>provide(self,succeedContext(make6(spanTag,span2)))),provideSomeLayer=dual(2,(self,layer)=>scopedWith((scope3)=>flatMap7(buildWithScope(layer,scope3),(context3)=>provideSomeContext(self,context3)))),provideSomeRuntime=dual(2,(self,rt)=>{let patchRefs=diff9(defaultRuntime.fiberRefs,rt.fiberRefs),patchFlags=diff7(defaultRuntime.runtimeFlags,rt.runtimeFlags);return uninterruptibleMask((restore)=>withFiberRuntime((fiber)=>{let oldContext=fiber.getFiberRef(currentContext),oldRefs=fiber.getFiberRefs(),newRefs=patch10(fiber.id(),oldRefs)(patchRefs),oldFlags=fiber.currentRuntimeFlags,newFlags=patch7(patchFlags)(oldFlags),rollbackRefs=diff9(newRefs,oldRefs),rollbackFlags=diff7(newFlags,oldFlags);return fiber.setFiberRefs(newRefs),fiber.currentRuntimeFlags=newFlags,ensuring(provideSomeContext(restore(self),merge3(oldContext,rt.context)),withFiberRuntime((fiber2)=>{return fiber2.setFiberRefs(patch10(fiber2.id(),fiber2.getFiberRefs())(rollbackRefs)),fiber2.currentRuntimeFlags=patch7(rollbackFlags)(fiber2.currentRuntimeFlags),void_}))}))}),effect_provide=dual(2,(self,source)=>{if(Array.isArray(source))return provideSomeLayer(self,mergeAll4(...source));else if(isLayer(source))return provideSomeLayer(self,source);else if(isContext2(source))return provideSomeContext(self,source);else if(TypeId16 in source)return flatMap7(source.runtimeEffect,(rt)=>provideSomeRuntime(self,rt));else return provideSomeRuntime(self,source)});var console2=map9(fiberRefGet(currentServices),get3(consoleTag)),consoleWith=(f)=>fiberRefGetWith(currentServices,(services)=>f(get3(services,consoleTag))),withConsole=dual(2,(effect,value)=>fiberRefLocallyWith(effect,currentServices,add2(consoleTag,value))),withConsoleScoped=(console3)=>fiberRefLocallyScopedWith(currentServices,add2(consoleTag,console3));var exports_Data={};__export(exports_Data,{unsafeStruct:()=>unsafeStruct,unsafeArray:()=>unsafeArray,tuple:()=>tuple3,taggedEnum:()=>taggedEnum,tagged:()=>tagged2,struct:()=>struct2,case:()=>_case,array:()=>array4,TaggedError:()=>TaggedError,TaggedClass:()=>TaggedClass,Structural:()=>Structural2,Error:()=>Error3,Class:()=>Class2});var struct2=struct,unsafeStruct=(as3)=>Object.setPrototypeOf(as3,StructuralPrototype),tuple3=(...as3)=>unsafeArray(as3),array4=(as3)=>unsafeArray(as3.slice(0)),unsafeArray=(as3)=>Object.setPrototypeOf(as3,ArrayProto),_case=()=>(args2)=>args2===void 0?Object.create(StructuralPrototype):struct2(args2);var tagged2=(tag)=>(args2)=>{let value=args2===void 0?Object.create(StructuralPrototype):struct2(args2);return value._tag=tag,value},Class2=Structural,TaggedClass=(tag)=>{class Base3 extends Class2{_tag=tag}return Base3},Structural2=Structural,taggedEnum=()=>new Proxy({},{get(_target,tag,_receiver){if(tag==="$is")return isTagged;else if(tag==="$match")return taggedMatch;return tagged2(tag)}});function taggedMatch(){if(arguments.length===1){let cases2=arguments[0];return function(value2){return cases2[value2._tag](value2)}}let value=arguments[0];return arguments[1][value._tag](value)}var Error3=function(){let plainArgsSymbol=Symbol.for("effect/Data/Error/plainArgs");return{BaseEffectError:class extends YieldableError{constructor(args2){super(args2?.message,args2?.cause?{cause:args2.cause}:void 0);if(args2)Object.assign(this,args2),Object.defineProperty(this,plainArgsSymbol,{value:args2,enumerable:!1})}toJSON(){return{...this[plainArgsSymbol],...this}}}}.BaseEffectError}(),TaggedError=(tag)=>{let O={BaseEffectError:class extends Error3{_tag=tag}};return O.BaseEffectError.prototype.name=tag,O.BaseEffectError};var TypeId17=Symbol.for("effect/DateTime"),TimeZoneTypeId=Symbol.for("effect/DateTime/TimeZone"),Proto2={[TypeId17]:TypeId17,pipe(){return pipeArguments(this,arguments)},[NodeInspectSymbol](){return this.toString()},toJSON(){return toDateUtc(this).toJSON()}},ProtoUtc={...Proto2,_tag:"Utc",[symbol](){return cached(this,number2(this.epochMillis))},[symbol2](that){return isDateTime(that)&&that._tag==="Utc"&&this.epochMillis===that.epochMillis},toString(){return`DateTime.Utc(${toDateUtc(this).toJSON()})`}},ProtoZoned={...Proto2,_tag:"Zoned",[symbol](){return pipe(number2(this.epochMillis),combine(hash(this.zone)),cached(this))},[symbol2](that){return isDateTime(that)&&that._tag==="Zoned"&&this.epochMillis===that.epochMillis&&equals(this.zone,that.zone)},toString(){return`DateTime.Zoned(${formatIsoZoned(this)})`}},ProtoTimeZone={[TimeZoneTypeId]:TimeZoneTypeId,[NodeInspectSymbol](){return this.toString()}},ProtoTimeZoneNamed={...ProtoTimeZone,_tag:"Named",[symbol](){return cached(this,string(`Named:${this.id}`))},[symbol2](that){return isTimeZone(that)&&that._tag==="Named"&&this.id===that.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},ProtoTimeZoneOffset={...ProtoTimeZone,_tag:"Offset",[symbol](){return cached(this,string(`Offset:${this.offset}`))},[symbol2](that){return isTimeZone(that)&&that._tag==="Offset"&&this.offset===that.offset},toString(){return`TimeZone.Offset(${offsetToString(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}};var isDateTime=(u)=>hasProperty(u,TypeId17);var isTimeZone=(u)=>hasProperty(u,TimeZoneTypeId);var toDateUtc=(self)=>new Date(self.epochMillis),toDate=(self)=>{if(self._tag==="Utc")return new Date(self.epochMillis);else if(self.zone._tag==="Offset")return new Date(self.epochMillis+self.zone.offset);else if(self.adjustedEpochMillis!==void 0)return new Date(self.adjustedEpochMillis);let parts2=self.zone.format.formatToParts(self.epochMillis).filter((_)=>_.type!=="literal"),date=new Date(0);return date.setUTCFullYear(Number(parts2[2].value),Number(parts2[0].value)-1,Number(parts2[1].value)),date.setUTCHours(Number(parts2[3].value),Number(parts2[4].value),Number(parts2[5].value),Number(parts2[6].value)),self.adjustedEpochMillis=date.getTime(),date},zonedOffset=(self)=>{return toDate(self).getTime()-toEpochMillis(self)},offsetToString=(offset)=>{let abs2=Math.abs(offset),hours2=Math.floor(abs2/3600000),minutes2=Math.round(abs2%3600000/60000);if(minutes2===60)hours2+=1,minutes2=0;return`${offset<0?"-":"+"}${String(hours2).padStart(2,"0")}:${String(minutes2).padStart(2,"0")}`},zonedOffsetIso=(self)=>offsetToString(zonedOffset(self)),toEpochMillis=(self)=>self.epochMillis;var formatIsoOffset=(self)=>{let date=toDate(self);return self._tag==="Utc"?date.toISOString():`${date.toISOString().slice(0,-1)}${zonedOffsetIso(self)}`},formatIsoZoned=(self)=>self.zone._tag==="Offset"?formatIsoOffset(self):`${formatIsoOffset(self)}[${self.zone.id}]`;var TypeId18=Symbol.for("effect/Cron"),CronProto={[TypeId18]:TypeId18,[symbol2](that){return isCron(that)&&equals4(this,that)},[symbol](){return pipe(hash(this.tz),combine(array2(fromIterable(this.seconds))),combine(array2(fromIterable(this.minutes))),combine(array2(fromIterable(this.hours))),combine(array2(fromIterable(this.days))),combine(array2(fromIterable(this.months))),combine(array2(fromIterable(this.weekdays))),cached(this))},toString(){return format(this.toJSON())},toJSON(){return{_id:"Cron",tz:this.tz,seconds:fromIterable(this.seconds),minutes:fromIterable(this.minutes),hours:fromIterable(this.hours),days:fromIterable(this.days),months:fromIterable(this.months),weekdays:fromIterable(this.weekdays)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}},isCron=(u)=>hasProperty(u,TypeId18);var Equivalence3=make((self,that)=>restrictionsEquals(self.seconds,that.seconds)&&restrictionsEquals(self.minutes,that.minutes)&&restrictionsEquals(self.hours,that.hours)&&restrictionsEquals(self.days,that.days)&&restrictionsEquals(self.months,that.months)&&restrictionsEquals(self.weekdays,that.weekdays)),restrictionsArrayEquals=array(number),restrictionsEquals=(self,that)=>restrictionsArrayEquals(fromIterable(self),fromIterable(that)),equals4=dual(2,(self,that)=>Equivalence3(self,that));var ScheduleSymbolKey="effect/Schedule",ScheduleTypeId=Symbol.for(ScheduleSymbolKey),isSchedule=(u)=>hasProperty(u,ScheduleTypeId),ScheduleDriverSymbolKey="effect/ScheduleDriver",ScheduleDriverTypeId=Symbol.for(ScheduleDriverSymbolKey),defaultIterationMetadata={start:0,now:0,input:void 0,elapsed:zero2,elapsedSincePrevious:zero2,recurrence:0},CurrentIterationMetadata=Reference2()("effect/Schedule/CurrentIterationMetadata",{defaultValue:()=>defaultIterationMetadata}),scheduleVariance={_Out:(_)=>_,_In:(_)=>_,_R:(_)=>_},scheduleDriverVariance={_Out:(_)=>_,_In:(_)=>_,_R:(_)=>_};class ScheduleImpl{initial;step;[ScheduleTypeId]=scheduleVariance;constructor(initial,step3){this.initial=initial,this.step=step3}pipe(){return pipeArguments(this,arguments)}}var updateInfo=(iterationMetaRef,now,input)=>update2(iterationMetaRef,(prev)=>prev.recurrence===0?{now,input,recurrence:prev.recurrence+1,elapsed:zero2,elapsedSincePrevious:zero2,start:now}:{now,input,recurrence:prev.recurrence+1,elapsed:millis(now-prev.start),elapsedSincePrevious:millis(now-prev.now),start:prev.start});class ScheduleDriverImpl{schedule;ref;[ScheduleDriverTypeId]=scheduleDriverVariance;constructor(schedule,ref){this.schedule=schedule,this.ref=ref}get state(){return map9(get11(this.ref),(tuple4)=>tuple4[1])}get last(){return flatMap7(get11(this.ref),([element,_])=>{switch(element._tag){case"None":return failSync(()=>new NoSuchElementException);case"Some":return succeed(element.value)}})}iterationMeta=unsafeMake6(defaultIterationMetadata);get reset(){return set5(this.ref,[none2(),this.schedule.initial]).pipe(zipLeft(set5(this.iterationMeta,defaultIterationMetadata)))}next(input){return pipe(map9(get11(this.ref),(tuple4)=>tuple4[1]),flatMap7((state)=>pipe(currentTimeMillis2,flatMap7((now)=>pipe(suspend(()=>this.schedule.step(now,input,state)),flatMap7(([state2,out,decision])=>{let setState=set5(this.ref,[some2(out),state2]);if(isDone4(decision))return setState.pipe(zipRight(fail2(none2())));let millis2=start2(decision.intervals)-now;if(millis2<=0)return setState.pipe(zipRight(updateInfo(this.iterationMeta,now,input)),as(out));let duration=millis(millis2);return pipe(setState,zipRight(updateInfo(this.iterationMeta,now,input)),zipRight(sleep3(duration)),as(out))}))))))}}var makeWithState=(initial,step3)=>new ScheduleImpl(initial,step3);var asVoid2=(self)=>map12(self,constVoid);var check=dual(2,(self,test)=>checkEffect(self,(input,out)=>sync(()=>test(input,out)))),checkEffect=dual(2,(self,test)=>makeWithState(self.initial,(now,input,state)=>flatMap7(self.step(now,input,state),([state2,out,decision])=>{if(isDone4(decision))return succeed([state2,out,done6]);return map9(test(input,out),(cont)=>cont?[state2,out,decision]:[state2,out,done6])})));var driver=(self)=>pipe(make27([none2(),self.initial]),map9((ref)=>new ScheduleDriverImpl(self,ref)));var intersect5=dual(2,(self,that)=>intersectWith(self,that,intersect4)),intersectWith=dual(3,(self,that,f)=>makeWithState([self.initial,that.initial],(now,input,state)=>pipe(zipWith2(self.step(now,input,state[0]),that.step(now,input,state[1]),(a,b)=>[a,b]),flatMap7(([[lState,out,lDecision],[rState,out2,rDecision]])=>{if(isContinue2(lDecision)&&isContinue2(rDecision))return intersectWithLoop(self,that,input,lState,out,lDecision.intervals,rState,out2,rDecision.intervals,f);return succeed([[lState,rState],[out,out2],done6])})))),intersectWithLoop=(self,that,input,lState,out,lInterval,rState,out2,rInterval,f)=>{let combined=f(lInterval,rInterval);if(isNonEmpty5(combined))return succeed([[lState,rState],[out,out2],_continue2(combined)]);if(pipe(lInterval,lessThan5(rInterval)))return flatMap7(self.step(end2(lInterval),input,lState),([lState2,out3,decision])=>{if(isDone4(decision))return succeed([[lState2,rState],[out3,out2],done6]);return intersectWithLoop(self,that,input,lState2,out3,decision.intervals,rState,out2,rInterval,f)});return flatMap7(that.step(end2(rInterval),input,rState),([rState2,out22,decision])=>{if(isDone4(decision))return succeed([[lState,rState2],[out,out22],done6]);return intersectWithLoop(self,that,input,lState,out,lInterval,rState2,out22,decision.intervals,f)})};var map12=dual(2,(self,f)=>mapEffect2(self,(out)=>sync(()=>f(out)))),mapEffect2=dual(2,(self,f)=>makeWithState(self.initial,(now,input,state)=>flatMap7(self.step(now,input,state),([state2,out,decision])=>map9(f(out),(out2)=>[state2,out2,decision]))));var passthrough2=(self)=>makeWithState(self.initial,(now,input,state)=>pipe(self.step(now,input,state),map9(([state2,_,decision])=>[state2,input,decision])));var recurs=(n)=>whileOutput(forever2,(out)=>out<n);var unfold2=(initial,f)=>makeWithState(initial,(now,_,state)=>sync(()=>[f(state),state,continueWith2(after2(now))]));var untilInputEffect=dual(2,(self,f)=>checkEffect(self,(input,_)=>negate(f(input))));var whileInputEffect=dual(2,(self,f)=>checkEffect(self,(input,_)=>f(input))),whileOutput=dual(2,(self,f)=>check(self,(_,out)=>f(out)));var ScheduleDefectTypeId=Symbol.for("effect/Schedule/ScheduleDefect");class ScheduleDefect{error;[ScheduleDefectTypeId];constructor(error){this.error=error,this[ScheduleDefectTypeId]=ScheduleDefectTypeId}}var isScheduleDefect=(u)=>hasProperty(u,ScheduleDefectTypeId),scheduleDefectWrap=(self)=>catchAll(self,(e)=>die2(new ScheduleDefect(e))),scheduleDefectRefailCause=(cause2)=>match2(find(cause2,(_)=>isDieType(_)&&isScheduleDefect(_.defect)?some2(_.defect):none2()),{onNone:()=>cause2,onSome:(error)=>fail(error.error)}),scheduleDefectRefail=(effect)=>catchAllCause(effect,(cause2)=>failCause(scheduleDefectRefailCause(cause2))),repeat_Effect=dual(2,(self,schedule)=>repeatOrElse_Effect(self,schedule,(e,_)=>fail2(e))),repeat_combined=dual(2,(self,options)=>{if(isSchedule(options))return repeat_Effect(self,options);let base=options.schedule??passthrough2(forever2),withWhile=options.while?whileInputEffect(base,(a)=>{let applied=options.while(a);if(typeof applied==="boolean")return succeed(applied);return scheduleDefectWrap(applied)}):base,withUntil=options.until?untilInputEffect(withWhile,(a)=>{let applied=options.until(a);if(typeof applied==="boolean")return succeed(applied);return scheduleDefectWrap(applied)}):withWhile,withTimes=options.times?intersect5(withUntil,recurs(options.times)).pipe(map12((intersectionPair)=>intersectionPair[0])):withUntil;return scheduleDefectRefail(repeat_Effect(self,withTimes))}),repeatOrElse_Effect=dual(3,(self,schedule,orElse5)=>flatMap7(driver(schedule),(driver2)=>matchEffect(self,{onFailure:(error)=>orElse5(error,none2()),onSuccess:(value)=>repeatOrElseEffectLoop(provideServiceEffect(self,CurrentIterationMetadata,get11(driver2.iterationMeta)),driver2,(error,option2)=>provideServiceEffect(orElse5(error,option2),CurrentIterationMetadata,get11(driver2.iterationMeta)),value)}))),repeatOrElseEffectLoop=(self,driver2,orElse5,value)=>matchEffect(driver2.next(value),{onFailure:()=>orDie(driver2.last),onSuccess:(b)=>matchEffect(self,{onFailure:(error)=>orElse5(error,some2(b)),onSuccess:(value2)=>repeatOrElseEffectLoop(self,driver2,orElse5,value2)})}),retry_Effect=dual(2,(self,policy)=>retryOrElse_Effect(self,policy,(e,_)=>fail2(e))),retry_combined=dual(2,(self,options)=>{if(isSchedule(options))return retry_Effect(self,options);return scheduleDefectRefail(retry_Effect(self,fromRetryOptions(options)))}),fromRetryOptions=(options)=>{let base=options.schedule??forever2,withWhile=options.while?whileInputEffect(base,(e)=>{let applied=options.while(e);if(typeof applied==="boolean")return succeed(applied);return scheduleDefectWrap(applied)}):base,withUntil=options.until?untilInputEffect(withWhile,(e)=>{let applied=options.until(e);if(typeof applied==="boolean")return succeed(applied);return scheduleDefectWrap(applied)}):withWhile;return options.times?intersect5(withUntil,recurs(options.times)):withUntil},retryOrElse_Effect=dual(3,(self,policy,orElse5)=>flatMap7(driver(policy),(driver2)=>retryOrElse_EffectLoop(provideServiceEffect(self,CurrentIterationMetadata,get11(driver2.iterationMeta)),driver2,(e,out)=>provideServiceEffect(orElse5(e,out),CurrentIterationMetadata,get11(driver2.iterationMeta))))),retryOrElse_EffectLoop=(self,driver2,orElse5)=>{return catchAll(self,(e)=>matchEffect(driver2.next(e),{onFailure:()=>pipe(driver2.last,orDie,flatMap7((out)=>orElse5(e,out))),onSuccess:()=>retryOrElse_EffectLoop(self,driver2,orElse5)}))},schedule_Effect=dual(2,(self,schedule)=>scheduleFrom_Effect(self,void 0,schedule)),scheduleFrom_Effect=dual(3,(self,initial,schedule)=>flatMap7(driver(schedule),(driver2)=>scheduleFrom_EffectLoop(provideServiceEffect(self,CurrentIterationMetadata,get11(driver2.iterationMeta)),initial,driver2))),scheduleFrom_EffectLoop=(self,initial,driver2)=>matchEffect(driver2.next(initial),{onFailure:()=>orDie(driver2.last),onSuccess:()=>flatMap7(self,(a)=>scheduleFrom_EffectLoop(self,a,driver2))});var forever2=unfold2(0,(n)=>n+1),once2=asVoid2(recurs(1));var scheduleForked=dual(2,(self,schedule)=>forkScoped(schedule_Effect(self,schedule)));var TypeId19=Symbol.for("effect/ExecutionPlan");var withExecutionPlan=dual(2,(effect,plan)=>suspend(()=>{let i=0,result;return flatMap7(whileLoop({while:()=>i<plan.steps.length&&(result===void 0||isLeft2(result)),body:()=>{let step3=plan.steps[i],nextEffect=effect_provide(effect,step3.provide);if(result){let attempted=!1,wrapped=nextEffect;nextEffect=suspend(()=>{if(attempted)return wrapped;return attempted=!0,result}),nextEffect=scheduleDefectRefail(retry_Effect(nextEffect,scheduleFromStep(step3,!1)))}else{let schedule=scheduleFromStep(step3,!0);nextEffect=schedule?scheduleDefectRefail(retry_Effect(nextEffect,schedule)):nextEffect}return either2(nextEffect)},step:(either3)=>{result=either3,i++}}),()=>result)})),scheduleFromStep=(step3,first2)=>{if(!first2)return fromRetryOptions({schedule:step3.schedule?step3.schedule:step3.attempts?void 0:once2,times:step3.attempts,while:step3.while});else if(step3.attempts===1||!(step3.schedule||step3.attempts))return;return fromRetryOptions({schedule:step3.schedule,while:step3.while,times:step3.attempts?step3.attempts-1:void 0})};var currentCache=globalValue(Symbol.for("effect/FiberRef/currentCache"),()=>fiberRefUnsafeMake(unsafeMakeWith(65536,()=>map9(deferredMake(),(handle)=>({listeners:new Listeners,handle})),()=>seconds(60)))),currentCacheEnabled=globalValue(Symbol.for("effect/FiberRef/currentCacheEnabled"),()=>fiberRefUnsafeMake(!1)),fromRequest=(request,dataSource)=>flatMap7(isEffect(dataSource)?dataSource:succeed(dataSource),(ds)=>fiberIdWith((id2)=>{let proxy=new Proxy(request,{});return fiberRefGetWith(currentCacheEnabled,(cacheEnabled)=>{if(cacheEnabled){let cached3=fiberRefGetWith(currentCache,(cache)=>flatMap7(cache.getEither(proxy),(orNew)=>{switch(orNew._tag){case"Left":{if(orNew.left.listeners.interrupted)return flatMap7(cache.invalidateWhen(proxy,(entry)=>entry.handle===orNew.left.handle),()=>cached3);return orNew.left.listeners.increment(),uninterruptibleMask((restore)=>flatMap7(exit(blocked(empty19,restore(deferredAwait(orNew.left.handle)))),(exit2)=>{return orNew.left.listeners.decrement(),exit2}))}case"Right":return orNew.right.listeners.increment(),uninterruptibleMask((restore)=>flatMap7(exit(blocked(single(ds,makeEntry({request:proxy,result:orNew.right.handle,listeners:orNew.right.listeners,ownerId:id2,state:{completed:!1}})),restore(deferredAwait(orNew.right.handle)))),()=>{return orNew.right.listeners.decrement(),deferredAwait(orNew.right.handle)}))}}));return cached3}let listeners=new Listeners;return listeners.increment(),flatMap7(deferredMake(),(ref)=>ensuring(blocked(single(ds,makeEntry({request:proxy,result:ref,listeners,ownerId:id2,state:{completed:!1}})),deferredAwait(ref)),sync(()=>listeners.decrement())))})})),cacheRequest=(request,result)=>{return fiberRefGetWith(currentCacheEnabled,(cacheEnabled)=>{if(cacheEnabled)return fiberRefGetWith(currentCache,(cache)=>flatMap7(cache.getEither(request),(orNew)=>{switch(orNew._tag){case"Left":return void_;case"Right":return deferredComplete(orNew.right.handle,result)}}));return void_})},withRequestCaching=dual(2,(self,strategy)=>fiberRefLocally(self,currentCacheEnabled,strategy)),withRequestCache=dual(2,(self,cache)=>fiberRefLocally(self,currentCache,cache));var isRequest2=isRequest;var EffectTypeId3=EffectTypeId2,isEffect2=isEffect,cachedWithTTL=cached2,cachedInvalidateWithTTL2=cachedInvalidateWithTTL,cached3=memoize,cachedFunction2=cachedFunction,once3=once,all4=all2,allWith2=allWith,allSuccesses2=allSuccesses,dropUntil2=dropUntil,dropWhile2=dropWhile,takeUntil2=takeUntil,takeWhile2=takeWhile,every6=every5,exists3=exists2,filter7=filter5,filterMap4=filterMap3,findFirst6=findFirst4,forEach8=forEach7,head4=head3,mergeAll5=mergeAll3,partition4=partition3,reduce12=reduce10,reduceWhile2=reduceWhile,reduceRight3=reduceRight2,reduceEffect2=reduceEffect,replicate2=replicate,replicateEffect2=replicateEffect,validateAll2=validateAll,validateFirst2=validateFirst,async=async_,asyncEffect2=asyncEffect,custom2=custom,withFiberRuntime2=withFiberRuntime,fail8=fail2,failSync3=failSync,failCause7=failCause,failCauseSync3=failCauseSync,die6=die2,dieMessage2=dieMessage,dieSync3=dieSync,gen2=gen,never3=never,none9=none6,promise2=promise,succeed7=succeed,succeedNone2=succeedNone,succeedSome2=succeedSome,suspend3=suspend,sync3=sync,_void=void_;var yieldNow4=yieldNow,_catch2=_catch;var catchAll3=catchAll,catchAllCause3=catchAllCause,catchAllDefect2=catchAllDefect,catchIf2=catchIf,catchSome2=catchSome,catchSomeCause2=catchSomeCause,catchSomeDefect2=catchSomeDefect,catchTag2=catchTag,catchTags2=catchTags,cause2=cause,eventually2=eventually,ignore2=ignore,ignoreLogged2=ignoreLogged,parallelErrors2=parallelErrors,sandbox2=sandbox,retry2=retry_combined,withExecutionPlan2=withExecutionPlan,retryOrElse=retryOrElse_Effect,try_2=try_;var tryMap2=tryMap,tryMapPromise2=tryMapPromise,tryPromise2=tryPromise,unsandbox2=unsandbox,allowInterrupt2=allowInterrupt,checkInterruptible2=checkInterruptible,disconnect2=disconnect,interrupt6=interrupt2,interruptWith2=interruptWith,interruptible4=interruptible2,interruptibleMask2=interruptibleMask,onInterrupt2=onInterrupt,uninterruptible2=uninterruptible,uninterruptibleMask3=uninterruptibleMask,liftPredicate2=liftPredicate,as3=as,asSome2=asSome,asSomeError2=asSomeError,asVoid3=asVoid,flip2=flip,flipWith2=flipWith,map13=map9,mapAccum3=mapAccum2,mapBoth2=mapBoth,mapError3=mapError,mapErrorCause2=mapErrorCause,merge7=merge5,negate2=negate,acquireRelease2=acquireRelease,acquireReleaseInterruptible2=acquireReleaseInterruptible,acquireUseRelease2=acquireUseRelease,addFinalizer2=addFinalizer,ensuring2=ensuring,onError2=onError,onExit3=onExit,parallelFinalizers2=parallelFinalizers,sequentialFinalizers2=sequentialFinalizers,finalizersMask2=finalizersMask,scope3=scope,scopeWith2=scopeWith,scopedWith2=scopedWith,scoped2=scopedEffect,using2=using,withEarlyRelease2=withEarlyRelease,awaitAllChildren2=awaitAllChildren,daemonChildren2=daemonChildren,descriptor2=descriptor,descriptorWith2=descriptorWith,diffFiberRefs2=diffFiberRefs,ensuringChild2=ensuringChild,ensuringChildren2=ensuringChildren,fiberId2=fiberId,fiberIdWith2=fiberIdWith,fork3=fork,forkDaemon2=forkDaemon,forkAll2=forkAll,forkIn2=forkIn,forkScoped2=forkScoped,forkWithErrorHandler2=forkWithErrorHandler,fromFiber2=fromFiber,fromFiberEffect2=fromFiberEffect,supervised2=supervised,transplant2=transplant,withConcurrency2=withConcurrency,withScheduler2=withScheduler,withSchedulingPriority2=withSchedulingPriority,withMaxOpsBeforeYield2=withMaxOpsBeforeYield,clock2=clock,clockWith4=clockWith3,withClockScoped2=withClockScoped,withClock2=withClock,console3=console2,consoleWith2=consoleWith,withConsoleScoped2=withConsoleScoped,withConsole2=withConsole,delay2=delay,sleep4=sleep3,timed2=timed,timedWith2=timedWith,timeout2=timeout,timeoutOption2=timeoutOption,timeoutFail2=timeoutFail,timeoutFailCause2=timeoutFailCause,timeoutTo2=timeoutTo,configProviderWith2=configProviderWith,withConfigProvider2=withConfigProvider,withConfigProviderScoped2=withConfigProviderScoped,context3=context,contextWith2=contextWith,contextWithEffect2=contextWithEffect,mapInputContext2=mapInputContext,provide2=effect_provide,provideService2=provideService,provideServiceEffect2=provideServiceEffect,serviceFunction2=serviceFunction,serviceFunctionEffect2=serviceFunctionEffect,serviceFunctions2=serviceFunctions,serviceConstants2=serviceConstants,serviceMembers2=serviceMembers,serviceOption2=serviceOption,serviceOptional2=serviceOptional,updateService2=updateService,Do2=Do,bind3=bind2,bindAll2=bindAll,bindTo3=bindTo2,let_3=let_2;var option2=option,either3=either2,exit2=exit,intoDeferred2=intoDeferred,if_2=if_;var filterOrDie2=filterOrDie,filterOrDieMessage2=filterOrDieMessage,filterOrElse2=filterOrElse,filterOrFail2=filterOrFail,filterEffectOrElse2=filterEffectOrElse,filterEffectOrFail2=filterEffectOrFail,unless2=unless,unlessEffect2=unlessEffect,when2=when,whenEffect2=whenEffect,whenFiberRef2=whenFiberRef,whenRef2=whenRef,flatMap10=flatMap7,andThen4=andThen2,flatten8=flatten5,race2=race,raceAll2=raceAll,raceFirst2=raceFirst,raceWith2=raceWith,summarized2=summarized,tap3=tap,tapBoth2=tapBoth,tapDefect2=tapDefect,tapError3=tapError,tapErrorTag2=tapErrorTag,tapErrorCause3=tapErrorCause,forever3=forever,iterate2=iterate,loop2=loop,repeat=repeat_combined,repeatN2=repeatN,repeatOrElse=repeatOrElse_Effect,schedule=schedule_Effect,scheduleForked2=scheduleForked,scheduleFrom=scheduleFrom_Effect,whileLoop2=whileLoop,getFiberRefs=fiberRefs2,inheritFiberRefs2=inheritFiberRefs,locally=fiberRefLocally,locallyWith=fiberRefLocallyWith,locallyScoped=fiberRefLocallyScoped,locallyScopedWith=fiberRefLocallyScopedWith,patchFiberRefs2=patchFiberRefs,setFiberRefs2=setFiberRefs,updateFiberRefs2=updateFiberRefs,isFailure3=isFailure,isSuccess3=isSuccess2,match13=match6,matchCause3=matchCause,matchCauseEffect3=matchCauseEffect,matchEffect2=matchEffect,log2=log,logWithLevel2=(level,...message)=>logWithLevel(level)(...message),logTrace2=logTrace,logDebug2=logDebug,logInfo2=logInfo,logWarning2=logWarning,logError2=logError,logFatal2=logFatal,withLogSpan2=withLogSpan,annotateLogs3=annotateLogs,annotateLogsScoped2=annotateLogsScoped,logAnnotations2=logAnnotations,withUnhandledErrorLogLevel2=withUnhandledErrorLogLevel,whenLogLevel2=whenLogLevel,orDie3=orDie,orDieWith2=orDieWith,orElse5=orElse2,orElseFail2=orElseFail,orElseSucceed2=orElseSucceed,firstSuccessOf2=firstSuccessOf,random3=random2,randomWith2=randomWith,withRandom2=withRandom,withRandomScoped2=withRandomScoped,runtime3=runtime2,getRuntimeFlags=runtimeFlags,patchRuntimeFlags=updateRuntimeFlags,withRuntimeFlagsPatch=withRuntimeFlags,withRuntimeFlagsPatchScoped=withRuntimeFlagsScoped,tagMetrics2=tagMetrics,labelMetrics2=labelMetrics,tagMetricsScoped2=tagMetricsScoped,labelMetricsScoped2=labelMetricsScoped,metricLabels2=metricLabels,withMetric2=withMetric,unsafeMakeSemaphore2=unsafeMakeSemaphore,makeSemaphore2=makeSemaphore,unsafeMakeLatch2=unsafeMakeLatch,makeLatch2=makeLatch,runFork2=unsafeForkEffect,runCallback=unsafeRunEffect,runPromise=unsafeRunPromiseEffect,runPromiseExit=unsafeRunPromiseExitEffect,runSync=unsafeRunSyncEffect,runSyncExit=unsafeRunSyncExitEffect,validate2=validate,validateWith2=validateWith,zip4=zipOptions,zipLeft2=zipLeftOptions,zipRight2=zipRightOptions,zipWith6=zipWithOptions,ap=dual(2,(self,that)=>zipWith6(self,that,(f,a)=>f(a))),blocked2=blocked,runRequestBlock2=runRequestBlock,step3=step2,request=dual((args2)=>isRequest2(args2[0]),fromRequest),cacheRequestResult=cacheRequest,withRequestBatching2=withRequestBatching,withRequestCaching2=withRequestCaching,withRequestCache2=withRequestCache,tracer2=tracer,tracerWith4=tracerWith,withTracer2=withTracer,withTracerScoped2=withTracerScoped,withTracerEnabled2=withTracerEnabled,withTracerTiming2=withTracerTiming,annotateSpans3=annotateSpans,annotateCurrentSpan2=annotateCurrentSpan,currentSpan2=currentSpan,currentParentSpan2=currentParentSpan,spanAnnotations2=spanAnnotations,spanLinks2=spanLinks,linkSpans2=linkSpans,linkSpanCurrent2=linkSpanCurrent,makeSpan2=makeSpan,makeSpanScoped2=makeSpanScoped,useSpan2=useSpan,withSpan3=withSpan,functionWithSpan2=functionWithSpan,withSpanScoped2=withSpanScoped,withParentSpan3=withParentSpan,fromNullable3=fromNullable2,optionFromOptional2=optionFromOptional,transposeOption=(self)=>{return isNone(self)?succeedNone2:map13(self.value,some)},transposeMapOption=dual(2,(self,f)=>isNone(self)?succeedNone2:map13(f(self.value),some)),makeTagProxy=(TagClass)=>{let cache=new Map;return new Proxy(TagClass,{get(target,prop,receiver){if(prop in target)return Reflect.get(target,prop,receiver);if(cache.has(prop))return cache.get(prop);let fn=(...args2)=>andThen2(target,(s)=>{if(typeof s[prop]==="function")return cache.set(prop,(...args3)=>andThen2(target,(s2)=>s2[prop](...args3))),s[prop](...args2);return cache.set(prop,andThen2(target,(s2)=>s2[prop])),s[prop]}),cn=andThen2(target,(s)=>s[prop]);return Object.assign(fn,cn),Object.setPrototypeOf(fn,Object.getPrototypeOf(cn)),cache.set(prop,fn),fn}})},Tag3=(id2)=>()=>{let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=new Error;Error.stackTraceLimit=limit;function TagClass(){}return Object.setPrototypeOf(TagClass,TagProto),TagClass.key=id2,Object.defineProperty(TagClass,"use",{get(){return(body)=>andThen2(this,body)}}),Object.defineProperty(TagClass,"stack",{get(){return creationError.stack}}),makeTagProxy(TagClass)},Service=function(){return function(){let[id2,maker]=arguments,proxy="accessors"in maker?maker.accessors:!1,limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let creationError=new Error;Error.stackTraceLimit=limit;let patchState="unchecked",TagClass=function(service2){if(patchState==="unchecked"){let proto4=Object.getPrototypeOf(service2);if(proto4===Object.prototype||proto4===null)patchState="plain";else{let selfProto=Object.getPrototypeOf(this);Object.setPrototypeOf(selfProto,proto4),patchState="patched"}}if(patchState==="plain")Object.assign(this,service2);else if(patchState==="patched")return Object.setPrototypeOf(service2,Object.getPrototypeOf(this)),service2};TagClass.prototype._tag=id2,Object.defineProperty(TagClass,"make",{get(){return(service2)=>new this(service2)}}),Object.defineProperty(TagClass,"use",{get(){return(body)=>andThen2(this,body)}}),TagClass.key=id2,Object.assign(TagClass,TagProto),Object.defineProperty(TagClass,"stack",{get(){return creationError.stack}});let hasDeps="dependencies"in maker&&maker.dependencies.length>0,layerName=hasDeps?"DefaultWithoutDependencies":"Default",layerCache,isFunction3=!1;if("effect"in maker)isFunction3=typeof maker.effect==="function",Object.defineProperty(TagClass,layerName,{get(){if(isFunction3)return function(){return fromEffect3(TagClass,map13(maker.effect.apply(null,arguments),(_)=>new this(_)))}.bind(this);return layerCache??=fromEffect3(TagClass,map13(maker.effect,(_)=>new this(_)))}});else if("scoped"in maker)isFunction3=typeof maker.scoped==="function",Object.defineProperty(TagClass,layerName,{get(){if(isFunction3)return function(){return scoped(TagClass,map13(maker.scoped.apply(null,arguments),(_)=>new this(_)))}.bind(this);return layerCache??=scoped(TagClass,map13(maker.scoped,(_)=>new this(_)))}});else if("sync"in maker)Object.defineProperty(TagClass,layerName,{get(){return layerCache??=sync2(TagClass,()=>new this(maker.sync()))}});else Object.defineProperty(TagClass,layerName,{get(){return layerCache??=succeed5(TagClass,new this(maker.succeed))}});if(hasDeps){let layerWithDepsCache;Object.defineProperty(TagClass,"Default",{get(){if(isFunction3)return function(){return provide(this.DefaultWithoutDependencies.apply(null,arguments),maker.dependencies)};return layerWithDepsCache??=provide(this.DefaultWithoutDependencies,maker.dependencies)}})}return proxy===!0?makeTagProxy(TagClass):TagClass}},fn=function(nameOrBody,...pipeables){let limit=Error.stackTraceLimit;Error.stackTraceLimit=2;let errorDef=new Error;if(Error.stackTraceLimit=limit,typeof nameOrBody!=="string")return defineLength(nameOrBody.length,function(...args2){let limit2=Error.stackTraceLimit;Error.stackTraceLimit=2;let errorCall=new Error;return Error.stackTraceLimit=limit2,fnApply({self:this,body:nameOrBody,args:args2,pipeables,spanName:"<anonymous>",spanOptions:{context:DisablePropagation.context(!0)},errorDef,errorCall})});let name=nameOrBody,options=pipeables[0];return(body,...pipeables2)=>defineLength(body.length,{[name](...args2){let limit2=Error.stackTraceLimit;Error.stackTraceLimit=2;let errorCall=new Error;return Error.stackTraceLimit=limit2,fnApply({self:this,body,args:args2,pipeables:pipeables2,spanName:name,spanOptions:options,errorDef,errorCall})}}[name])};function defineLength(length2,fn2){return Object.defineProperty(fn2,"length",{value:length2,configurable:!0})}function fnApply(options){let effect,fnError=void 0;if(isGeneratorFunction(options.body))effect=fromIterator(()=>options.body.apply(options.self,options.args));else try{effect=options.body.apply(options.self,options.args)}catch(error){fnError=error,effect=die6(error)}if(options.pipeables.length>0)try{for(let x of options.pipeables)effect=x(effect,...options.args)}catch(error){effect=fnError?failCause7(sequential(die(fnError),die(error))):die6(error)}let cache=!1,captureStackTrace=()=>{if(cache!==!1)return cache;if(options.errorCall.stack){let stackDef=options.errorDef.stack.trim().split(`
|
|
31
31
|
`),stackCall=options.errorCall.stack.trim().split(`
|
|
32
32
|
`),endStackDef=stackDef.slice(2).join(`
|
|
33
33
|
`).trim();if(!endStackDef.includes("("))endStackDef=endStackDef.replace(/at (.*)/,"at ($1)");let endStackCall=stackCall.slice(2).join(`
|
|
34
34
|
`).trim();if(!endStackCall.includes("("))endStackCall=endStackCall.replace(/at (.*)/,"at ($1)");return cache=`${endStackDef}
|
|
35
|
-
${endStackCall}`,cache}},opts=options.spanOptions&&"captureStackTrace"in options.spanOptions?options.spanOptions:{captureStackTrace,...options.spanOptions};return withSpan3(effect,options.spanName,opts)}var fnUntraced2=fnUntraced;var currentContext2=currentContext,currentSchedulingPriority2=currentSchedulingPriority;var currentScheduler2=currentScheduler;var exports_Layer={};__export(exports_Layer,{zipWith:()=>zipWith7,withSpan:()=>withSpan4,withParentSpan:()=>withParentSpan4,updateService:()=>updateService3,unwrapScoped:()=>unwrapScoped2,unwrapEffect:()=>unwrapEffect2,toRuntimeWithMemoMap:()=>toRuntimeWithMemoMap2,toRuntime:()=>toRuntime2,tapErrorCause:()=>tapErrorCause4,tapError:()=>tapError4,tap:()=>tap4,syncContext:()=>syncContext2,sync:()=>sync4,suspend:()=>suspend4,succeedContext:()=>succeedContext2,succeed:()=>succeed8,span:()=>span3,setUnhandledErrorLogLevel:()=>setUnhandledErrorLogLevel,setTracerTiming:()=>setTracerTiming,setTracerEnabled:()=>setTracerEnabled,setTracer:()=>setTracer2,setScheduler:()=>setScheduler,setRequestCaching:()=>setRequestCaching,setRequestCache:()=>setRequestCache,setRequestBatching:()=>setRequestBatching,setRandom:()=>setRandom,setConfigProvider:()=>setConfigProvider2,setClock:()=>setClock,service:()=>service2,scopedDiscard:()=>scopedDiscard2,scopedContext:()=>scopedContext2,scoped:()=>scoped3,scope:()=>scope4,retry:()=>retry3,provideMerge:()=>provideMerge2,provide:()=>provide3,project:()=>project2,passthrough:()=>passthrough3,parentSpan:()=>parentSpan2,orElse:()=>orElse6,orDie:()=>orDie4,mergeAll:()=>mergeAll6,merge:()=>merge8,memoize:()=>memoize3,matchCause:()=>matchCause4,match:()=>match14,mapError:()=>mapError4,map:()=>map14,makeMemoMap:()=>makeMemoMap2,locallyWith:()=>locallyWith2,locallyScoped:()=>locallyScoped2,locallyEffect:()=>locallyEffect2,locally:()=>locally2,launch:()=>launch2,isLayer:()=>isLayer2,isFresh:()=>isFresh2,function:()=>fromFunction2,fresh:()=>fresh2,flatten:()=>flatten9,flatMap:()=>flatMap11,fiberRefLocallyScopedWith:()=>fiberRefLocallyScopedWith3,failSync:()=>failSync4,failCauseSync:()=>failCauseSync4,failCause:()=>failCause8,fail:()=>fail9,extendScope:()=>extendScope2,empty:()=>empty34,effectDiscard:()=>effectDiscard,effectContext:()=>effectContext,effect:()=>effect,discard:()=>discard2,dieSync:()=>dieSync4,die:()=>die7,context:()=>context4,catchAllCause:()=>catchAllCause4,catchAll:()=>catchAll4,buildWithScope:()=>buildWithScope2,buildWithMemoMap:()=>buildWithMemoMap2,build:()=>build2,annotateSpans:()=>annotateSpans4,annotateLogs:()=>annotateLogs4,MemoMapTypeId:()=>MemoMapTypeId2,LayerTypeId:()=>LayerTypeId2,CurrentMemoMap:()=>CurrentMemoMap2});var setConfigProvider=(configProvider)=>scopedDiscard(withConfigProviderScoped(configProvider)),parentSpan=(span2)=>succeedContext(make6(spanTag,span2)),span2=(name,options)=>{return options=addSpanStackTrace(options),scoped(spanTag,options?.onEnd?tap(makeSpanScoped(name,options),(span3)=>addFinalizer((exit3)=>options.onEnd(span3,exit3))):makeSpanScoped(name,options))},setTracer=(tracer3)=>scopedDiscard(withTracerScoped(tracer3));var LayerTypeId2=LayerTypeId,MemoMapTypeId2=MemoMapTypeId,CurrentMemoMap2=CurrentMemoMap,isLayer2=isLayer,isFresh2=isFresh,annotateLogs4=annotateLogs2,annotateSpans4=annotateSpans2,build2=build,buildWithScope2=buildWithScope,catchAll4=catchAll2,catchAllCause4=catchAllCause2,context4=context2,die7=die5,dieSync4=dieSync2,discard2=discard,effect=fromEffect3,effectDiscard=fromEffectDiscard,effectContext=fromEffectContext,empty34=empty33,extendScope2=extendScope,fail9=fail6,failSync4=failSync2,failCause8=failCause5,failCauseSync4=failCauseSync2,flatMap11=flatMap9,flatten9=flatten7,fresh2=fresh,fromFunction2=fromFunction;var launch2=launch,map14=map12,mapError4=mapError2,match14=match12,matchCause4=matchCause2,memoize3=memoize2,merge8=merge6,mergeAll6=mergeAll4,orDie4=orDie2,orElse6=orElse4,passthrough3=passthrough2,project2=project,locallyEffect2=locallyEffect,locally2=fiberRefLocally2,locallyWith2=fiberRefLocallyWith2,locallyScoped2=fiberRefLocallyScoped2,fiberRefLocallyScopedWith3=fiberRefLocallyScopedWith2,retry3=retry,scope4=scope2,scoped3=scoped,scopedDiscard2=scopedDiscard,scopedContext2=scopedContext,service2=service,succeed8=succeed5,succeedContext2=succeedContext,suspend4=suspend2,sync4=sync2,syncContext2=syncContext,tap4=tap2,tapError4=tapError2,tapErrorCause4=tapErrorCause2,toRuntime2=toRuntime,toRuntimeWithMemoMap2=toRuntimeWithMemoMap,provide3=provide,provideMerge2=provideMerge,zipWith7=zipWith5,unwrapEffect2=unwrapEffect,unwrapScoped2=unwrapScoped,setClock=(clock3)=>scopedDiscard2(fiberRefLocallyScopedWith(currentServices,add2(clockTag,clock3))),setConfigProvider2=setConfigProvider,parentSpan2=parentSpan,setRandom=(random4)=>scopedDiscard2(fiberRefLocallyScopedWith(currentServices,add2(randomTag,random4))),setRequestBatching=(requestBatching)=>scopedDiscard2(fiberRefLocallyScoped(currentRequestBatching,requestBatching)),setRequestCaching=(requestCaching)=>scopedDiscard2(fiberRefLocallyScoped(currentCacheEnabled,requestCaching)),setRequestCache=(cache)=>scopedDiscard2(isEffect(cache)?flatMap7(cache,(x)=>fiberRefLocallyScoped(currentCache,x)):fiberRefLocallyScoped(currentCache,cache)),setScheduler=(scheduler)=>scopedDiscard2(fiberRefLocallyScoped(currentScheduler,scheduler)),span3=span2,setTracer2=setTracer,setTracerEnabled=(enabled2)=>scopedDiscard2(fiberRefLocallyScoped(currentTracerEnabled,enabled2)),setTracerTiming=(enabled2)=>scopedDiscard2(fiberRefLocallyScoped(currentTracerTimingEnabled,enabled2)),setUnhandledErrorLogLevel=(level)=>scopedDiscard2(fiberRefLocallyScoped(currentUnhandledErrorLogLevel,level)),withSpan4=withSpan2,withParentSpan4=withParentSpan2,makeMemoMap2=makeMemoMap,buildWithMemoMap2=buildWithMemoMap,updateService3=dual(3,(layer,tag,f)=>provide3(layer,map14(context4(),(c)=>add2(c,tag,f(unsafeGet3(c,tag))))));var AbsentValue=Symbol.for("effect/PubSub/AbsentValue");class UnboundedPubSub{replayBuffer;publisherHead={value:AbsentValue,subscribers:0,next:null};publisherTail=this.publisherHead;publisherIndex=0;subscribersIndex=0;capacity=Number.MAX_SAFE_INTEGER;constructor(replayBuffer){this.replayBuffer=replayBuffer}replayWindow(){return this.replayBuffer?new ReplayWindowImpl(this.replayBuffer):emptyReplayWindow}isEmpty(){return this.publisherHead===this.publisherTail}isFull(){return!1}size(){return this.publisherIndex-this.subscribersIndex}publish(value){let subscribers=this.publisherTail.subscribers;if(subscribers!==0)this.publisherTail.next={value,subscribers,next:null},this.publisherTail=this.publisherTail.next,this.publisherIndex+=1;if(this.replayBuffer)this.replayBuffer.offer(value);return!0}publishAll(elements){if(this.publisherTail.subscribers!==0)for(let a of elements)this.publish(a);else if(this.replayBuffer)this.replayBuffer.offerAll(elements);return empty5()}slide(){if(this.publisherHead!==this.publisherTail)this.publisherHead=this.publisherHead.next,this.publisherHead.value=AbsentValue,this.subscribersIndex+=1;if(this.replayBuffer)this.replayBuffer.slide()}subscribe(){return this.publisherTail.subscribers+=1,new UnboundedPubSubSubscription(this,this.publisherTail,this.publisherIndex,!1)}}class UnboundedPubSubSubscription{self;subscriberHead;subscriberIndex;unsubscribed;constructor(self,subscriberHead,subscriberIndex,unsubscribed){this.self=self,this.subscriberHead=subscriberHead,this.subscriberIndex=subscriberIndex,this.unsubscribed=unsubscribed}isEmpty(){if(this.unsubscribed)return!0;let empty35=!0,loop3=!0;while(loop3)if(this.subscriberHead===this.self.publisherTail)loop3=!1;else if(this.subscriberHead.next.value!==AbsentValue)empty35=!1,loop3=!1;else this.subscriberHead=this.subscriberHead.next,this.subscriberIndex+=1;return empty35}size(){if(this.unsubscribed)return 0;return this.self.publisherIndex-Math.max(this.subscriberIndex,this.self.subscribersIndex)}poll(default_){if(this.unsubscribed)return default_;let loop3=!0,polled=default_;while(loop3)if(this.subscriberHead===this.self.publisherTail)loop3=!1;else{let elem=this.subscriberHead.next.value;if(elem!==AbsentValue){if(polled=elem,this.subscriberHead.subscribers-=1,this.subscriberHead.subscribers===0)this.self.publisherHead=this.self.publisherHead.next,this.self.publisherHead.value=AbsentValue,this.self.subscribersIndex+=1;loop3=!1}this.subscriberHead=this.subscriberHead.next,this.subscriberIndex+=1}return polled}pollUpTo(n){let builder=[],default_=AbsentValue,i=0;while(i!==n){let a=this.poll(default_);if(a===default_)i=n;else builder.push(a),i+=1}return fromIterable2(builder)}unsubscribe(){if(!this.unsubscribed){this.unsubscribed=!0,this.self.publisherTail.subscribers-=1;while(this.subscriberHead!==this.self.publisherTail){if(this.subscriberHead.next.value!==AbsentValue){if(this.subscriberHead.subscribers-=1,this.subscriberHead.subscribers===0)this.self.publisherHead=this.self.publisherHead.next,this.self.publisherHead.value=AbsentValue,this.self.subscribersIndex+=1}this.subscriberHead=this.subscriberHead.next}}}}class ReplayBuffer{capacity;constructor(capacity2){this.capacity=capacity2}head={value:AbsentValue,next:null};tail=this.head;size=0;index=0;slide(){this.index++}offer(a){if(this.tail.value=a,this.tail.next={value:AbsentValue,next:null},this.tail=this.tail.next,this.size===this.capacity)this.head=this.head.next;else this.size+=1}offerAll(as4){for(let a of as4)this.offer(a)}}class ReplayWindowImpl{buffer;head;index;remaining;constructor(buffer){this.buffer=buffer,this.index=buffer.index,this.remaining=buffer.size,this.head=buffer.head}fastForward(){while(this.index<this.buffer.index)this.head=this.head.next,this.index++}take(){if(this.remaining===0)return;else if(this.index<this.buffer.index)this.fastForward();this.remaining--;let value=this.head.value;return this.head=this.head.next,value}takeN(n){if(this.remaining===0)return empty5();else if(this.index<this.buffer.index)this.fastForward();let len=Math.min(n,this.remaining),items=new Array(len);for(let i=0;i<len;i++){let value=this.head.value;this.head=this.head.next,items[i]=value}return this.remaining-=len,unsafeFromArray(items)}takeAll(){return this.takeN(this.remaining)}}var emptyReplayWindow={remaining:0,take:()=>{return},takeN:()=>empty5(),takeAll:()=>empty5()};var ChildExecutorDecisionSymbolKey="effect/ChannelChildExecutorDecision",ChildExecutorDecisionTypeId=Symbol.for(ChildExecutorDecisionSymbolKey),proto4={[ChildExecutorDecisionTypeId]:ChildExecutorDecisionTypeId};var UpstreamPullStrategySymbolKey="effect/ChannelUpstreamPullStrategy",UpstreamPullStrategyTypeId=Symbol.for(UpstreamPullStrategySymbolKey),upstreamPullStrategyVariance={_A:(_)=>_},proto5={[UpstreamPullStrategyTypeId]:upstreamPullStrategyVariance};var ChannelSymbolKey="effect/Channel",ChannelTypeId2=Symbol.for(ChannelSymbolKey),channelVariance2={_Env:(_)=>_,_InErr:(_)=>_,_InElem:(_)=>_,_InDone:(_)=>_,_OutErr:(_)=>_,_OutElem:(_)=>_,_OutDone:(_)=>_},proto6={[ChannelTypeId2]:channelVariance2,pipe(){return pipeArguments(this,arguments)}};var ChannelStateTypeId=Symbol.for("effect/ChannelState"),channelStateVariance={_E:(_)=>_,_R:(_)=>_},proto7={[ChannelStateTypeId]:channelStateVariance};var UpstreamPullRequestSymbolKey="effect/ChannelUpstreamPullRequest",UpstreamPullRequestTypeId=Symbol.for(UpstreamPullRequestSymbolKey),upstreamPullRequestVariance={_A:(_)=>_},proto8={[UpstreamPullRequestTypeId]:upstreamPullRequestVariance};var MergeDecisionSymbolKey="effect/ChannelMergeDecision",MergeDecisionTypeId=Symbol.for(MergeDecisionSymbolKey),proto9={[MergeDecisionTypeId]:{_R:(_)=>_,_E0:(_)=>_,_Z0:(_)=>_,_E:(_)=>_,_Z:(_)=>_}};var MergeStateSymbolKey="effect/ChannelMergeState",MergeStateTypeId=Symbol.for(MergeStateSymbolKey),proto10={[MergeStateTypeId]:MergeStateTypeId};var MergeStrategySymbolKey="effect/ChannelMergeStrategy",MergeStrategyTypeId=Symbol.for(MergeStrategySymbolKey),proto11={[MergeStrategyTypeId]:MergeStrategyTypeId};var SinkTypeId2=Symbol.for("effect/Sink");class Versioned{value;constructor(value){this.value=value}}var make46=(ref,isNew)=>({ref,isNew,isChanged:!1,expected:ref.versioned,newValue:ref.versioned.value}),unsafeGet7=(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),isRunning3=(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(fail3(tExit.error));case OP_DIE3:return done8(die3(tExit.defect));case OP_INTERRUPT3:return done8(interrupt4(tExit.fiberId));case OP_SUCCEED3:return done8(succeed2(tExit.value));case OP_RETRY2:throw new 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),variance8={_A:(_)=>_,_E:(_)=>_},isExit=(u)=>hasProperty(u,TExitTypeId);var isSuccess4=(self)=>{return self._tag===OP_SUCCEED3},isRetry=(self)=>{return self._tag===OP_RETRY2},fail11=(error)=>({[TExitTypeId]:variance8,_tag:OP_FAIL5,error,[symbol](){return pipe(hash(TExitSymbolKey),combine(hash(OP_FAIL5)),combine(hash(error)),cached(this))},[symbol2](that){return isExit(that)&&that._tag===OP_FAIL5&&equals(error,that.error)}}),die8=(defect)=>({[TExitTypeId]:variance8,_tag:OP_DIE3,defect,[symbol](){return pipe(hash(TExitSymbolKey),combine(hash(OP_DIE3)),combine(hash(defect)),cached(this))},[symbol2](that){return isExit(that)&&that._tag===OP_DIE3&&equals(defect,that.defect)}}),interrupt8=(fiberId3)=>({[TExitTypeId]:variance8,_tag:OP_INTERRUPT3,fiberId:fiberId3,[symbol](){return pipe(hash(TExitSymbolKey),combine(hash(OP_INTERRUPT3)),combine(hash(fiberId3)),cached(this))},[symbol2](that){return isExit(that)&&that._tag===OP_INTERRUPT3&&equals(fiberId3,that.fiberId)}}),succeed12=(value)=>({[TExitTypeId]:variance8,_tag:OP_SUCCEED3,value,[symbol](){return pipe(hash(TExitSymbolKey),combine(hash(OP_SUCCEED3)),combine(hash(value)),cached(this))},[symbol2](that){return isExit(that)&&that._tag===OP_SUCCEED3&&equals(value,that.value)}}),retryHash=pipe(hash(TExitSymbolKey),combine(hash(OP_RETRY2)),combine(hash("retry"))),retry4={[TExitTypeId]:variance8,_tag:OP_RETRY2,[symbol](){return retryHash},[symbol2](that){return isExit(that)&&isRetry(that)}};var done9=(exit3)=>{return{_tag:OP_DONE5,exit:exit3}},suspend6=(journal)=>{return{_tag:OP_SUSPEND3,journal}};var txnCounter={ref:0},make47=()=>{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=make47(),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(isRunning3(currentState))state2.value=interrupted2;if(currentState=state2.value,isDone6(currentState))return onDone(currentState.exit),currentState.exit;return onInterrupt3(),failCause7(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 new 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(succeed2(tExit.value),journal,scheduler,priority);case OP_FAIL5:{state.value=fromTExit(tExit);let cause3=fail4(tExit.error);return completeTodos(failCause2(cause3),journal,scheduler,priority)}case OP_DIE3:{state.value=fromTExit(tExit);let cause3=die4(tExit.defect);return completeTodos(failCause2(cause3),journal,scheduler,priority)}case OP_INTERRUPT3:{state.value=fromTExit(tExit);let cause3=interrupt5(fiberId3);return completeTodos(failCause2(cause3),journal,scheduler,priority)}case OP_RETRY2:return suspend6(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 new 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(succeed2(tExit.value),journal,scheduler,priority);case OP_FAIL5:{let cause3=fail4(tExit.error);return completeTodos(failCause2(cause3),journal,scheduler,priority)}case OP_DIE3:{let cause3=die4(tExit.defect);return completeTodos(failCause2(cause3),journal,scheduler,priority)}case OP_INTERRUPT3:{let cause3=interrupt5(fiberId3);return completeTodos(failCause2(cause3),journal,scheduler,priority)}case OP_RETRY2:return suspend6(journal)}},tryCommitAsync=(fiberId3,self,txnId,state,context5,scheduler,priority,k)=>{if(isRunning3(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)=>unsafeGet3(env,current));break}case"Left":{curr=fail12(current.left);break}case"None":{curr=fail12(new NoSuchElementException2);break}case"Right":{curr=succeed13(current.right);break}case"Some":{curr=succeed13(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=fail11(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,ensuring5(sync7(()=>this.env=env)));break}case OP_SUCCEED2:{let value=current.effect_instruction_i1,cont=this.nextSuccess();if(cont===void 0)exit3=succeed12(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=succeed12(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((_)=>succeed13(f(_.journal,_.fiberId,_.getEnv()))),ensuring5=dual(2,(self,finalizer)=>matchSTM(self,{onFailure:(e)=>zipRight6(finalizer,fail12(e)),onSuccess:(a)=>zipRight6(finalizer,succeed13(a))})),fail12=(error)=>failSync6(()=>error),failSync6=(evaluate2)=>{let stm=new STMPrimitive(OP_FAIL4);return stm.effect_instruction_i1=evaluate2,stm},flatMap13=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,map19(right2),catchAll6((e)=>pipe(onFailure(e),map19(left2))),flatMap13((either5)=>{switch(either5._tag){case"Left":return succeed13(either5.left);case"Right":return onSuccess(either5.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},map19=dual(2,(self,f)=>pipe(self,flatMap13((a)=>sync7(()=>f(a)))));var retry5=new STMPrimitive(OP_RETRY),succeed13=(value)=>{let stm=new STMPrimitive(OP_SUCCEED2);return stm.effect_instruction_i1=value,stm},sync7=(evaluate2)=>{let stm=new STMPrimitive(OP_SYNC2);return stm.effect_instruction_i1=evaluate2,stm};var zipRight6=dual(2,(self,that)=>pipe(self,flatMap13(()=>that))),zipWith9=dual(3,(self,that,f)=>pipe(self,flatMap13((a)=>pipe(that,map19((b)=>f(a,b))))));var OP_BACKPRESSURE_STRATEGY="BackPressure",OP_DROPPING_STRATEGY="Dropping",OP_SLIDING_STRATEGY="Sliding";var flatten11=(self)=>flatMap13(self,identity);var forEach9=dual((args2)=>isIterable(args2[0]),(iterable,f,options)=>{if(options?.discard)return pipe(sync7(()=>iterable[Symbol.iterator]()),flatMap13((iterator)=>{let loop3=suspend7(()=>{let next4=iterator.next();if(next4.done)return void_6;return pipe(f(next4.value),flatMap13(()=>loop3))});return loop3}));return suspend7(()=>fromIterable(iterable).reduce((acc,curr)=>zipWith9(acc,f(curr),(array5,elem)=>{return array5.push(elem),array5}),succeed13([])))});var suspend7=(evaluate2)=>flatten11(sync7(evaluate2));var void_6=succeed13(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(unsafeGet7(entry));return unsafeSet(entry,newValue),retValue})}pipe(){return pipeArguments(this,arguments)}}var getOrMakeEntry=(self,journal)=>{if(journal.has(self))return journal.get(self);let entry=make46(self,!1);return journal.set(self,entry),entry},unsafeGet8=dual(2,(self,journal)=>unsafeGet7(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=unsafeGet8(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);return succeed13(queue.length)});isFull=map19(this.size,(size14)=>size14===this.requestedCapacity);isEmpty=map19(this.size,(size14)=>size14===0);shutdown=withSTMRuntime((runtime4)=>{return unsafeSet2(this.ref,void 0,runtime4.journal),void_6});isShutdown=effect3((journal)=>{return unsafeGet8(this.ref,journal)===void 0});awaitShutdown=flatMap13(this.isShutdown,(isShutdown3)=>isShutdown3?void_6:retry5);offer(value){return withSTMRuntime((runtime4)=>{let queue=pipe(this.ref,unsafeGet8(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),succeed13(!0);switch(this.strategy._tag){case OP_BACKPRESSURE_STRATEGY:return retry5;case OP_DROPPING_STRATEGY:return succeed13(!1);case OP_SLIDING_STRATEGY:{if(queue.length===0)return succeed13(!0);return queue.shift(),queue.push(value),unsafeSet2(this.ref,queue,runtime4.journal),succeed13(!0)}}})}offerAll(iterable){return withSTMRuntime((runtime4)=>{let as6=Array.from(iterable),queue=unsafeGet8(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);if(queue.length+as6.length<=this.requestedCapacity)return unsafeSet2(this.ref,[...queue,...as6],runtime4.journal),succeed13(!0);switch(this.strategy._tag){case OP_BACKPRESSURE_STRATEGY:return retry5;case OP_DROPPING_STRATEGY:{let forQueue=as6.slice(0,this.requestedCapacity-queue.length);return unsafeSet2(this.ref,[...queue,...forQueue],runtime4.journal),succeed13(!1)}case OP_SLIDING_STRATEGY:{let forQueue=as6.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),succeed13(!0)}}})}peek=withSTMRuntime((runtime4)=>{let queue=unsafeGet8(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);if(queue.length===0)return retry5;return succeed13(queue[0])});peekOption=withSTMRuntime((runtime4)=>{let queue=unsafeGet8(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);return succeed13(fromNullable(queue[0]))});take=withSTMRuntime((runtime4)=>{let queue=unsafeGet8(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),succeed13(dequeued)});takeAll=withSTMRuntime((runtime4)=>{let queue=unsafeGet8(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);return unsafeSet2(this.ref,[],runtime4.journal),succeed13(queue)});takeUpTo(max5){return withSTMRuntime((runtime4)=>{let queue=unsafeGet8(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);let[toTake,remaining]=splitAt2(unsafeFromArray(queue),max5);return unsafeSet2(this.ref,Array.from(remaining),runtime4.journal),succeed13(Array.from(toTake))})}}var TPubSubSymbolKey="effect/TPubSub",TPubSubTypeId=Symbol.for(TPubSubSymbolKey),AbsentValue2=Symbol.for("effect/TPubSub/AbsentValue"),makeNode2=(head5,subscribers,tail)=>({head:head5,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 unsafeGet8(this.publisherTail,journal)===void 0});awaitShutdown=flatMap13(this.isShutdown,(isShutdown3)=>isShutdown3?void_6:retry5);capacity(){return this.requestedCapacity}size=withSTMRuntime((runtime4)=>{if(unsafeGet8(this.publisherTail,runtime4.journal)===void 0)return interruptAs2(runtime4.fiberId);return succeed13(unsafeGet8(this.pubsubSize,runtime4.journal))});isEmpty=map19(this.size,(size14)=>size14===0);isFull=map19(this.size,(size14)=>size14===this.capacity());offer(value){return withSTMRuntime((runtime4)=>{let currentPublisherTail=unsafeGet8(this.publisherTail,runtime4.journal);if(currentPublisherTail===void 0)return interruptAs2(runtime4.fiberId);let currentSubscriberCount=unsafeGet8(this.subscriberCount,runtime4.journal);if(currentSubscriberCount===0)return succeed13(!0);let currentPubSubSize=unsafeGet8(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),succeed13(!0)}switch(this.strategy._tag){case OP_BACKPRESSURE_STRATEGY:return retry5;case OP_DROPPING_STRATEGY:return succeed13(!1);case OP_SLIDING_STRATEGY:{if(this.requestedCapacity>0){let currentPublisherHead=unsafeGet8(this.publisherHead,runtime4.journal),loop3=!0;while(loop3){let node=unsafeGet8(currentPublisherHead,runtime4.journal);if(node===void 0)return retry5;let{head:head5,tail}=node;if(head5!==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),succeed13(!0)}}})}offerAll(iterable){return map19(forEach9(iterable,(a)=>this.offer(a)),every(identity))}shutdown=effect3((journal)=>{if(unsafeGet8(this.publisherTail,journal)!==void 0){unsafeSet2(this.publisherTail,void 0,journal);let currentSubscribers=unsafeGet8(this.subscribers,journal);forEach3(currentSubscribers,(subscriber)=>{unsafeSet2(subscriber,void 0,journal)}),unsafeSet2(this.subscribers,empty8(),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 unsafeGet8(this.subscriberHead,journal)===void 0});awaitShutdown=flatMap13(this.isShutdown,(isShutdown3)=>isShutdown3?void_6:retry5);capacity(){return this.requestedCapacity}size=withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet8(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let loop3=!0,size14=0;while(loop3){let node=unsafeGet8(currentSubscriberHead,runtime4.journal);if(node===void 0)loop3=!1;else{let{head:head5,tail}=node;if(head5!==AbsentValue2){if(size14=size14+1,size14>=Number.MAX_SAFE_INTEGER)loop3=!1}currentSubscriberHead=tail}}return succeed13(size14)});isEmpty=map19(this.size,(size14)=>size14===0);isFull=map19(this.size,(size14)=>size14===this.capacity());peek=withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet8(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let value=AbsentValue2,loop3=!0;while(loop3){let node=unsafeGet8(currentSubscriberHead,runtime4.journal);if(node===void 0)return retry5;let{head:head5,tail}=node;if(head5!==AbsentValue2)value=head5,loop3=!1;else currentSubscriberHead=tail}return succeed13(value)});peekOption=withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet8(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let value=none2(),loop3=!0;while(loop3){let node=unsafeGet8(currentSubscriberHead,runtime4.journal);if(node===void 0)value=none2(),loop3=!1;else{let{head:head5,tail}=node;if(head5!==AbsentValue2)value=some2(head5),loop3=!1;else currentSubscriberHead=tail}}return succeed13(value)});shutdown=effect3((journal)=>{let currentSubscriberHead=unsafeGet8(this.subscriberHead,journal);if(currentSubscriberHead!==void 0){unsafeSet2(this.subscriberHead,void 0,journal);let loop3=!0;while(loop3){let node=unsafeGet8(currentSubscriberHead,journal);if(node===void 0)loop3=!1;else{let{head:head5,tail}=node;if(head5!==AbsentValue2){let subscribers=node.subscribers;if(subscribers===1){let size14=unsafeGet8(this.pubsubSize,journal),updatedNode=makeNode2(AbsentValue2,0,tail);unsafeSet2(currentSubscriberHead,updatedNode,journal),unsafeSet2(this.publisherHead,tail,journal),unsafeSet2(this.pubsubSize,size14-1,journal)}else{let updatedNode=makeNode2(head5,subscribers-1,tail);unsafeSet2(currentSubscriberHead,updatedNode,journal)}}currentSubscriberHead=tail}}let currentSubscriberCount=unsafeGet8(this.subscriberCount,journal);unsafeSet2(this.subscriberCount,currentSubscriberCount-1,journal),unsafeSet2(this.subscribers,remove4(unsafeGet8(this.subscribers,journal),this.subscriberHead),journal)}});take=withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet8(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let value=AbsentValue2,loop3=!0;while(loop3){let node=unsafeGet8(currentSubscriberHead,runtime4.journal);if(node===void 0)return retry5;let{head:head5,tail}=node;if(head5!==AbsentValue2){let subscribers=node.subscribers;if(subscribers===1){let size14=unsafeGet8(this.pubsubSize,runtime4.journal),updatedNode=makeNode2(AbsentValue2,0,tail);unsafeSet2(currentSubscriberHead,updatedNode,runtime4.journal),unsafeSet2(this.publisherHead,tail,runtime4.journal),unsafeSet2(this.pubsubSize,size14-1,runtime4.journal)}else{let updatedNode=makeNode2(head5,subscribers-1,tail);unsafeSet2(currentSubscriberHead,updatedNode,runtime4.journal)}unsafeSet2(this.subscriberHead,tail,runtime4.journal),value=head5,loop3=!1}else currentSubscriberHead=tail}return succeed13(value)});takeAll=this.takeUpTo(Number.POSITIVE_INFINITY);takeUpTo(max5){return withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet8(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let builder=[],n=0;while(n!==max5){let node=unsafeGet8(currentSubscriberHead,runtime4.journal);if(node===void 0)n=max5;else{let{head:head5,tail}=node;if(head5!==AbsentValue2){let subscribers=node.subscribers;if(subscribers===1){let size14=unsafeGet8(this.pubsubSize,runtime4.journal),updatedNode=makeNode2(AbsentValue2,0,tail);unsafeSet2(currentSubscriberHead,updatedNode,runtime4.journal),unsafeSet2(this.publisherHead,tail,runtime4.journal),unsafeSet2(this.pubsubSize,size14-1,runtime4.journal)}else{let updatedNode=makeNode2(head5,subscribers-1,tail);unsafeSet2(currentSubscriberHead,updatedNode,runtime4.journal)}builder.push(head5),n=n+1}currentSubscriberHead=tail}}return unsafeSet2(this.subscriberHead,currentSubscriberHead,runtime4.journal),succeed13(builder)})}}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);var SecretSymbolKey="effect/Secret",SecretTypeId=Symbol.for(SecretSymbolKey);var SecretProto={...proto12,[SecretTypeId]:SecretTypeId};var ConfigSymbolKey="effect/Config",ConfigTypeId=Symbol.for(ConfigSymbolKey),configVariance={_A:(_)=>_},proto13={...CommitPrototype,[ConfigTypeId]:configVariance,commit(){return config(this)}};var TypeId20=Symbol.for("effect/FiberHandle");var Proto3={[TypeId20]:TypeId20,toString(){return format(this.toJSON())},toJSON(){return{_id:"FiberHandle",state:this.state}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};var TypeId21=Symbol.for("effect/FiberMap");var Proto4={[TypeId21]:TypeId21,[Symbol.iterator](){if(this.state._tag==="Closed")return empty();return this.state.backing[Symbol.iterator]()},toString(){return format(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};var TypeId22=Symbol.for("effect/FiberSet");var Proto5={[TypeId22]:TypeId22,[Symbol.iterator](){if(this.state._tag==="Closed")return empty();return this.state.backing[Symbol.iterator]()},toString(){return format(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};class Pointer{path;actual;issue;_tag="Pointer";constructor(path,actual,issue){this.path=path,this.actual=actual,this.issue=issue}}class Unexpected{actual;message;_tag="Unexpected";constructor(actual,message){this.actual=actual,this.message=message}}class Missing{ast;message;_tag="Missing";actual=void 0;constructor(ast,message){this.ast=ast,this.message=message}}class Composite2{ast;actual;issues;output;_tag="Composite";constructor(ast,actual,issues,output){this.ast=ast,this.actual=actual,this.issues=issues,this.output=output}}class Refinement2{ast;actual;kind;issue;_tag="Refinement";constructor(ast,actual,kind,issue){this.ast=ast,this.actual=actual,this.kind=kind,this.issue=issue}}class Transformation{ast;actual;kind;issue;_tag="Transformation";constructor(ast,actual,kind,issue){this.ast=ast,this.actual=actual,this.kind=kind,this.issue=issue}}class Type2{ast;actual;message;_tag="Type";constructor(ast,actual,message){this.ast=ast,this.actual=actual,this.message=message}}class Forbidden{ast;actual;message;_tag="Forbidden";constructor(ast,actual,message){this.ast=ast,this.actual=actual,this.message=message}}var ParseErrorTypeId=Symbol.for("effect/Schema/ParseErrorTypeId");class ParseError extends TaggedError("ParseError"){[ParseErrorTypeId]=ParseErrorTypeId;get message(){return this.toString()}toString(){return TreeFormatter.formatIssueSync(this.issue)}toJSON(){return{_id:"ParseError",message:this.toString()}}[NodeInspectSymbol](){return this.toJSON()}}var parseError=(issue)=>new ParseError({issue}),succeed15=right2,fail16=left2;var isEither4=isEither2,flatMap16=dual(2,(self,f)=>{return isEither4(self)?match(self,{onLeft:left2,onRight:f}):flatMap10(self,f)}),map23=dual(2,(self,f)=>{return isEither4(self)?map(self,f):map13(self,f)}),mapError6=dual(2,(self,f)=>{return isEither4(self)?mapLeft(self,f):mapError3(self,f)});var orElse10=dual(2,(self,f)=>{return isEither4(self)?match(self,{onLeft:f,onRight:right2}):catchAll3(self,f)}),mergeInternalOptions=(options,overrideOptions)=>{if(overrideOptions===void 0||isNumber(overrideOptions))return options;if(options===void 0)return overrideOptions;return{...options,...overrideOptions}},getEither=(ast,isDecoding,options)=>{let parser=goMemo(ast,isDecoding);return(u,overrideOptions)=>parser(u,mergeInternalOptions(options,overrideOptions))},getSync=(ast,isDecoding,options)=>{let parser=getEither(ast,isDecoding,options);return(input,overrideOptions)=>getOrThrowWith(parser(input,overrideOptions),parseError)};var validateSync=(schema,options)=>getSync(typeAST(schema.ast),!0,options);var decodeMemoMap=globalValue(Symbol.for("effect/ParseResult/decodeMemoMap"),()=>new WeakMap),encodeMemoMap=globalValue(Symbol.for("effect/ParseResult/encodeMemoMap"),()=>new WeakMap),goMemo=(ast,isDecoding)=>{let memoMap=isDecoding?decodeMemoMap:encodeMemoMap,memo=memoMap.get(ast);if(memo)return memo;let raw=go(ast,isDecoding),parseOptionsAnnotation=getParseOptionsAnnotation(ast),parserWithOptions=isSome2(parseOptionsAnnotation)?(i,options)=>raw(i,mergeInternalOptions(options,parseOptionsAnnotation.value)):raw,decodingFallbackAnnotation=getDecodingFallbackAnnotation(ast),parser=isDecoding&&isSome2(decodingFallbackAnnotation)?(i,options)=>handleForbidden(orElse10(parserWithOptions(i,options),decodingFallbackAnnotation.value),ast,i,options):parserWithOptions;return memoMap.set(ast,parser),parser},getConcurrency=(ast)=>getOrUndefined(getConcurrencyAnnotation(ast)),getBatching=(ast)=>getOrUndefined(getBatchingAnnotation(ast)),go=(ast,isDecoding)=>{switch(ast._tag){case"Refinement":if(isDecoding){let from=goMemo(ast.from,!0);return(i,options)=>{options=options??defaultParseOption;let allErrors=options?.errors==="all",result=flatMap16(orElse10(from(i,options),(ef)=>{let issue=new Refinement2(ast,i,"From",ef);if(allErrors&&hasStableFilter(ast)&&isComposite2(ef))return match2(ast.filter(i,options,ast),{onNone:()=>left2(issue),onSome:(ep)=>left2(new Composite2(ast,i,[issue,new Refinement2(ast,i,"Predicate",ep)]))});return left2(issue)}),(a)=>match2(ast.filter(a,options,ast),{onNone:()=>right2(a),onSome:(ep)=>left2(new Refinement2(ast,i,"Predicate",ep))}));return handleForbidden(result,ast,i,options)}}else{let from=goMemo(typeAST(ast),!0),to=goMemo(dropRightRefinement(ast.from),!1);return(i,options)=>handleForbidden(flatMap16(from(i,options),(a)=>to(a,options)),ast,i,options)}case"Transformation":{let transform2=getFinalTransformation(ast.transformation,isDecoding),from=isDecoding?goMemo(ast.from,!0):goMemo(ast.to,!1),to=isDecoding?goMemo(ast.to,!0):goMemo(ast.from,!1);return(i,options)=>handleForbidden(flatMap16(mapError6(from(i,options),(e)=>new Transformation(ast,i,isDecoding?"Encoded":"Type",e)),(a)=>flatMap16(mapError6(transform2(a,options??defaultParseOption,ast,i),(e)=>new Transformation(ast,i,"Transformation",e)),(i2)=>mapError6(to(i2,options),(e)=>new Transformation(ast,i,isDecoding?"Type":"Encoded",e)))),ast,i,options)}case"Declaration":{let parse2=isDecoding?ast.decodeUnknown(...ast.typeParameters):ast.encodeUnknown(...ast.typeParameters);return(i,options)=>handleForbidden(parse2(i,options??defaultParseOption,ast),ast,i,options)}case"Literal":return fromRefinement(ast,(u)=>u===ast.literal);case"UniqueSymbol":return fromRefinement(ast,(u)=>u===ast.symbol);case"UndefinedKeyword":return fromRefinement(ast,isUndefined);case"NeverKeyword":return fromRefinement(ast,isNever);case"UnknownKeyword":case"AnyKeyword":case"VoidKeyword":return right2;case"StringKeyword":return fromRefinement(ast,isString);case"NumberKeyword":return fromRefinement(ast,isNumber);case"BooleanKeyword":return fromRefinement(ast,isBoolean);case"BigIntKeyword":return fromRefinement(ast,isBigInt);case"SymbolKeyword":return fromRefinement(ast,isSymbol);case"ObjectKeyword":return fromRefinement(ast,isObject);case"Enums":return fromRefinement(ast,(u)=>ast.enums.some(([_,value])=>value===u));case"TemplateLiteral":{let regex=getTemplateLiteralRegExp(ast);return fromRefinement(ast,(u)=>isString(u)&®ex.test(u))}case"TupleType":{let elements=ast.elements.map((e)=>goMemo(e.type,isDecoding)),rest=ast.rest.map((annotatedAST)=>goMemo(annotatedAST.type,isDecoding)),requiredTypes=ast.elements.filter((e)=>!e.isOptional);if(ast.rest.length>0)requiredTypes=requiredTypes.concat(ast.rest.slice(1));let requiredLen=requiredTypes.length,expectedIndexes=ast.elements.length>0?ast.elements.map((_,i)=>i).join(" | "):"never",concurrency=getConcurrency(ast),batching=getBatching(ast);return(input,options)=>{if(!isArray(input))return left2(new Type2(ast,input));let allErrors=options?.errors==="all",es=[],stepKey=0,output=[],len=input.length;for(let i2=len;i2<=requiredLen-1;i2++){let e=new Pointer(i2,input,new Missing(requiredTypes[i2-len]));if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,output))}if(ast.rest.length===0)for(let i2=ast.elements.length;i2<=len-1;i2++){let e=new Pointer(i2,input,new Unexpected(input[i2],`is unexpected, expected: ${expectedIndexes}`));if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,output))}let i=0,queue=void 0;for(;i<elements.length;i++)if(len<i+1){if(ast.elements[i].isOptional)continue}else{let parser=elements[i],te=parser(input[i],options);if(isEither4(te)){if(isLeft2(te)){let e=new Pointer(i,input,te.left);if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,sortByIndex(output)))}output.push([stepKey++,te.right])}else{let nk=stepKey++,index=i;if(!queue)queue=[];queue.push(({es:es2,output:output2})=>flatMap10(either3(te),(t)=>{if(isLeft2(t)){let e=new Pointer(index,input,t.left);if(allErrors)return es2.push([nk,e]),_void;else return left2(new Composite2(ast,input,e,sortByIndex(output2)))}return output2.push([nk,t.right]),_void}))}}if(isNonEmptyReadonlyArray(rest)){let[head6,...tail]=rest;for(;i<len-tail.length;i++){let te=head6(input[i],options);if(isEither4(te))if(isLeft2(te)){let e=new Pointer(i,input,te.left);if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,sortByIndex(output)))}else output.push([stepKey++,te.right]);else{let nk=stepKey++,index=i;if(!queue)queue=[];queue.push(({es:es2,output:output2})=>flatMap10(either3(te),(t)=>{if(isLeft2(t)){let e=new Pointer(index,input,t.left);if(allErrors)return es2.push([nk,e]),_void;else return left2(new Composite2(ast,input,e,sortByIndex(output2)))}else return output2.push([nk,t.right]),_void}))}}for(let j=0;j<tail.length;j++)if(i+=j,len<i+1)continue;else{let te=tail[j](input[i],options);if(isEither4(te)){if(isLeft2(te)){let e=new Pointer(i,input,te.left);if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,sortByIndex(output)))}output.push([stepKey++,te.right])}else{let nk=stepKey++,index=i;if(!queue)queue=[];queue.push(({es:es2,output:output2})=>flatMap10(either3(te),(t)=>{if(isLeft2(t)){let e=new Pointer(index,input,t.left);if(allErrors)return es2.push([nk,e]),_void;else return left2(new Composite2(ast,input,e,sortByIndex(output2)))}return output2.push([nk,t.right]),_void}))}}}let computeResult=({es:es2,output:output2})=>isNonEmptyArray2(es2)?left2(new Composite2(ast,input,sortByIndex(es2),sortByIndex(output2))):right2(sortByIndex(output2));if(queue&&queue.length>0){let cqueue=queue;return suspend3(()=>{let state={es:copy(es),output:copy(output)};return flatMap10(forEach8(cqueue,(f)=>f(state),{concurrency,batching,discard:!0}),()=>computeResult(state))})}return computeResult({output,es})}}case"TypeLiteral":{if(ast.propertySignatures.length===0&&ast.indexSignatures.length===0)return fromRefinement(ast,isNotNullable);let propertySignatures=[],expectedKeysMap={},expectedKeys=[];for(let ps of ast.propertySignatures)propertySignatures.push([goMemo(ps.type,isDecoding),ps]),expectedKeysMap[ps.name]=null,expectedKeys.push(ps.name);let indexSignatures=ast.indexSignatures.map((is)=>[goMemo(is.parameter,isDecoding),goMemo(is.type,isDecoding),is.parameter]),expectedAST=Union.make(ast.indexSignatures.map((is)=>is.parameter).concat(expectedKeys.map((key)=>isSymbol(key)?new UniqueSymbol(key):new Literal(key)))),expected=goMemo(expectedAST,isDecoding),concurrency=getConcurrency(ast),batching=getBatching(ast);return(input,options)=>{if(!isRecord(input))return left2(new Type2(ast,input));let allErrors=options?.errors==="all",es=[],stepKey=0,onExcessPropertyError=options?.onExcessProperty==="error",onExcessPropertyPreserve=options?.onExcessProperty==="preserve",output={},inputKeys;if(onExcessPropertyError||onExcessPropertyPreserve){inputKeys=ownKeys(input);for(let key of inputKeys){let te=expected(key,options);if(isEither4(te)&&isLeft2(te))if(onExcessPropertyError){let e=new Pointer(key,input,new Unexpected(input[key],`is unexpected, expected: ${String(expectedAST)}`));if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,output))}else output[key]=input[key]}}let queue=void 0,isExact=options?.exact===!0;for(let i=0;i<propertySignatures.length;i++){let ps=propertySignatures[i][1],name=ps.name,hasKey=Object.prototype.hasOwnProperty.call(input,name);if(!hasKey){if(ps.isOptional)continue;else if(isExact){let e=new Pointer(name,input,new Missing(ps));if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,output))}}let parser=propertySignatures[i][0],te=parser(input[name],options);if(isEither4(te)){if(isLeft2(te)){let e=new Pointer(name,input,hasKey?te.left:new Missing(ps));if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,output))}output[name]=te.right}else{let nk=stepKey++,index=name;if(!queue)queue=[];queue.push(({es:es2,output:output2})=>flatMap10(either3(te),(t)=>{if(isLeft2(t)){let e=new Pointer(index,input,hasKey?t.left:new Missing(ps));if(allErrors)return es2.push([nk,e]),_void;else return left2(new Composite2(ast,input,e,output2))}return output2[index]=t.right,_void}))}}for(let i=0;i<indexSignatures.length;i++){let indexSignature=indexSignatures[i],parameter=indexSignature[0],type=indexSignature[1],keys5=getKeysForIndexSignature(input,indexSignature[2]);for(let key of keys5){let keu=parameter(key,options);if(isEither4(keu)&&isRight2(keu)){let vpr=type(input[key],options);if(isEither4(vpr)){if(isLeft2(vpr)){let e=new Pointer(key,input,vpr.left);if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,output))}else if(!Object.prototype.hasOwnProperty.call(expectedKeysMap,key))output[key]=vpr.right}else{let nk=stepKey++,index=key;if(!queue)queue=[];queue.push(({es:es2,output:output2})=>flatMap10(either3(vpr),(tv)=>{if(isLeft2(tv)){let e=new Pointer(index,input,tv.left);if(allErrors)return es2.push([nk,e]),_void;else return left2(new Composite2(ast,input,e,output2))}else{if(!Object.prototype.hasOwnProperty.call(expectedKeysMap,key))output2[key]=tv.right;return _void}}))}}}}let computeResult=({es:es2,output:output2})=>{if(isNonEmptyArray2(es2))return left2(new Composite2(ast,input,sortByIndex(es2),output2));if(options?.propertyOrder==="original"){let keys5=inputKeys||ownKeys(input);for(let name of expectedKeys)if(keys5.indexOf(name)===-1)keys5.push(name);let out={};for(let key of keys5)if(Object.prototype.hasOwnProperty.call(output2,key))out[key]=output2[key];return right2(out)}return right2(output2)};if(queue&&queue.length>0){let cqueue=queue;return suspend3(()=>{let state={es:copy(es),output:Object.assign({},output)};return flatMap10(forEach8(cqueue,(f)=>f(state),{concurrency,batching,discard:!0}),()=>computeResult(state))})}return computeResult({es,output})}}case"Union":{let searchTree=getSearchTree(ast.types,isDecoding),ownKeys2=ownKeys(searchTree.keys),ownKeysLen=ownKeys2.length,astTypesLen=ast.types.length,map24=new Map;for(let i=0;i<astTypesLen;i++)map24.set(ast.types[i],goMemo(ast.types[i],isDecoding));let concurrency=getConcurrency(ast)??1,batching=getBatching(ast);return(input,options)=>{let es=[],stepKey=0,candidates=[];if(ownKeysLen>0)if(isRecordOrArray(input))for(let i=0;i<ownKeysLen;i++){let name=ownKeys2[i],buckets=searchTree.keys[name].buckets;if(Object.prototype.hasOwnProperty.call(input,name)){let literal2=String(input[name]);if(Object.prototype.hasOwnProperty.call(buckets,literal2))candidates=candidates.concat(buckets[literal2]);else{let{candidates:candidates2,literals}=searchTree.keys[name],literalsUnion=Union.make(literals),errorAst=candidates2.length===astTypesLen?new TypeLiteral([new PropertySignature(name,literalsUnion,!1,!0)],[]):Union.make(candidates2);es.push([stepKey++,new Composite2(errorAst,input,new Pointer(name,input,new Type2(literalsUnion,input[name])))])}}else{let{candidates:candidates2,literals}=searchTree.keys[name],fakePropertySignature=new PropertySignature(name,Union.make(literals),!1,!0),errorAst=candidates2.length===astTypesLen?new TypeLiteral([fakePropertySignature],[]):Union.make(candidates2);es.push([stepKey++,new Composite2(errorAst,input,new Pointer(name,input,new Missing(fakePropertySignature)))])}}else{let errorAst=searchTree.candidates.length===astTypesLen?ast:Union.make(searchTree.candidates);es.push([stepKey++,new Type2(errorAst,input)])}if(searchTree.otherwise.length>0)candidates=candidates.concat(searchTree.otherwise);let queue=void 0;for(let i=0;i<candidates.length;i++){let candidate=candidates[i],pr=map24.get(candidate)(input,options);if(isEither4(pr)&&(!queue||queue.length===0))if(isRight2(pr))return pr;else es.push([stepKey++,pr.left]);else{let nk=stepKey++;if(!queue)queue=[];queue.push((state)=>suspend3(()=>{if("finalResult"in state)return _void;else return flatMap10(either3(pr),(t)=>{if(isRight2(t))state.finalResult=t;else state.es.push([nk,t.left]);return _void})}))}}let computeResult=(es2)=>isNonEmptyArray2(es2)?es2.length===1&&es2[0][1]._tag==="Type"?left2(es2[0][1]):left2(new Composite2(ast,input,sortByIndex(es2))):left2(new Type2(ast,input));if(queue&&queue.length>0){let cqueue=queue;return suspend3(()=>{let state={es:copy(es)};return flatMap10(forEach8(cqueue,(f)=>f(state),{concurrency,batching,discard:!0}),()=>{if("finalResult"in state)return state.finalResult;return computeResult(state.es)})})}return computeResult(es)}}case"Suspend":{let get17=memoizeThunk(()=>goMemo(annotations(ast.f(),ast.annotations),isDecoding));return(a,options)=>get17()(a,options)}}},fromRefinement=(ast,refinement)=>(u)=>refinement(u)?right2(u):left2(new Type2(ast,u)),getLiterals=(ast,isDecoding)=>{switch(ast._tag){case"Declaration":{let annotation=getSurrogateAnnotation(ast);if(isSome2(annotation))return getLiterals(annotation.value,isDecoding);break}case"TypeLiteral":{let out=[];for(let i=0;i<ast.propertySignatures.length;i++){let propertySignature=ast.propertySignatures[i],type=isDecoding?encodedAST(propertySignature.type):typeAST(propertySignature.type);if(isLiteral(type)&&!propertySignature.isOptional)out.push([propertySignature.name,type])}return out}case"TupleType":{let out=[];for(let i=0;i<ast.elements.length;i++){let element=ast.elements[i],type=isDecoding?encodedAST(element.type):typeAST(element.type);if(isLiteral(type)&&!element.isOptional)out.push([i,type])}return out}case"Refinement":return getLiterals(ast.from,isDecoding);case"Suspend":return getLiterals(ast.f(),isDecoding);case"Transformation":return getLiterals(isDecoding?ast.from:ast.to,isDecoding)}return[]},getSearchTree=(members,isDecoding)=>{let keys5={},otherwise=[],candidates=[];for(let i=0;i<members.length;i++){let member=members[i],tags=getLiterals(member,isDecoding);if(tags.length>0){candidates.push(member);for(let j=0;j<tags.length;j++){let[key,literal2]=tags[j],hash2=String(literal2.literal);keys5[key]=keys5[key]||{buckets:{},literals:[],candidates:[]};let buckets=keys5[key].buckets;if(Object.prototype.hasOwnProperty.call(buckets,hash2)){if(j<tags.length-1)continue;buckets[hash2].push(member),keys5[key].literals.push(literal2),keys5[key].candidates.push(member)}else{buckets[hash2]=[member],keys5[key].literals.push(literal2),keys5[key].candidates.push(member);break}}}else otherwise.push(member)}return{keys:keys5,otherwise,candidates}},dropRightRefinement=(ast)=>isRefinement(ast)?dropRightRefinement(ast.from):ast,handleForbidden=(effect4,ast,actual,options)=>{if(options?.isEffectAllowed===!0)return effect4;if(isEither4(effect4))return effect4;let scheduler=new SyncScheduler,fiber=runFork2(effect4,{scheduler});scheduler.flush();let exit3=fiber.unsafePoll();if(exit3){if(isSuccess(exit3))return right2(exit3.value);let cause3=exit3.cause;if(isFailType2(cause3))return left2(cause3.error);return left2(new Forbidden(ast,actual,pretty2(cause3)))}return left2(new Forbidden(ast,actual,"cannot be be resolved synchronously, this is caused by using runSync on an effect that performs async work"))},compare=([a],[b])=>a>b?1:a<b?-1:0;function sortByIndex(es){return es.sort(compare).map((t)=>t[1])}var getFinalTransformation=(transformation,isDecoding)=>{switch(transformation._tag){case"FinalTransformation":return isDecoding?transformation.decode:transformation.encode;case"ComposeTransformation":return right2;case"TypeLiteralTransformation":return(input)=>{let out=right2(input);for(let pst of transformation.propertySignatureTransformations){let[from,to]=isDecoding?[pst.from,pst.to]:[pst.to,pst.from],transformation2=isDecoding?pst.decode:pst.encode;out=map23(out,(input2)=>{let o=transformation2(Object.prototype.hasOwnProperty.call(input2,from)?some2(input2[from]):none2());if(delete input2[from],isSome2(o))input2[to]=o.value;return input2})}return out}}},makeTree=(value,forest=[])=>({value,forest}),TreeFormatter={formatIssue:(issue)=>map23(formatTree(issue),drawTree),formatIssueSync:(issue)=>{let e=TreeFormatter.formatIssue(issue);return isEither4(e)?getOrThrow(e):runSync(e)},formatError:(error2)=>TreeFormatter.formatIssue(error2.issue),formatErrorSync:(error2)=>TreeFormatter.formatIssueSync(error2.issue)},drawTree=(tree)=>tree.value+draw(`
|
|
36
|
-
`,tree.forest),draw=(indentation,forest)=>{let r="",len=forest.length,tree;for(let i=0;i<len;i++){tree=forest[i];let isLast=i===len-1;r+=indentation+(isLast?"└":"├")+"─ "+tree.value,r+=draw(indentation+(len>1&&!isLast?"│ ":" "),tree.forest)}return r},formatTransformationKind=(kind)=>{switch(kind){case"Encoded":return"Encoded side transformation failure";case"Transformation":return"Transformation process failure";case"Type":return"Type side transformation failure"}},formatRefinementKind=(kind)=>{switch(kind){case"From":return"From side refinement failure";case"Predicate":return"Predicate refinement failure"}},getAnnotated=(issue)=>("ast"in issue)?some2(issue.ast):none2(),Either_void=right2(void 0),getCurrentMessage=(issue)=>getAnnotated(issue).pipe(flatMap(getMessageAnnotation),match2({onNone:()=>Either_void,onSome:(messageAnnotation)=>{let union9=messageAnnotation(issue);if(isString(union9))return right2({message:union9,override:!1});if(isEffect2(union9))return map13(union9,(message)=>({message,override:!1}));if(isString(union9.message))return right2({message:union9.message,override:union9.override});return map13(union9.message,(message)=>({message,override:union9.override}))}})),createParseIssueGuard=(tag)=>(issue)=>issue._tag===tag,isComposite2=createParseIssueGuard("Composite"),isRefinement2=createParseIssueGuard("Refinement"),isTransformation=createParseIssueGuard("Transformation"),getMessage=(issue)=>flatMap16(getCurrentMessage(issue),(currentMessage)=>{if(currentMessage!==void 0)return!currentMessage.override&&(isComposite2(issue)||isRefinement2(issue)&&issue.kind==="From"||isTransformation(issue)&&issue.kind!=="Transformation")?isTransformation(issue)||isRefinement2(issue)?getMessage(issue.issue):Either_void:right2(currentMessage.message);return Either_void}),getParseIssueTitleAnnotation2=(issue)=>getAnnotated(issue).pipe(flatMap(getParseIssueTitleAnnotation),flatMapNullable((annotation)=>annotation(issue)),getOrUndefined);function getRefinementExpected(ast){return getDescriptionAnnotation(ast).pipe(orElse(()=>getTitleAnnotation(ast)),orElse(()=>getAutoTitleAnnotation(ast)),orElse(()=>getIdentifierAnnotation(ast)),getOrElse(()=>`{ ${ast.from} | filter }`))}function getDefaultTypeMessage(issue){if(issue.message!==void 0)return issue.message;return`Expected ${isRefinement(issue.ast)?getRefinementExpected(issue.ast):String(issue.ast)}, actual ${formatUnknown(issue.actual)}`}var formatTypeMessage=(issue)=>map23(getMessage(issue),(message)=>message??getParseIssueTitleAnnotation2(issue)??getDefaultTypeMessage(issue)),getParseIssueTitle=(issue)=>getParseIssueTitleAnnotation2(issue)??String(issue.ast),formatForbiddenMessage=(issue)=>issue.message??"is forbidden",formatUnexpectedMessage=(issue)=>issue.message??"is unexpected",formatMissingMessage=(issue)=>{let missingMessageAnnotation=getMissingMessageAnnotation(issue.ast);if(isSome2(missingMessageAnnotation)){let annotation=missingMessageAnnotation.value();return isString(annotation)?right2(annotation):annotation}return right2(issue.message??"is missing")},formatTree=(issue)=>{switch(issue._tag){case"Type":return map23(formatTypeMessage(issue),makeTree);case"Forbidden":return right2(makeTree(getParseIssueTitle(issue),[makeTree(formatForbiddenMessage(issue))]));case"Unexpected":return right2(makeTree(formatUnexpectedMessage(issue)));case"Missing":return map23(formatMissingMessage(issue),makeTree);case"Transformation":return flatMap16(getMessage(issue),(message)=>{if(message!==void 0)return right2(makeTree(message));return map23(formatTree(issue.issue),(tree)=>makeTree(getParseIssueTitle(issue),[makeTree(formatTransformationKind(issue.kind),[tree])]))});case"Refinement":return flatMap16(getMessage(issue),(message)=>{if(message!==void 0)return right2(makeTree(message));return map23(formatTree(issue.issue),(tree)=>makeTree(getParseIssueTitle(issue),[makeTree(formatRefinementKind(issue.kind),[tree])]))});case"Pointer":return map23(formatTree(issue.issue),(tree)=>makeTree(formatPath(issue.path),[tree]));case"Composite":return flatMap16(getMessage(issue),(message)=>{if(message!==void 0)return right2(makeTree(message));let parseIssueTitle=getParseIssueTitle(issue);return isNonEmpty(issue.issues)?map23(forEach8(issue.issues,formatTree),(forest)=>makeTree(parseIssueTitle,forest)):map23(formatTree(issue.issues),(tree)=>makeTree(parseIssueTitle,[tree]))})}};var PoolTypeId=Symbol.for("effect/Pool"),poolVariance={_E:(_)=>_,_A:(_)=>_};class PoolImpl extends Class{scope;acquire;concurrency;minSize;maxSize;strategy;targetUtilization;[PoolTypeId];isShuttingDown=!1;semaphore;items=new Set;available=new Set;availableLatch=unsafeMakeLatch(!1);invalidated=new Set;waiters=0;constructor(scope5,acquire,concurrency,minSize,maxSize,strategy,targetUtilization){super();this.scope=scope5,this.acquire=acquire,this.concurrency=concurrency,this.minSize=minSize,this.maxSize=maxSize,this.strategy=strategy,this.targetUtilization=targetUtilization,this[PoolTypeId]=poolVariance,this.semaphore=unsafeMakeSemaphore(concurrency*maxSize)}allocate=acquireUseRelease(scopeMake(),(scope5)=>this.acquire.pipe(scopeExtend(scope5),exit,flatMap7((exit3)=>{let item={exit:exit3,finalizer:catchAllCause(scope5.close(exit3),reportUnhandledError),refCount:0,disableReclaim:!1};return this.items.add(item),this.available.add(item),as(exit3._tag==="Success"?this.strategy.onAcquire(item):zipRight(item.finalizer,this.strategy.onAcquire(item)),item)})),(scope5,exit3)=>exit3._tag==="Failure"?scope5.close(exit3):void_);get currentUsage(){let count4=this.waiters;for(let item of this.items)count4+=item.refCount;return count4}get targetSize(){if(this.isShuttingDown)return 0;let utilization=this.currentUsage/this.targetUtilization,target=Math.ceil(utilization/this.concurrency);return Math.min(Math.max(this.minSize,target),this.maxSize)}get activeSize(){return this.items.size-this.invalidated.size}resizeLoop=suspend(()=>{if(this.activeSize>=this.targetSize)return void_;let toAcquire=this.targetSize-this.activeSize;return this.strategy.reclaim(this).pipe(flatMap7(match2({onNone:()=>this.allocate,onSome:succeed})),replicateEffect(toAcquire,{concurrency:toAcquire}),zipLeft(this.availableLatch.open),flatMap7((items)=>items.some((_)=>_.exit._tag==="Failure")?void_:this.resizeLoop))});resizeSemaphore=unsafeMakeSemaphore(1);resize=this.resizeSemaphore.withPermits(1)(this.resizeLoop);getPoolItem=uninterruptibleMask((restore)=>restore(this.semaphore.take(1)).pipe(zipRight(scopeTag),flatMap7((scope5)=>suspend(()=>{if(this.waiters++,this.isShuttingDown)return interrupt2;else if(this.targetSize>this.activeSize){let self=this;return flatMap7(this.resizeSemaphore.withPermitsIfAvailable(1)(forkIn(interruptible2(this.resize),this.scope)),function loop(){if(self.isShuttingDown)return interrupt2;else if(self.available.size>0)return succeed(unsafeHead(self.available));return self.availableLatch.unsafeClose(),flatMap7(self.availableLatch.await,loop)})}return succeed(unsafeHead(this.available))}).pipe(ensuring(sync(()=>this.waiters--)),tap((item)=>{if(item.exit._tag==="Failure")return this.items.delete(item),this.invalidated.delete(item),this.available.delete(item),this.semaphore.release(1);if(item.refCount++,this.available.delete(item),item.refCount<this.concurrency)this.available.add(item);return scope5.addFinalizer(()=>zipRight(suspend(()=>{if(item.refCount--,this.invalidated.has(item))return this.invalidatePoolItem(item);return this.available.add(item),exitVoid}),this.semaphore.release(1)))}),onInterrupt(()=>this.semaphore.release(1))))));commit(){return this.get}get=flatMap7(suspend(()=>this.isShuttingDown?interrupt2:this.getPoolItem),(_)=>_.exit);invalidate(item){return suspend(()=>{if(this.isShuttingDown)return void_;for(let poolItem of this.items)if(poolItem.exit._tag==="Success"&&poolItem.exit.value===item)return poolItem.disableReclaim=!0,uninterruptible(this.invalidatePoolItem(poolItem));return void_})}invalidatePoolItem(poolItem){return suspend(()=>{if(!this.items.has(poolItem))return void_;else if(poolItem.refCount===0)return this.items.delete(poolItem),this.available.delete(poolItem),this.invalidated.delete(poolItem),zipRight(poolItem.finalizer,forkIn(interruptible2(this.resize),this.scope));return this.invalidated.add(poolItem),this.available.delete(poolItem),void_})}get shutdown(){return suspend(()=>{if(this.isShuttingDown)return void_;this.isShuttingDown=!0;let size16=this.items.size,semaphore=unsafeMakeSemaphore(size16);return forEachSequentialDiscard(this.items,(item)=>{if(item.refCount>0)return item.finalizer=zipLeft(item.finalizer,semaphore.release(1)),this.invalidated.add(item),semaphore.take(1);return this.items.delete(item),this.available.delete(item),this.invalidated.delete(item),item.finalizer}).pipe(zipRight(this.semaphore.releaseAll),zipRight(this.availableLatch.open),zipRight(semaphore.take(size16)))})}pipe(){return pipeArguments(this,arguments)}}var reportUnhandledError=(cause3)=>withFiberRuntime((fiber)=>{let unhandledLogLevel=fiber.getFiberRef(currentUnhandledErrorLogLevel);if(unhandledLogLevel._tag==="Some")fiber.log("Unhandled error in pool finalizer",cause3,unhandledLogLevel);return void_});var ManagedRuntimeProto={...CommitPrototype2,[TypeId18]:TypeId18,pipe(){return pipeArguments(this,arguments)},commit(){return this.runtimeEffect}};var TypeId25=Symbol.for("@effect/matcher/Matcher"),TypeMatcherProto={[TypeId25]:{_input:identity,_filters:identity,_remaining:identity,_result:identity,_return:identity},_tag:"TypeMatcher",add(_case2){return makeTypeMatcher([...this.cases,_case2])},pipe(){return pipeArguments(this,arguments)}};function makeTypeMatcher(cases){let matcher=Object.create(TypeMatcherProto);return matcher.cases=cases,matcher}var ValueMatcherProto={[TypeId25]:{_input:identity,_filters:identity,_result:identity,_return:identity},_tag:"ValueMatcher",add(_case2){if(this.value._tag==="Right")return this;if(_case2._tag==="When"&&_case2.guard(this.provided)===!0)return makeValueMatcher(this.provided,right2(_case2.evaluate(this.provided)));else if(_case2._tag==="Not"&&_case2.guard(this.provided)===!1)return makeValueMatcher(this.provided,right2(_case2.evaluate(this.provided)));return this},pipe(){return pipeArguments(this,arguments)}};function makeValueMatcher(provided,value){let matcher=Object.create(ValueMatcherProto);return matcher.provided=provided,matcher.value=value,matcher}var TypeId26=Symbol.for("effect/MutableHashSet"),MutableHashSetProto={[TypeId26]:TypeId26,[Symbol.iterator](){return Array.from(this.keyMap).map(([_])=>_)[Symbol.iterator]()},toString(){return format(this.toJSON())},toJSON(){return{_id:"MutableHashSet",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};var ScopedRefSymbolKey="effect/ScopedRef",ScopedRefTypeId=Symbol.for(ScopedRefSymbolKey),scopedRefVariance={_A:(_)=>_},proto14={...CommitPrototype,commit(){return get21(this)},[ScopedRefTypeId]:scopedRefVariance};var get21=(self)=>map9(get11(self.ref),(tuple4)=>tuple4[1]);var ResourceSymbolKey="effect/Resource",ResourceTypeId=Symbol.for(ResourceSymbolKey),resourceVariance={_E:(_)=>_,_A:(_)=>_},proto15={...CommitPrototype,commit(){return get23(this)},[ResourceTypeId]:resourceVariance};var get23=(self)=>flatMap7(get21(self.scopedRef),identity);var TypeId27=Symbol.for("effect/Schema");function make67(ast){return class SchemaClass{[TypeId27]=variance9;static ast=ast;static annotations(annotations2){return make67(mergeSchemaAnnotations(this.ast,annotations2))}static pipe(){return pipeArguments(this,arguments)}static toString(){return String(ast)}static Type;static Encoded;static Context;static[TypeId27]=variance9}}var variance9={_A:(_)=>_,_I:(_)=>_,_R:(_)=>_};var builtInAnnotations={schemaId:SchemaIdAnnotationId,message:MessageAnnotationId,missingMessage:MissingMessageAnnotationId,identifier:IdentifierAnnotationId,title:TitleAnnotationId,description:DescriptionAnnotationId,examples:ExamplesAnnotationId,default:DefaultAnnotationId,documentation:DocumentationAnnotationId,jsonSchema:JSONSchemaAnnotationId,arbitrary:ArbitraryAnnotationId,pretty:PrettyAnnotationId,equivalence:EquivalenceAnnotationId,concurrency:ConcurrencyAnnotationId,batching:BatchingAnnotationId,parseIssueTitle:ParseIssueTitleAnnotationId,parseOptions:ParseOptionsAnnotationId,decodingFallback:DecodingFallbackAnnotationId},toASTAnnotations=(annotations2)=>{if(!annotations2)return{};let out={...annotations2};for(let key in builtInAnnotations)if(key in annotations2){let id2=builtInAnnotations[key];out[id2]=annotations2[key],delete out[key]}return out},mergeSchemaAnnotations=(ast,annotations2)=>annotations(ast,toASTAnnotations(annotations2));var declareConstructor=(typeParameters,options,annotations2)=>makeDeclareClass(typeParameters,new Declaration(typeParameters.map((tp)=>tp.ast),(...typeParameters2)=>options.decode(...typeParameters2.map(make67)),(...typeParameters2)=>options.encode(...typeParameters2.map(make67)),toASTAnnotations(annotations2))),declarePrimitive=(is3,annotations2)=>{let decodeUnknown3=()=>(input,_,ast)=>is3(input)?succeed15(input):fail16(new Type2(ast,input));return makeDeclareClass([],new Declaration([],decodeUnknown3,decodeUnknown3,toASTAnnotations(annotations2)))};function makeDeclareClass(typeParameters,ast){return class DeclareClass extends make67(ast){static annotations(annotations2){return makeDeclareClass(this.typeParameters,mergeSchemaAnnotations(this.ast,annotations2))}static typeParameters=[...typeParameters]}}var declare=function(){if(Array.isArray(arguments[0])){let typeParameters=arguments[0],options=arguments[1],annotations3=arguments[2];return declareConstructor(typeParameters,options,annotations3)}let is3=arguments[0],annotations2=arguments[1];return declarePrimitive(is3,annotations2)};class String$ extends make67(stringKeyword){}var RefineSchemaId=Symbol.for("effect/SchemaId/Refine");function makeRefineClass(from,filter12,ast){return class RefineClass extends make67(ast){static annotations(annotations2){return makeRefineClass(this.from,this.filter,mergeSchemaAnnotations(this.ast,annotations2))}static[RefineSchemaId]=from;static from=from;static filter=filter12;static make=(a,options)=>{return getDisableValidationMakeOption(options)?a:validateSync(this)(a)}}}var fromFilterPredicateReturnTypeItem=(item,ast,input)=>{if(isBoolean(item))return item?none2():some2(new Type2(ast,input));if(isString(item))return some2(new Type2(ast,input,item));if(item!==void 0){if("_tag"in item)return some2(item);let issue=new Type2(ast,input,item.message);return some2(isNonEmptyReadonlyArray(item.path)?new Pointer(item.path,input,issue):issue)}return none2()},toFilterParseIssue=(out,ast,input)=>{if(isSingle(out))return fromFilterPredicateReturnTypeItem(out,ast,input);if(isNonEmptyReadonlyArray(out)){let issues=filterMap(out,(issue)=>fromFilterPredicateReturnTypeItem(issue,ast,input));if(isNonEmptyReadonlyArray(issues))return some2(issues.length===1?issues[0]:new Composite2(ast,input,issues))}return none2()};function filter12(predicate,annotations2){return(self)=>{function filter13(input,options,ast2){return toFilterParseIssue(predicate(input,options,ast2),ast2,input)}let ast=new Refinement(self.ast,filter13,toASTAnnotations(annotations2));return makeRefineClass(self,filter13,ast)}}var PatternSchemaId=Symbol.for("effect/SchemaId/Pattern"),pattern=(regex,annotations2)=>(self)=>{let source=regex.source;return self.pipe(filter12((a)=>{return regex.lastIndex=0,regex.test(a)},{schemaId:PatternSchemaId,[PatternSchemaId]:{regex},description:`a string matching the pattern ${source}`,jsonSchema:{pattern:source},...annotations2}))};var UUIDSchemaId=Symbol.for("effect/SchemaId/UUID"),uuidRegexp=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/i;class UUID extends String$.pipe(pattern(uuidRegexp,{schemaId:UUIDSchemaId,identifier:"UUID",jsonSchema:{format:"uuid",pattern:uuidRegexp.source},description:"a Universally Unique Identifier",arbitrary:()=>(fc)=>fc.uuid()})){}var DateFromSelfSchemaId2=DateFromSelfSchemaId;class DateFromSelf extends declare(isDate,{identifier:"DateFromSelf",schemaId:DateFromSelfSchemaId2,[DateFromSelfSchemaId2]:{noInvalidDate:!1},description:"a potentially invalid Date instance",pretty:()=>(date2)=>`new Date(${JSON.stringify(date2)})`,arbitrary:()=>(fc)=>fc.date({noInvalidDate:!1}),equivalence:()=>Date2}){}function getDisableValidationMakeOption(options){return isBoolean(options)?options:options?.disableValidation??!1}var TypeId28=Symbol.for("effect/SortedMap"),SortedMapProto={[TypeId28]:{_K:(_)=>_,_V:(_)=>_},[symbol](){return pipe(hash(this.tree),combine(hash("effect/SortedMap")),cached(this))},[symbol2](that){return isSortedMap(that)&&equals(this.tree,that.tree)},[Symbol.iterator](){return this.tree[Symbol.iterator]()},toString(){return format(this.toJSON())},toJSON(){return{_id:"SortedMap",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};var isSortedMap=(u)=>hasProperty(u,TypeId28);var TypeId29=Symbol.for("effect/Subscribable");var Proto6={[TypeId13]:TypeId13,[TypeId29]:TypeId29,pipe(){return pipeArguments(this,arguments)}};var TrieSymbolKey="effect/Trie",TrieTypeId=Symbol.for(TrieSymbolKey),trieVariance={_Value:(_)=>_},TrieProto={[TrieTypeId]:trieVariance,[Symbol.iterator](){return new TrieIterator(this,(k,v)=>[k,v],()=>!0)},[symbol](){let hash2=hash(TrieSymbolKey);for(let item of this)hash2^=pipe(hash(item[0]),combine(hash(item[1])));return cached(this,hash2)},[symbol2](that){if(isTrie(that)){let entries2=Array.from(that);return Array.from(this).every((itemSelf,i)=>{let itemThat=entries2[i];return equals(itemSelf[0],itemThat[0])&&equals(itemSelf[1],itemThat[1])})}return!1},toString(){return format(this.toJSON())},toJSON(){return{_id:"Trie",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};class TrieIterator{trie;f;filter;stack=[];constructor(trie,f,filter15){this.trie=trie,this.f=f,this.filter=filter15;let root=trie._root!==void 0?trie._root:void 0;if(root!==void 0)this.stack.push([root,"",!1])}next(){while(this.stack.length>0){let[node,keyString,isAdded]=this.stack.pop();if(isAdded){let value6=node.value;if(value6!==void 0){let key=keyString+node.key;if(this.filter(key,value6))return{done:!1,value:this.f(key,value6)}}}else this.addToStack(node,keyString)}return{done:!0,value:void 0}}addToStack(node,keyString){if(node.right!==void 0)this.stack.push([node.right,keyString,!1]);if(node.mid!==void 0)this.stack.push([node.mid,keyString+node.key,!1]);if(this.stack.push([node,keyString,!0]),node.left!==void 0)this.stack.push([node.left,keyString,!1])}[Symbol.iterator](){return new TrieIterator(this.trie,this.f,this.filter)}}var isTrie=(u)=>hasProperty(u,TrieTypeId);var import_redis=__toESM(require_dist2(),1);class RedisError extends exports_Data.TaggedError("RedisError"){}class RedisConnectionOptions extends exports_Context.Tag("RedisConnectionOptions")(){}var RedisConnectionOptionsLive=(options)=>exports_Layer.succeed(RedisConnectionOptions,RedisConnectionOptions.of({options}));class Redis extends exports_Context.Tag("Redis")(){}var bootstrapRedisEffect=exports_Effect.gen(function*(){let client=yield*redisClientEffect;return Redis.of({use:(fn2)=>exports_Effect.gen(function*(){let result=yield*exports_Effect.try({try:()=>fn2(client),catch:(e)=>new RedisError({cause:e,message:"Synchronous error in `Redis.use`"})});if(result instanceof Promise)return yield*exports_Effect.tryPromise({try:()=>result,catch:(e)=>new RedisError({cause:e,message:"Asynchronous error in `Redis.use`"})});return result})})}),RedisLive=exports_Layer.scoped(Redis,bootstrapRedisEffect);class RedisPubSub extends exports_Context.Tag("RedisPubSub")(){}class RedisPersistence extends exports_Context.Tag("RedisPersistence")(){}var redisClientEffect=exports_Effect.gen(function*(){let{options}=yield*RedisConnectionOptions;return yield*exports_Effect.acquireRelease(exports_Effect.tryPromise({try:()=>import_redis.createClient(options).connect().then((r)=>{return console.log("Connected to Redis"),r.on("error",(e)=>{console.log("Redis error(on error):",e.message),r.destroy()}),r.on("end",()=>{console.log("Connection to Redis ended")}),r}),catch:(e)=>new RedisError({cause:e,message:"Error while connecting to Redis"})}),(client)=>exports_Effect.sync(()=>{if(client.isReady)client.quit()}))}),bootstrapRedisPersistenceEffect=exports_Effect.gen(function*(){let client=yield*redisClientEffect;return RedisPersistence.of({setValue:(key,value6)=>exports_Effect.gen(function*(){return yield*exports_Effect.tryPromise({try:()=>client.set(key,value6),catch:(e)=>new RedisError({cause:e,message:"Error in `Redis.setValue`"})})})})}),RedisPersistenceLive=exports_Layer.scoped(RedisPersistence,bootstrapRedisPersistenceEffect),bootstrapRedisPubSubEffect=exports_Effect.gen(function*(){let clientPublish=yield*redisClientEffect,clientSubscribe=yield*redisClientEffect;return RedisPubSub.of({publish:(channel,message)=>exports_Effect.gen(function*(){return yield*exports_Effect.tryPromise({try:()=>clientPublish.publish(channel,message),catch:(e)=>new RedisError({cause:e,message:"Error in `Redis.publish`"})})}),subscribe:(channel,handler)=>exports_Effect.gen(function*(){return yield*exports_Effect.tryPromise({try:()=>clientSubscribe.subscribe(channel,handler),catch:(e)=>new RedisError({cause:e,message:"Error in `Redis.subscribe`"})})})})}),RedisPubSubLive=exports_Layer.scoped(RedisPubSub,bootstrapRedisPubSubEffect);export{RedisPubSubLive,RedisPubSub,RedisPersistenceLive,RedisPersistence,RedisLive,RedisError,RedisConnectionOptionsLive,RedisConnectionOptions,Redis};
|
|
35
|
+
${endStackCall}`,cache}},opts=options.spanOptions&&"captureStackTrace"in options.spanOptions?options.spanOptions:{captureStackTrace,...options.spanOptions};return withSpan3(effect,options.spanName,opts)}var fnUntraced2=fnUntraced;var currentContext2=currentContext,currentSchedulingPriority2=currentSchedulingPriority;var currentScheduler2=currentScheduler;var exports_Layer={};__export(exports_Layer,{zipWith:()=>zipWith7,withSpan:()=>withSpan4,withParentSpan:()=>withParentSpan4,updateService:()=>updateService3,unwrapScoped:()=>unwrapScoped2,unwrapEffect:()=>unwrapEffect2,toRuntimeWithMemoMap:()=>toRuntimeWithMemoMap2,toRuntime:()=>toRuntime2,tapErrorCause:()=>tapErrorCause4,tapError:()=>tapError4,tap:()=>tap4,syncContext:()=>syncContext2,sync:()=>sync4,suspend:()=>suspend4,succeedContext:()=>succeedContext2,succeed:()=>succeed8,span:()=>span3,setUnhandledErrorLogLevel:()=>setUnhandledErrorLogLevel,setTracerTiming:()=>setTracerTiming,setTracerEnabled:()=>setTracerEnabled,setTracer:()=>setTracer2,setScheduler:()=>setScheduler,setRequestCaching:()=>setRequestCaching,setRequestCache:()=>setRequestCache,setRequestBatching:()=>setRequestBatching,setRandom:()=>setRandom,setConfigProvider:()=>setConfigProvider2,setClock:()=>setClock,service:()=>service2,scopedDiscard:()=>scopedDiscard2,scopedContext:()=>scopedContext2,scoped:()=>scoped3,scope:()=>scope4,retry:()=>retry3,provideMerge:()=>provideMerge2,provide:()=>provide3,project:()=>project2,passthrough:()=>passthrough3,parentSpan:()=>parentSpan2,orElse:()=>orElse6,orDie:()=>orDie4,mergeAll:()=>mergeAll6,merge:()=>merge8,memoize:()=>memoize3,matchCause:()=>matchCause4,match:()=>match14,mapError:()=>mapError4,map:()=>map14,makeMemoMap:()=>makeMemoMap2,locallyWith:()=>locallyWith2,locallyScoped:()=>locallyScoped2,locallyEffect:()=>locallyEffect2,locally:()=>locally2,launch:()=>launch2,isLayer:()=>isLayer2,isFresh:()=>isFresh2,function:()=>fromFunction2,fresh:()=>fresh2,flatten:()=>flatten9,flatMap:()=>flatMap11,fiberRefLocallyScopedWith:()=>fiberRefLocallyScopedWith3,failSync:()=>failSync4,failCauseSync:()=>failCauseSync4,failCause:()=>failCause8,fail:()=>fail9,extendScope:()=>extendScope2,empty:()=>empty34,effectDiscard:()=>effectDiscard,effectContext:()=>effectContext,effect:()=>effect,discard:()=>discard2,dieSync:()=>dieSync4,die:()=>die7,context:()=>context4,catchAllCause:()=>catchAllCause4,catchAll:()=>catchAll4,buildWithScope:()=>buildWithScope2,buildWithMemoMap:()=>buildWithMemoMap2,build:()=>build2,annotateSpans:()=>annotateSpans4,annotateLogs:()=>annotateLogs4,MemoMapTypeId:()=>MemoMapTypeId2,LayerTypeId:()=>LayerTypeId2,CurrentMemoMap:()=>CurrentMemoMap2});var setConfigProvider=(configProvider)=>scopedDiscard(withConfigProviderScoped(configProvider)),parentSpan=(span2)=>succeedContext(make6(spanTag,span2)),span2=(name,options)=>{return options=addSpanStackTrace(options),scoped(spanTag,options?.onEnd?tap(makeSpanScoped(name,options),(span3)=>addFinalizer((exit3)=>options.onEnd(span3,exit3))):makeSpanScoped(name,options))},setTracer=(tracer3)=>scopedDiscard(withTracerScoped(tracer3));var LayerTypeId2=LayerTypeId,MemoMapTypeId2=MemoMapTypeId,CurrentMemoMap2=CurrentMemoMap,isLayer2=isLayer,isFresh2=isFresh,annotateLogs4=annotateLogs2,annotateSpans4=annotateSpans2,build2=build,buildWithScope2=buildWithScope,catchAll4=catchAll2,catchAllCause4=catchAllCause2,context4=context2,die7=die5,dieSync4=dieSync2,discard2=discard,effect=fromEffect3,effectDiscard=fromEffectDiscard,effectContext=fromEffectContext,empty34=empty33,extendScope2=extendScope,fail9=fail6,failSync4=failSync2,failCause8=failCause5,failCauseSync4=failCauseSync2,flatMap11=flatMap9,flatten9=flatten7,fresh2=fresh,fromFunction2=fromFunction;var launch2=launch,map14=map11,mapError4=mapError2,match14=match11,matchCause4=matchCause2,memoize3=memoize2,merge8=merge6,mergeAll6=mergeAll4,orDie4=orDie2,orElse6=orElse4,passthrough3=passthrough,project2=project,locallyEffect2=locallyEffect,locally2=fiberRefLocally2,locallyWith2=fiberRefLocallyWith2,locallyScoped2=fiberRefLocallyScoped2,fiberRefLocallyScopedWith3=fiberRefLocallyScopedWith2,retry3=retry,scope4=scope2,scoped3=scoped,scopedDiscard2=scopedDiscard,scopedContext2=scopedContext,service2=service,succeed8=succeed5,succeedContext2=succeedContext,suspend4=suspend2,sync4=sync2,syncContext2=syncContext,tap4=tap2,tapError4=tapError2,tapErrorCause4=tapErrorCause2,toRuntime2=toRuntime,toRuntimeWithMemoMap2=toRuntimeWithMemoMap,provide3=provide,provideMerge2=provideMerge,zipWith7=zipWith5,unwrapEffect2=unwrapEffect,unwrapScoped2=unwrapScoped,setClock=(clock3)=>scopedDiscard2(fiberRefLocallyScopedWith(currentServices,add2(clockTag,clock3))),setConfigProvider2=setConfigProvider,parentSpan2=parentSpan,setRandom=(random4)=>scopedDiscard2(fiberRefLocallyScopedWith(currentServices,add2(randomTag,random4))),setRequestBatching=(requestBatching)=>scopedDiscard2(fiberRefLocallyScoped(currentRequestBatching,requestBatching)),setRequestCaching=(requestCaching)=>scopedDiscard2(fiberRefLocallyScoped(currentCacheEnabled,requestCaching)),setRequestCache=(cache)=>scopedDiscard2(isEffect(cache)?flatMap7(cache,(x)=>fiberRefLocallyScoped(currentCache,x)):fiberRefLocallyScoped(currentCache,cache)),setScheduler=(scheduler)=>scopedDiscard2(fiberRefLocallyScoped(currentScheduler,scheduler)),span3=span2,setTracer2=setTracer,setTracerEnabled=(enabled2)=>scopedDiscard2(fiberRefLocallyScoped(currentTracerEnabled,enabled2)),setTracerTiming=(enabled2)=>scopedDiscard2(fiberRefLocallyScoped(currentTracerTimingEnabled,enabled2)),setUnhandledErrorLogLevel=(level)=>scopedDiscard2(fiberRefLocallyScoped(currentUnhandledErrorLogLevel,level)),withSpan4=withSpan2,withParentSpan4=withParentSpan2,makeMemoMap2=makeMemoMap,buildWithMemoMap2=buildWithMemoMap,updateService3=dual(3,(layer,tag,f)=>provide3(layer,map14(context4(),(c)=>add2(c,tag,f(unsafeGet3(c,tag))))));var AbsentValue=Symbol.for("effect/PubSub/AbsentValue");class UnboundedPubSub{replayBuffer;publisherHead={value:AbsentValue,subscribers:0,next:null};publisherTail=this.publisherHead;publisherIndex=0;subscribersIndex=0;capacity=Number.MAX_SAFE_INTEGER;constructor(replayBuffer){this.replayBuffer=replayBuffer}replayWindow(){return this.replayBuffer?new ReplayWindowImpl(this.replayBuffer):emptyReplayWindow}isEmpty(){return this.publisherHead===this.publisherTail}isFull(){return!1}size(){return this.publisherIndex-this.subscribersIndex}publish(value){let subscribers=this.publisherTail.subscribers;if(subscribers!==0)this.publisherTail.next={value,subscribers,next:null},this.publisherTail=this.publisherTail.next,this.publisherIndex+=1;if(this.replayBuffer)this.replayBuffer.offer(value);return!0}publishAll(elements){if(this.publisherTail.subscribers!==0)for(let a of elements)this.publish(a);else if(this.replayBuffer)this.replayBuffer.offerAll(elements);return empty5()}slide(){if(this.publisherHead!==this.publisherTail)this.publisherHead=this.publisherHead.next,this.publisherHead.value=AbsentValue,this.subscribersIndex+=1;if(this.replayBuffer)this.replayBuffer.slide()}subscribe(){return this.publisherTail.subscribers+=1,new UnboundedPubSubSubscription(this,this.publisherTail,this.publisherIndex,!1)}}class UnboundedPubSubSubscription{self;subscriberHead;subscriberIndex;unsubscribed;constructor(self,subscriberHead,subscriberIndex,unsubscribed){this.self=self,this.subscriberHead=subscriberHead,this.subscriberIndex=subscriberIndex,this.unsubscribed=unsubscribed}isEmpty(){if(this.unsubscribed)return!0;let empty35=!0,loop3=!0;while(loop3)if(this.subscriberHead===this.self.publisherTail)loop3=!1;else if(this.subscriberHead.next.value!==AbsentValue)empty35=!1,loop3=!1;else this.subscriberHead=this.subscriberHead.next,this.subscriberIndex+=1;return empty35}size(){if(this.unsubscribed)return 0;return this.self.publisherIndex-Math.max(this.subscriberIndex,this.self.subscribersIndex)}poll(default_){if(this.unsubscribed)return default_;let loop3=!0,polled=default_;while(loop3)if(this.subscriberHead===this.self.publisherTail)loop3=!1;else{let elem=this.subscriberHead.next.value;if(elem!==AbsentValue){if(polled=elem,this.subscriberHead.subscribers-=1,this.subscriberHead.subscribers===0)this.self.publisherHead=this.self.publisherHead.next,this.self.publisherHead.value=AbsentValue,this.self.subscribersIndex+=1;loop3=!1}this.subscriberHead=this.subscriberHead.next,this.subscriberIndex+=1}return polled}pollUpTo(n){let builder=[],default_=AbsentValue,i=0;while(i!==n){let a=this.poll(default_);if(a===default_)i=n;else builder.push(a),i+=1}return fromIterable2(builder)}unsubscribe(){if(!this.unsubscribed){this.unsubscribed=!0,this.self.publisherTail.subscribers-=1;while(this.subscriberHead!==this.self.publisherTail){if(this.subscriberHead.next.value!==AbsentValue){if(this.subscriberHead.subscribers-=1,this.subscriberHead.subscribers===0)this.self.publisherHead=this.self.publisherHead.next,this.self.publisherHead.value=AbsentValue,this.self.subscribersIndex+=1}this.subscriberHead=this.subscriberHead.next}}}}class ReplayBuffer{capacity;constructor(capacity2){this.capacity=capacity2}head={value:AbsentValue,next:null};tail=this.head;size=0;index=0;slide(){this.index++}offer(a){if(this.tail.value=a,this.tail.next={value:AbsentValue,next:null},this.tail=this.tail.next,this.size===this.capacity)this.head=this.head.next;else this.size+=1}offerAll(as4){for(let a of as4)this.offer(a)}}class ReplayWindowImpl{buffer;head;index;remaining;constructor(buffer){this.buffer=buffer,this.index=buffer.index,this.remaining=buffer.size,this.head=buffer.head}fastForward(){while(this.index<this.buffer.index)this.head=this.head.next,this.index++}take(){if(this.remaining===0)return;else if(this.index<this.buffer.index)this.fastForward();this.remaining--;let value=this.head.value;return this.head=this.head.next,value}takeN(n){if(this.remaining===0)return empty5();else if(this.index<this.buffer.index)this.fastForward();let len=Math.min(n,this.remaining),items=new Array(len);for(let i=0;i<len;i++){let value=this.head.value;this.head=this.head.next,items[i]=value}return this.remaining-=len,unsafeFromArray(items)}takeAll(){return this.takeN(this.remaining)}}var emptyReplayWindow={remaining:0,take:()=>{return},takeN:()=>empty5(),takeAll:()=>empty5()};var ChildExecutorDecisionSymbolKey="effect/ChannelChildExecutorDecision",ChildExecutorDecisionTypeId=Symbol.for(ChildExecutorDecisionSymbolKey),proto4={[ChildExecutorDecisionTypeId]:ChildExecutorDecisionTypeId};var UpstreamPullStrategySymbolKey="effect/ChannelUpstreamPullStrategy",UpstreamPullStrategyTypeId=Symbol.for(UpstreamPullStrategySymbolKey),upstreamPullStrategyVariance={_A:(_)=>_},proto5={[UpstreamPullStrategyTypeId]:upstreamPullStrategyVariance};var ChannelSymbolKey="effect/Channel",ChannelTypeId2=Symbol.for(ChannelSymbolKey),channelVariance2={_Env:(_)=>_,_InErr:(_)=>_,_InElem:(_)=>_,_InDone:(_)=>_,_OutErr:(_)=>_,_OutElem:(_)=>_,_OutDone:(_)=>_},proto6={[ChannelTypeId2]:channelVariance2,pipe(){return pipeArguments(this,arguments)}};var ChannelStateTypeId=Symbol.for("effect/ChannelState"),channelStateVariance={_E:(_)=>_,_R:(_)=>_},proto7={[ChannelStateTypeId]:channelStateVariance};var UpstreamPullRequestSymbolKey="effect/ChannelUpstreamPullRequest",UpstreamPullRequestTypeId=Symbol.for(UpstreamPullRequestSymbolKey),upstreamPullRequestVariance={_A:(_)=>_},proto8={[UpstreamPullRequestTypeId]:upstreamPullRequestVariance};var MergeDecisionSymbolKey="effect/ChannelMergeDecision",MergeDecisionTypeId=Symbol.for(MergeDecisionSymbolKey),proto9={[MergeDecisionTypeId]:{_R:(_)=>_,_E0:(_)=>_,_Z0:(_)=>_,_E:(_)=>_,_Z:(_)=>_}};var MergeStateSymbolKey="effect/ChannelMergeState",MergeStateTypeId=Symbol.for(MergeStateSymbolKey),proto10={[MergeStateTypeId]:MergeStateTypeId};var MergeStrategySymbolKey="effect/ChannelMergeStrategy",MergeStrategyTypeId=Symbol.for(MergeStrategySymbolKey),proto11={[MergeStrategyTypeId]:MergeStrategyTypeId};var SinkTypeId2=Symbol.for("effect/Sink");class Versioned{value;constructor(value){this.value=value}}var make46=(ref,isNew)=>({ref,isNew,isChanged:!1,expected:ref.versioned,newValue:ref.versioned.value}),unsafeGet7=(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),isRunning3=(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(fail3(tExit.error));case OP_DIE3:return done8(die3(tExit.defect));case OP_INTERRUPT3:return done8(interrupt4(tExit.fiberId));case OP_SUCCEED3:return done8(succeed2(tExit.value));case OP_RETRY2:throw new 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),variance8={_A:(_)=>_,_E:(_)=>_},isExit=(u)=>hasProperty(u,TExitTypeId);var isSuccess4=(self)=>{return self._tag===OP_SUCCEED3},isRetry=(self)=>{return self._tag===OP_RETRY2},fail11=(error)=>({[TExitTypeId]:variance8,_tag:OP_FAIL5,error,[symbol](){return pipe(hash(TExitSymbolKey),combine(hash(OP_FAIL5)),combine(hash(error)),cached(this))},[symbol2](that){return isExit(that)&&that._tag===OP_FAIL5&&equals(error,that.error)}}),die8=(defect)=>({[TExitTypeId]:variance8,_tag:OP_DIE3,defect,[symbol](){return pipe(hash(TExitSymbolKey),combine(hash(OP_DIE3)),combine(hash(defect)),cached(this))},[symbol2](that){return isExit(that)&&that._tag===OP_DIE3&&equals(defect,that.defect)}}),interrupt8=(fiberId3)=>({[TExitTypeId]:variance8,_tag:OP_INTERRUPT3,fiberId:fiberId3,[symbol](){return pipe(hash(TExitSymbolKey),combine(hash(OP_INTERRUPT3)),combine(hash(fiberId3)),cached(this))},[symbol2](that){return isExit(that)&&that._tag===OP_INTERRUPT3&&equals(fiberId3,that.fiberId)}}),succeed12=(value)=>({[TExitTypeId]:variance8,_tag:OP_SUCCEED3,value,[symbol](){return pipe(hash(TExitSymbolKey),combine(hash(OP_SUCCEED3)),combine(hash(value)),cached(this))},[symbol2](that){return isExit(that)&&that._tag===OP_SUCCEED3&&equals(value,that.value)}}),retryHash=pipe(hash(TExitSymbolKey),combine(hash(OP_RETRY2)),combine(hash("retry"))),retry4={[TExitTypeId]:variance8,_tag:OP_RETRY2,[symbol](){return retryHash},[symbol2](that){return isExit(that)&&isRetry(that)}};var done9=(exit3)=>{return{_tag:OP_DONE5,exit:exit3}},suspend6=(journal)=>{return{_tag:OP_SUSPEND3,journal}};var txnCounter={ref:0},make47=()=>{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=make47(),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(isRunning3(currentState))state2.value=interrupted2;if(currentState=state2.value,isDone6(currentState))return onDone(currentState.exit),currentState.exit;return onInterrupt3(),failCause7(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 new 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(succeed2(tExit.value),journal,scheduler,priority);case OP_FAIL5:{state.value=fromTExit(tExit);let cause3=fail4(tExit.error);return completeTodos(failCause2(cause3),journal,scheduler,priority)}case OP_DIE3:{state.value=fromTExit(tExit);let cause3=die4(tExit.defect);return completeTodos(failCause2(cause3),journal,scheduler,priority)}case OP_INTERRUPT3:{state.value=fromTExit(tExit);let cause3=interrupt5(fiberId3);return completeTodos(failCause2(cause3),journal,scheduler,priority)}case OP_RETRY2:return suspend6(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 new 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(succeed2(tExit.value),journal,scheduler,priority);case OP_FAIL5:{let cause3=fail4(tExit.error);return completeTodos(failCause2(cause3),journal,scheduler,priority)}case OP_DIE3:{let cause3=die4(tExit.defect);return completeTodos(failCause2(cause3),journal,scheduler,priority)}case OP_INTERRUPT3:{let cause3=interrupt5(fiberId3);return completeTodos(failCause2(cause3),journal,scheduler,priority)}case OP_RETRY2:return suspend6(journal)}},tryCommitAsync=(fiberId3,self,txnId,state,context5,scheduler,priority,k)=>{if(isRunning3(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)=>unsafeGet3(env,current));break}case"Left":{curr=fail12(current.left);break}case"None":{curr=fail12(new NoSuchElementException2);break}case"Right":{curr=succeed13(current.right);break}case"Some":{curr=succeed13(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=fail11(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,ensuring5(sync7(()=>this.env=env)));break}case OP_SUCCEED2:{let value=current.effect_instruction_i1,cont=this.nextSuccess();if(cont===void 0)exit3=succeed12(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=succeed12(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((_)=>succeed13(f(_.journal,_.fiberId,_.getEnv()))),ensuring5=dual(2,(self,finalizer)=>matchSTM(self,{onFailure:(e)=>zipRight6(finalizer,fail12(e)),onSuccess:(a)=>zipRight6(finalizer,succeed13(a))})),fail12=(error)=>failSync6(()=>error),failSync6=(evaluate2)=>{let stm=new STMPrimitive(OP_FAIL4);return stm.effect_instruction_i1=evaluate2,stm},flatMap13=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,map19(right2),catchAll6((e)=>pipe(onFailure(e),map19(left2))),flatMap13((either5)=>{switch(either5._tag){case"Left":return succeed13(either5.left);case"Right":return onSuccess(either5.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},map19=dual(2,(self,f)=>pipe(self,flatMap13((a)=>sync7(()=>f(a)))));var retry5=new STMPrimitive(OP_RETRY),succeed13=(value)=>{let stm=new STMPrimitive(OP_SUCCEED2);return stm.effect_instruction_i1=value,stm},sync7=(evaluate2)=>{let stm=new STMPrimitive(OP_SYNC2);return stm.effect_instruction_i1=evaluate2,stm};var zipRight6=dual(2,(self,that)=>pipe(self,flatMap13(()=>that))),zipWith9=dual(3,(self,that,f)=>pipe(self,flatMap13((a)=>pipe(that,map19((b)=>f(a,b))))));var OP_BACKPRESSURE_STRATEGY="BackPressure",OP_DROPPING_STRATEGY="Dropping",OP_SLIDING_STRATEGY="Sliding";var flatten11=(self)=>flatMap13(self,identity);var forEach9=dual((args2)=>isIterable(args2[0]),(iterable,f,options)=>{if(options?.discard)return pipe(sync7(()=>iterable[Symbol.iterator]()),flatMap13((iterator)=>{let loop3=suspend7(()=>{let next4=iterator.next();if(next4.done)return void_6;return pipe(f(next4.value),flatMap13(()=>loop3))});return loop3}));return suspend7(()=>fromIterable(iterable).reduce((acc,curr)=>zipWith9(acc,f(curr),(array5,elem)=>{return array5.push(elem),array5}),succeed13([])))});var suspend7=(evaluate2)=>flatten11(sync7(evaluate2));var void_6=succeed13(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(unsafeGet7(entry));return unsafeSet(entry,newValue),retValue})}pipe(){return pipeArguments(this,arguments)}}var getOrMakeEntry=(self,journal)=>{if(journal.has(self))return journal.get(self);let entry=make46(self,!1);return journal.set(self,entry),entry},unsafeGet8=dual(2,(self,journal)=>unsafeGet7(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=unsafeGet8(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);return succeed13(queue.length)});isFull=map19(this.size,(size14)=>size14===this.requestedCapacity);isEmpty=map19(this.size,(size14)=>size14===0);shutdown=withSTMRuntime((runtime4)=>{return unsafeSet2(this.ref,void 0,runtime4.journal),void_6});isShutdown=effect3((journal)=>{return unsafeGet8(this.ref,journal)===void 0});awaitShutdown=flatMap13(this.isShutdown,(isShutdown3)=>isShutdown3?void_6:retry5);offer(value){return withSTMRuntime((runtime4)=>{let queue=pipe(this.ref,unsafeGet8(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),succeed13(!0);switch(this.strategy._tag){case OP_BACKPRESSURE_STRATEGY:return retry5;case OP_DROPPING_STRATEGY:return succeed13(!1);case OP_SLIDING_STRATEGY:{if(queue.length===0)return succeed13(!0);return queue.shift(),queue.push(value),unsafeSet2(this.ref,queue,runtime4.journal),succeed13(!0)}}})}offerAll(iterable){return withSTMRuntime((runtime4)=>{let as6=Array.from(iterable),queue=unsafeGet8(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);if(queue.length+as6.length<=this.requestedCapacity)return unsafeSet2(this.ref,[...queue,...as6],runtime4.journal),succeed13(!0);switch(this.strategy._tag){case OP_BACKPRESSURE_STRATEGY:return retry5;case OP_DROPPING_STRATEGY:{let forQueue=as6.slice(0,this.requestedCapacity-queue.length);return unsafeSet2(this.ref,[...queue,...forQueue],runtime4.journal),succeed13(!1)}case OP_SLIDING_STRATEGY:{let forQueue=as6.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),succeed13(!0)}}})}peek=withSTMRuntime((runtime4)=>{let queue=unsafeGet8(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);if(queue.length===0)return retry5;return succeed13(queue[0])});peekOption=withSTMRuntime((runtime4)=>{let queue=unsafeGet8(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);return succeed13(fromNullable(queue[0]))});take=withSTMRuntime((runtime4)=>{let queue=unsafeGet8(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),succeed13(dequeued)});takeAll=withSTMRuntime((runtime4)=>{let queue=unsafeGet8(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);return unsafeSet2(this.ref,[],runtime4.journal),succeed13(queue)});takeUpTo(max5){return withSTMRuntime((runtime4)=>{let queue=unsafeGet8(this.ref,runtime4.journal);if(queue===void 0)return interruptAs2(runtime4.fiberId);let[toTake,remaining]=splitAt2(unsafeFromArray(queue),max5);return unsafeSet2(this.ref,Array.from(remaining),runtime4.journal),succeed13(Array.from(toTake))})}}var TPubSubSymbolKey="effect/TPubSub",TPubSubTypeId=Symbol.for(TPubSubSymbolKey),AbsentValue2=Symbol.for("effect/TPubSub/AbsentValue"),makeNode2=(head5,subscribers,tail)=>({head:head5,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 unsafeGet8(this.publisherTail,journal)===void 0});awaitShutdown=flatMap13(this.isShutdown,(isShutdown3)=>isShutdown3?void_6:retry5);capacity(){return this.requestedCapacity}size=withSTMRuntime((runtime4)=>{if(unsafeGet8(this.publisherTail,runtime4.journal)===void 0)return interruptAs2(runtime4.fiberId);return succeed13(unsafeGet8(this.pubsubSize,runtime4.journal))});isEmpty=map19(this.size,(size14)=>size14===0);isFull=map19(this.size,(size14)=>size14===this.capacity());offer(value){return withSTMRuntime((runtime4)=>{let currentPublisherTail=unsafeGet8(this.publisherTail,runtime4.journal);if(currentPublisherTail===void 0)return interruptAs2(runtime4.fiberId);let currentSubscriberCount=unsafeGet8(this.subscriberCount,runtime4.journal);if(currentSubscriberCount===0)return succeed13(!0);let currentPubSubSize=unsafeGet8(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),succeed13(!0)}switch(this.strategy._tag){case OP_BACKPRESSURE_STRATEGY:return retry5;case OP_DROPPING_STRATEGY:return succeed13(!1);case OP_SLIDING_STRATEGY:{if(this.requestedCapacity>0){let currentPublisherHead=unsafeGet8(this.publisherHead,runtime4.journal),loop3=!0;while(loop3){let node=unsafeGet8(currentPublisherHead,runtime4.journal);if(node===void 0)return retry5;let{head:head5,tail}=node;if(head5!==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),succeed13(!0)}}})}offerAll(iterable){return map19(forEach9(iterable,(a)=>this.offer(a)),every(identity))}shutdown=effect3((journal)=>{if(unsafeGet8(this.publisherTail,journal)!==void 0){unsafeSet2(this.publisherTail,void 0,journal);let currentSubscribers=unsafeGet8(this.subscribers,journal);forEach3(currentSubscribers,(subscriber)=>{unsafeSet2(subscriber,void 0,journal)}),unsafeSet2(this.subscribers,empty8(),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 unsafeGet8(this.subscriberHead,journal)===void 0});awaitShutdown=flatMap13(this.isShutdown,(isShutdown3)=>isShutdown3?void_6:retry5);capacity(){return this.requestedCapacity}size=withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet8(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let loop3=!0,size14=0;while(loop3){let node=unsafeGet8(currentSubscriberHead,runtime4.journal);if(node===void 0)loop3=!1;else{let{head:head5,tail}=node;if(head5!==AbsentValue2){if(size14=size14+1,size14>=Number.MAX_SAFE_INTEGER)loop3=!1}currentSubscriberHead=tail}}return succeed13(size14)});isEmpty=map19(this.size,(size14)=>size14===0);isFull=map19(this.size,(size14)=>size14===this.capacity());peek=withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet8(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let value=AbsentValue2,loop3=!0;while(loop3){let node=unsafeGet8(currentSubscriberHead,runtime4.journal);if(node===void 0)return retry5;let{head:head5,tail}=node;if(head5!==AbsentValue2)value=head5,loop3=!1;else currentSubscriberHead=tail}return succeed13(value)});peekOption=withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet8(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let value=none2(),loop3=!0;while(loop3){let node=unsafeGet8(currentSubscriberHead,runtime4.journal);if(node===void 0)value=none2(),loop3=!1;else{let{head:head5,tail}=node;if(head5!==AbsentValue2)value=some2(head5),loop3=!1;else currentSubscriberHead=tail}}return succeed13(value)});shutdown=effect3((journal)=>{let currentSubscriberHead=unsafeGet8(this.subscriberHead,journal);if(currentSubscriberHead!==void 0){unsafeSet2(this.subscriberHead,void 0,journal);let loop3=!0;while(loop3){let node=unsafeGet8(currentSubscriberHead,journal);if(node===void 0)loop3=!1;else{let{head:head5,tail}=node;if(head5!==AbsentValue2){let subscribers=node.subscribers;if(subscribers===1){let size14=unsafeGet8(this.pubsubSize,journal),updatedNode=makeNode2(AbsentValue2,0,tail);unsafeSet2(currentSubscriberHead,updatedNode,journal),unsafeSet2(this.publisherHead,tail,journal),unsafeSet2(this.pubsubSize,size14-1,journal)}else{let updatedNode=makeNode2(head5,subscribers-1,tail);unsafeSet2(currentSubscriberHead,updatedNode,journal)}}currentSubscriberHead=tail}}let currentSubscriberCount=unsafeGet8(this.subscriberCount,journal);unsafeSet2(this.subscriberCount,currentSubscriberCount-1,journal),unsafeSet2(this.subscribers,remove4(unsafeGet8(this.subscribers,journal),this.subscriberHead),journal)}});take=withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet8(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let value=AbsentValue2,loop3=!0;while(loop3){let node=unsafeGet8(currentSubscriberHead,runtime4.journal);if(node===void 0)return retry5;let{head:head5,tail}=node;if(head5!==AbsentValue2){let subscribers=node.subscribers;if(subscribers===1){let size14=unsafeGet8(this.pubsubSize,runtime4.journal),updatedNode=makeNode2(AbsentValue2,0,tail);unsafeSet2(currentSubscriberHead,updatedNode,runtime4.journal),unsafeSet2(this.publisherHead,tail,runtime4.journal),unsafeSet2(this.pubsubSize,size14-1,runtime4.journal)}else{let updatedNode=makeNode2(head5,subscribers-1,tail);unsafeSet2(currentSubscriberHead,updatedNode,runtime4.journal)}unsafeSet2(this.subscriberHead,tail,runtime4.journal),value=head5,loop3=!1}else currentSubscriberHead=tail}return succeed13(value)});takeAll=this.takeUpTo(Number.POSITIVE_INFINITY);takeUpTo(max5){return withSTMRuntime((runtime4)=>{let currentSubscriberHead=unsafeGet8(this.subscriberHead,runtime4.journal);if(currentSubscriberHead===void 0)return interruptAs2(runtime4.fiberId);let builder=[],n=0;while(n!==max5){let node=unsafeGet8(currentSubscriberHead,runtime4.journal);if(node===void 0)n=max5;else{let{head:head5,tail}=node;if(head5!==AbsentValue2){let subscribers=node.subscribers;if(subscribers===1){let size14=unsafeGet8(this.pubsubSize,runtime4.journal),updatedNode=makeNode2(AbsentValue2,0,tail);unsafeSet2(currentSubscriberHead,updatedNode,runtime4.journal),unsafeSet2(this.publisherHead,tail,runtime4.journal),unsafeSet2(this.pubsubSize,size14-1,runtime4.journal)}else{let updatedNode=makeNode2(head5,subscribers-1,tail);unsafeSet2(currentSubscriberHead,updatedNode,runtime4.journal)}builder.push(head5),n=n+1}currentSubscriberHead=tail}}return unsafeSet2(this.subscriberHead,currentSubscriberHead,runtime4.journal),succeed13(builder)})}}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);var SecretSymbolKey="effect/Secret",SecretTypeId=Symbol.for(SecretSymbolKey);var SecretProto={...proto12,[SecretTypeId]:SecretTypeId};var ConfigSymbolKey="effect/Config",ConfigTypeId=Symbol.for(ConfigSymbolKey),configVariance={_A:(_)=>_},proto13={...CommitPrototype,[ConfigTypeId]:configVariance,commit(){return config(this)}};var TypeId21=TypeId19;var Proto3={[TypeId21]:TypeId21,get withRequirements(){let self=this;return contextWith2((context6)=>makeProto(self.steps.map((step4)=>({...step4,provide:isLayer2(step4.provide)?provide3(step4.provide,succeedContext2(context6)):step4.provide}))))},pipe(){return pipeArguments(this,arguments)}},makeProto=(steps)=>{let self=Object.create(Proto3);return self.steps=steps,self};var TypeId22=Symbol.for("effect/FiberHandle");var Proto4={[TypeId22]:TypeId22,toString(){return format(this.toJSON())},toJSON(){return{_id:"FiberHandle",state:this.state}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};var TypeId23=Symbol.for("effect/FiberMap");var Proto5={[TypeId23]:TypeId23,[Symbol.iterator](){if(this.state._tag==="Closed")return empty();return this.state.backing[Symbol.iterator]()},toString(){return format(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};var TypeId24=Symbol.for("effect/FiberSet");var Proto6={[TypeId24]:TypeId24,[Symbol.iterator](){if(this.state._tag==="Closed")return empty();return this.state.backing[Symbol.iterator]()},toString(){return format(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};class Pointer{path;actual;issue;_tag="Pointer";constructor(path,actual,issue){this.path=path,this.actual=actual,this.issue=issue}}class Unexpected{actual;message;_tag="Unexpected";constructor(actual,message){this.actual=actual,this.message=message}}class Missing{ast;message;_tag="Missing";actual=void 0;constructor(ast,message){this.ast=ast,this.message=message}}class Composite2{ast;actual;issues;output;_tag="Composite";constructor(ast,actual,issues,output){this.ast=ast,this.actual=actual,this.issues=issues,this.output=output}}class Refinement2{ast;actual;kind;issue;_tag="Refinement";constructor(ast,actual,kind,issue){this.ast=ast,this.actual=actual,this.kind=kind,this.issue=issue}}class Transformation{ast;actual;kind;issue;_tag="Transformation";constructor(ast,actual,kind,issue){this.ast=ast,this.actual=actual,this.kind=kind,this.issue=issue}}class Type2{ast;actual;message;_tag="Type";constructor(ast,actual,message){this.ast=ast,this.actual=actual,this.message=message}}class Forbidden{ast;actual;message;_tag="Forbidden";constructor(ast,actual,message){this.ast=ast,this.actual=actual,this.message=message}}var ParseErrorTypeId=Symbol.for("effect/Schema/ParseErrorTypeId");class ParseError extends TaggedError("ParseError"){[ParseErrorTypeId]=ParseErrorTypeId;get message(){return this.toString()}toString(){return TreeFormatter.formatIssueSync(this.issue)}toJSON(){return{_id:"ParseError",message:this.toString()}}[NodeInspectSymbol](){return this.toJSON()}}var parseError=(issue)=>new ParseError({issue}),succeed15=right2,fail16=left2;var isEither4=isEither2,flatMap16=dual(2,(self,f)=>{return isEither4(self)?match(self,{onLeft:left2,onRight:f}):flatMap10(self,f)}),map23=dual(2,(self,f)=>{return isEither4(self)?map(self,f):map13(self,f)}),mapError6=dual(2,(self,f)=>{return isEither4(self)?mapLeft(self,f):mapError3(self,f)});var orElse10=dual(2,(self,f)=>{return isEither4(self)?match(self,{onLeft:f,onRight:right2}):catchAll3(self,f)}),mergeInternalOptions=(options,overrideOptions)=>{if(overrideOptions===void 0||isNumber(overrideOptions))return options;if(options===void 0)return overrideOptions;return{...options,...overrideOptions}},getEither=(ast,isDecoding,options)=>{let parser=goMemo(ast,isDecoding);return(u,overrideOptions)=>parser(u,mergeInternalOptions(options,overrideOptions))},getSync=(ast,isDecoding,options)=>{let parser=getEither(ast,isDecoding,options);return(input,overrideOptions)=>getOrThrowWith(parser(input,overrideOptions),parseError)};var validateSync=(schema,options)=>getSync(typeAST(schema.ast),!0,options);var decodeMemoMap=globalValue(Symbol.for("effect/ParseResult/decodeMemoMap"),()=>new WeakMap),encodeMemoMap=globalValue(Symbol.for("effect/ParseResult/encodeMemoMap"),()=>new WeakMap),goMemo=(ast,isDecoding)=>{let memoMap=isDecoding?decodeMemoMap:encodeMemoMap,memo=memoMap.get(ast);if(memo)return memo;let raw=go(ast,isDecoding),parseOptionsAnnotation=getParseOptionsAnnotation(ast),parserWithOptions=isSome2(parseOptionsAnnotation)?(i,options)=>raw(i,mergeInternalOptions(options,parseOptionsAnnotation.value)):raw,decodingFallbackAnnotation=getDecodingFallbackAnnotation(ast),parser=isDecoding&&isSome2(decodingFallbackAnnotation)?(i,options)=>handleForbidden(orElse10(parserWithOptions(i,options),decodingFallbackAnnotation.value),ast,i,options):parserWithOptions;return memoMap.set(ast,parser),parser},getConcurrency=(ast)=>getOrUndefined(getConcurrencyAnnotation(ast)),getBatching=(ast)=>getOrUndefined(getBatchingAnnotation(ast)),go=(ast,isDecoding)=>{switch(ast._tag){case"Refinement":if(isDecoding){let from=goMemo(ast.from,!0);return(i,options)=>{options=options??defaultParseOption;let allErrors=options?.errors==="all",result=flatMap16(orElse10(from(i,options),(ef)=>{let issue=new Refinement2(ast,i,"From",ef);if(allErrors&&hasStableFilter(ast)&&isComposite2(ef))return match2(ast.filter(i,options,ast),{onNone:()=>left2(issue),onSome:(ep)=>left2(new Composite2(ast,i,[issue,new Refinement2(ast,i,"Predicate",ep)]))});return left2(issue)}),(a)=>match2(ast.filter(a,options,ast),{onNone:()=>right2(a),onSome:(ep)=>left2(new Refinement2(ast,i,"Predicate",ep))}));return handleForbidden(result,ast,i,options)}}else{let from=goMemo(typeAST(ast),!0),to=goMemo(dropRightRefinement(ast.from),!1);return(i,options)=>handleForbidden(flatMap16(from(i,options),(a)=>to(a,options)),ast,i,options)}case"Transformation":{let transform2=getFinalTransformation(ast.transformation,isDecoding),from=isDecoding?goMemo(ast.from,!0):goMemo(ast.to,!1),to=isDecoding?goMemo(ast.to,!0):goMemo(ast.from,!1);return(i,options)=>handleForbidden(flatMap16(mapError6(from(i,options),(e)=>new Transformation(ast,i,isDecoding?"Encoded":"Type",e)),(a)=>flatMap16(mapError6(transform2(a,options??defaultParseOption,ast,i),(e)=>new Transformation(ast,i,"Transformation",e)),(i2)=>mapError6(to(i2,options),(e)=>new Transformation(ast,i,isDecoding?"Type":"Encoded",e)))),ast,i,options)}case"Declaration":{let parse2=isDecoding?ast.decodeUnknown(...ast.typeParameters):ast.encodeUnknown(...ast.typeParameters);return(i,options)=>handleForbidden(parse2(i,options??defaultParseOption,ast),ast,i,options)}case"Literal":return fromRefinement(ast,(u)=>u===ast.literal);case"UniqueSymbol":return fromRefinement(ast,(u)=>u===ast.symbol);case"UndefinedKeyword":return fromRefinement(ast,isUndefined);case"NeverKeyword":return fromRefinement(ast,isNever);case"UnknownKeyword":case"AnyKeyword":case"VoidKeyword":return right2;case"StringKeyword":return fromRefinement(ast,isString);case"NumberKeyword":return fromRefinement(ast,isNumber);case"BooleanKeyword":return fromRefinement(ast,isBoolean);case"BigIntKeyword":return fromRefinement(ast,isBigInt);case"SymbolKeyword":return fromRefinement(ast,isSymbol);case"ObjectKeyword":return fromRefinement(ast,isObject);case"Enums":return fromRefinement(ast,(u)=>ast.enums.some(([_,value])=>value===u));case"TemplateLiteral":{let regex=getTemplateLiteralRegExp(ast);return fromRefinement(ast,(u)=>isString(u)&®ex.test(u))}case"TupleType":{let elements=ast.elements.map((e)=>goMemo(e.type,isDecoding)),rest=ast.rest.map((annotatedAST)=>goMemo(annotatedAST.type,isDecoding)),requiredTypes=ast.elements.filter((e)=>!e.isOptional);if(ast.rest.length>0)requiredTypes=requiredTypes.concat(ast.rest.slice(1));let requiredLen=requiredTypes.length,expectedIndexes=ast.elements.length>0?ast.elements.map((_,i)=>i).join(" | "):"never",concurrency=getConcurrency(ast),batching=getBatching(ast);return(input,options)=>{if(!isArray(input))return left2(new Type2(ast,input));let allErrors=options?.errors==="all",es=[],stepKey=0,output=[],len=input.length;for(let i2=len;i2<=requiredLen-1;i2++){let e=new Pointer(i2,input,new Missing(requiredTypes[i2-len]));if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,output))}if(ast.rest.length===0)for(let i2=ast.elements.length;i2<=len-1;i2++){let e=new Pointer(i2,input,new Unexpected(input[i2],`is unexpected, expected: ${expectedIndexes}`));if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,output))}let i=0,queue=void 0;for(;i<elements.length;i++)if(len<i+1){if(ast.elements[i].isOptional)continue}else{let parser=elements[i],te=parser(input[i],options);if(isEither4(te)){if(isLeft2(te)){let e=new Pointer(i,input,te.left);if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,sortByIndex(output)))}output.push([stepKey++,te.right])}else{let nk=stepKey++,index=i;if(!queue)queue=[];queue.push(({es:es2,output:output2})=>flatMap10(either3(te),(t)=>{if(isLeft2(t)){let e=new Pointer(index,input,t.left);if(allErrors)return es2.push([nk,e]),_void;else return left2(new Composite2(ast,input,e,sortByIndex(output2)))}return output2.push([nk,t.right]),_void}))}}if(isNonEmptyReadonlyArray(rest)){let[head6,...tail]=rest;for(;i<len-tail.length;i++){let te=head6(input[i],options);if(isEither4(te))if(isLeft2(te)){let e=new Pointer(i,input,te.left);if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,sortByIndex(output)))}else output.push([stepKey++,te.right]);else{let nk=stepKey++,index=i;if(!queue)queue=[];queue.push(({es:es2,output:output2})=>flatMap10(either3(te),(t)=>{if(isLeft2(t)){let e=new Pointer(index,input,t.left);if(allErrors)return es2.push([nk,e]),_void;else return left2(new Composite2(ast,input,e,sortByIndex(output2)))}else return output2.push([nk,t.right]),_void}))}}for(let j=0;j<tail.length;j++)if(i+=j,len<i+1)continue;else{let te=tail[j](input[i],options);if(isEither4(te)){if(isLeft2(te)){let e=new Pointer(i,input,te.left);if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,sortByIndex(output)))}output.push([stepKey++,te.right])}else{let nk=stepKey++,index=i;if(!queue)queue=[];queue.push(({es:es2,output:output2})=>flatMap10(either3(te),(t)=>{if(isLeft2(t)){let e=new Pointer(index,input,t.left);if(allErrors)return es2.push([nk,e]),_void;else return left2(new Composite2(ast,input,e,sortByIndex(output2)))}return output2.push([nk,t.right]),_void}))}}}let computeResult=({es:es2,output:output2})=>isNonEmptyArray2(es2)?left2(new Composite2(ast,input,sortByIndex(es2),sortByIndex(output2))):right2(sortByIndex(output2));if(queue&&queue.length>0){let cqueue=queue;return suspend3(()=>{let state={es:copy(es),output:copy(output)};return flatMap10(forEach8(cqueue,(f)=>f(state),{concurrency,batching,discard:!0}),()=>computeResult(state))})}return computeResult({output,es})}}case"TypeLiteral":{if(ast.propertySignatures.length===0&&ast.indexSignatures.length===0)return fromRefinement(ast,isNotNullable);let propertySignatures=[],expectedKeysMap={},expectedKeys=[];for(let ps of ast.propertySignatures)propertySignatures.push([goMemo(ps.type,isDecoding),ps]),expectedKeysMap[ps.name]=null,expectedKeys.push(ps.name);let indexSignatures=ast.indexSignatures.map((is)=>[goMemo(is.parameter,isDecoding),goMemo(is.type,isDecoding),is.parameter]),expectedAST=Union.make(ast.indexSignatures.map((is)=>is.parameter).concat(expectedKeys.map((key)=>isSymbol(key)?new UniqueSymbol(key):new Literal(key)))),expected=goMemo(expectedAST,isDecoding),concurrency=getConcurrency(ast),batching=getBatching(ast);return(input,options)=>{if(!isRecord(input))return left2(new Type2(ast,input));let allErrors=options?.errors==="all",es=[],stepKey=0,onExcessPropertyError=options?.onExcessProperty==="error",onExcessPropertyPreserve=options?.onExcessProperty==="preserve",output={},inputKeys;if(onExcessPropertyError||onExcessPropertyPreserve){inputKeys=ownKeys(input);for(let key of inputKeys){let te=expected(key,options);if(isEither4(te)&&isLeft2(te))if(onExcessPropertyError){let e=new Pointer(key,input,new Unexpected(input[key],`is unexpected, expected: ${String(expectedAST)}`));if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,output))}else output[key]=input[key]}}let queue=void 0,isExact=options?.exact===!0;for(let i=0;i<propertySignatures.length;i++){let ps=propertySignatures[i][1],name=ps.name,hasKey=Object.prototype.hasOwnProperty.call(input,name);if(!hasKey){if(ps.isOptional)continue;else if(isExact){let e=new Pointer(name,input,new Missing(ps));if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,output))}}let parser=propertySignatures[i][0],te=parser(input[name],options);if(isEither4(te)){if(isLeft2(te)){let e=new Pointer(name,input,hasKey?te.left:new Missing(ps));if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,output))}output[name]=te.right}else{let nk=stepKey++,index=name;if(!queue)queue=[];queue.push(({es:es2,output:output2})=>flatMap10(either3(te),(t)=>{if(isLeft2(t)){let e=new Pointer(index,input,hasKey?t.left:new Missing(ps));if(allErrors)return es2.push([nk,e]),_void;else return left2(new Composite2(ast,input,e,output2))}return output2[index]=t.right,_void}))}}for(let i=0;i<indexSignatures.length;i++){let indexSignature=indexSignatures[i],parameter=indexSignature[0],type=indexSignature[1],keys5=getKeysForIndexSignature(input,indexSignature[2]);for(let key of keys5){let keu=parameter(key,options);if(isEither4(keu)&&isRight2(keu)){let vpr=type(input[key],options);if(isEither4(vpr)){if(isLeft2(vpr)){let e=new Pointer(key,input,vpr.left);if(allErrors){es.push([stepKey++,e]);continue}else return left2(new Composite2(ast,input,e,output))}else if(!Object.prototype.hasOwnProperty.call(expectedKeysMap,key))output[key]=vpr.right}else{let nk=stepKey++,index=key;if(!queue)queue=[];queue.push(({es:es2,output:output2})=>flatMap10(either3(vpr),(tv)=>{if(isLeft2(tv)){let e=new Pointer(index,input,tv.left);if(allErrors)return es2.push([nk,e]),_void;else return left2(new Composite2(ast,input,e,output2))}else{if(!Object.prototype.hasOwnProperty.call(expectedKeysMap,key))output2[key]=tv.right;return _void}}))}}}}let computeResult=({es:es2,output:output2})=>{if(isNonEmptyArray2(es2))return left2(new Composite2(ast,input,sortByIndex(es2),output2));if(options?.propertyOrder==="original"){let keys5=inputKeys||ownKeys(input);for(let name of expectedKeys)if(keys5.indexOf(name)===-1)keys5.push(name);let out={};for(let key of keys5)if(Object.prototype.hasOwnProperty.call(output2,key))out[key]=output2[key];return right2(out)}return right2(output2)};if(queue&&queue.length>0){let cqueue=queue;return suspend3(()=>{let state={es:copy(es),output:Object.assign({},output)};return flatMap10(forEach8(cqueue,(f)=>f(state),{concurrency,batching,discard:!0}),()=>computeResult(state))})}return computeResult({es,output})}}case"Union":{let searchTree=getSearchTree(ast.types,isDecoding),ownKeys2=ownKeys(searchTree.keys),ownKeysLen=ownKeys2.length,astTypesLen=ast.types.length,map24=new Map;for(let i=0;i<astTypesLen;i++)map24.set(ast.types[i],goMemo(ast.types[i],isDecoding));let concurrency=getConcurrency(ast)??1,batching=getBatching(ast);return(input,options)=>{let es=[],stepKey=0,candidates=[];if(ownKeysLen>0)if(isRecordOrArray(input))for(let i=0;i<ownKeysLen;i++){let name=ownKeys2[i],buckets=searchTree.keys[name].buckets;if(Object.prototype.hasOwnProperty.call(input,name)){let literal2=String(input[name]);if(Object.prototype.hasOwnProperty.call(buckets,literal2))candidates=candidates.concat(buckets[literal2]);else{let{candidates:candidates2,literals}=searchTree.keys[name],literalsUnion=Union.make(literals),errorAst=candidates2.length===astTypesLen?new TypeLiteral([new PropertySignature(name,literalsUnion,!1,!0)],[]):Union.make(candidates2);es.push([stepKey++,new Composite2(errorAst,input,new Pointer(name,input,new Type2(literalsUnion,input[name])))])}}else{let{candidates:candidates2,literals}=searchTree.keys[name],fakePropertySignature=new PropertySignature(name,Union.make(literals),!1,!0),errorAst=candidates2.length===astTypesLen?new TypeLiteral([fakePropertySignature],[]):Union.make(candidates2);es.push([stepKey++,new Composite2(errorAst,input,new Pointer(name,input,new Missing(fakePropertySignature)))])}}else{let errorAst=searchTree.candidates.length===astTypesLen?ast:Union.make(searchTree.candidates);es.push([stepKey++,new Type2(errorAst,input)])}if(searchTree.otherwise.length>0)candidates=candidates.concat(searchTree.otherwise);let queue=void 0;for(let i=0;i<candidates.length;i++){let candidate=candidates[i],pr=map24.get(candidate)(input,options);if(isEither4(pr)&&(!queue||queue.length===0))if(isRight2(pr))return pr;else es.push([stepKey++,pr.left]);else{let nk=stepKey++;if(!queue)queue=[];queue.push((state)=>suspend3(()=>{if("finalResult"in state)return _void;else return flatMap10(either3(pr),(t)=>{if(isRight2(t))state.finalResult=t;else state.es.push([nk,t.left]);return _void})}))}}let computeResult=(es2)=>isNonEmptyArray2(es2)?es2.length===1&&es2[0][1]._tag==="Type"?left2(es2[0][1]):left2(new Composite2(ast,input,sortByIndex(es2))):left2(new Type2(ast,input));if(queue&&queue.length>0){let cqueue=queue;return suspend3(()=>{let state={es:copy(es)};return flatMap10(forEach8(cqueue,(f)=>f(state),{concurrency,batching,discard:!0}),()=>{if("finalResult"in state)return state.finalResult;return computeResult(state.es)})})}return computeResult(es)}}case"Suspend":{let get17=memoizeThunk(()=>goMemo(annotations(ast.f(),ast.annotations),isDecoding));return(a,options)=>get17()(a,options)}}},fromRefinement=(ast,refinement)=>(u)=>refinement(u)?right2(u):left2(new Type2(ast,u)),getLiterals=(ast,isDecoding)=>{switch(ast._tag){case"Declaration":{let annotation=getSurrogateAnnotation(ast);if(isSome2(annotation))return getLiterals(annotation.value,isDecoding);break}case"TypeLiteral":{let out=[];for(let i=0;i<ast.propertySignatures.length;i++){let propertySignature=ast.propertySignatures[i],type=isDecoding?encodedAST(propertySignature.type):typeAST(propertySignature.type);if(isLiteral(type)&&!propertySignature.isOptional)out.push([propertySignature.name,type])}return out}case"TupleType":{let out=[];for(let i=0;i<ast.elements.length;i++){let element=ast.elements[i],type=isDecoding?encodedAST(element.type):typeAST(element.type);if(isLiteral(type)&&!element.isOptional)out.push([i,type])}return out}case"Refinement":return getLiterals(ast.from,isDecoding);case"Suspend":return getLiterals(ast.f(),isDecoding);case"Transformation":return getLiterals(isDecoding?ast.from:ast.to,isDecoding)}return[]},getSearchTree=(members,isDecoding)=>{let keys5={},otherwise=[],candidates=[];for(let i=0;i<members.length;i++){let member=members[i],tags=getLiterals(member,isDecoding);if(tags.length>0){candidates.push(member);for(let j=0;j<tags.length;j++){let[key,literal2]=tags[j],hash2=String(literal2.literal);keys5[key]=keys5[key]||{buckets:{},literals:[],candidates:[]};let buckets=keys5[key].buckets;if(Object.prototype.hasOwnProperty.call(buckets,hash2)){if(j<tags.length-1)continue;buckets[hash2].push(member),keys5[key].literals.push(literal2),keys5[key].candidates.push(member)}else{buckets[hash2]=[member],keys5[key].literals.push(literal2),keys5[key].candidates.push(member);break}}}else otherwise.push(member)}return{keys:keys5,otherwise,candidates}},dropRightRefinement=(ast)=>isRefinement(ast)?dropRightRefinement(ast.from):ast,handleForbidden=(effect4,ast,actual,options)=>{if(options?.isEffectAllowed===!0)return effect4;if(isEither4(effect4))return effect4;let scheduler=new SyncScheduler,fiber=runFork2(effect4,{scheduler});scheduler.flush();let exit3=fiber.unsafePoll();if(exit3){if(isSuccess(exit3))return right2(exit3.value);let cause3=exit3.cause;if(isFailType2(cause3))return left2(cause3.error);return left2(new Forbidden(ast,actual,pretty2(cause3)))}return left2(new Forbidden(ast,actual,"cannot be be resolved synchronously, this is caused by using runSync on an effect that performs async work"))},compare=([a],[b])=>a>b?1:a<b?-1:0;function sortByIndex(es){return es.sort(compare).map((t)=>t[1])}var getFinalTransformation=(transformation,isDecoding)=>{switch(transformation._tag){case"FinalTransformation":return isDecoding?transformation.decode:transformation.encode;case"ComposeTransformation":return right2;case"TypeLiteralTransformation":return(input)=>{let out=right2(input);for(let pst of transformation.propertySignatureTransformations){let[from,to]=isDecoding?[pst.from,pst.to]:[pst.to,pst.from],transformation2=isDecoding?pst.decode:pst.encode;out=map23(out,(input2)=>{let o=transformation2(Object.prototype.hasOwnProperty.call(input2,from)?some2(input2[from]):none2());if(delete input2[from],isSome2(o))input2[to]=o.value;return input2})}return out}}},makeTree=(value,forest=[])=>({value,forest}),TreeFormatter={formatIssue:(issue)=>map23(formatTree(issue),drawTree),formatIssueSync:(issue)=>{let e=TreeFormatter.formatIssue(issue);return isEither4(e)?getOrThrow(e):runSync(e)},formatError:(error2)=>TreeFormatter.formatIssue(error2.issue),formatErrorSync:(error2)=>TreeFormatter.formatIssueSync(error2.issue)},drawTree=(tree)=>tree.value+draw(`
|
|
36
|
+
`,tree.forest),draw=(indentation,forest)=>{let r="",len=forest.length,tree;for(let i=0;i<len;i++){tree=forest[i];let isLast=i===len-1;r+=indentation+(isLast?"└":"├")+"─ "+tree.value,r+=draw(indentation+(len>1&&!isLast?"│ ":" "),tree.forest)}return r},formatTransformationKind=(kind)=>{switch(kind){case"Encoded":return"Encoded side transformation failure";case"Transformation":return"Transformation process failure";case"Type":return"Type side transformation failure"}},formatRefinementKind=(kind)=>{switch(kind){case"From":return"From side refinement failure";case"Predicate":return"Predicate refinement failure"}},getAnnotated=(issue)=>("ast"in issue)?some2(issue.ast):none2(),Either_void=right2(void 0),getCurrentMessage=(issue)=>getAnnotated(issue).pipe(flatMap(getMessageAnnotation),match2({onNone:()=>Either_void,onSome:(messageAnnotation)=>{let union9=messageAnnotation(issue);if(isString(union9))return right2({message:union9,override:!1});if(isEffect2(union9))return map13(union9,(message)=>({message,override:!1}));if(isString(union9.message))return right2({message:union9.message,override:union9.override});return map13(union9.message,(message)=>({message,override:union9.override}))}})),createParseIssueGuard=(tag)=>(issue)=>issue._tag===tag,isComposite2=createParseIssueGuard("Composite"),isRefinement2=createParseIssueGuard("Refinement"),isTransformation=createParseIssueGuard("Transformation"),getMessage=(issue)=>flatMap16(getCurrentMessage(issue),(currentMessage)=>{if(currentMessage!==void 0)return!currentMessage.override&&(isComposite2(issue)||isRefinement2(issue)&&issue.kind==="From"||isTransformation(issue)&&issue.kind!=="Transformation")?isTransformation(issue)||isRefinement2(issue)?getMessage(issue.issue):Either_void:right2(currentMessage.message);return Either_void}),getParseIssueTitleAnnotation2=(issue)=>getAnnotated(issue).pipe(flatMap(getParseIssueTitleAnnotation),flatMapNullable((annotation)=>annotation(issue)),getOrUndefined);function getRefinementExpected(ast){return getDescriptionAnnotation(ast).pipe(orElse(()=>getTitleAnnotation(ast)),orElse(()=>getAutoTitleAnnotation(ast)),orElse(()=>getIdentifierAnnotation(ast)),getOrElse(()=>`{ ${ast.from} | filter }`))}function getDefaultTypeMessage(issue){if(issue.message!==void 0)return issue.message;return`Expected ${isRefinement(issue.ast)?getRefinementExpected(issue.ast):String(issue.ast)}, actual ${formatUnknown(issue.actual)}`}var formatTypeMessage=(issue)=>map23(getMessage(issue),(message)=>message??getParseIssueTitleAnnotation2(issue)??getDefaultTypeMessage(issue)),getParseIssueTitle=(issue)=>getParseIssueTitleAnnotation2(issue)??String(issue.ast),formatForbiddenMessage=(issue)=>issue.message??"is forbidden",formatUnexpectedMessage=(issue)=>issue.message??"is unexpected",formatMissingMessage=(issue)=>{let missingMessageAnnotation=getMissingMessageAnnotation(issue.ast);if(isSome2(missingMessageAnnotation)){let annotation=missingMessageAnnotation.value();return isString(annotation)?right2(annotation):annotation}return right2(issue.message??"is missing")},formatTree=(issue)=>{switch(issue._tag){case"Type":return map23(formatTypeMessage(issue),makeTree);case"Forbidden":return right2(makeTree(getParseIssueTitle(issue),[makeTree(formatForbiddenMessage(issue))]));case"Unexpected":return right2(makeTree(formatUnexpectedMessage(issue)));case"Missing":return map23(formatMissingMessage(issue),makeTree);case"Transformation":return flatMap16(getMessage(issue),(message)=>{if(message!==void 0)return right2(makeTree(message));return map23(formatTree(issue.issue),(tree)=>makeTree(getParseIssueTitle(issue),[makeTree(formatTransformationKind(issue.kind),[tree])]))});case"Refinement":return flatMap16(getMessage(issue),(message)=>{if(message!==void 0)return right2(makeTree(message));return map23(formatTree(issue.issue),(tree)=>makeTree(getParseIssueTitle(issue),[makeTree(formatRefinementKind(issue.kind),[tree])]))});case"Pointer":return map23(formatTree(issue.issue),(tree)=>makeTree(formatPath(issue.path),[tree]));case"Composite":return flatMap16(getMessage(issue),(message)=>{if(message!==void 0)return right2(makeTree(message));let parseIssueTitle=getParseIssueTitle(issue);return isNonEmpty(issue.issues)?map23(forEach8(issue.issues,formatTree),(forest)=>makeTree(parseIssueTitle,forest)):map23(formatTree(issue.issues),(tree)=>makeTree(parseIssueTitle,[tree]))})}};var PoolTypeId=Symbol.for("effect/Pool"),poolVariance={_E:(_)=>_,_A:(_)=>_};class PoolImpl extends Class{scope;acquire;concurrency;minSize;maxSize;strategy;targetUtilization;[PoolTypeId];isShuttingDown=!1;semaphore;items=new Set;available=new Set;availableLatch=unsafeMakeLatch(!1);invalidated=new Set;waiters=0;constructor(scope5,acquire,concurrency,minSize,maxSize,strategy,targetUtilization){super();this.scope=scope5,this.acquire=acquire,this.concurrency=concurrency,this.minSize=minSize,this.maxSize=maxSize,this.strategy=strategy,this.targetUtilization=targetUtilization,this[PoolTypeId]=poolVariance,this.semaphore=unsafeMakeSemaphore(concurrency*maxSize)}allocate=acquireUseRelease(scopeMake(),(scope5)=>this.acquire.pipe(scopeExtend(scope5),exit,flatMap7((exit3)=>{let item={exit:exit3,finalizer:catchAllCause(scope5.close(exit3),reportUnhandledError),refCount:0,disableReclaim:!1};return this.items.add(item),this.available.add(item),as(exit3._tag==="Success"?this.strategy.onAcquire(item):zipRight(item.finalizer,this.strategy.onAcquire(item)),item)})),(scope5,exit3)=>exit3._tag==="Failure"?scope5.close(exit3):void_);get currentUsage(){let count4=this.waiters;for(let item of this.items)count4+=item.refCount;return count4}get targetSize(){if(this.isShuttingDown)return 0;let utilization=this.currentUsage/this.targetUtilization,target=Math.ceil(utilization/this.concurrency);return Math.min(Math.max(this.minSize,target),this.maxSize)}get activeSize(){return this.items.size-this.invalidated.size}resizeLoop=suspend(()=>{if(this.activeSize>=this.targetSize)return void_;let toAcquire=this.targetSize-this.activeSize;return this.strategy.reclaim(this).pipe(flatMap7(match2({onNone:()=>this.allocate,onSome:succeed})),replicateEffect(toAcquire,{concurrency:toAcquire}),zipLeft(this.availableLatch.open),flatMap7((items)=>items.some((_)=>_.exit._tag==="Failure")?void_:this.resizeLoop))});resizeSemaphore=unsafeMakeSemaphore(1);resize=this.resizeSemaphore.withPermits(1)(this.resizeLoop);getPoolItem=uninterruptibleMask((restore)=>restore(this.semaphore.take(1)).pipe(zipRight(scopeTag),flatMap7((scope5)=>suspend(()=>{if(this.waiters++,this.isShuttingDown)return interrupt2;else if(this.targetSize>this.activeSize){let self=this;return flatMap7(this.resizeSemaphore.withPermitsIfAvailable(1)(forkIn(interruptible2(this.resize),this.scope)),function loop(){if(self.isShuttingDown)return interrupt2;else if(self.available.size>0)return succeed(unsafeHead(self.available));return self.availableLatch.unsafeClose(),flatMap7(self.availableLatch.await,loop)})}return succeed(unsafeHead(this.available))}).pipe(ensuring(sync(()=>this.waiters--)),tap((item)=>{if(item.exit._tag==="Failure")return this.items.delete(item),this.invalidated.delete(item),this.available.delete(item),this.semaphore.release(1);if(item.refCount++,this.available.delete(item),item.refCount<this.concurrency)this.available.add(item);return scope5.addFinalizer(()=>zipRight(suspend(()=>{if(item.refCount--,this.invalidated.has(item))return this.invalidatePoolItem(item);return this.available.add(item),exitVoid}),this.semaphore.release(1)))}),onInterrupt(()=>this.semaphore.release(1))))));commit(){return this.get}get=flatMap7(suspend(()=>this.isShuttingDown?interrupt2:this.getPoolItem),(_)=>_.exit);invalidate(item){return suspend(()=>{if(this.isShuttingDown)return void_;for(let poolItem of this.items)if(poolItem.exit._tag==="Success"&&poolItem.exit.value===item)return poolItem.disableReclaim=!0,uninterruptible(this.invalidatePoolItem(poolItem));return void_})}invalidatePoolItem(poolItem){return suspend(()=>{if(!this.items.has(poolItem))return void_;else if(poolItem.refCount===0)return this.items.delete(poolItem),this.available.delete(poolItem),this.invalidated.delete(poolItem),zipRight(poolItem.finalizer,forkIn(interruptible2(this.resize),this.scope));return this.invalidated.add(poolItem),this.available.delete(poolItem),void_})}get shutdown(){return suspend(()=>{if(this.isShuttingDown)return void_;this.isShuttingDown=!0;let size16=this.items.size,semaphore=unsafeMakeSemaphore(size16);return forEachSequentialDiscard(this.items,(item)=>{if(item.refCount>0)return item.finalizer=zipLeft(item.finalizer,semaphore.release(1)),this.invalidated.add(item),semaphore.take(1);return this.items.delete(item),this.available.delete(item),this.invalidated.delete(item),item.finalizer}).pipe(zipRight(this.semaphore.releaseAll),zipRight(this.availableLatch.open),zipRight(semaphore.take(size16)))})}pipe(){return pipeArguments(this,arguments)}}var reportUnhandledError=(cause3)=>withFiberRuntime((fiber)=>{let unhandledLogLevel=fiber.getFiberRef(currentUnhandledErrorLogLevel);if(unhandledLogLevel._tag==="Some")fiber.log("Unhandled error in pool finalizer",cause3,unhandledLogLevel);return void_});var ManagedRuntimeProto={...CommitPrototype2,[TypeId16]:TypeId16,pipe(){return pipeArguments(this,arguments)},commit(){return this.runtimeEffect}};var TypeId27=Symbol.for("@effect/matcher/Matcher"),TypeMatcherProto={[TypeId27]:{_input:identity,_filters:identity,_remaining:identity,_result:identity,_return:identity},_tag:"TypeMatcher",add(_case2){return makeTypeMatcher([...this.cases,_case2])},pipe(){return pipeArguments(this,arguments)}};function makeTypeMatcher(cases){let matcher=Object.create(TypeMatcherProto);return matcher.cases=cases,matcher}var ValueMatcherProto={[TypeId27]:{_input:identity,_filters:identity,_result:identity,_return:identity},_tag:"ValueMatcher",add(_case2){if(this.value._tag==="Right")return this;if(_case2._tag==="When"&&_case2.guard(this.provided)===!0)return makeValueMatcher(this.provided,right2(_case2.evaluate(this.provided)));else if(_case2._tag==="Not"&&_case2.guard(this.provided)===!1)return makeValueMatcher(this.provided,right2(_case2.evaluate(this.provided)));return this},pipe(){return pipeArguments(this,arguments)}};function makeValueMatcher(provided,value){let matcher=Object.create(ValueMatcherProto);return matcher.provided=provided,matcher.value=value,matcher}var TypeId28=Symbol.for("effect/MutableHashSet"),MutableHashSetProto={[TypeId28]:TypeId28,[Symbol.iterator](){return Array.from(this.keyMap).map(([_])=>_)[Symbol.iterator]()},toString(){return format(this.toJSON())},toJSON(){return{_id:"MutableHashSet",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};var ScopedRefSymbolKey="effect/ScopedRef",ScopedRefTypeId=Symbol.for(ScopedRefSymbolKey),scopedRefVariance={_A:(_)=>_},proto14={...CommitPrototype,commit(){return get21(this)},[ScopedRefTypeId]:scopedRefVariance};var get21=(self)=>map9(get11(self.ref),(tuple4)=>tuple4[1]);var ResourceSymbolKey="effect/Resource",ResourceTypeId=Symbol.for(ResourceSymbolKey),resourceVariance={_E:(_)=>_,_A:(_)=>_},proto15={...CommitPrototype,commit(){return get23(this)},[ResourceTypeId]:resourceVariance};var get23=(self)=>flatMap7(get21(self.scopedRef),identity);var TypeId29=Symbol.for("effect/Schema");function make68(ast){return class SchemaClass{[TypeId29]=variance9;static ast=ast;static annotations(annotations2){return make68(mergeSchemaAnnotations(this.ast,annotations2))}static pipe(){return pipeArguments(this,arguments)}static toString(){return String(ast)}static Type;static Encoded;static Context;static[TypeId29]=variance9}}var variance9={_A:(_)=>_,_I:(_)=>_,_R:(_)=>_};var builtInAnnotations={schemaId:SchemaIdAnnotationId,message:MessageAnnotationId,missingMessage:MissingMessageAnnotationId,identifier:IdentifierAnnotationId,title:TitleAnnotationId,description:DescriptionAnnotationId,examples:ExamplesAnnotationId,default:DefaultAnnotationId,documentation:DocumentationAnnotationId,jsonSchema:JSONSchemaAnnotationId,arbitrary:ArbitraryAnnotationId,pretty:PrettyAnnotationId,equivalence:EquivalenceAnnotationId,concurrency:ConcurrencyAnnotationId,batching:BatchingAnnotationId,parseIssueTitle:ParseIssueTitleAnnotationId,parseOptions:ParseOptionsAnnotationId,decodingFallback:DecodingFallbackAnnotationId},toASTAnnotations=(annotations2)=>{if(!annotations2)return{};let out={...annotations2};for(let key in builtInAnnotations)if(key in annotations2){let id2=builtInAnnotations[key];out[id2]=annotations2[key],delete out[key]}return out},mergeSchemaAnnotations=(ast,annotations2)=>annotations(ast,toASTAnnotations(annotations2));var declareConstructor=(typeParameters,options,annotations2)=>makeDeclareClass(typeParameters,new Declaration(typeParameters.map((tp)=>tp.ast),(...typeParameters2)=>options.decode(...typeParameters2.map(make68)),(...typeParameters2)=>options.encode(...typeParameters2.map(make68)),toASTAnnotations(annotations2))),declarePrimitive=(is3,annotations2)=>{let decodeUnknown3=()=>(input,_,ast)=>is3(input)?succeed15(input):fail16(new Type2(ast,input));return makeDeclareClass([],new Declaration([],decodeUnknown3,decodeUnknown3,toASTAnnotations(annotations2)))};function makeDeclareClass(typeParameters,ast){return class DeclareClass extends make68(ast){static annotations(annotations2){return makeDeclareClass(this.typeParameters,mergeSchemaAnnotations(this.ast,annotations2))}static typeParameters=[...typeParameters]}}var declare=function(){if(Array.isArray(arguments[0])){let typeParameters=arguments[0],options=arguments[1],annotations3=arguments[2];return declareConstructor(typeParameters,options,annotations3)}let is3=arguments[0],annotations2=arguments[1];return declarePrimitive(is3,annotations2)};class String$ extends make68(stringKeyword){}var RefineSchemaId=Symbol.for("effect/SchemaId/Refine");function makeRefineClass(from,filter12,ast){return class RefineClass extends make68(ast){static annotations(annotations2){return makeRefineClass(this.from,this.filter,mergeSchemaAnnotations(this.ast,annotations2))}static[RefineSchemaId]=from;static from=from;static filter=filter12;static make=(a,options)=>{return getDisableValidationMakeOption(options)?a:validateSync(this)(a)}}}var fromFilterPredicateReturnTypeItem=(item,ast,input)=>{if(isBoolean(item))return item?none2():some2(new Type2(ast,input));if(isString(item))return some2(new Type2(ast,input,item));if(item!==void 0){if("_tag"in item)return some2(item);let issue=new Type2(ast,input,item.message);return some2(isNonEmptyReadonlyArray(item.path)?new Pointer(item.path,input,issue):issue)}return none2()},toFilterParseIssue=(out,ast,input)=>{if(isSingle(out))return fromFilterPredicateReturnTypeItem(out,ast,input);if(isNonEmptyReadonlyArray(out)){let issues=filterMap(out,(issue)=>fromFilterPredicateReturnTypeItem(issue,ast,input));if(isNonEmptyReadonlyArray(issues))return some2(issues.length===1?issues[0]:new Composite2(ast,input,issues))}return none2()};function filter12(predicate,annotations2){return(self)=>{function filter13(input,options,ast2){return toFilterParseIssue(predicate(input,options,ast2),ast2,input)}let ast=new Refinement(self.ast,filter13,toASTAnnotations(annotations2));return makeRefineClass(self,filter13,ast)}}var PatternSchemaId=Symbol.for("effect/SchemaId/Pattern"),pattern=(regex,annotations2)=>(self)=>{let source=regex.source;return self.pipe(filter12((a)=>{return regex.lastIndex=0,regex.test(a)},{schemaId:PatternSchemaId,[PatternSchemaId]:{regex},description:`a string matching the pattern ${source}`,jsonSchema:{pattern:source},...annotations2}))};var UUIDSchemaId=Symbol.for("effect/SchemaId/UUID"),uuidRegexp=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/i;class UUID extends String$.pipe(pattern(uuidRegexp,{schemaId:UUIDSchemaId,identifier:"UUID",jsonSchema:{format:"uuid",pattern:uuidRegexp.source},description:"a Universally Unique Identifier",arbitrary:()=>(fc)=>fc.uuid()})){}var DateFromSelfSchemaId2=DateFromSelfSchemaId;class DateFromSelf extends declare(isDate,{identifier:"DateFromSelf",schemaId:DateFromSelfSchemaId2,[DateFromSelfSchemaId2]:{noInvalidDate:!1},description:"a potentially invalid Date instance",pretty:()=>(date2)=>`new Date(${JSON.stringify(date2)})`,arbitrary:()=>(fc)=>fc.date({noInvalidDate:!1}),equivalence:()=>Date2}){}function getDisableValidationMakeOption(options){return isBoolean(options)?options:options?.disableValidation??!1}var TypeId30=Symbol.for("effect/SortedMap"),SortedMapProto={[TypeId30]:{_K:(_)=>_,_V:(_)=>_},[symbol](){return pipe(hash(this.tree),combine(hash("effect/SortedMap")),cached(this))},[symbol2](that){return isSortedMap(that)&&equals(this.tree,that.tree)},[Symbol.iterator](){return this.tree[Symbol.iterator]()},toString(){return format(this.toJSON())},toJSON(){return{_id:"SortedMap",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};var isSortedMap=(u)=>hasProperty(u,TypeId30);var TypeId31=Symbol.for("effect/Subscribable");var Proto7={[TypeId13]:TypeId13,[TypeId31]:TypeId31,pipe(){return pipeArguments(this,arguments)}};var TrieSymbolKey="effect/Trie",TrieTypeId=Symbol.for(TrieSymbolKey),trieVariance={_Value:(_)=>_},TrieProto={[TrieTypeId]:trieVariance,[Symbol.iterator](){return new TrieIterator(this,(k,v)=>[k,v],()=>!0)},[symbol](){let hash2=hash(TrieSymbolKey);for(let item of this)hash2^=pipe(hash(item[0]),combine(hash(item[1])));return cached(this,hash2)},[symbol2](that){if(isTrie(that)){let entries2=Array.from(that);return Array.from(this).every((itemSelf,i)=>{let itemThat=entries2[i];return equals(itemSelf[0],itemThat[0])&&equals(itemSelf[1],itemThat[1])})}return!1},toString(){return format(this.toJSON())},toJSON(){return{_id:"Trie",values:Array.from(this).map(toJSON)}},[NodeInspectSymbol](){return this.toJSON()},pipe(){return pipeArguments(this,arguments)}};class TrieIterator{trie;f;filter;stack=[];constructor(trie,f,filter15){this.trie=trie,this.f=f,this.filter=filter15;let root=trie._root!==void 0?trie._root:void 0;if(root!==void 0)this.stack.push([root,"",!1])}next(){while(this.stack.length>0){let[node,keyString,isAdded]=this.stack.pop();if(isAdded){let value6=node.value;if(value6!==void 0){let key=keyString+node.key;if(this.filter(key,value6))return{done:!1,value:this.f(key,value6)}}}else this.addToStack(node,keyString)}return{done:!0,value:void 0}}addToStack(node,keyString){if(node.right!==void 0)this.stack.push([node.right,keyString,!1]);if(node.mid!==void 0)this.stack.push([node.mid,keyString+node.key,!1]);if(this.stack.push([node,keyString,!0]),node.left!==void 0)this.stack.push([node.left,keyString,!1])}[Symbol.iterator](){return new TrieIterator(this.trie,this.f,this.filter)}}var isTrie=(u)=>hasProperty(u,TrieTypeId);var import_redis=__toESM(require_dist2(),1);class RedisError extends exports_Data.TaggedError("RedisError"){}class RedisConnectionOptions extends exports_Context.Tag("RedisConnectionOptions")(){}var RedisConnectionOptionsLive=(options)=>exports_Layer.succeed(RedisConnectionOptions,RedisConnectionOptions.of({options}));class Redis extends exports_Context.Tag("Redis")(){}var bootstrapRedisEffect=exports_Effect.gen(function*(){let client=yield*redisClientEffect;return Redis.of({use:(fn2)=>exports_Effect.gen(function*(){let result=yield*exports_Effect.try({try:()=>fn2(client),catch:(e)=>new RedisError({cause:e,message:"Synchronous error in `Redis.use`"})});if(result instanceof Promise)return yield*exports_Effect.tryPromise({try:()=>result,catch:(e)=>new RedisError({cause:e,message:"Asynchronous error in `Redis.use`"})});return result})})}),RedisLive=exports_Layer.scoped(Redis,bootstrapRedisEffect);class RedisPubSub extends exports_Context.Tag("RedisPubSub")(){}class RedisPersistence extends exports_Context.Tag("RedisPersistence")(){}var redisClientEffect=exports_Effect.gen(function*(){let{options}=yield*RedisConnectionOptions;return yield*exports_Effect.acquireRelease(exports_Effect.tryPromise({try:()=>import_redis.createClient(options).connect().then((r)=>{return console.log("Connected to Redis"),r.on("error",(e)=>{console.log("Redis error(on error):",e.message),r.destroy()}),r.on("end",()=>{console.log("Connection to Redis ended")}),r}),catch:(e)=>new RedisError({cause:e,message:"Error while connecting to Redis"})}),(client)=>exports_Effect.sync(()=>{if(client.isReady)client.quit()}))}),bootstrapRedisPersistenceEffect=exports_Effect.gen(function*(){let client=yield*redisClientEffect;return RedisPersistence.of({setValue:(key,value6)=>exports_Effect.tryPromise({try:()=>client.set(key,value6),catch:(e)=>new RedisError({cause:e,message:"Error in `Redis.setValue`"})})})}),RedisPersistenceLive=exports_Layer.scoped(RedisPersistence,bootstrapRedisPersistenceEffect),bootstrapRedisPubSubEffect=exports_Effect.gen(function*(){let clientPublish=yield*redisClientEffect,clientSubscribe=yield*redisClientEffect;return RedisPubSub.of({publish:(channel,message)=>exports_Effect.tryPromise({try:()=>clientPublish.publish(channel,message),catch:(e)=>new RedisError({cause:e,message:"Error in `Redis.publish`"})}),subscribe:(channel,handler)=>exports_Effect.tryPromise({try:()=>clientSubscribe.subscribe(channel,handler),catch:(e)=>new RedisError({cause:e,message:"Error in `Redis.subscribe`"})})})}),RedisPubSubLive=exports_Layer.scoped(RedisPubSub,bootstrapRedisPubSubEffect);export{RedisPubSubLive,RedisPubSub,RedisPersistenceLive,RedisPersistence,RedisLive,RedisError,RedisConnectionOptionsLive,RedisConnectionOptions,Redis};
|