zeed 0.8.2 → 0.8.5

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.
@@ -0,0 +1,2 @@
1
+ var G=Object.defineProperty;var r=(e,n)=>G(e,"name",{value:n,configurable:!0});function O(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;throw new Error("unable to locate global object")}r(O,"_global");function I(){let e=O();return e._zeedGlobal==null&&(e._zeedGlobal={}),e._zeedGlobal}r(I,"getGlobalContext");function p(e){return e!=null&&typeof e=="object"}r(p,"isObject");function k(e){return Object(e)!==e}r(k,"isPrimitive");function $(e){return Array.isArray(e)}r($,"isArray");function P(e){return p(e)&&!$(e)}r(P,"isRecord");function _(e){return typeof e=="string"}r(_,"isString");function M(e){return typeof e=="number"}r(M,"isNumber");function z(e){return typeof e=="number"&&Number.isInteger(e)}r(z,"isInteger");function B(e){return typeof e=="number"&&Number.isSafeInteger(e)}r(B,"isSafeInteger");function U(e){return typeof e=="boolean"}r(U,"isBoolean");function V(e){return e==null}r(V,"isNullOrUndefined");function F(e){return p(e)&&e.constructor.name==="Uint8Array"}r(F,"isUint8Array");function b(e,n,a=new WeakSet){if(e===n||a.has(n))return!0;if(k(n)||a.add(n),!(e instanceof Object)||!(n instanceof Object)||e.constructor!==n.constructor||e.length!==n.length)return!1;for(let l in e){if(!e.hasOwnProperty(l))continue;if(!n.hasOwnProperty(l))return!1;let f=e[l],u=n[l];if(!b(f,u,a))return!1}for(let l in n)if(n.hasOwnProperty(l)&&!e.hasOwnProperty(l))return!1;return!0}r(b,"deepEqual");function D(e,...n){for(let a of n)p(e)||(e={}),a!=null&&Object.keys(a).forEach(l=>{let f=e[l],u=a[l];Array.isArray(f)&&Array.isArray(u)?e[l]=f.concat(u):p(f)&&p(u)?e[l]=D(Object.assign({},f),u):e[l]=u});return e}r(D,"deepMerge");function m(e={}){let{level:n=void 0,filter:a=void 0,colors:l=!0,levelHelper:f=!1,nameBrackets:u=!0,padding:L=16}=e,t=x(a),o=H(n);return g=>{if(!o(g.level)||!t(g.name))return;let s=g.name?`[${g.name}]`:"";switch(g.level){case 1:console.info(`I|* ${s}`,...g.messages);break;case 2:console.warn(`W|** ${s}`,...g.messages);break;case 3:console.error(`E|*** ${s}`,...g.messages);break;default:console.debug(`D| ${s}`,...g.messages);break}}}r(m,"LoggerConsoleHandler");var E=(t=>(t[t.all=-1]="all",t[t.debug=0]="debug",t[t.info=1]="info",t[t.warn=2]="warn",t[t.error=3]="error",t[t.fatal=4]="fatal",t[t.off=1/0]="off",t))(E||{}),C={"*":-1,a:-1,all:-1,d:0,dbg:0,debug:0,i:1,inf:1,info:1,w:2,warn:2,warning:2,e:3,err:3,error:3,fatal:4,off:1/0,"-":1/0};function j(e=""){let n=[m()],a=2,l=r(o=>!0,"logCheckNamespace"),f=!1,u=L;function L(o="",g){function s(...i){d({name:o,messages:i,level:0})}r(s,"log"),s.label=o,s.active=!0,s.level=A(g??-1),s.extend=function(i){return u(o?`${o}:${i}`:i)};let d=r(i=>{if(s.active===!0&&i.level>=t.level&&i.level>=s.level&&l(o))for(let c of n)c&&c(i)},"emit");return s.debug=function(...i){d({name:o,messages:i,level:0})},s.info=function(...i){d({name:o,messages:i,level:1})},s.warn=function(...i){d({name:o,messages:i,level:2})},s.error=function(...i){d({name:o,messages:i,level:3})},s.assert=function(i,...c){i||(typeof console!==void 0&&(console.assert?console.assert(i,...c):console.error(`Assert did fail with: ${i}`,...c)),d({name:o,messages:c||[`Assert did fail with: ${i}`],level:a}))},s.assertEqual=function(i,c,...w){let y=b(i,c);y||s.assert(y,`Assert did fail. Expected ${c} got ${i}`,c,i,...w)},s.assertNotEqual=function(i,c,...w){let y=b(i,c);y&&s.assert(y,`Assert did fail. Expected ${c} not to be equal with ${i}`,c,i,...w)},s}r(L,"LoggerBaseFactory");function t(o="",g){return u(o,g)}return r(t,"Logger"),t.registerHandler=function(o){n.push(o)},t.setFilter=function(o){l=x(o)},t.setLock=(o=!0)=>f=o,t.setHandlers=function(o=[]){u!==L&&(u=L),!f&&(n=[...o].filter(g=>typeof g=="function"))},t.level=-1,t.setLogLevel=function(o=-1){f||(t.level=o)},t.setFactory=function(o){f||(u=o)},t}r(j,"LoggerContext");function S(e){return e===!0||e==="true"||e==="1"||typeof e=="number"&&e!==0?e="*":e===!1||e==="false"||e===0||e==="0"||e==null||e==="null"||e==="undefined"?e="":e=String(e),e}r(S,"getNamespaceFilterString");var Z=S(typeof process<"u"?process.env.ZEED??process.env.DEBUG:typeof localStorage<"u"?localStorage.zeed??localStorage.debug:"*");function x(e=Z){let n,a=[],l=[];if(!e)n=r(function(f){return!1},"fn");else if(e==="*")n=r(function(f){return!0},"fn");else{let f,u=e.split(/[\s,]+/),L=u.length;for(f=0;f<L;f++){if(!u[f])continue;let t=u[f].replace(/\*/g,".*?");t[0]==="-"?a.push(new RegExp("^"+t.substr(1)+"$")):l.push(new RegExp("^"+t+"$"))}n=r(function(t){if(a.length===0&&l.length===0)return!0;let o,g;for(o=0,g=a.length;o<g;o++)if(a[o].test(t))return!1;for(o=0,g=l.length;o<g;o++)if(l[o].test(t))return!0;return!1},"fn")}return n.accept=l,n.reject=a,n.filter=e,n}r(x,"useNamespaceFilter");var T=typeof process<"u"?process.env.ZEED_LEVEL??process.env.LEVEL??process.env.DEBUG_LEVEL:typeof localStorage<"u"?localStorage.zeed_level??localStorage.level??localStorage.debug_level:void 0;function A(e){if(e===!1)return 1/0;if(typeof e=="number")return e;if(typeof e=="string"){let n=C[e.toLocaleLowerCase().trim()];if(n!=null)return n}return-1}r(A,"parseLogLevel");function H(e=T){let n=A(e);return a=>a>=n}r(H,"useLevelFilter");var v;function h(){let e=j();return e.setHandlers([m()]),e}r(h,"getLoggerContext");try{let e=I();e!=null?(e==null?void 0:e.logger)==null?(v=h(),e.logger=v):v=e.logger:v=h()}catch{v=h()}var Le=v;var pe=r(()=>Date.now(),"getTimestamp");function ve(e){return e>999?(e/1e3).toFixed(1)+"s":e.toFixed(2)+"ms"}r(ve,"formatMilliseconds");function ye(...e){for(let n of e){if(n instanceof Date)return n;if(typeof n=="string"){let a=null;if(n.includes(":"))try{a=new Date(n)}catch{}if(!(a instanceof Date)){let l=/(\d\d\d\d)-(\d\d)-(\d\d)/.exec(n);l&&(a=new Date(+l[1],+l[2]-1,+l[3],12,0))}if(a instanceof Date)return a}}}r(ye,"parseDate");export{r as a,I as b,p as c,k as d,$ as e,P as f,_ as g,M as h,z as i,B as j,U as k,V as l,F as m,b as n,D as o,S as p,x as q,A as r,H as s,m as t,E as u,C as v,j as w,Le as x,pe as y,ve as z,ye as A};
2
+ //# sourceMappingURL=chunk-5PI4S556.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/global.ts","../src/common/data/is.ts","../src/common/data/deep.ts","../src/common/log-console.ts","../src/common/log-base.ts","../src/common/log-filter.ts","../src/common/log.ts","../src/common/time.ts"],"sourcesContent":["// Global context across build systems etc.\n\ndeclare global {\n interface ZeedGlobalContext {}\n}\n\ninterface ZeedGlobalIntegration {\n _zeedGlobal?: ZeedGlobalContext\n}\n\n// todo sideffects\nfunction _global(): ZeedGlobalIntegration {\n if (typeof self !== \"undefined\") return self as ZeedGlobalIntegration\n if (typeof window !== \"undefined\") return window as ZeedGlobalIntegration\n if (typeof global !== \"undefined\") return global as ZeedGlobalIntegration\n if (typeof globalThis !== \"undefined\")\n return globalThis as ZeedGlobalIntegration\n throw new Error(\"unable to locate global object\")\n}\n\nexport function getGlobalContext(): ZeedGlobalContext {\n let gcontext = _global()\n if (gcontext._zeedGlobal == null) {\n gcontext._zeedGlobal = {}\n }\n return gcontext._zeedGlobal\n}\n","// https://github.com/sindresorhus/is/ MIT\n// https://github.com/sindresorhus/ts-extras\n// https://github.com/sindresorhus/type-fest\n// https://github.com/antfu/utils\n\nexport type Primitive =\n | null\n | undefined\n | string\n | number\n | boolean\n | symbol\n | bigint\n\nexport function isObject(obj: unknown): obj is object {\n return obj != null && typeof obj === \"object\"\n}\n\nexport function isPrimitive(obj: unknown): obj is Primitive {\n return Object(obj) !== obj\n}\n\nexport function isArray(obj: unknown): obj is Array<any> {\n return Array.isArray(obj)\n}\n\nexport function isRecord(obj: unknown): obj is Record<string, any> {\n return isObject(obj) && !isArray(obj)\n}\n\nexport function isString(obj: unknown): obj is string {\n return typeof obj === \"string\"\n}\n\nexport function isNumber(obj: unknown): obj is number {\n return typeof obj === \"number\"\n}\n\nexport function isInteger(obj: unknown): obj is number {\n return typeof obj === \"number\" && Number.isInteger(obj)\n}\n\nexport function isSafeInteger(obj: unknown): obj is number {\n return typeof obj === \"number\" && Number.isSafeInteger(obj)\n}\n\nexport function isBoolean(obj: unknown): obj is boolean {\n return typeof obj === \"boolean\"\n}\n\nexport function isNullOrUndefined(obj: unknown): obj is null | undefined {\n return obj == null\n}\n\nexport function isUint8Array(obj: unknown): obj is Uint8Array {\n return isObject(obj) && obj.constructor.name === \"Uint8Array\"\n}\n","// (C)opyright 2021-07-15 Dirk Holtwick, holtwick.it. All rights reserved.\n\nimport { isObject, isPrimitive } from \"./is\"\n\nexport function deepEqual(a: any, b: any, hash = new WeakSet()) {\n // if both x and y are null or undefined and exactly the same\n if (a === b) {\n return true\n }\n\n // Cyclic\n if (hash.has(b)) {\n // console.log('cyclic')\n return true\n }\n\n if (!isPrimitive(b)) {\n hash.add(b)\n }\n\n // if they are not strictly equal, they both need to be Objects\n if (!(a instanceof Object) || !(b instanceof Object)) {\n return false\n }\n\n // they must have the exact same prototype chain, the closest we can do is\n // test there constructor.\n if (a.constructor !== b.constructor) {\n return false\n }\n\n // Shortcut to avoid to many loops\n if (a.length !== b.length) {\n return false\n }\n\n for (let p in a) {\n // other properties were tested using x.constructor === y.constructor\n if (!a.hasOwnProperty(p)) {\n continue\n }\n\n // allows to compare x[ p ] and y[ p ] when set to undefined\n if (!b.hasOwnProperty(p)) {\n return false\n }\n\n let aa = a[p]\n let bb = b[p]\n\n // if they have the same strict value or identity then they are equal\n // if (aa === bb) {\n // console.log('eq', typeof bb)\n // if (bb != null) hash.set(bb, true)\n // continue\n // }\n //\n // // Numbers, Strings, Functions, Booleans must be strictly equal\n // if (typeof (aa) !== 'object') {\n // return false\n // }\n\n // Objects and Arrays must be tested recursively\n if (!deepEqual(aa, bb, hash)) {\n return false\n }\n }\n\n // allows x[ p ] to be set to undefined\n for (let p in b) {\n if (b.hasOwnProperty(p) && !a.hasOwnProperty(p)) {\n return false\n }\n }\n\n return true\n}\n\nexport function deepMerge(target: any, ...sources: any[]) {\n for (let source of sources) {\n if (!isObject(target)) {\n target = {}\n }\n\n if (source == null) continue\n\n Object.keys(source).forEach((key) => {\n const targetValue = target[key]\n const sourceValue = source[key]\n\n if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {\n target[key] = targetValue.concat(sourceValue)\n } else if (isObject(targetValue) && isObject(sourceValue)) {\n target[key] = deepMerge(Object.assign({}, targetValue), sourceValue)\n } else {\n target[key] = sourceValue\n }\n })\n }\n\n return target\n}\n\n// // https://stackoverflow.com/a/40294058/140927\n// // Handles cyclic references\n// export function deepClonePrimitives(obj, hash = new WeakMap()) {\n//\n// // primitives\n// if (Object(obj) !== obj) {\n// // log('Primitive', obj)\n// return obj\n// }\n//\n// // cyclic reference\n// if (hash.has(obj)) {\n// return hash.get(obj)\n// }\n//\n// let result\n//\n// // primitives as objects like new String(), new Number()\n// if (\n// obj instanceof String ||\n// obj instanceof Number ||\n// obj instanceof BigInt ||\n// obj instanceof Boolean ||\n// obj instanceof Symbol\n// ) {\n// result = new obj.constructor(obj.valueOf())\n// // hash.set(obj, result)\n// return result\n// }\n//\n// // log('Obj', obj)\n//\n// if (obj instanceof Set) {\n// result = new Set(obj)\n// } else if (obj instanceof Map) {\n// result = new Map(Array.from(obj, ([key, val]) => [key, deepClonePrimitives(val, hash)]))\n// } else if (obj instanceof Date) {\n// result = new Date(obj)\n// } else if (obj instanceof RegExp) {\n// result = new RegExp(obj.source, obj.flags)\n// } else if (Array.isArray(obj)) {\n// result = Array.from(obj, val => deepClonePrimitives(val, hash))\n// } else if (obj.constructor) {\n// result = new obj.constructor()\n// log('bj object', result)\n// } else if (obj instanceof Function || typeof obj === 'function') {\n// log('Keep object', obj, Object.getPrototypeOf(obj))\n// result = obj\n// } else {\n// result = Object.create(null)\n// }\n//\n// hash.set(obj, result)\n//\n// return Object.assign(result, ...Object.keys(obj).map(key => ({\n// [key]: deepClonePrimitives(obj[key], hash),\n// })))\n// }\n","// (C)opyright 2021-07-15 Dirk Holtwick, holtwick.it. All rights reserved.\n\nimport { LogHandler, LogHandlerOptions, LogLevel, LogMessage } from \"./log-base\"\nimport { useLevelFilter, useNamespaceFilter } from \"./log-filter\"\n\n/**\n * Very basic logger. Please take a look at the browser and node\n * optimized loggers. This one is just the absolute fallback option.\n *\n * @param level Log level\n * @returns Logger\n */\nexport function LoggerConsoleHandler(opt: LogHandlerOptions = {}): LogHandler {\n const {\n level = undefined,\n filter = undefined,\n colors = true,\n levelHelper = false,\n nameBrackets = true,\n padding = 16,\n } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level)) return\n if (!matchesNamespace(msg.name)) return\n let name = msg.name ? `[${msg.name}]` : \"\"\n switch (msg.level) {\n case LogLevel.info:\n console.info(`I|* ${name}`, ...msg.messages)\n break\n case LogLevel.warn:\n console.warn(`W|** ${name}`, ...msg.messages)\n break\n case LogLevel.error:\n console.error(`E|*** ${name}`, ...msg.messages)\n break\n default:\n console.debug(`D| ${name}`, ...msg.messages)\n break\n }\n }\n}\n","// (C)opyright 2021-07-15 Dirk Holtwick, holtwick.it. All rights reserved.\n\nimport { deepEqual } from \"./data/deep\"\nimport { LoggerConsoleHandler } from \"./log-console\"\nimport { parseLogLevel, useNamespaceFilter } from \"./log-filter\"\n\nexport enum LogLevel {\n all = -1,\n debug = 0,\n info,\n warn,\n error,\n fatal,\n off = Infinity,\n}\n\nexport const LogLevelAlias: Record<string, LogLevel> = {\n \"*\": LogLevel.all,\n a: LogLevel.all,\n all: LogLevel.all,\n d: LogLevel.debug,\n dbg: LogLevel.debug,\n debug: LogLevel.debug,\n i: LogLevel.info,\n inf: LogLevel.info,\n info: LogLevel.info,\n w: LogLevel.warn,\n warn: LogLevel.warn,\n warning: LogLevel.warn,\n e: LogLevel.error,\n err: LogLevel.error,\n error: LogLevel.error,\n fatal: LogLevel.fatal,\n off: LogLevel.off,\n \"-\": LogLevel.off,\n}\n\nexport type LogLevelAliasKey = keyof typeof LogLevelAlias\nexport type LogLevelAliasType = LogLevel | boolean | LogLevelAliasKey\n\nexport interface LogMessage {\n level: LogLevel\n name: string\n messages: any[]\n line?: number\n file?: string\n timestamp?: number\n}\n\nexport type LogHandler = (msg: LogMessage) => void\n\nexport interface LoggerInterface {\n (...messages: any[]): void\n\n /** @deprecated use .level = LogLevel.off or LogLevel.all */\n active: boolean\n\n level: LogLevel\n\n debug(...messages: any[]): void\n\n info(...messages: any[]): void\n\n warn(...messages: any[]): void\n\n error(...messages: any[]): void\n\n assert(cond: any, ...messages: any[]): void\n\n /** @deprecated use .assert */\n assertEqual(value: any, expected: any, ...args: any[]): void\n\n /** @deprecated use .assert */\n assertNotEqual(value: any, expected: any, ...args: any[]): void\n\n extend(prefix: string): LoggerInterface\n\n factory?: LoggerContextInterface\n\n label: string\n}\n\nexport interface LoggerContextInterface {\n (name?: string, level?: LogLevelAliasType): LoggerInterface\n registerHandler(handler: LogHandler): void\n setFilter(namespaces: string): void\n setHandlers(handlers?: (LogHandler | undefined | null)[]): void\n setLock(lock: boolean): void\n setLogLevel(level?: LogLevel): void\n setFactory(factory: (name?: string) => LoggerInterface): void\n}\n\nexport interface LogHandlerOptions {\n level?: LogLevel\n filter?: string\n colors?: boolean\n levelHelper?: boolean\n nameBrackets?: boolean\n padding?: number\n fill?: number\n stack?: boolean | number\n}\n\nexport function LoggerContext(prefix: string = \"\"): LoggerContextInterface {\n let logHandlers: LogHandler[] = [LoggerConsoleHandler()]\n let logAssertLevel: LogLevel = LogLevel.warn\n let logCheckNamespace = (name: string) => true\n let logLock = false\n let logFactory = LoggerBaseFactory\n\n function LoggerBaseFactory(\n name: string = \"\",\n level?: LogLevelAliasType\n ): LoggerInterface {\n function log(...messages: any[]) {\n emit({\n name,\n messages,\n level: LogLevel.debug,\n })\n }\n\n log.label = name\n log.active = true\n log.level = parseLogLevel(level ?? LogLevel.all)\n\n log.extend = function (prefix: string): LoggerInterface {\n return logFactory(name ? `${name}:${prefix}` : prefix)\n }\n\n const emit = (msg: LogMessage) => {\n if (log.active === true) {\n if (msg.level >= Logger.level && msg.level >= log.level) {\n if (logCheckNamespace(name)) {\n for (let handler of logHandlers) {\n if (handler) handler(msg)\n }\n }\n }\n }\n }\n\n log.debug = function (...messages: any[]) {\n emit({\n name,\n messages,\n level: LogLevel.debug,\n })\n }\n\n log.info = function (...messages: any[]) {\n emit({\n name,\n messages,\n level: LogLevel.info,\n })\n }\n\n log.warn = function (...messages: any[]) {\n emit({\n name,\n messages,\n level: LogLevel.warn,\n })\n }\n\n log.error = function (...messages: any[]) {\n emit({\n name,\n messages,\n level: LogLevel.error,\n })\n }\n\n // fatal(...args: any[]) {\n // console.error(...args)\n // },\n\n // https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#assertion-functions\n log.assert = function (cond: any, ...messages: any[]): asserts cond {\n if (!cond) {\n if (typeof console !== undefined) {\n if (console.assert) {\n // https://developer.mozilla.org/de/docs/Web/API/Console/assert\n console.assert(cond, ...messages)\n } else {\n console.error(`Assert did fail with: ${cond}`, ...messages)\n }\n }\n emit({\n name,\n messages: messages || [`Assert did fail with: ${cond}`],\n level: logAssertLevel,\n })\n // try {\n // if (typeof expect !== undefined) {\n // expect(cond).toBeTruthy()\n // }\n // } catch (err) {\n // methods.warn(...args)\n // }\n }\n }\n\n log.assertEqual = function (value: any, expected: any, ...args: any[]) {\n let equal = deepEqual(value, expected)\n if (!equal) {\n log.assert(\n equal,\n `Assert did fail. Expected ${expected} got ${value}`,\n expected,\n value,\n ...args\n )\n // } else {\n // methods.debug(`Passed equal`)\n }\n }\n\n log.assertNotEqual = function (value: any, expected: any, ...args: any[]) {\n let equal = deepEqual(value, expected)\n if (equal) {\n log.assert(\n equal,\n `Assert did fail. Expected ${expected} not to be equal with ${value}`,\n expected,\n value,\n ...args\n )\n // } else {\n // methods.debug(`Passed not equal check`)\n }\n }\n\n return log\n }\n\n function Logger(\n name: string = \"\",\n level?: LogLevelAliasType\n ): LoggerInterface {\n return logFactory(name, level)\n }\n\n Logger.registerHandler = function (handler: LogHandler) {\n logHandlers.push(handler)\n }\n\n Logger.setFilter = function (namespaces: string) {\n logCheckNamespace = useNamespaceFilter(namespaces)\n }\n\n Logger.setLock = (lock: boolean = true) => (logLock = lock)\n\n Logger.setHandlers = function (handlers: LogHandler[] = []) {\n if (logFactory !== LoggerBaseFactory) {\n logFactory = LoggerBaseFactory\n }\n if (logLock) return\n logHandlers = [...handlers].filter((h) => typeof h === \"function\")\n }\n\n Logger.level = LogLevel.all\n\n /** @deprecated */\n Logger.setLogLevel = function (level: LogLevel = LogLevel.all) {\n if (logLock) return\n Logger.level = level\n }\n\n Logger.setFactory = function (\n factory: (name?: string) => LoggerInterface\n ): void {\n if (logLock) return\n logFactory = factory\n }\n\n return Logger\n}\n","// (C)opyright 2021-07-15 Dirk Holtwick, holtwick.it. All rights reserved.\n\nimport { LogLevel, LogLevelAlias, LogLevelAliasType } from \"./log-base\"\n\ninterface NamespaceFilter {\n (name: string): boolean\n accept: RegExp[]\n reject: RegExp[]\n filter: string\n}\n\nexport function getNamespaceFilterString(defaultNamespaceFilter: any): string {\n if (\n defaultNamespaceFilter === true ||\n defaultNamespaceFilter === \"true\" ||\n defaultNamespaceFilter === \"1\" ||\n (typeof defaultNamespaceFilter === \"number\" && defaultNamespaceFilter !== 0)\n ) {\n defaultNamespaceFilter = \"*\"\n } else if (\n defaultNamespaceFilter === false ||\n defaultNamespaceFilter === \"false\" ||\n defaultNamespaceFilter === 0 ||\n defaultNamespaceFilter === \"0\" ||\n defaultNamespaceFilter == null ||\n defaultNamespaceFilter === \"null\" ||\n defaultNamespaceFilter === \"undefined\"\n ) {\n defaultNamespaceFilter = \"\"\n } else {\n defaultNamespaceFilter = String(defaultNamespaceFilter)\n }\n return defaultNamespaceFilter\n}\n\n// todo sideffects\nconst defaultNamespaceFilter: string = getNamespaceFilterString(\n typeof process !== \"undefined\"\n ? process.env.ZEED ?? process.env.DEBUG\n : typeof localStorage !== \"undefined\"\n ? localStorage.zeed ?? localStorage.debug\n : \"*\"\n)\n\n/**\n * Filter as described here https://github.com/visionmedia/debug#wildcards\n *\n * @param filter Namespace filter\n * @returns Function to check if filter applies\n */\nexport function useNamespaceFilter(\n filter: string = defaultNamespaceFilter\n): NamespaceFilter {\n let fn: any // (name: string) => boolean\n let reject = [] as RegExp[]\n let accept = [] as RegExp[]\n\n if (!filter) {\n fn = function (name: string) {\n return false\n }\n } else if (filter === \"*\") {\n fn = function (name: string) {\n return true\n }\n } else {\n let i\n const split = filter.split(/[\\s,]+/)\n const len = split.length\n for (i = 0; i < len; i++) {\n if (!split[i]) {\n // ignore empty strings\n continue\n }\n let template = split[i].replace(/\\*/g, \".*?\")\n if (template[0] === \"-\") {\n reject.push(new RegExp(\"^\" + template.substr(1) + \"$\"))\n } else {\n accept.push(new RegExp(\"^\" + template + \"$\"))\n }\n }\n\n fn = function (name: string) {\n if (reject.length === 0 && accept.length === 0) {\n return true\n }\n let i, len\n for (i = 0, len = reject.length; i < len; i++) {\n if (reject[i].test(name)) {\n return false\n }\n }\n for (i = 0, len = accept.length; i < len; i++) {\n if (accept[i].test(name)) {\n return true\n }\n }\n return false\n }\n }\n fn.accept = accept\n fn.reject = reject\n fn.filter = filter\n return fn as NamespaceFilter\n}\n\n// todo sideffects\nconst defaultLevelFilter: any =\n typeof process !== \"undefined\"\n ? process.env.ZEED_LEVEL ?? process.env.LEVEL ?? process.env.DEBUG_LEVEL\n : typeof localStorage !== \"undefined\"\n ? localStorage.zeed_level ?? localStorage.level ?? localStorage.debug_level\n : undefined\n\nexport function parseLogLevel(filter: LogLevelAliasType): LogLevel {\n if (filter === false) return LogLevel.off\n if (typeof filter === \"number\") return filter as number\n if (typeof filter === \"string\") {\n const l = LogLevelAlias[filter.toLocaleLowerCase().trim()]\n if (l != null) return l\n }\n return LogLevel.all\n}\n\nexport function useLevelFilter(\n filter: string | number | boolean | LogLevelAliasType = defaultLevelFilter\n): (level: LogLevel) => boolean {\n const filterLevel = parseLogLevel(filter)\n return (level) => level >= filterLevel\n}\n","// (C)opyright 2021-07-15 Dirk Holtwick, holtwick.it. All rights reserved.\n\nimport { getGlobalContext } from \"./global\"\nimport { LoggerContext, LoggerContextInterface } from \"./log-base\"\nimport { LoggerConsoleHandler } from \"./log-console\"\n\n// Global logger to guarantee all submodules use the same logger instance\n\nlet globalLogger: LoggerContextInterface\n\ndeclare global {\n interface ZeedGlobalContext {\n logger?: any // Should be LoggerContextInterface, but avoid compiler issues this way\n }\n}\n\nfunction getLoggerContext() {\n let logger = LoggerContext()\n logger.setHandlers([LoggerConsoleHandler()])\n return logger\n}\n\n// todo sideffects\ntry {\n let _global = getGlobalContext()\n if (_global != null) {\n if (_global?.logger == null) {\n globalLogger = getLoggerContext()\n _global.logger = globalLogger\n } else {\n globalLogger = _global.logger\n }\n } else {\n globalLogger = getLoggerContext()\n }\n} catch (e) {\n globalLogger = getLoggerContext()\n}\n\n// /** @deprecated Use `Logger` instead, it is global as well */\n// export const GlobalLogger = globalLogger\n\nexport const Logger = globalLogger\n","// (C)opyright 2021-07-15 Dirk Holtwick, holtwick.it. All rights reserved.\n\n/**\n * @returns Timestamp in miliseconds\n */\nexport const getTimestamp = (): number => Date.now()\n// @ts-ignore\n// typeof performance !== \"undefined\" ? performance.now() : new Date().getTime()\n\nexport function formatMilliseconds(ms: number): string {\n return ms > 999 ? (ms / 1000).toFixed(1) + \"s\" : ms.toFixed(2) + \"ms\"\n}\n\nexport function parseDate(\n ...dateCandidates: (string | Date)[]\n): Date | undefined {\n for (let dateCandidate of dateCandidates) {\n if (dateCandidate instanceof Date) {\n return dateCandidate\n }\n if (typeof dateCandidate === \"string\") {\n let date = null\n if (dateCandidate.includes(\":\")) {\n try {\n date = new Date(dateCandidate)\n } catch (err) {}\n }\n if (!(date instanceof Date)) {\n let m = /(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)/.exec(dateCandidate)\n if (m) {\n date = new Date(+m[1], +m[2] - 1, +m[3], 12, 0)\n }\n }\n if (date instanceof Date) {\n return date\n }\n }\n }\n}\n"],"mappings":"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","names":["_global","__name","getGlobalContext","gcontext","isObject","obj","__name","isPrimitive","isArray","isRecord","isString","isNumber","isInteger","isSafeInteger","isBoolean","isNullOrUndefined","isUint8Array","deepEqual","a","b","hash","isPrimitive","p","aa","bb","__name","deepMerge","target","sources","source","isObject","key","targetValue","sourceValue","LoggerConsoleHandler","opt","level","filter","colors","levelHelper","nameBrackets","padding","matchesNamespace","useNamespaceFilter","matchesLevel","useLevelFilter","msg","name","__name","LogLevel","LogLevelAlias","LoggerContext","prefix","logHandlers","LoggerConsoleHandler","logAssertLevel","logCheckNamespace","__name","name","logLock","logFactory","LoggerBaseFactory","level","log","messages","emit","parseLogLevel","msg","Logger","handler","cond","value","expected","args","equal","deepEqual","namespaces","useNamespaceFilter","lock","handlers","h","factory","getNamespaceFilterString","defaultNamespaceFilter","__name","useNamespaceFilter","filter","fn","reject","accept","name","i","split","len","template","defaultLevelFilter","parseLogLevel","l","LogLevelAlias","useLevelFilter","filterLevel","level","globalLogger","getLoggerContext","logger","LoggerContext","LoggerConsoleHandler","__name","_global","getGlobalContext","Logger","getTimestamp","__name","formatMilliseconds","ms","parseDate","dateCandidates","dateCandidate","date","m"]}
@@ -0,0 +1,2 @@
1
+ import{a as i,n as u,q as g,s as h,y as p,z as y}from"./chunk-5PI4S556.js";var L=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function v(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}i(v,"supportsColors");function w(t){let l=0;for(let c=0;c<t.length;c++)l=(l<<5)-l+t.charCodeAt(c),l|=0;return L[Math.abs(l)%L.length]}i(w,"selectColor");var E='font-family: "JetBrains Mono", Menlo; font-size: 11px;',H=`${E}`,A=`font-weight: 600; ${E}`,x=v(),$={},k=p();function j(t={}){let{filter:l=void 0,level:c=void 0,colors:C=!0,levelHelper:o=!1,nameBrackets:q=!0,padding:e=16}=t,r=g(l),a=h(c);return s=>{var m;if(!a(s.level)||!r(s.name))return;let d=p(),F=s.name||"",f=$[F||""];f==null&&(f={color:w(F)},$[F]=f);let b=y(d-k),n;switch(e>0&&(F=F.padEnd(16," ")),C&&x?(n=[`%c${F}%c %s %c+${b}`],n.push(`color:${f.color}; ${A}`),n.push(H),n.push(((m=s.messages)==null?void 0:m[0])??""),n.push(`color:${f.color};`),n.push(...s.messages.slice(1))):n=[F,...s.messages,`+${b}`],s.level){case 1:t.levelHelper&&(n[0]="I|* "+n[0]),console.info(...n);break;case 2:t.levelHelper&&(n[0]="W|** "+n[0]),console.warn(...n);break;case 3:t.levelHelper&&(n[0]="E|*** "+n[0]),console.error(...n);break;default:t.levelHelper&&(n[0]="D| "+n[0]),console.debug(...n);break}}}i(j,"LoggerBrowserHandler");function J(t={}){let l=t.filter??localStorage.zeed??localStorage.debug;return i(function c(C=""){let o;if(g(l)(C)){let e=[];if(x){let r=w(C);e.push(`%c${C.padEnd(16," ")}%c %s`),e.push(`color:${r}; ${A}`),e.push(H)}else e.push(`[${C}] %s`);o=console.debug.bind(console,...e),o.debug=console.debug.bind(console,...e),o.info=console.info.bind(console,...e),o.warn=console.warn.bind(console,...e),o.error=console.error.bind(console,...e),o.assert=console.assert.bind(console),o.assertEqual=function(r,a,...s){let d=u(r,a);d||o.assert(d,`Assert did fail. Expected ${a} got ${r}`,a,r,...s)},o.assertNotEqual=function(r,a,...s){let d=u(r,a);d&&o.assert(d,`Assert did fail. Expected ${a} not to be equal with ${r}`,a,r,...s)}}else{let e=i(()=>{},"noop");o=e,o.debug=e,o.info=e,o.warn=e,o.error=e,o.assert=e,o.assertEqual=e,o.assertNotEqual=e}return o.extend=e=>c(C?`${C}:${e}`:e),o.label=C,o},"LoggerBrowserDebugFactory")}i(J,"LoggerBrowserSetupDebugFactory");function T(t={}){console.info("activateConsoleDebug is activated by default in browsers")}i(T,"activateConsoleDebug");export{v as a,w as b,j as c,J as d,T as e};
2
+ //# sourceMappingURL=chunk-I7COHPWN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/browser/log-colors.ts","../src/browser/log-browser.ts"],"sourcesContent":["// Taken from https://github.com/visionmedia/debug/blob/master/src/browser.js#L27\n\nconst colors = [\n \"#0000CC\",\n \"#0000FF\",\n \"#0033CC\",\n \"#0033FF\",\n \"#0066CC\",\n \"#0066FF\",\n \"#0099CC\",\n \"#0099FF\",\n \"#00CC00\",\n \"#00CC33\",\n \"#00CC66\",\n \"#00CC99\",\n \"#00CCCC\",\n \"#00CCFF\",\n \"#3300CC\",\n \"#3300FF\",\n \"#3333CC\",\n \"#3333FF\",\n \"#3366CC\",\n \"#3366FF\",\n \"#3399CC\",\n \"#3399FF\",\n \"#33CC00\",\n \"#33CC33\",\n \"#33CC66\",\n \"#33CC99\",\n \"#33CCCC\",\n \"#33CCFF\",\n \"#6600CC\",\n \"#6600FF\",\n \"#6633CC\",\n \"#6633FF\",\n \"#66CC00\",\n \"#66CC33\",\n \"#9900CC\",\n \"#9900FF\",\n \"#9933CC\",\n \"#9933FF\",\n \"#99CC00\",\n \"#99CC33\",\n \"#CC0000\",\n \"#CC0033\",\n \"#CC0066\",\n \"#CC0099\",\n \"#CC00CC\",\n \"#CC00FF\",\n \"#CC3300\",\n \"#CC3333\",\n \"#CC3366\",\n \"#CC3399\",\n \"#CC33CC\",\n \"#CC33FF\",\n \"#CC6600\",\n \"#CC6633\",\n \"#CC9900\",\n \"#CC9933\",\n \"#CCCC00\",\n \"#CCCC33\",\n \"#FF0000\",\n \"#FF0033\",\n \"#FF0066\",\n \"#FF0099\",\n \"#FF00CC\",\n \"#FF00FF\",\n \"#FF3300\",\n \"#FF3333\",\n \"#FF3366\",\n \"#FF3399\",\n \"#FF33CC\",\n \"#FF33FF\",\n \"#FF6600\",\n \"#FF6633\",\n \"#FF9900\",\n \"#FF9933\",\n \"#FFCC00\",\n \"#FFCC33\",\n]\n\nexport function supportsColors(): boolean {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (\n typeof window !== \"undefined\" &&\n window.process &&\n // @ts-ignore\n (window.process.type === \"renderer\" || window.process.__nwjs)\n ) {\n return true\n }\n\n // Internet Explorer and Edge do not support colors.\n if (\n typeof navigator !== \"undefined\" &&\n navigator.userAgent &&\n navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)\n ) {\n return false\n }\n\n // Is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (\n (typeof document !== \"undefined\" &&\n document.documentElement &&\n document.documentElement.style &&\n // @ts-ignore\n document.documentElement.style.WebkitAppearance) ||\n // Is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== \"undefined\" &&\n window.console &&\n // @ts-ignore\n (window.console.firebug ||\n // @ts-ignore\n (window.console.exception && window.console.table))) ||\n // Is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== \"undefined\" &&\n navigator.userAgent &&\n navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) &&\n parseInt(RegExp.$1, 10) >= 31) ||\n // Double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== \"undefined\" &&\n navigator.userAgent &&\n navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/))\n )\n}\n\nexport function selectColor(namespace: string) {\n let hash = 0\n for (let i = 0; i < namespace.length; i++) {\n hash = (hash << 5) - hash + namespace.charCodeAt(i)\n hash |= 0 // Convert to 32bit integer\n }\n return colors[Math.abs(hash) % colors.length]\n}\n","// (C)opyright 2021-07-15 Dirk Holtwick, holtwick.it. All rights reserved.\n\nimport { deepEqual } from \"../common/data/deep\"\nimport {\n LoggerInterface,\n LogHandler,\n LogHandlerOptions,\n LogLevel,\n LogMessage,\n} from \"../common/log-base\"\nimport { useLevelFilter, useNamespaceFilter } from \"../common/log-filter\"\nimport { formatMilliseconds, getTimestamp } from \"../common/time\"\nimport { selectColor, supportsColors } from \"./log-colors\"\n\nconst styleFont = `font-family: \"JetBrains Mono\", Menlo; font-size: 11px;`\nconst styleDefault = `${styleFont}`\nconst styleBold = `font-weight: 600; ${styleFont}`\nconst useColors = supportsColors()\n\nlet namespaces: Record<string, any> = {}\n\nlet time = getTimestamp() // todo sideffects\n\nexport function LoggerBrowserHandler(opt: LogHandlerOptions = {}): LogHandler {\n const {\n filter = undefined,\n level = undefined,\n colors = true,\n levelHelper = false,\n nameBrackets = true,\n padding = 16,\n } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level)) return\n if (!matchesNamespace(msg.name)) return\n\n const timeNow = getTimestamp()\n let name = msg.name || \"\"\n let ninfo = namespaces[name || \"\"]\n if (ninfo == null) {\n ninfo = {\n color: selectColor(name),\n // time: timeNow\n }\n namespaces[name] = ninfo\n }\n const diff = formatMilliseconds(timeNow - time)\n let args: string[]\n\n if (padding > 0) {\n name = name.padEnd(16, \" \")\n }\n\n if (colors && useColors) {\n args = [`%c${name}%c \\t%s %c+${diff}`]\n args.push(`color:${ninfo.color}; ${styleBold}`)\n args.push(styleDefault)\n args.push(msg.messages?.[0] ?? \"\")\n args.push(`color:${ninfo.color};`)\n args.push(...msg.messages.slice(1))\n } else {\n args = [name, ...msg.messages, `+${diff}`]\n }\n\n // function consoleArgs(args: any[] = []): any[] {\n // return [\n // args\n // .filter((a) => typeof a === \"string\")\n // .map((a) => String(a))\n // .join(\" \"),\n // ...styles,\n // ...args.filter((a) => typeof a !== \"string\"),\n // ]\n // }\n\n switch (msg.level) {\n case LogLevel.info:\n if (opt.levelHelper) args[0] = `I|* ` + args[0]\n console.info(...args)\n break\n case LogLevel.warn:\n if (opt.levelHelper) args[0] = `W|** ` + args[0]\n console.warn(...args)\n break\n case LogLevel.error:\n if (opt.levelHelper) args[0] = `E|*** ` + args[0]\n console.error(...args)\n break\n default:\n if (opt.levelHelper) args[0] = `D| ` + args[0]\n console.debug(...args)\n break\n }\n }\n}\n\nexport function LoggerBrowserSetupDebugFactory(opt: LogHandlerOptions = {}) {\n const filter = opt.filter ?? localStorage.zeed ?? localStorage.debug\n\n /// The trick is, that console called directly provides a reference to the source code.\n /// For the regular implementation this information is lost. But this approach has other\n /// drawbacks, therefore only use it in the Browser when actively debugging.\n return function LoggerBrowserDebugFactory(\n name: string = \"\"\n ): LoggerInterface {\n let log: LoggerInterface\n\n const matches = useNamespaceFilter(filter)\n\n if (matches(name)) {\n let fixedArgs = []\n if (useColors) {\n const color = selectColor(name)\n fixedArgs.push(`%c${name.padEnd(16, \" \")}%c \\t%s`)\n fixedArgs.push(`color:${color}; ${styleBold}`)\n fixedArgs.push(styleDefault)\n } else {\n fixedArgs.push(`[${name}] \\t%s`)\n }\n\n // @ts-ignore\n // console.previous = {\n // debug: console.debug,\n // info: console.info,\n // warn: console.warn,\n // error: console.error,\n // assert: console.assert,\n // }\n\n log = console.debug.bind(console, ...fixedArgs) as LoggerInterface\n log.debug = console.debug.bind(console, ...fixedArgs)\n log.info = console.info.bind(console, ...fixedArgs)\n log.warn = console.warn.bind(console, ...fixedArgs)\n log.error = console.error.bind(console, ...fixedArgs)\n\n log.assert = console.assert.bind(console)\n\n log.assertEqual = function (value: any, expected: any, ...args: any[]) {\n let equal = deepEqual(value, expected)\n if (!equal) {\n log.assert(\n equal,\n `Assert did fail. Expected ${expected} got ${value}`,\n expected,\n value,\n ...args\n )\n }\n }\n\n log.assertNotEqual = function (\n value: any,\n expected: any,\n ...args: any[]\n ) {\n let equal = deepEqual(value, expected)\n if (equal) {\n log.assert(\n equal,\n `Assert did fail. Expected ${expected} not to be equal with ${value}`,\n expected,\n value,\n ...args\n )\n }\n }\n } else {\n const noop = () => {}\n log = noop as LoggerInterface\n log.debug = noop\n log.info = noop\n log.warn = noop\n log.error = noop\n\n log.assert = noop\n log.assertEqual = noop\n log.assertNotEqual = noop\n }\n\n log.extend = (subName: string) => {\n return LoggerBrowserDebugFactory(name ? `${name}:${subName}` : subName)\n }\n\n log.label = name\n\n return log\n }\n}\n\n/** @deprecated This output is default for initial use of Logger in browser environments. */\nexport function activateConsoleDebug(opt: LogHandlerOptions = {}) {\n console.info(\"activateConsoleDebug is activated by default in browsers\")\n // Logger.setHandlers([LoggerBrowserHandler(opt)]) // Fallback for previously registered Loggers\n // Logger.setFactory(LoggerBrowserSetupDebugFactory(opt))\n}\n\n// let klass = console\n// let debug = console.debug.bind(window.console, klass.toString() + \": \")\n\n// debug(\"test\")\n// console.debug(\"test2\")\n\n// let dd\n// if (Function.prototype.bind) {\n// dd = Function.prototype.bind.call(console.log, console)\n// } else {\n// dd = function () {\n// Function.prototype.apply.call(console.log, console, arguments)\n// }\n// }\n\n// dd(\"dd\")\n\n// let c = 1\n// Object.defineProperty(window, \"log2\", {\n// get: () => {\n// return console.log.bind(\n// window.console,\n// \"%c[log]%c %s\" + c++,\n// \"color:red\",\n// \"\"\n// )\n// },\n// })\n\n// // usage:\n// log2(\"Back to the future\")\n// log2(\"Back to the future\")\n\n// let plog = new Proxy(console.debug, {\n// apply: function (target, that, args) {\n// target.apply(that, args)\n// // base.apply(that, args);\n// },\n// })\n\n// let cons = console.debug\n// let plog = (...args) => {\n// cons.apply(window.console, [\"|\", ...args])\n// }\n\n// plog(\"xxx\")\n\n// function a() {\n// var err = new Error()\n// var caller_line = err.stack.split(\"\\n\")[2]\n// var index = caller_line.indexOf(\"at \")\n// var clean = caller_line.slice(index + 2, caller_line.length)\n// clean = clean.replace(/\\?t=\\d+/, \"\").replace(\"@fs/\", \"\")\n// console.log(clean)\n// console.log(\n// \"http://localhost:8080/Users/dirk/work/viidoo/lib/src/browser/log-browser.ts:188:1 log-browser.ts:291:10\"\n// )\n// }\n// function b() {\n// a()\n// }\n// b()\n"],"mappings":"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","names":["colors","supportsColors","__name","selectColor","namespace","hash","i","styleFont","styleDefault","styleBold","useColors","supportsColors","namespaces","time","getTimestamp","LoggerBrowserHandler","opt","filter","level","colors","levelHelper","nameBrackets","padding","matchesNamespace","useNamespaceFilter","matchesLevel","useLevelFilter","msg","_a","timeNow","name","ninfo","selectColor","diff","formatMilliseconds","args","__name","LoggerBrowserSetupDebugFactory","LoggerBrowserDebugFactory","log","fixedArgs","color","value","expected","equal","deepEqual","noop","subName","activateConsoleDebug"]}
@@ -0,0 +1,8 @@
1
+ import{a as o,b as ie,e as Ce,o as se,q as ve,s as Se,x as M,y as Ie}from"./chunk-5PI4S556.js";var Fe=M("bin");function ht(e){let t=unescape(encodeURIComponent(e)),r=t.length,n=new Uint8Array(r);for(let i=0;i<r;i++)n[i]=t.codePointAt(i)||0;return n}o(ht,"_encodeUtf8Polyfill");function xt(e){let t=e.length,r="",n=0;for(;t>0;){let i=t<1e4?t:1e4,s=e.subarray(n,n+i);n+=i,r+=String.fromCodePoint.apply(null,s),t-=i}return decodeURIComponent(escape(r))}o(xt,"_decodeUtf8Polyfill");var Q;function ke(e){if(Q==null&&(Q=ht,typeof TextEncoder<"u")){let t=new TextEncoder;Q=o(r=>t.encode(r),"_textEncoder")}return Q(e.normalize("NFC"))}o(ke,"stringToUInt8Array");var X;function bt(e){if(X==null&&(X=xt,typeof TextDecoder<"u")){let t=new TextDecoder("utf-8",{ignoreBOM:!0});X=o(r=>t.decode(r),"_textDecoder")}return X(e).normalize("NFC")}o(bt,"Uint8ArrayToString");function U(e){return e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?ke(e):e.length?new Uint8Array(e):e}o(U,"toUint8Array");function Ar(...e){let t=0,r=e.flat(1).map(s=>{let a=U(s);return t+=a.length,a}),n=new Uint8Array(t),i=0;for(let s of r)n.set(s,i),i+=s.length;return n}o(Ar,"joinToUint8Array");function Mr(e){if(typeof Buffer<"u")return Buffer.from(U(e)).toString("hex");let t="0123456789abcdef",r="";for(let n of[...U(e)])r+=t[n>>4]+t[n&15];return r}o(Mr,"toHex");function Oe(e){let t=U(e);if(typeof Buffer<"u")return Buffer.from(t).toString("base64");let r="";for(let n=0;n<t.byteLength;n++)r+=String.fromCharCode(t[n]);return btoa(r)}o(Oe,"toBase64");function Pr(e){let t=U(e);if(typeof Buffer<"u")return Buffer.from(t).toString("base64url");let r="";for(let n=0;n<t.byteLength;n++)r+=String.fromCharCode(t[n]);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_")}o(Pr,"toBase64Url");function Dr(e){if(typeof Buffer<"u"){let n=Buffer.from(e,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}o(Dr,"fromBase64");function Be(e,t){if(e.byteLength!==t.byteLength)return!1;let r=U(e),n=U(t);for(let i=0;i<r.length;i++)if(r[i]!==n[i])return!1;return!0}o(Be,"equalBinary");function ae(e){try{return ke(JSON.stringify(e))}catch(t){throw Fe.warn("jsonToUint8Array",e),t}}o(ae,"jsonToUint8Array");function ue(e){try{return JSON.parse(bt(e))}catch(t){throw Fe.warn("Uint8ArrayToJson",e),t}}o(ue,"Uint8ArrayToJson");function $e(e,t){if(typeof e!="string")if(e instanceof ArrayBuffer&&e.byteLength!==void 0)e=String.fromCharCode.apply(String,[].slice.call(new Uint8Array(e)));else if(Array.isArray(e))e=String.fromCharCode.apply(String,e);else if(e.constructor===Uint8Array)e=String.fromCharCode.apply(String,[].slice.call(e));else return!1;t=t||16;for(var r=[],n="0123456789ABCDEF",i=0;i<e.length;i+=t){var s=e.slice(i,Math.min(i+t,e.length)),a=("0000"+i.toString(16)).slice(-4),u=s.split("").map(c=>{var p=c.charCodeAt(0);return" "+n[(240&p)>>4]+n[15&p]}).join("");u+=" ".repeat(t-s.length);var l=s.replace(/[\x00-\x1F\x20]/g,".");l+=" ".repeat(t-s.length),r.push(a+" "+u+" "+l)}return r.join(`
2
+ `)}o($e,"Uint8ArrayToHexDump");function G(e=16){let t=new Uint8Array(e);if(typeof crypto<"u"&&crypto.getRandomValues)crypto.getRandomValues(t);else for(let r=0;r<e;r++)t[r]=Math.floor(Math.random()*256);return t}o(G,"randomUint8Array");var Ve="SHA-256",ce="AES-GCM",Ne="PBKDF2";async function Rr(e,t=Ve){return U(await crypto.subtle.digest(t,U(e)))}o(Rr,"digest");async function Cr(e,t={}){let r=U(e),n=await crypto.subtle.importKey("raw",r,Ne,!1,["deriveKey"]);return await crypto.subtle.deriveKey({name:Ne,salt:t.salt?U(t.salt):new Uint8Array(0),iterations:t.iterations??1e5,hash:Ve},n,{name:ce,length:256},!0,["encrypt","decrypt"])}o(Cr,"deriveKeyPbkdf2");var ee=new Uint8Array([1,1]);async function He(e,t){let r=G(12),n=await crypto.subtle.encrypt({name:ce,iv:r},t,e),i=new Uint8Array(n),s=ee.length+r.length+i.length,a=new Uint8Array(s),u=0;return a.set(ee,u),u+=ee.length,a.set(r,u),u+=r.length,a.set(i,u),a}o(He,"encrypt");async function ze(e,t){let r=e.subarray(0,2);if(!Be(r,ee))return Promise.reject(`Unknown magic ${r}`);let n=e.subarray(2,2+12),i=e.subarray(2+12,e.length),s=await crypto.subtle.decrypt({name:ce,iv:n},t,i);return new Uint8Array(s)}o(ze,"decrypt");var qe=",";function Tt(e){return/^([-+])?([0-9]+(\.[0-9]+)?|Infinity)$/.test(e)?Number(e):NaN}o(Tt,"filterFloat");function wt(e){return e==null?"":!isNaN(Tt(e))&&isFinite(e)?parseFloat(e):'"'+String(e).replace(/"/g,'""')+'"'}o(wt,"escape");function Sr(e,t){let r="";t&&(r=t.join(qe)+`\r
3
+ `);for(let n=0;n<e.length;n++)r+=e[n].map(wt).join(qe)+`\r
4
+ `;return r}o(Sr,"csv");function At(){return crypto.getRandomValues(new Uint32Array(1))[0]/4294967295}o(At,"getSecureRandom");function v(){return typeof crypto<"u"?At():Math.random()}o(v,"getSecureRandomIfPossible");function Fr(e=.25){return v()<e}o(Fr,"randomBoolean");function kr(e=100,t=0){return t+Math.floor(v()*(e-t))}o(kr,"randomInt");function Or(e=100,t=0){return t+v()*(e-t)}o(Or,"randomFloat");function Br(e,t,r){return Math.max(e,Math.min(r,t))}o(Br,"between");function Mt(e){return e.reduce((t,r)=>t+r,0)}o(Mt,"sum");function $r(e){return Mt(e)/e.length}o($r,"avg");function Nr(e){return!/^1?$|^(11+?)\1+$/.test("1".repeat(e))}o(Nr,"isPrimeRX");function Vr(e){for(var t=2;t<e;t++)if(e%t===0)return!1;return e>1}o(Vr,"isPrime");function Pt(e=""){let[t="",r="asc"]=e.split(" ");return r=r.toLowerCase(),{field:t,orderby:r,asc:r!=="desc",desc:r==="desc"}}o(Pt,"parseOrderby");function zr(e,t=!0){return`${e} ${t?"asc":"desc"}`}o(zr,"composeOrderby");function le(e,t,r=!0){let n=e||0,i=t||0;return n>i?r?1:-1:n<i?r?-1:1:0}o(le,"cmp");function qr(e,...t){if(t.length>0){let r=t.map(Pt),n=Array.from(e);return n.sort((i,s)=>{for(let{field:a,asc:u}of r){let l=le(i[a],s[a],u);if(l!==0)return l}return 0}),n}return e}o(qr,"sortedOrderby");function fe(e){return e.filter((t,r)=>e.indexOf(t)===r)}o(fe,"arrayUnique");function Dt(e,t){return fe(e.filter(r=>!t.includes(r)))}o(Dt,"arrayMinus");function Lt(...e){return fe(e.reduce((t=[],r)=>t.concat(r),[]))}o(Lt,"arrayUnion");function I(...e){return e.flat(1/0)}o(I,"arrayFlatten");function Ut(e,t){return fe(e).filter(r=>t.includes(r))}o(Ut,"arrayIntersection");function _r(e,t){return Dt(Lt(e,t),Ut(e,t))}o(_r,"arraySymmetricDifference");function Wr(e,t){if(e&&Array.isArray(e)){let r;for(;(r=e.indexOf(t))!==-1;)e.splice(r,1);return e}return[]}o(Wr,"arrayRemoveElement");function Kr(e,t){return e.includes(t)||e.push(t),e}o(Kr,"arraySetElement");function pe(e,t){return e.splice(0,e.length,...e.filter(t)),e}o(pe,"arrayFilterInPlace");function Zr(e,t){let r=e.findIndex(n=>n===t);return r>=0?e.splice(r,1):e.push(t),e}o(Zr,"arrayToggleInPlace");function Yr(e){return e.splice(0,e.length),e}o(Yr,"arrayEmptyInPlace");function Et(e,t=le){return Array.from(e).sort(t)}o(Et,"arraySorted");function Qr(e){return Et(e,(t,r)=>t-r)}o(Qr,"arraySortedNumbers");function Rt(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}o(Rt,"arrayIsEqual");function Ge(e){return e.sort(()=>v()>.5?1:-1),e}o(Ge,"arrayShuffleInPlace");function Xr(e){return Ge(Array.from(e))}o(Xr,"arrayShuffle");function en(e){for(;e.length>1;){let t=Array.from(e);if(Ge(t),!Rt(e,t))return t}return e}o(en,"arrayShuffleForce");function tn(e){return e[Math.floor(v()*e.length)]}o(tn,"arrayRandomElement");function rn(...e){return I(e).reduce((t,r)=>t!=null?r>t?r:t:r,void 0)}o(rn,"arrayMax");function nn(...e){return I(e).reduce((t,r)=>t!=null?r<t?r:t:r,void 0)}o(nn,"arrayMin");function on(...e){return I(e).reduce((t,r)=>t+r,0)}o(on,"arraySum");function sn(...e){let t=I(e);return t.reduce((r,n)=>r+n,0)/t.length}o(sn,"arrayAvg");function an(e,t){let r=[],n=0,i=e.length;for(;n<i;)r.push(e.slice(n,n+=t));return r}o(an,"arrayBatches");function un(e=0,t){if(e<=0)return[];let r=new Array(e);for(let n=0;n<e;n++)r[n]=t instanceof Function?t(n):t;return r}o(un,"createArray");var Ct=M("zeed:basex"),vt={2:"01",8:"01234567",11:"0123456789a",16:"0123456789abcdef",32:"0123456789ABCDEFGHJKMNPQRSTVWXYZ","32-rfc":"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567","32-hex":"0123456789ABCDEFGHIJKLMNOPQRSTUV","32-zbase":"ybndrfg8ejkmcpqxot1uwisza345h769",36:"0123456789abcdefghijklmnopqrstuvwxyz",58:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",62:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",64:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/","64-url":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",66:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.!~",85:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~"};function F(e){let t;if(typeof e=="string")t=e;else if(t=vt[String(e)],t==null)throw new Error(`Unknown base ${e}`);if(t.length>=255)throw new TypeError("Alphabet too long");let r=new Uint8Array(256);for(let c=0;c<r.length;c++)r[c]=255;for(let c=0;c<t.length;c++){let p=t.charAt(c),d=p.charCodeAt(0);if(r[d]!==255)throw new TypeError(p+" is ambiguous");r[d]=c}let n=t.length,i=t.charAt(0),s=Math.log(n)/Math.log(256),a=Math.log(256)/Math.log(n);function u(c,p=-1){let d=U(c);if(d.byteLength===0)return"";let h=0,b=0,T=d.byteLength;for(;b!==T&&d[b]===0;)b++;let m=(T-b)*a+1>>>0,f=new Uint8Array(m);for(;b!==T;){let g=d[b],w=0;for(let D=m-1;(g!==0||w<h)&&D!==-1;D--,w++)g+=256*f[D]>>>0,f[D]=g%n>>>0,g=g/n>>>0;if(g!==0)throw Ct.warn("Non-zero carry",d,p,w,m),new Error("Non-zero carry");h=w,b++}let y=m-h;for(;y!==m&&f[y]===0;)y++;let x="";for(;y<m;++y)x+=t.charAt(f[y]);return p>0?x.padStart(p,i):x}o(u,"encode");function l(c,p=-1){if(typeof c!="string")throw new TypeError("Expected String");if(c.length===0)return new Uint8Array;c=c.replace(/\s+/gi,"");let d=0,h=0;for(;c[d]===i;)d++;let b=(c.length-d)*s+1>>>0,T=new Uint8Array(b);for(;c[d];){let f=r[c.charCodeAt(d)];if(f===255)throw new Error(`Unsupported character "${c[d]}"`);let y=0;for(let x=b-1;(f!==0||y<h)&&x!==-1;x--,y++)f+=n*T[x]>>>0,T[x]=f%256>>>0,f=f/256>>>0;if(f!==0)throw new Error("Non-zero carry");h=y,d++}let m=b-h;for(;m!==b&&T[m]===0;)m++;return p>0?new Uint8Array([...new Uint8Array(p-T.length+m),...T.slice(m)]):T.slice(m)}return o(l,"decode"),{encode:u,decode:l}}o(F,"useBase");var{encode:dn,decode:mn}=F(16),{encode:yn,decode:gn}=F(32),{encode:hn,decode:xn}=F(58),{encode:bn,decode:Tn}=F(62),{encode:wn,decode:An}=F(62);var Pn=o(e=>(e.length>0&&(/^[A-Z0-9_\-\ ]*$/g.test(e)&&(e=e.toLowerCase()),e=e.replace(/^[-_\ ]+/gi,"").replace(/[-_\ ]+$/gi,"").replace(/[-_\ ]+([a-z0-9])/gi,(t,r)=>r.toUpperCase()),e=e[0].toLowerCase()+e.substring(1)),e),"toCamelCase");function St(e){return e.charAt(0).toUpperCase()+e.toLowerCase().slice(1)}o(St,"toCapitalize");function Dn(e){return e.replace(/\w\S*/g,St)}o(Dn,"toCapitalizeWords");function Ln(e,t="-"){return t=typeof t>"u"?"_":t,e.replace(/([a-z\d])([A-Z])/g,"$1"+t+"$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1"+t+"$2").toLowerCase()}o(Ln,"fromCamelCase");function It(e,t){var r=[],n=[];return t==null&&(t=o(function(i,s){return r[0]===s?"[Circular ~]":"[Circular ~."+n.slice(0,r.indexOf(s)).join(".")+"]"},"cycleReplacer")),function(i,s){if(r.length>0){var a=r.indexOf(this);~a?r.splice(a+1):r.push(this),~a?n.splice(a,1/0,i):n.push(i),~r.indexOf(s)&&(s=t==null?void 0:t.call(this,i,s))}else r.push(s);return e==null?s:e.call(this,i,s)}}o(It,"serializer");function de(e,t,r,n){return JSON.stringify(e,It(t,n),r)}o(de,"jsonStringify");var Je=["1","true","yes","y","on"];function vn(e,t=!1){return e==null||typeof e!="string"?t:Je.includes(String(e).trim().toLowerCase())}o(vn,"stringToBoolean");function Sn(e,t=0){return e==null||typeof e!="string"?t:parseInt(e.trim(),10)??t}o(Sn,"stringToInteger");function In(e,t=0){return e==null||typeof e!="string"?t:parseFloat(e.trim())??t}o(In,"stringToFloat");function Ft(e,t=!1){return e==null?t:typeof e=="boolean"?e:typeof e=="number"?e!==0:Je.includes(String(e).trim().toLowerCase())}o(Ft,"valueToBoolean");function kt(e,t=0){return e==null?t:typeof e=="boolean"?e?1:0:typeof e=="number"?Math.floor(e):parseInt(String(e).trim(),10)??t}o(kt,"valueToInteger");function Ot(e,t=0){return e==null?t:typeof e=="boolean"?e?1:0:typeof e=="number"?Math.floor(e):parseFloat(String(e).trim())??t}o(Ot,"valueToFloat");function me(e,t=""){return e==null?t:String(e)??t}o(me,"valueToString");var Fn=Ot,kn=kt,On=me,Bn=Ft;function Bt(e,t={}){let{trace:r=!0,pretty:n=!0}=t;return e.map(i=>i&&typeof i=="object"?n&&(i instanceof Uint8Array||i instanceof ArrayBuffer)?`
5
+ `+$e(i)+`
6
+ `:i instanceof Error?r?`${i.name||"Error"}: ${i.message}
7
+ ${i.stack}`:`${i.name||"Error"}: ${i.message}`:n?de(i,null,2):de(i):String(i))}o(Bt,"formatMessages");function $n(e,t={}){return Bt(e,t).join(" ")}o($n,"renderMessages");function Nn(e){try{return decodeURIComponent(escape(e))}catch{}return e}o(Nn,"fixBrokenUth8String");var $t={symbol:"$",separator:",",decimal:".",errorOnInvalid:!1,precision:2,pattern:"!#",negativePattern:"-!#",format:zt,fromCents:!1},je=o(e=>Math.round(e),"round"),ye=o(e=>Math.pow(10,e),"pow"),Nt=o((e,t)=>je(e/t)*t,"rounding"),Vt=/(\d)(?=(\d{3})+\b)/g,Ht=/(\d)(?=(\d\d)+\d\b)/g;function B(e,t={}){return new S(e,t)}o(B,"currency");var W=class{constructor(t,r={}){let n=Object.assign({},$t,r),i=ye(n.precision??2),s=te(t,n);this.intValue=s,this.value=s/i,n.increment=n.increment||1/i,n.useVedic?n.groups=Ht:n.groups=Vt,this._settings=n,this._precision=i}add(t){let{intValue:r,_settings:n,_precision:i}=this;return B((r+=te(t,n))/(n.fromCents?1:i),n)}subtract(t){let{intValue:r,_settings:n,_precision:i}=this;return B((r-=te(t,n))/(n.fromCents?1:i),n)}multiply(t){let{intValue:r,_settings:n,_precision:i}=this;return B((r*=t)/(n.fromCents?1:ye(i)),n)}divide(t){let{intValue:r,_settings:n}=this;return B(r/=te(t,n,!1),n)}distribute(t){let{intValue:r,_precision:n,_settings:i}=this,s=[],a=Math[r>=0?"floor":"ceil"](r/t),u=Math.abs(r-a*t),l=i.fromCents?1:n;for(;t!==0;t--){let c=B(a/l,i);u-- >0&&(c=c[r>=0?"add":"subtract"](1/l)),s.push(c)}return s}dollars(){return~~this.value}cents(){let{intValue:t,_precision:r}=this;return~~(t%r)}format(t){let{_settings:r}=this;return typeof t=="function"?t(this,r):r.format(this,Object.assign({},r,t))}toString(){let{intValue:t,_precision:r,_settings:n}=this;return Nt(t/r,n.increment).toFixed(n.precision)}toJSON(){return this.value}static sum(...t){return I(t).reduce((r,n)=>B(r).add(n),this.zero)}static avg(...t){let r=I(t);return r.reduce((n,i)=>B(n).add(i),this.zero).divide(r.length)}},S=W;o(S,"Currency"),S.zero=new W(0),S.one=new W(1),S.hundred=new W(100);function te(e,t,r=!0){let n=0,{decimal:i,errorOnInvalid:s,precision:a,fromCents:u}=t,l=ye(a),c=typeof e=="number";if(e instanceof S&&u)return e.intValue;if(c||e instanceof S)n=e instanceof S?e.value:e;else if(typeof e=="string"){let p=new RegExp("[^-\\d"+i+"]","g"),d=new RegExp("\\"+i,"g");n=e.replace(/\((.*)\)/,"-$1").replace(p,"").replace(d,"."),n=n||0}else{if(s)throw Error("Invalid Input");n=0}return u||(n*=l,n=n.toFixed(4)),r?je(n):n}o(te,"parse");function zt(e,t){let{pattern:r,negativePattern:n,symbol:i,separator:s,decimal:a,groups:u}=t,l=(""+e).replace(/^-/,"").split("."),c=l[0],p=l[1];return(e.value>=0?r:n).replace("!",i).replace("#",c.replace(u,"$1"+s)+(p?a+p:""))}o(zt,"format");var he=864e5;function xe(e){return Math.floor(e/1e4)}o(xe,"dayYear");function _e(e){return Math.floor(e/100%100)}o(_e,"dayMonth");function qt(e){return Math.floor(e%100)}o(qt,"dayDay");function qn(e){return[xe(e),_e(e),qt(e)]}o(qn,"dayToParts");function We(e,t=!1){return t?new Date(`${Jt(e)}T00:00:00.000Z`):new Date(e/1e4,e/100%100-1,e%100)}o(We,"dayToDate");function Gn(){return re(new Date)}o(Gn,"dayFromToday");function Jn(e,t=!1){if(typeof e=="number")return e<100?void 0:e;if(typeof e=="string")return Ke(e);if(Array.isArray(e)&&e.length===3){let[r,n,i]=e;return be(r,n,i)}else if(e instanceof Date)return re(e,t)}o(Jn,"dayFromAny");function jn(e){return We(e,!0)}o(jn,"dayToDateGMT");function re(e,t=!1){return t?Ke(e.toISOString()):e.getFullYear()*1e4+(e.getMonth()+1)*100+e.getDate()}o(re,"dayFromDate");function _n(e){return re(e,!0)}o(_n,"dayFromDateGMT");function ge(e,t=!0){return We(e,t).getTime()}o(ge,"dayToTimestamp");function Gt(e,t=!0){return re(new Date(e),t)}o(Gt,"dayFromTimestamp");function Jt(e,t="-"){let r=String(e);return r.slice(0,4)+t+r.slice(4,6)+t+r.slice(6,8)}o(Jt,"dayToString");function be(e,t=1,r=1){if(!(t<1||t>12||r<1||r>31))return e*1e4+t*100+r}o(be,"dayFromParts");function Ke(e){let t=String(e).replace(/[^0-9]/g,"").slice(0,8);if(t.length===8)return+t}o(Ke,"dayFromString");function Wn(e,t=0){let r=xe(e),n=_e(e);return t!==0&&(n+=t,r+=Math.floor((n-1)/12),n=Math.floor((n-1)%12)+1,n===0&&(n=12)),be(r,n,1)}o(Wn,"dayMonthStart");function Kn(e,t=0){let r=xe(e);return be(r+t,1,1)}o(Kn,"dayYearStart");function Zn(e,t){return Gt(ge(e)+t*864e5)}o(Zn,"dayOffset");function Yn(e,t){return Math.round((ge(t)-ge(e))/864e5)}o(Yn,"dayDiff");var{warn:Ze}=M("zeed:promise");function Ye(){let e,t;return[new Promise((n,i)=>{e=n,t=i}),e,t]}o(Ye,"createPromise");async function eo(e){return new Promise(t=>setTimeout(t,e))}o(eo,"sleep");async function to(){return new Promise(e=>setTimeout(e,0))}o(to,"immediate");var Qe=Symbol("timeout");async function ro(e,t,r=Qe){return new Promise(async(n,i)=>{let s=!1,a=setTimeout(()=>{s=!0,n(r)},t);try{let u=await e;clearTimeout(a),s||n(u)}catch(u){clearTimeout(a),s||i(u)}})}o(ro,"timeout");var Xe=new Error("Timeout reached");function no(e){return e===Qe||e===Xe}o(no,"isTimeout");async function et(e,t){return t<=0?await e:new Promise(async(r,n)=>{let i=!1,s=setTimeout(()=>{i=!0,n(Xe)},t);try{let a=await e;clearTimeout(s),i||r(a)}catch(a){clearTimeout(s),i||n(a)}})}o(et,"tryTimeout");function oo(e,t,r=1e3){return new Promise((n,i)=>{let s=o(l=>{u&&(clearTimeout(u),a(),n(l))},"fn"),a=o(()=>{u=null,e.off?e.off(t,s):e.removeEventListener?e.removeEventListener(t,s):Ze("No remove listener method found for",e,t)},"done"),u=setTimeout(()=>{a(),i(new Error("Did not response in time"))},r);e.on?e.on(t,s):e.addEventListener?e.addEventListener(t,s):Ze("No listener method found for",e)})}o(oo,"waitOn");function E(e){return Boolean(e&&(e instanceof Promise||typeof e.then=="function"))}o(E,"isPromise");function $(e){return Promise.resolve(e)}o($,"promisify");var A=class{get value(){return this.days}constructor(t){var r;if(typeof t=="number"){this.days=t;return}if(t!=null&&(t=(r=A.from(t))==null?void 0:r.days),t==null){let n=new Date;this.days=n.getFullYear()*1e4+(n.getMonth()+1)*100+n.getDate()}else this.days=t}static fromNumber(t){return new A(t)}static fromString(t){return A.from(+t.replace(/[^0-9]/g,"").slice(0,8))}static fromDate(t,r=!1){return r?A.fromString(t.toISOString().substr(0,10)):A.from(t.getFullYear()*1e4+(t.getMonth()+1)*100+t.getDate())}static fromDateGMT(t){return A.fromDate(t,!0)}static from(t,r=!1){if(typeof t=="number")return t<100?void 0:new A(t);if(typeof t=="string")return A.fromString(t);if(Array.isArray(t)&&t.length===3){let[n,i=1,s=1]=t;return i<1||i>12||s<1||s>31?void 0:new A(n*1e4+i*100+s)}else{if(t instanceof Date)return A.fromDate(t,r);if(t instanceof A)return t}}toNumber(){return this.days}toJson(){return this.days}toString(t="-"){let r=String(this.days);return r.slice(0,4)+t+r.slice(4,6)+t+r.slice(6,8)}toDate(t=!1){return t?new Date(`${this.toString()}T00:00:00.000Z`):new Date(this.days/1e4,this.days/100%100-1,this.days%100)}toDateGMT(){return this.toDate(!0)}get year(){return Math.floor(this.days/1e4)}get month(){return Math.floor(this.days/100%100)}get day(){return Math.floor(this.days%100)}dayOffset(t){return A.fromDateGMT(new Date(this.toDateGMT().getTime()+t*864e5))}monthStart(){return A.from([this.year,this.month,1])}yearStart(){return A.from([this.year,1,1])}monthOffset(t){let r=this.month+t,n=Math.floor((r-1)%12)+1;n===0&&(n=12);let i=Math.floor((r-1)/12);return A.from([this.year+i,n,this.day])}daysUntil(t){var r;return Math.round((((r=new A(t))==null?void 0:r.toDateGMT().getTime())-this.toDateGMT().getTime())/864e5)}yesterday(){return this.dayOffset(-1)}tomorrow(){return this.dayOffset(1)}};o(A,"Day");async function lo(e,t,r){let n=A.from(e),i=A.from(t);for(;n&&i&&(n==null?void 0:n.days)<=(i==null?void 0:i.days);){let s=r(n);E(s)&&await s,n=n.dayOffset(1)}}o(lo,"forEachDay");function fo(){return new A}o(fo,"today");function po(e){return new A(e)}o(po,"day");function mo(e){return A.fromDate(new Date(e)).days}o(mo,"dateStringToDays");function jt(e,t=2){return+(+e).toFixed(t)}o(jt,"decimal");function go(e,t=2){return+(+e/Math.pow(10,t)).toFixed(t)}o(go,"decimalFromCents");function ho(e,t=2){return Math.round(+e*Math.pow(10,t))}o(ho,"decimalToCents");function xo(e,t=2){return t*(jt(e,t)%1)}o(xo,"decimalCentsPart");var tt=o(e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&apos;").replace(/"/g,"&quot;"),"escapeHTML"),To=o(e=>e.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&quot;/gi,'"').replace(/&apos;/gi,"'").replace(/&amp;/gi,"&"),"unescapeHTML");var rt=/[\u0000-\u001F\u0080-\u009F]/g,_t=/^\.+/,Wt=/\.+$/;function nt(){return/[<>:"/\\|?*\u0000-\u001F]/g}o(nt,"filenameReservedRegex");function Kt(){return/^(con|prn|aux|nul|com\d|lpt\d)$/i}o(Kt,"windowsReservedNameRegex");function Ao(e){if(typeof e!="string")throw new TypeError("Expected a string");let t="_";if(nt().test(t)&&rt.test(t))throw new Error("Replacement string cannot contain reserved filename characters");return e=e.replace(nt(),t).replace(rt,t).replace(_t,t).replace(Wt,""),e=Kt().test(e)?e+t:e,e.slice(0,100)}o(Ao,"toValidFilename");var Zt=/[\\\-\[\]\/{}()*+?.^$|]/g;function Po(e){return e?e instanceof RegExp?e.source:e.replace(Zt,"\\$&"):""}o(Po,"escapeRegExp");var K=o(e=>Math.abs(e)%1===.5,"isHalf"),ot=o(e=>e%2===0,"isEven"),Lo=o(e=>Math.ceil(e),"roundUp"),Uo=o(e=>Math.floor(e),"roundDown"),Eo=o(e=>Math.round(e),"roundHalfUp"),Ro=o(e=>{let t=Math.round(e);return K(e)&&ot(t)?t-1:t},"roundHalfOdd"),Co=o(e=>K(e)?Math.sign(e)*Math.ceil(Math.abs(e)):Math.round(e),"roundHalfAwayFromZero"),vo=o(e=>K(e)?Math.floor(e):Math.round(e),"roundHalfDown"),So=o(e=>{let t=Math.round(e);return K(e)?ot(t)?t:t-1:t},"roundHalfEven"),Io=o(e=>K(e)?Math.sign(e)*Math.floor(Math.abs(e)):Math.round(e),"roundHalfTowardsZero");function it(e){return e.reduce((t,r)=>Math.min(t,r.sort_weight||0),0)-1-v()}o(it,"startSortWeight");function st(e){return e.reduce((t,r)=>Math.max(t,r.sort_weight||0),0)+1+v()}o(st,"endSortWeight");function Oo(e,t,r){let n=r.length,i=e<t;if(n<=0||e>=n-1)return st(r);if(e<=0)return it(r);r=Yt([...r]);let s=i?-1:0,a=r[e+s].sort_weight||0,l=(r[e+s+1].sort_weight||0)-a;if(l===0)return i?it(r):st(r);let c=a+l/2,p=l*.01*(v()-.5);return c+p}o(Oo,"moveSortWeight");function Yt(e){return e.sort((t,r)=>(t.sort_weight||0)-(r.sort_weight||0)),e}o(Yt,"sortedItems");var Qt=/((?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?)/gim;function No(e){return e.split(Qt).map((t,r)=>{let n=tt(t);return r%2?`<a target="_blank" href="${n}">${Xt(n)}</a>`:n}).join("")}o(No,"linkifyPlainText");function Xt(e){return e.replace(/^https?:\/\/(www\.)?/,"").replace(/\/$/,"")}o(Xt,"toHumanReadableUrl");function at(e){let t=[];for(let[r,n]of Object.entries(e))if(n!=null){Array.isArray(n)||(n=[n]);for(let i of n)i!=null&&t.push(encodeURIComponent(r)+"="+encodeURIComponent(String(i)))}return t.join("&")}o(at,"encodeQuery");function Vo(e){let t={},r=(e[0]==="?"?e.substr(1):e).split("&");for(let n=0;n<r.length;n++){let i=r[n].split("="),s=decodeURIComponent(i[0]),a=decodeURIComponent(i[1]||"");t[s]!=null?(Array.isArray(t[s])||(t[s]=[t[s]]),t[s].push(a)):t[s]=a}return t}o(Vo,"parseQuery");function zo(e,t,r){let n=e[t];return n===void 0&&(n=r(t,e),e[t]=n),n}o(zo,"ensureKey");async function qo(e,t,r){let n=e[t];return n===void 0&&(n=await r(t,e),e[t]=n),n}o(qo,"ensureKeyAsync");function Go(e){return e!=null?e.size!=null?e.size:e.length!=null?e.length:Object.keys(e).length:0}o(Go,"size");function Jo(e){return e!=null&&e.length>0?e[e.length-1]:void 0}o(Jo,"last");function jo(e){try{if(e!=null)return Array.isArray(e)||typeof e=="string"?e.length<=0:(e==null?void 0:e.size)!=null?e.size<=0:Object.keys(e).length<=0}catch(t){console.warn("Failed to check if empty for",e,t)}return!0}o(jo,"empty");function Te(e){return Object(e)!==e?e:JSON.parse(JSON.stringify(e))}o(Te,"cloneObject");function _o(e){return Object(e)!==e?e:JSON.parse(JSON.stringify(e))}o(_o,"cloneJsonObject");function Wo(e){let t=new Map;return r=>{if(t.has(r))return t.get(r);let n=e(r);return t.set(r,n),n}}o(Wo,"memoize");function Ko(e,t){let r=[];for(let n=0;n<e;n++)r.push(t(n,e));return r}o(Ko,"forTimes");var er=/\\\s|\s+|#[^\n]*\n?/gm,tr=/\(\?P?<(\w[\w\d_]+)>|\((?!\?(:|\!|=|<=|<\!))/gm,ut=/^((?:\(\?[\w$]+\))?)\(\?<([=!])([\s\S]*?)\)/gm,rr=M("xrx");function nr(e){return typeof e=="string"?e:e.source||""}o(nr,"regExpString");function Qo(e){return e.replace(/[-\[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}o(Qo,"regExpEscape");var we=class{constructor(t,r){this.namedGroups={};this.names=[];let n=r??"",i;if(t instanceof RegExp?(r==null&&(n=t.flags),i=t.source):i=t,n&&n.indexOf("x")!==-1&&(n=n.replace("x",""),i=i.replace(er,u=>u[0]==="\\"?u:"")),!(t instanceof RegExp)){let u=0;i=i.replace(tr,(l,c)=>(u+=1,c?(c!=="index"&&c!=="length"&&!this.namedGroups[c]?this.namedGroups[c]=u:rr.error(`Unallowed or duplicate group name: ${c}`),"("):l)),this.names=Object.keys(this.namedGroups)}i=nr(i),ut.lastIndex=0;let a=ut.exec(i);a&&(this.lookBehind={rx:new RegExp(`${a[3]}$(?!\\s)`),expect:a?a[2]==="=":!a},i=i.substr(a[0].length)),this.rx=new RegExp(i,n)}get lastIndex(){return this.rx.lastIndex}set lastIndex(t){this.rx.lastIndex=t}_handleMatch(t){if(this.lookBehind){let r=t.input.slice(0,t.index);if(this.lookBehind.expect!==this.lookBehind.rx.test(r))return null}for(let r of this.names)t[r]=t[this.namedGroups[r]];return t}exec(t){let r;for(;r=this.rx.exec(t);)if(this.rx.lastIndex===r.index&&this.rx.lastIndex++,r=this._handleMatch(r),r!=null)return r}execAll(t){let r=[],n;for(this.rx.lastIndex=0;n=this.exec(t);)r.push(n);return this.rx.lastIndex=0,r}replace(t,r){let n=typeof r=="function"?r:()=>r;return t.replace(this.rx,i=>n(i))}};o(we,"XRX");var or=M("dispose");async function ir(e){typeof e=="function"?await $(e()):E(e)?await e:typeof e.dispose=="function"?await $(e.dispose()):E(e.dispose)?await e.dispose:typeof e.cleanup=="function"?await $(e.cleanup()):E(e.cleanup)&&await e.cleanup}o(ir,"callDisposer");function Ae(e){let{name:t}=typeof e=="string"?{name:e}:e??{},r=[],n=o(async a=>{a!=null&&r.includes(a)&&(pe(r,u=>u!==a),await ir(a))},"untrack"),i=o(async()=>{for(t&&or.debug(`dispose ${t}: ${r.length} entries`);r.length>0;)await n(r[0])},"dispose"),s=o(a=>{if(a!=null)return r.unshift(a),()=>n(a)},"track");return Object.assign(i,{track:s,add:s,untrack:n,dispose:i,exec:i,getSize(){return r.length}})}o(Ae,"useDispose");var ni=Ae;function oi(e={}){let{mode:t="fifo"}=e,r=[],n=o(async(s=!1)=>{for(;r.length>0;){let a=r[0];if(pe(r,u=>u!==a),typeof a=="function"){let u=a();if(E(u)){if(s)throw new Error(`Expected sync only function, but found async: ${a}`);await u}}else if(E(a)){if(s)throw new Error(`Expected sync only function, but found async: ${a}`);await a}else throw new Error(`Unhandled disposable: ${a}`)}},"exec");return Object.assign(n,{add:o(s=>{t==="lifo"?r.unshift(s):r.push(s)},"add"),exec:n,getSize(){return r.length}})}o(oi,"useDefer");function ii(e,t=0){let r=setTimeout(e,t);return()=>{r&&(clearTimeout(r),r=void 0)}}o(ii,"useTimeout");function si(e,t){let r=setInterval(e,t);return()=>{r&&(clearInterval(r),r=void 0)}}o(si,"useInterval");function ai(e,t,r,...n){return e==null?()=>{}:(e.on?e.on(t,r,...n):e.addEventListener&&e.addEventListener(t,r,...n),()=>{e.off?e.off(t,r,...n):e.removeEventListener&&e.removeEventListener(t,r,...n)})}o(ai,"useEventListener");function li(){let e=!0;return(t,r)=>{let n=!1;if(e){e=!1;try{t(),n=!0}finally{e=!0}}else r!==void 0&&r();return n}}o(li,"useMutex");function fi(){let e=!0;return async(t,r)=>{let n=!1;if(e){e=!1;try{let i=t();E(i)&&await i,n=!0}finally{e=!0}}else if(r!==void 0){let i=r();E(i)&&await i}return n}}o(fi,"useAsyncMutex");var J=M("zeed:emitter"),R=class{constructor(){this.subscribers={};this.subscribersOnAny=[];this.dispose=Ae();this.call=new Proxy({},{get:(t,r)=>(...n)=>this.emit(r,...n)})}async emit(t,...r){let n=!1;this.dispose.add(()=>{this.subscribers={},this.subscribersOnAny=[]});try{let i=this.subscribers[t]||[];if(this.subscribersOnAny.forEach(s=>s(t,...r)),i.length>0){let s=i.map(a=>{try{return $(a(...r))}catch(u){J.warn("emit warning:",u)}});n=!0,await Promise.all(s)}}catch(i){J.error("emit exception",i)}return n}onAny(t){this.subscribersOnAny.push(t)}on(t,r){let n=this.subscribers[t]||[];return n.push(r),this.subscribers[t]=n,()=>{this.off(t,r)}}onCall(t){for(let[r,n]of Object.entries(t))this.on(r,n)}once(t,r){let n=o(async(...i)=>(this.off(t,n),await $(r(...i))),"onceListener");return this.on(t,n),()=>{this.off(t,r)}}off(t,r){return this.subscribers[t]=(this.subscribers[t]||[]).filter(n=>r&&n!==r),this}removeAllListeners(){return this.subscribers={},this}};o(R,"Emitter");function Ti(){let e=ie().emitter;return e||(e=new R,ie().emitter=e),e}o(Ti,"getGlobalEmitter");var wi=new R;function Ai(e,t){let r=Math.round(v()*100);var n=[],i;let s=o((u,l)=>{let c={key:u,obj:l};n.push(c),i&&i()},"incoming");return t?e.on?e.on(t,u=>{s(t,u)}):e.addEventListener?e.addEventListener(t,u=>{s(t,u)}):J.error(r,"Cannot listen to key"):e.onAny?e.onAny((u,l)=>{s(u,l)}):J.error(r,"cannot listen to all for",e),o((u,l=!0)=>new Promise((c,p)=>{u||(u=t,u||n.length&&(u=n[0].key)),i=o(()=>{for(;n.length>0;){let d=n.shift();if(d.key===u)i=void 0,c(d.obj);else{if(l){J.warn(r,`Unhandled event ${u} with value: ${d.obj}`);continue}p(`Expected ${u}, but found ${d.key} with value=${d.obj}`),J.error(r,`Unhandled event ${u} with value: ${d.obj}`)}break}},"lazyResolve"),i()}),"on")}o(Ai,"lazyListener");var{encode:Pe,decode:ct}=F(62),{encode:lt,decode:sr}=F(32);function ft(){return G(16)}o(ft,"uuidBytes");var Ui=o(()=>new Uint32Array(G(4))[0],"uuid32bit");function N(){return Pe(ft(),22)}o(N,"uuid");function Ei(e){return Pe(e,22)}o(Ei,"uuidEncode");function Ri(e){return ct(e,16)}o(Ri,"uuidDecode");function Ci(){return lt(ft(),26)}o(Ci,"uuidB32");function vi(e){return lt(e,26)}o(vi,"uuid32Encode");function Si(e){return sr(e,16)}o(Si,"uuid32Decode");var Me={};function V(e="id"){return Me[e]==null&&(Me[e]=0),`${e}-${Me[e]++}`}o(V,"uname");var ar=0;function Ii(){return`id-${ar++}`}o(Ii,"qid");var ur="10000000-1000-4000-8000-100000000000",Fi=typeof crypto<"u"&&crypto.randomUUID!=null?crypto.randomUUID:()=>ur.replace(/[018]/g,e=>(e^G(1)[0]&15>>e/4).toString(16)),pt=16e11;function cr(e){var t=new Uint8Array([0,0,0,0,0,0]);let r=t.length-1;for(var n=0;n<t.length;n++){var i=e&255;t[r-n]=i,e=(e-i)/256}return t}o(cr,"longToByteArray");function lr(){let e=Ie()-pt;return new Uint8Array([...cr(e),...G(10)])}o(lr,"suidBytes");function ki(){return Pe(lr(),22)}o(ki,"suid");function Oi(e){return fr(ct(e,16))}o(Oi,"suidDate");function fr(e){return new Date(pt+e.slice(0,6).reduce((t,r)=>t*256+r,0))}o(fr,"suidBytesDate");var pr=(n=>(n[n.waiting=0]="waiting",n[n.running=1]="running",n[n.finished=2]="finished",n))(pr||{}),dr=(n=>(n[n.replace=0]="replace",n[n.memoize=1]="memoize",n[n.error=2]="error",n))(dr||{});function Hi(e={}){let{maxParallel:t=3}=e,r=new R,n=0,i=0,s=0,a=0,u={};async function l(){if(n>0){let[m,f]=Ye();return r.once("didFinish",f),m}}o(l,"waitFinishAll");function c(){r.emit("didFinish"),n=0,i=0}o(c,"didFinish");function p(){let m=0,f=0;for(let{max:y,resolved:x,state:g}of Object.values(u))m+=y,f+=g===2?y:Math.min(y,x);r.emit("didUpdate",n,i,m,f)}o(p,"didUpdate");function d(){if(p(),n>0&&n===i&&c(),s>=t)return;let m=Object.values(u).filter(f=>f.state===0);if(m.length>0){let f;for(let y of m)(f==null||y.priority<f.priority)&&(f=y);if(f!=null){let y=f.id,x=f.done;f.state=1,++s,r.emit("didStart",y);let g=o(w=>{f&&(f.result=w,f.state=2,f.resolved=f.max),--s,++i,d()},"taskFinished");f.task(f).then(w=>{x(w),r.emit("didResolve",y,w),g(w)}).catch(w=>{x(),r.emit("didReject",y,w),g()})}}}o(d,"performNext");function h(m){let f=u[m];f&&f.state===0&&(u[m].state=2,++i,r.emit("didCancel",m),p())}o(h,"cancel");function b(){Object.keys(u).forEach(h)}o(b,"cancelAll");function T(m,f={}){let y,x=new Promise(w=>y=w),g=f.id??N();if(u[g]!=null){let w=f.idConflictResolution??1;if(w===0)h(g);else if(w===1){let D=u[g];return{id:g,promise:(async()=>{if(D.state===2)return u[g].result})(),dispose:()=>h(g),cancel:()=>h(g)}}else throw new Error(`Pool task with id=${g} already exists!`)}return u[g]={id:g,task:m,priority:++a,state:0,max:f.max??1,resolved:f.resolved??0,done:y,payload:f.payload,setMax(w){u[g].max=w,p()},setResolved(w){u[g].resolved=w,p()},incResolved(w=1){u[g].resolved+=w,p()}},++n,d(),{id:g,promise:x,dispose:()=>h(g),cancel:()=>h(g)}}return o(T,"enqueue"),{events:r,cancel:h,cancelAll:b,enqueue:T,dispose:b,waitFinishAll:l}}o(Hi,"usePool");var De=class extends R{constructor(r={}){super();this.queue=[];this.waitToFinish=[];this.countMax=0;this.countResolved=0;this.paused=!1;let{name:n=V("queue"),logLevel:i}=r;this.name=n,this.log=M(`zeed:queue:${n}`,i??1/0)}async performNext(){if(this.log("performNext, queue.length =",this.queue.length),this.currentTask!=null){this.log("performNext => skip while another task is running");return}if(this.paused){this.log("performNext => skip while is paused");return}for(;this.currentTask==null&&!this.paused;){let r=this.queue.shift();if(this.log(`performNext => ${r==null?void 0:r.name}`),r==null)break;this.countResolved===0&&this.emit("didStart",this.countMax);let{name:n,task:i,resolve:s}=r;this.currentTask=i();let a;try{this.log.info(`start task ${n}`),a=await this.currentTask,this.log(`finished task ${n} with result =`,a)}catch(u){this.log.warn("Error performing task",u)}s(a),this.currentTask=void 0,this.countResolved+=1,this.emit("didUpdate",this.countMax,this.countResolved)}for(this.queue.length===0&&(this.emit("didFinish"),this.countMax=0,this.countResolved=0);this.waitToFinish.length>0;)this.waitToFinish.shift()()}async enqueue(r,n={}){let{immediate:i=!1,name:s=V(this.name)}=n;return i?(this.log.info(`immediate execution ${s}`),await r()):(this.log(`enqueue ${s}`),new Promise(a=>{this.queue.push({name:s,task:r,resolve:a}),this.countMax+=1,this.emit("didUpdate",this.countMax,this.countResolved),this.performNext()}))}async enqueueReentrant(r,n={}){return this.enqueue(r,{immediate:this.currentTask!=null,name:n.name})}async cancelAll(r=!0){this.log("cancelAll"),this.emit("didCancel");let n=this.queue.map(i=>i.resolve);this.queue=[],n.forEach(i=>i(void 0)),await this.wait()}async pause(){this.log("pause"),this.paused=!0,await this.wait()}resume(){this.log("resume"),this.paused=!1,this.performNext()}async wait(){if(this.log("wait"),!(this.currentTask==null&&(this.queue.length===0||this.paused)))return new Promise(r=>{this.waitToFinish.push(r)})}get isPaused(){return this.paused}get hasTasks(){return this.queue.length!==0}};o(De,"SerialQueue");var _=!1,j=_?M("zeed:throttle"):()=>{};function Yi(e,t={}){let{delay:r=100,trailing:n=!0,leading:i=!0}=t,s=0,a=0,u=0,l,c=Date.now();function p(){s&&(clearTimeout(s),s=void 0)}o(p,"clearExistingTimeout");function d(...h){let b=Date.now(),T=this,m=b-a;function f(){let x=Date.now();return`total ${(x-c).toFixed(1)}ms - elapsed ${(x-a).toFixed(1)}ms - visited ${u}x`}o(f,"debugElapsed");function y(){u=0,a=Date.now(),e.apply(T,h)}if(o(y,"exec"),l=y,m>r||!s){_&&j("elapsed",f()),i&&(m>r?(_&&j("\u{1F680} leading",f()),y()):++u);let x=m>r?r:r-m;j(`\u23F1 start timeout with ${x.toFixed(1)}ms`,f()),p(),a=b,s=setTimeout(()=>{_&&j("\u23F1 reached timeout",f()),s=0,n&&(!i||u>0)&&(_&&j("\u{1F680} trailing",f()),l==null||l())},x)}else++u,_&&j("visited",f())}return o(d,"wrapper"),d.cancel=p,d.dispose=p,d}o(Yi,"throttle");function Qi(e,t={}){let{delay:r=100}=t,n=0;function i(){n&&(clearTimeout(n),n=0)}o(i,"clearExistingTimeout");function s(...a){let u=this;i(),n=setTimeout(()=>{n=0,e.apply(u,a)},r)}return o(s,"wrapper"),s.cancel=i,s.dispose=i,s}o(Qi,"debounce");function es(e=(t=>(t=globalThis==null?void 0:globalThis.location)==null?void 0:t.hostname)()??""){return["::ffff:127.0.0.1","localhost","127.0.0.1","","::1","::"].includes(e)||e.startsWith("192.168.")||e.startsWith("10.0.")||e.endsWith(".local")}o(es,"isLocalHost");function ns(e){let{level:t=void 0,filter:r=void 0,messages:n=[]}=e,i=ve(r),s=Se(t);return a=>{!s(a.level)||!i(a.name)||n.push(a)}}o(ns,"LoggerMemoryHandler");var ne=class extends R{constructor(){super(...arguments);this.id=N()}close(){this.dispose()}};o(ne,"Channel");var Z=class extends ne{constructor(){super(...arguments);this.isConnected=!0}postMessage(r){var n;(n=this.other)==null||n.emit("message",{data:r,origin:"local",lastEventId:N()})}};o(Z,"LocalChannel");function as(){let e=new Z,t=new Z;return e.other=t,t.other=e,[e,t]}o(as,"createLocalChannelPair");var Le=class{async encode(t){return t}async decode(t){return t}};o(Le,"NoopEncoder");var H=class{async encode(t){return ae(t)}async decode(t){return ue(t)}};o(H,"JsonEncoder");var Ue=class{constructor(t){this.key=t}async encode(t){let r=ae(t);return await He(r,this.key)}async decode(t){let r=await ze(t,this.key);return ue(r)}};o(Ue,"CryptoEncoder");var dt=o((e,t,r={})=>new Proxy(r,{get:(n,i)=>i in n?n[i]:(...s)=>e(i,s,t)}),"createPromiseProxy");function xs(e={}){let{name:t=V("hub"),encoder:r=new H,retryAfter:n=1e3,ignoreUnhandled:i=!0,logLevel:s=!1}=e,a=M(t,s),u={},l,c=[],p,d={},h=o(()=>{clearTimeout(p)},"dispose"),b=o(async()=>{if(clearTimeout(p),l){if(l.isConnected)for(;c.length;){let y=c[0];try{l.postMessage(await r.encode(y)),c.shift()}catch(x){a.warn("postMessage",x);break}}c.length>0&&n>0&&(p=setTimeout(b,n))}},"postNext"),T=o(async y=>{a("enqueue postMessage",y),c.push(y),await b()},"postMessage"),m=o(async y=>{l=y,l.on("connect",b),l.on("message",async x=>{a("onmessage",typeof x);let{name:g,args:w,id:D,result:q,error:k}=await r.decode(x.data);if(g){a(`name ${g} id ${D}`);try{if(u[g]==null)throw new Error(`handler for ${g} was not found`);let C=u[g](...w);E(C)&&(C=await C),a(`result ${C}`),D&&T({id:D,result:C})}catch(C){let O=C instanceof Error?C:new Error(me(C));a.warn("execution error",O.name),T({id:D,error:{message:O.message,stack:O.stack,name:O.name}})}}else if(D)if(a(`response for id=${D}: result=${q}, error=${k}`),d[D]==null)q===void 0?a(`skip response for ${D}`):a.warn(`no response hook for ${D}`);else{let[C,O]=d[D];if(C&&O)if(delete d[D],k){let Y=new Error(k.message);Y.stack=k.stack,Y.name=k.name,a.warn("reject",Y.name),O(Y)}else a("resolve",q),C(q)}else i||a.warn("Unhandled message",x)}),b()},"connect"),f=o(async(y,x,g={})=>{let{timeout:w=5e3}=g,D=N();return T({name:y,args:x,id:D}),et(new Promise((q,k)=>d[D]=[q,k]),w)},"fetchMessage");return e.channel&&m(e.channel),{dispose:h,connect:m,listen(y){Object.assign(u,y)},send(){return dt(f,{},{options(y){return dt(f,{...y})}})}}}o(xs,"useMessageHub");var oe=class extends R{constructor(r){super();this.publish=this.emit;this.subscribe=this.on;let{name:n,encoder:i=new H,channel:s,debug:a=!1}=r;this.channel=s,this.encoder=i,this.debug=a,this.name=n??this.channel.id??V("pubsub"),this.log=M(`${this.shortId}`),this.debug&&(this.channel.on("connect",()=>{this.log("channel connected")}),this.channel.on("disconnect",()=>{this.log("channel disconnected")})),this.channel.on("message",async({data:u})=>{let l=await this.encoder.decode(u);if(this.debug?this.log(`channel message, event=${l==null?void 0:l.event}, info=`,l):this.log(`channel message, event=${l==null?void 0:l.event}`),l){let{event:c,args:p}=l;await this.emitSuper(c,...p)}})}get shortId(){return this.name.substr(0,6)}async emitSuper(r,...n){return await super.emit(r,...n)}async emit(r,...n){try{if(this.debug?this.log(`emit(${String(r)})`,r):this.log(`emit(${String(r)})`,n.length),!this.channel.isConnected)return this.log.warn("channel not connected"),!1;let i=await this.encoder.encode({event:r,args:n});return this.channel.postMessage(i),!0}catch(i){this.log.warn(`emit(${String(r)})`,i)}return!1}};o(oe,"PubSub");function Us(e){return new oe(e)}o(Us,"usePubSub");var mr=1;var mt=o(e=>e,"defaultSerialize"),yr=mt;function Rs(e,t){let{post:r,on:n,eventNames:i=[],serialize:s=mt,deserialize:a=yr}=t,u=new Map;return n(async l=>{let c=a(l),[p,d,h,b]=c;if(p===1||p===2){let T,m;if(b!=null)try{T=await e[b](...d)}catch(f){m=String(f)}else m="Method implementation missing";p===1&&h&&r(s(m?[4,m,h]:[3,T,h]))}else if(h){let T=u.get(h);T!=null&&(p===4?T.reject(d):T.resolve(d)),u.delete(h)}}),new Proxy({},{get(l,c){let p=o((...h)=>{r(s([2,h,null,c]))},"sendEvent");if(t.onlyEvents||i.includes(c))return p.asEvent=p,p;let d=o((...h)=>new Promise((b,T)=>{let m=mr++;u.set(m,{resolve:b,reject:T}),r(s([1,h,m,c]))}),"sendCall");return d.asEvent=p,d}})}o(Rs,"useRPC");var z=M("network"),Ee={cache:"no-cache",redirect:"follow",headers:{}};function gr(e){let t=/:\/\/([^@]*)@/gi.exec(e);if(t&&t[1]){let[r,n]=t[1].split(":",2);return{url:e.replace(t[1]+"@",""),username:r,password:n}}}o(gr,"parseBasicAuth");async function yt(e,t={},r=fetch){try{Ce(t)&&(t=se({},...I(t)));let n=gr(String(e));n&&(e=n.url,t=se({},t,hr(n.username,n.password))),t.headers!=null&&!(t.headers instanceof Headers)&&(t.headers=new Headers(t.headers)),z("fetch",e,t);let i=await r(String(e),t);if(i.status<400)return i;try{z.warn(`Fetch of ${e} with ${t} returned status=${i.status}`),z.warn(`Response: ${await i.text()}`)}catch(s){z.error("Exception:",s)}}catch(n){z.error("fetchBasic",n)}}o(yt,"fetchBasic");async function na(e,t={},r=fetch){try{let n=await yt(e,[{method:"GET",headers:{Accept:"application/json"}},t],r);if(n)return await n.json()}catch(n){z.error("fetchJSON error:",n)}}o(na,"fetchJson");async function oa(e,t={},r=fetch){try{let n=await yt(e,[Ee,{method:"GET"},t],r);if(n)return await n.text()}catch(n){z.error("fetchHTML error:",n)}}o(oa,"fetchText");function ia(e,t="POST"){return{method:t,...Ee,headers:{"Content-Type":"application/x-www-form-urlencoded; charset=utf-8"},body:at(e)}}o(ia,"fetchOptionsFormURLEncoded");function sa(e,t="POST"){return{method:t,...Ee,headers:{"Content-Type":"application/json; charset=utf-8"},body:JSON.stringify(e)}}o(sa,"fetchOptionsJson");function hr(e,t){return{headers:{Authorization:"Basic "+Oe(e+":"+t)}}}o(hr,"fetchOptionsBasicAuth");function gt(){if(typeof window<"u")return window}o(gt,"getWindow");function xr(){if(typeof navigator<"u")return navigator}o(xr,"getNavigator");function ua(){return gt()??typeof WorkerGlobalScope<"u"?self:typeof global<"u"?global:Function("return this;")()}o(ua,"getGlobal");var P=xr(),L=gt();function br(e={ios:!1,macos:!1,windows:!1,beaker:!1,electron:!1,wkwebview:!1,pwa:!1,pwaInstalled:!1,browser:!1,node:!1,worker:!1,test:!1,jest:!1,macosNative:!1,iosNative:!1,appleNative:!1,touch:!1}){var t,r,n,i,s,a,u,l,c;return e.ios=((t=P==null?void 0:P.platform)==null?void 0:t.match(/(iPhone|iPod|iPad)/i))!=null,e.macos=!!((r=P==null?void 0:P.platform)!=null&&r.startsWith("Mac")),e.windows=!!((n=P==null?void 0:P.platform)!=null&&n.startsWith("Win")),e.beaker=(L==null?void 0:L.beaker)!=null,e.electron=(((s=(i=P==null?void 0:P.userAgent)==null?void 0:i.toLowerCase())==null?void 0:s.indexOf(" electron/"))||-1)>-1&&!e.beaker,e.wkwebview=((a=L==null?void 0:L.webkit)==null?void 0:a.messageHandlers)!=null,e.pwa=(P==null?void 0:P.serviceWorker)!=null,e.pwaInstalled=(P==null?void 0:P.standalone)||((l=(u=L==null?void 0:L.matchMedia)==null?void 0:u.call(L,"(display-mode: standalone)"))==null?void 0:l.matches),e.node=typeof process<"u"&&((c=process==null?void 0:process.release)==null?void 0:c.name)==="node",e.browser=!e.electron&&!e.wkwebview&&!e.node,e.worker=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,e.jest=typeof jest<"u"||typeof vitest<"u",e.test=e.jest,e.macosNative=e.wkwebview&&e.macos,e.iosNative=e.wkwebview&&e.ios,e.appleNative=e.wkwebview,e.touch=L&&"ontouchstart"in L||((P==null?void 0:P.maxTouchPoints)||0)>1||(P==null?void 0:P.msPointerEnabled)&&(L==null?void 0:L.MSGesture)||(L==null?void 0:L.DocumentTouch)&&document instanceof DocumentTouch,e}o(br,"detect");var Tr=o(()=>typeof window<"u"&&globalThis===window,"isBrowser"),ca=br();function la(e){Tr()?window.addEventListener("beforeunload",e):typeof process<"u"&&process.on("exit",()=>e)}o(la,"useExitHandler");var ma=M("zeed:memstorage"),Re=class{constructor(t={}){this.store={}}setItem(t,r){this.store[t]=Te(r)}getItem(t){if(this.store.hasOwnProperty(t))return Te(this.store[t])}removeItem(t){delete this.store[t]}clear(){this.store={}}allKeys(){return Object.keys(this.store)}};o(Re,"MemStorage");export{ht as a,xt as b,ke as c,bt as d,U as e,Ar as f,Mr as g,Oe as h,Pr as i,Dr as j,Be as k,ae as l,ue as m,$e as n,G as o,Rr as p,Cr as q,He as r,ze as s,Sr as t,At as u,v,Fr as w,kr as x,Or as y,Br as z,Mt as A,$r as B,Nr as C,Vr as D,Pt as E,zr as F,le as G,qr as H,fe as I,Dt as J,Lt as K,I as L,Ut as M,_r as N,Wr as O,Kr as P,pe as Q,Zr as R,Yr as S,Et as T,Qr as U,Rt as V,Ge as W,Xr as X,en as Y,tn as Z,rn as _,nn as $,on as aa,sn as ba,an as ca,un as da,F as ea,dn as fa,mn as ga,yn as ha,gn as ia,hn as ja,xn as ka,bn as la,Tn as ma,wn as na,An as oa,Pn as pa,St as qa,Dn as ra,Ln as sa,de as ta,vn as ua,Sn as va,In as wa,Ft as xa,kt as ya,Ot as za,me as Aa,Fn as Ba,kn as Ca,On as Da,Bn as Ea,Bt as Fa,$n as Ga,Nn as Ha,B as Ia,S as Ja,he as Ka,xe as La,_e as Ma,qt as Na,qn as Oa,We as Pa,Gn as Qa,Jn as Ra,jn as Sa,re as Ta,_n as Ua,ge as Va,Gt as Wa,Jt as Xa,be as Ya,Ke as Za,Wn as _a,Kn as $a,Zn as ab,Yn as bb,Ye as cb,eo as db,to as eb,Qe as fb,ro as gb,Xe as hb,no as ib,et as jb,oo as kb,E as lb,$ as mb,A as nb,lo as ob,fo as pb,po as qb,mo as rb,jt as sb,go as tb,ho as ub,xo as vb,tt as wb,To as xb,Ao as yb,Po as zb,K as Ab,ot as Bb,Lo as Cb,Uo as Db,Eo as Eb,Ro as Fb,Co as Gb,vo as Hb,So as Ib,Io as Jb,it as Kb,st as Lb,Oo as Mb,Yt as Nb,No as Ob,Xt as Pb,at as Qb,Vo as Rb,zo as Sb,qo as Tb,Go as Ub,Jo as Vb,jo as Wb,Te as Xb,_o as Yb,Wo as Zb,Ko as _b,nr as $b,Qo as ac,we as bc,Ae as cc,ni as dc,oi as ec,ii as fc,si as gc,ai as hc,li as ic,fi as jc,R as kc,Ti as lc,wi as mc,Ai as nc,ft as oc,Ui as pc,N as qc,Ei as rc,Ri as sc,Ci as tc,vi as uc,Si as vc,V as wc,Ii as xc,Fi as yc,lr as zc,ki as Ac,Oi as Bc,fr as Cc,pr as Dc,dr as Ec,Hi as Fc,De as Gc,Yi as Hc,Qi as Ic,es as Jc,ns as Kc,ne as Lc,Z as Mc,as as Nc,Le as Oc,H as Pc,Ue as Qc,dt as Rc,xs as Sc,oe as Tc,Us as Uc,Rs as Vc,gr as Wc,yt as Xc,na as Yc,oa as Zc,ia as _c,sa as $c,hr as ad,gt as bd,xr as cd,ua as dd,br as ed,Tr as fd,ca as gd,la as hd,Re as id};
8
+ //# sourceMappingURL=chunk-QJ7QJLK2.js.map