zeed 0.7.163 → 0.7.166
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-MLQXGN4J.js → chunk-334ITK56.js} +3 -3
- package/dist/chunk-334ITK56.js.map +1 -0
- package/dist/{chunk-C6ZTSTGF.js → chunk-6EMB5GLE.js} +4 -4
- package/dist/{chunk-C6ZTSTGF.js.map → chunk-6EMB5GLE.js.map} +0 -0
- package/dist/{chunk-5YLLPNFP.js → chunk-B7GAVSGW.js} +36 -37
- package/dist/chunk-B7GAVSGW.js.map +1 -0
- package/dist/{chunk-RHI2BLFL.js → chunk-RO4CERQO.js} +2 -2
- package/dist/{chunk-RHI2BLFL.js.map → chunk-RO4CERQO.js.map} +0 -0
- package/dist/{chunk-WP7ALH5B.js → chunk-UXWKR2Y4.js} +21 -11
- package/dist/chunk-UXWKR2Y4.js.map +1 -0
- package/dist/index.all.cjs +140 -130
- package/dist/index.all.cjs.map +1 -1
- package/dist/index.all.d.ts +3 -3
- package/dist/index.all.js +7 -5
- package/dist/index.browser.cjs +81 -82
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.d.ts +2 -2
- package/dist/index.browser.js +4 -4
- package/dist/index.log.cjs +2 -2
- package/dist/index.log.cjs.map +1 -1
- package/dist/index.log.js +2 -2
- package/dist/index.node.cjs +112 -102
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.d.ts +2 -2
- package/dist/index.node.js +5 -3
- package/dist/{log-colors-4fd92dba.d.ts → log-colors-ac8f3e4b.d.ts} +1 -1
- package/dist/{log-util-3ff6bf6f.d.ts → log-util-6f64500b.d.ts} +3 -2
- package/dist/{uuid-1c8fb187.d.ts → uuid-b1253381.d.ts} +1 -0
- package/package.json +1 -1
- package/dist/chunk-5YLLPNFP.js.map +0 -1
- package/dist/chunk-MLQXGN4J.js.map +0 -1
- package/dist/chunk-WP7ALH5B.js.map +0 -1
|
@@ -390,12 +390,12 @@ var defaultLevelFilter = typeof process !== "undefined" ? process.env.ZEED_LEVEL
|
|
|
390
390
|
function parseLogLevel(filter) {
|
|
391
391
|
if (filter === false)
|
|
392
392
|
return Infinity /* off */;
|
|
393
|
+
if (typeof filter === "number")
|
|
394
|
+
return filter;
|
|
393
395
|
if (typeof filter === "string") {
|
|
394
396
|
const l = LogLevelAlias[filter.toLocaleLowerCase().trim()];
|
|
395
397
|
if (l != null)
|
|
396
398
|
return l;
|
|
397
|
-
} else if (typeof filter === "number") {
|
|
398
|
-
return filter;
|
|
399
399
|
}
|
|
400
400
|
return -1 /* all */;
|
|
401
401
|
}
|
|
@@ -517,4 +517,4 @@ export {
|
|
|
517
517
|
formatMilliseconds,
|
|
518
518
|
parseDate
|
|
519
519
|
};
|
|
520
|
-
//# sourceMappingURL=chunk-
|
|
520
|
+
//# sourceMappingURL=chunk-334ITK56.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../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/global.ts","../src/common/log.ts","../src/common/time.ts"],"sourcesContent":["// 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\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\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","// Global context across build systems etc.\n\ndeclare global {\n interface ZeedGlobalContext {}\n}\n\ninterface ZeedGlobalIntegration {\n _zeedGlobal?: ZeedGlobalContext\n}\n\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","// (C)opyright 2021-07-15 Dirk Holtwick, holtwick.it. All rights reserved.\n\nimport { LoggerConsoleHandler } from \"./log-console\"\nimport { getGlobalContext } from \"./global\"\nimport { LoggerContext, LoggerContextInterface } from \"./log-base\"\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\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":[]}
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
LoggerBrowserSetupDebugFactory,
|
|
4
4
|
selectColor,
|
|
5
5
|
supportsColors
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RO4CERQO.js";
|
|
7
7
|
import {
|
|
8
8
|
isBrowser
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-B7GAVSGW.js";
|
|
10
10
|
import {
|
|
11
11
|
Logger,
|
|
12
12
|
__name,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
getTimestamp,
|
|
15
15
|
useLevelFilter,
|
|
16
16
|
useNamespaceFilter
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-334ITK56.js";
|
|
18
18
|
|
|
19
19
|
// src/browser/base64.ts
|
|
20
20
|
var { error } = Logger("zeed:base64");
|
|
@@ -329,4 +329,4 @@ export {
|
|
|
329
329
|
LocalStorage,
|
|
330
330
|
LoggerBrowserClassicHandler
|
|
331
331
|
};
|
|
332
|
-
//# sourceMappingURL=chunk-
|
|
332
|
+
//# sourceMappingURL=chunk-6EMB5GLE.js.map
|
|
File without changes
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
isArray,
|
|
10
10
|
useLevelFilter,
|
|
11
11
|
useNamespaceFilter
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-334ITK56.js";
|
|
13
13
|
|
|
14
14
|
// src/common/data/bin.ts
|
|
15
15
|
var log = Logger("bin");
|
|
@@ -1824,7 +1824,7 @@ var Emitter = class {
|
|
|
1824
1824
|
constructor() {
|
|
1825
1825
|
this.subscribers = {};
|
|
1826
1826
|
this.subscribersOnAny = [];
|
|
1827
|
-
this.dispose = useDispose(
|
|
1827
|
+
this.dispose = useDispose();
|
|
1828
1828
|
this.call = new Proxy({}, {
|
|
1829
1829
|
get: (target, name) => (...args) => this.emit(name, ...args)
|
|
1830
1830
|
});
|
|
@@ -2213,7 +2213,6 @@ function usePool(config = {}) {
|
|
|
2213
2213
|
__name(usePool, "usePool");
|
|
2214
2214
|
|
|
2215
2215
|
// src/common/exec/queue.ts
|
|
2216
|
-
var log6 = Logger("zeed:queue");
|
|
2217
2216
|
var SerialQueue = class extends Emitter {
|
|
2218
2217
|
constructor(opt = {}) {
|
|
2219
2218
|
super();
|
|
@@ -2224,8 +2223,7 @@ var SerialQueue = class extends Emitter {
|
|
|
2224
2223
|
this.paused = false;
|
|
2225
2224
|
const { name = uname("queue"), logLevel } = opt;
|
|
2226
2225
|
this.name = name;
|
|
2227
|
-
this.log = Logger(`zeed:queue:${name}
|
|
2228
|
-
this.log.level = logLevel ?? Infinity /* off */;
|
|
2226
|
+
this.log = Logger(`zeed:queue:${name}`, logLevel ?? Infinity /* off */);
|
|
2229
2227
|
}
|
|
2230
2228
|
async performNext() {
|
|
2231
2229
|
this.log(`performNext, queue.length =`, this.queue.length);
|
|
@@ -2254,7 +2252,7 @@ var SerialQueue = class extends Emitter {
|
|
|
2254
2252
|
result = await this.currentTask;
|
|
2255
2253
|
this.log(`finished task ${name} with result =`, result);
|
|
2256
2254
|
} catch (err) {
|
|
2257
|
-
|
|
2255
|
+
this.log.warn("Error performing task", err);
|
|
2258
2256
|
}
|
|
2259
2257
|
resolve(result);
|
|
2260
2258
|
this.currentTask = void 0;
|
|
@@ -2332,7 +2330,7 @@ __name(SerialQueue, "SerialQueue");
|
|
|
2332
2330
|
|
|
2333
2331
|
// src/common/exec/throttle-debounce.ts
|
|
2334
2332
|
var DEBUG = false;
|
|
2335
|
-
var
|
|
2333
|
+
var log6 = DEBUG ? Logger("zeed:throttle") : () => {
|
|
2336
2334
|
};
|
|
2337
2335
|
function throttle(callback, opt = {}) {
|
|
2338
2336
|
const { delay = 100, trailing = true, leading = true } = opt;
|
|
@@ -2365,30 +2363,30 @@ function throttle(callback, opt = {}) {
|
|
|
2365
2363
|
__name(exec, "exec");
|
|
2366
2364
|
trailingExec = exec;
|
|
2367
2365
|
if (elapsed > delay || !timeoutID) {
|
|
2368
|
-
DEBUG &&
|
|
2366
|
+
DEBUG && log6("elapsed", debugElapsed());
|
|
2369
2367
|
if (leading) {
|
|
2370
2368
|
if (elapsed > delay) {
|
|
2371
|
-
DEBUG &&
|
|
2369
|
+
DEBUG && log6("\u{1F680} leading", debugElapsed());
|
|
2372
2370
|
exec();
|
|
2373
2371
|
} else {
|
|
2374
2372
|
++visited;
|
|
2375
2373
|
}
|
|
2376
2374
|
}
|
|
2377
2375
|
const timeout2 = elapsed > delay ? delay : delay - elapsed;
|
|
2378
|
-
|
|
2376
|
+
log6(`\u23F1 start timeout with ${timeout2.toFixed(1)}ms`, debugElapsed());
|
|
2379
2377
|
clearExistingTimeout();
|
|
2380
2378
|
checkpoint = now;
|
|
2381
2379
|
timeoutID = setTimeout(() => {
|
|
2382
|
-
DEBUG &&
|
|
2380
|
+
DEBUG && log6("\u23F1 reached timeout", debugElapsed());
|
|
2383
2381
|
timeoutID = 0;
|
|
2384
2382
|
if (trailing && (!leading || visited > 0)) {
|
|
2385
|
-
DEBUG &&
|
|
2383
|
+
DEBUG && log6("\u{1F680} trailing", debugElapsed());
|
|
2386
2384
|
trailingExec == null ? void 0 : trailingExec();
|
|
2387
2385
|
}
|
|
2388
2386
|
}, timeout2);
|
|
2389
2387
|
} else {
|
|
2390
2388
|
++visited;
|
|
2391
|
-
DEBUG &&
|
|
2389
|
+
DEBUG && log6("visited", debugElapsed());
|
|
2392
2390
|
}
|
|
2393
2391
|
}
|
|
2394
2392
|
__name(wrapper, "wrapper");
|
|
@@ -2525,9 +2523,10 @@ function useMessageHub(opt = {}) {
|
|
|
2525
2523
|
name = uname("hub"),
|
|
2526
2524
|
encoder = new JsonEncoder(),
|
|
2527
2525
|
retryAfter = 1e3,
|
|
2528
|
-
ignoreUnhandled = true
|
|
2526
|
+
ignoreUnhandled = true,
|
|
2527
|
+
logLevel = false
|
|
2529
2528
|
} = opt;
|
|
2530
|
-
const
|
|
2529
|
+
const log9 = Logger(name, logLevel);
|
|
2531
2530
|
let handlers = {};
|
|
2532
2531
|
let channel;
|
|
2533
2532
|
let queue = [];
|
|
@@ -2546,7 +2545,7 @@ function useMessageHub(opt = {}) {
|
|
|
2546
2545
|
channel.postMessage(await encoder.encode(message));
|
|
2547
2546
|
queue.shift();
|
|
2548
2547
|
} catch (err) {
|
|
2549
|
-
|
|
2548
|
+
log9.warn("postMessage", err);
|
|
2550
2549
|
break;
|
|
2551
2550
|
}
|
|
2552
2551
|
}
|
|
@@ -2557,7 +2556,7 @@ function useMessageHub(opt = {}) {
|
|
|
2557
2556
|
}
|
|
2558
2557
|
}, "postNext");
|
|
2559
2558
|
const postMessage = /* @__PURE__ */ __name(async (message) => {
|
|
2560
|
-
|
|
2559
|
+
log9("enqueue postMessage", message);
|
|
2561
2560
|
queue.push(message);
|
|
2562
2561
|
await postNext();
|
|
2563
2562
|
}, "postMessage");
|
|
@@ -2565,10 +2564,10 @@ function useMessageHub(opt = {}) {
|
|
|
2565
2564
|
channel = newChannel;
|
|
2566
2565
|
channel.on("connect", postNext);
|
|
2567
2566
|
channel.on("message", async (msg) => {
|
|
2568
|
-
|
|
2567
|
+
log9("onmessage", typeof msg);
|
|
2569
2568
|
const { name: name2, args, id, result, error } = await encoder.decode(msg.data);
|
|
2570
2569
|
if (name2) {
|
|
2571
|
-
|
|
2570
|
+
log9(`name ${name2} id ${id}`);
|
|
2572
2571
|
try {
|
|
2573
2572
|
if (handlers[name2] == null) {
|
|
2574
2573
|
throw new Error(`handler for ${name2} was not found`);
|
|
@@ -2576,13 +2575,13 @@ function useMessageHub(opt = {}) {
|
|
|
2576
2575
|
let result2 = handlers[name2](...args);
|
|
2577
2576
|
if (isPromise(result2))
|
|
2578
2577
|
result2 = await result2;
|
|
2579
|
-
|
|
2578
|
+
log9(`result ${result2}`);
|
|
2580
2579
|
if (id) {
|
|
2581
2580
|
postMessage({ id, result: result2 });
|
|
2582
2581
|
}
|
|
2583
2582
|
} catch (error2) {
|
|
2584
2583
|
let err = error2 instanceof Error ? error2 : new Error(valueToString(error2));
|
|
2585
|
-
|
|
2584
|
+
log9.warn("execution error", err.name);
|
|
2586
2585
|
postMessage({
|
|
2587
2586
|
id,
|
|
2588
2587
|
error: {
|
|
@@ -2593,12 +2592,12 @@ function useMessageHub(opt = {}) {
|
|
|
2593
2592
|
});
|
|
2594
2593
|
}
|
|
2595
2594
|
} else if (id) {
|
|
2596
|
-
|
|
2595
|
+
log9(`response for id=${id}: result=${result}, error=${error}`);
|
|
2597
2596
|
if (waitingForResponse[id] == null) {
|
|
2598
2597
|
if (result === void 0) {
|
|
2599
|
-
|
|
2598
|
+
log9(`skip response for ${id}`);
|
|
2600
2599
|
} else {
|
|
2601
|
-
|
|
2600
|
+
log9.warn(`no response hook for ${id}`);
|
|
2602
2601
|
}
|
|
2603
2602
|
} else {
|
|
2604
2603
|
const [resolve, reject] = waitingForResponse[id];
|
|
@@ -2608,16 +2607,16 @@ function useMessageHub(opt = {}) {
|
|
|
2608
2607
|
let err = new Error(error.message);
|
|
2609
2608
|
err.stack = error.stack;
|
|
2610
2609
|
err.name = error.name;
|
|
2611
|
-
|
|
2610
|
+
log9.warn("reject", err.name);
|
|
2612
2611
|
reject(err);
|
|
2613
2612
|
} else {
|
|
2614
|
-
|
|
2613
|
+
log9("resolve", result);
|
|
2615
2614
|
resolve(result);
|
|
2616
2615
|
}
|
|
2617
2616
|
}
|
|
2618
2617
|
}
|
|
2619
2618
|
} else if (!ignoreUnhandled) {
|
|
2620
|
-
|
|
2619
|
+
log9.warn("Unhandled message", msg);
|
|
2621
2620
|
}
|
|
2622
2621
|
});
|
|
2623
2622
|
postNext();
|
|
@@ -2784,7 +2783,7 @@ function useRPC(functions, options) {
|
|
|
2784
2783
|
__name(useRPC, "useRPC");
|
|
2785
2784
|
|
|
2786
2785
|
// src/common/network.ts
|
|
2787
|
-
var
|
|
2786
|
+
var log7 = Logger("network");
|
|
2788
2787
|
var defaultOptions = {
|
|
2789
2788
|
cache: "no-cache",
|
|
2790
2789
|
redirect: "follow",
|
|
@@ -2815,19 +2814,19 @@ async function fetchBasic(url, fetchOptions = {}, fetchFn = fetch) {
|
|
|
2815
2814
|
if (fetchOptions.headers != null && !(fetchOptions.headers instanceof Headers)) {
|
|
2816
2815
|
fetchOptions.headers = new Headers(fetchOptions.headers);
|
|
2817
2816
|
}
|
|
2818
|
-
|
|
2817
|
+
log7("fetch", url, fetchOptions);
|
|
2819
2818
|
const response = await fetchFn(String(url), fetchOptions);
|
|
2820
2819
|
if (response.status < 400) {
|
|
2821
2820
|
return response;
|
|
2822
2821
|
}
|
|
2823
2822
|
try {
|
|
2824
|
-
|
|
2825
|
-
|
|
2823
|
+
log7.warn(`Fetch of ${url} with ${fetchOptions} returned status=${response.status}`);
|
|
2824
|
+
log7.warn(`Response: ${await response.text()}`);
|
|
2826
2825
|
} catch (err) {
|
|
2827
|
-
|
|
2826
|
+
log7.error("Exception:", err);
|
|
2828
2827
|
}
|
|
2829
2828
|
} catch (err) {
|
|
2830
|
-
|
|
2829
|
+
log7.error("fetchBasic", err);
|
|
2831
2830
|
}
|
|
2832
2831
|
}
|
|
2833
2832
|
__name(fetchBasic, "fetchBasic");
|
|
@@ -2846,7 +2845,7 @@ async function fetchJson(url, fetchOptions = {}, fetchFn = fetch) {
|
|
|
2846
2845
|
return await res.json();
|
|
2847
2846
|
}
|
|
2848
2847
|
} catch (err) {
|
|
2849
|
-
|
|
2848
|
+
log7.error("fetchJSON error:", err);
|
|
2850
2849
|
}
|
|
2851
2850
|
}
|
|
2852
2851
|
__name(fetchJson, "fetchJson");
|
|
@@ -2857,7 +2856,7 @@ async function fetchText(url, fetchOptions = {}, fetchFn = fetch) {
|
|
|
2857
2856
|
return await res.text();
|
|
2858
2857
|
}
|
|
2859
2858
|
} catch (err) {
|
|
2860
|
-
|
|
2859
|
+
log7.error("fetchHTML error:", err);
|
|
2861
2860
|
}
|
|
2862
2861
|
}
|
|
2863
2862
|
__name(fetchText, "fetchText");
|
|
@@ -2961,7 +2960,7 @@ function useExitHandler(handler) {
|
|
|
2961
2960
|
__name(useExitHandler, "useExitHandler");
|
|
2962
2961
|
|
|
2963
2962
|
// src/common/storage/memstorage.ts
|
|
2964
|
-
var
|
|
2963
|
+
var log8 = Logger("zeed:memstorage");
|
|
2965
2964
|
var MemStorage = class {
|
|
2966
2965
|
constructor(opt = {}) {
|
|
2967
2966
|
this.store = {};
|
|
@@ -3213,4 +3212,4 @@ export {
|
|
|
3213
3212
|
useExitHandler,
|
|
3214
3213
|
MemStorage
|
|
3215
3214
|
};
|
|
3216
|
-
//# sourceMappingURL=chunk-
|
|
3215
|
+
//# sourceMappingURL=chunk-B7GAVSGW.js.map
|