zeed 0.7.147 → 0.7.151
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-WG7HOP7M.js → chunk-BPJRSPRG.js} +8 -9
- package/dist/{chunk-WG7HOP7M.js.map → chunk-BPJRSPRG.js.map} +1 -1
- package/dist/{chunk-7W3LTMPP.js → chunk-CLY4VF5A.js} +28 -18
- package/dist/chunk-CLY4VF5A.js.map +1 -0
- package/dist/{chunk-XWMV2GEI.js → chunk-LMZGFDSJ.js} +3 -5
- package/dist/{chunk-XWMV2GEI.js.map → chunk-LMZGFDSJ.js.map} +1 -1
- package/dist/{chunk-2KDHZAAM.js → chunk-T5YP6WMZ.js} +5 -6
- package/dist/{chunk-2KDHZAAM.js.map → chunk-T5YP6WMZ.js.map} +1 -1
- package/dist/{chunk-Z7MQRVMT.js → chunk-XX52WKOZ.js} +45 -46
- package/dist/chunk-XX52WKOZ.js.map +1 -0
- package/dist/index.all.cjs +100 -93
- package/dist/index.all.cjs.map +1 -1
- package/dist/index.all.d.ts +3 -3
- package/dist/index.all.js +11 -7
- package/dist/index.browser.cjs +63 -68
- 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 +5 -8
- package/dist/index.log.cjs.map +1 -1
- package/dist/index.log.js +2 -2
- package/dist/index.node.cjs +93 -84
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.d.ts +2 -2
- package/dist/index.node.js +9 -5
- package/dist/{log-colors-7dcdbd62.d.ts → log-colors-5aa66e3b.d.ts} +1 -1
- package/dist/{log-util-5f7dcfd6.d.ts → log-util-3742711f.d.ts} +4 -2
- package/dist/{uuid-19af3724.d.ts → uuid-ab0c5451.d.ts} +11 -5
- package/package.json +8 -7
- package/dist/chunk-7W3LTMPP.js.map +0 -1
- package/dist/chunk-Z7MQRVMT.js.map +0 -1
|
@@ -1 +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()\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":[]}
|
|
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()\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":[]}
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
getTimestamp,
|
|
8
8
|
useLevelFilter,
|
|
9
9
|
useNamespaceFilter
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-LMZGFDSJ.js";
|
|
11
11
|
|
|
12
12
|
// src/common/data/bin.ts
|
|
13
13
|
var log = Logger("bin");
|
|
@@ -171,13 +171,12 @@ async function digest(message, algorithm = DEFAULT_HASH_ALG) {
|
|
|
171
171
|
}
|
|
172
172
|
__name(digest, "digest");
|
|
173
173
|
async function deriveKeyPbkdf2(secret, opt = {}) {
|
|
174
|
-
var _a;
|
|
175
174
|
const secretBuffer = toUint8Array(secret);
|
|
176
175
|
const keyMaterial = await crypto.subtle.importKey("raw", secretBuffer, DEFAULT_DERIVE_ALG, false, ["deriveKey"]);
|
|
177
176
|
return await crypto.subtle.deriveKey({
|
|
178
177
|
name: DEFAULT_DERIVE_ALG,
|
|
179
178
|
salt: opt.salt ? toUint8Array(opt.salt) : new Uint8Array(0),
|
|
180
|
-
iterations:
|
|
179
|
+
iterations: opt.iterations ?? 1e5,
|
|
181
180
|
hash: DEFAULT_HASH_ALG
|
|
182
181
|
}, keyMaterial, {
|
|
183
182
|
name: DEFAULT_CRYPTO_ALG,
|
|
@@ -666,17 +665,15 @@ function stringToBoolean(value, defaultValue = false) {
|
|
|
666
665
|
}
|
|
667
666
|
__name(stringToBoolean, "stringToBoolean");
|
|
668
667
|
function stringToInteger(value, defaultValue = 0) {
|
|
669
|
-
var _a;
|
|
670
668
|
if (value == null || typeof value !== "string")
|
|
671
669
|
return defaultValue;
|
|
672
|
-
return
|
|
670
|
+
return parseInt(value.trim(), 10) ?? defaultValue;
|
|
673
671
|
}
|
|
674
672
|
__name(stringToInteger, "stringToInteger");
|
|
675
673
|
function stringToFloat(value, defaultValue = 0) {
|
|
676
|
-
var _a;
|
|
677
674
|
if (value == null || typeof value !== "string")
|
|
678
675
|
return defaultValue;
|
|
679
|
-
return
|
|
676
|
+
return parseFloat(value.trim()) ?? defaultValue;
|
|
680
677
|
}
|
|
681
678
|
__name(stringToFloat, "stringToFloat");
|
|
682
679
|
function valueToBoolean(value, defaultValue = false) {
|
|
@@ -690,32 +687,29 @@ function valueToBoolean(value, defaultValue = false) {
|
|
|
690
687
|
}
|
|
691
688
|
__name(valueToBoolean, "valueToBoolean");
|
|
692
689
|
function valueToInteger(value, defaultValue = 0) {
|
|
693
|
-
var _a;
|
|
694
690
|
if (value == null)
|
|
695
691
|
return defaultValue;
|
|
696
692
|
if (typeof value === "boolean")
|
|
697
693
|
return value ? 1 : 0;
|
|
698
694
|
if (typeof value === "number")
|
|
699
695
|
return Math.floor(value);
|
|
700
|
-
return
|
|
696
|
+
return parseInt(String(value).trim(), 10) ?? defaultValue;
|
|
701
697
|
}
|
|
702
698
|
__name(valueToInteger, "valueToInteger");
|
|
703
699
|
function valueToFloat(value, defaultValue = 0) {
|
|
704
|
-
var _a;
|
|
705
700
|
if (value == null)
|
|
706
701
|
return defaultValue;
|
|
707
702
|
if (typeof value === "boolean")
|
|
708
703
|
return value ? 1 : 0;
|
|
709
704
|
if (typeof value === "number")
|
|
710
705
|
return Math.floor(value);
|
|
711
|
-
return
|
|
706
|
+
return parseFloat(String(value).trim()) ?? defaultValue;
|
|
712
707
|
}
|
|
713
708
|
__name(valueToFloat, "valueToFloat");
|
|
714
709
|
function valueToString(value, defaultValue = "") {
|
|
715
|
-
var _a;
|
|
716
710
|
if (value == null)
|
|
717
711
|
return defaultValue;
|
|
718
|
-
return
|
|
712
|
+
return String(value) ?? defaultValue;
|
|
719
713
|
}
|
|
720
714
|
__name(valueToString, "valueToString");
|
|
721
715
|
var toFloat = valueToFloat;
|
|
@@ -775,9 +769,8 @@ function currency(value, opts = {}) {
|
|
|
775
769
|
__name(currency, "currency");
|
|
776
770
|
var _Currency = class {
|
|
777
771
|
constructor(value, opts = {}) {
|
|
778
|
-
var _a;
|
|
779
772
|
let settings = Object.assign({}, defaults, opts);
|
|
780
|
-
let precision = pow(
|
|
773
|
+
let precision = pow(settings.precision ?? 2);
|
|
781
774
|
let v = parse(value, settings);
|
|
782
775
|
this.intValue = v;
|
|
783
776
|
this.value = v / precision;
|
|
@@ -1506,7 +1499,7 @@ var XRX = class {
|
|
|
1506
1499
|
constructor(pattern2, flags) {
|
|
1507
1500
|
this.namedGroups = {};
|
|
1508
1501
|
this.names = [];
|
|
1509
|
-
let _flags = flags
|
|
1502
|
+
let _flags = flags ?? "";
|
|
1510
1503
|
let _rx;
|
|
1511
1504
|
if (pattern2 instanceof RegExp) {
|
|
1512
1505
|
if (flags == null) {
|
|
@@ -1619,7 +1612,7 @@ async function callDisposer(disposable) {
|
|
|
1619
1612
|
}
|
|
1620
1613
|
__name(callDisposer, "callDisposer");
|
|
1621
1614
|
function useDispose(config) {
|
|
1622
|
-
const { name } = typeof config === "string" ? { name: config } : config
|
|
1615
|
+
const { name } = typeof config === "string" ? { name: config } : config ?? {};
|
|
1623
1616
|
let tracked = [];
|
|
1624
1617
|
const untrack = /* @__PURE__ */ __name(async (disposable) => {
|
|
1625
1618
|
if (disposable != null && tracked.includes(disposable)) {
|
|
@@ -1781,12 +1774,17 @@ var Emitter = class {
|
|
|
1781
1774
|
constructor() {
|
|
1782
1775
|
this.subscribers = {};
|
|
1783
1776
|
this.subscribersOnAny = [];
|
|
1777
|
+
this.dispose = useDispose("emitter");
|
|
1784
1778
|
this.call = new Proxy({}, {
|
|
1785
1779
|
get: (target, name) => (...args) => this.emit(name, ...args)
|
|
1786
1780
|
});
|
|
1787
1781
|
}
|
|
1788
1782
|
async emit(event, ...args) {
|
|
1789
1783
|
let ok = false;
|
|
1784
|
+
this.dispose.add(() => {
|
|
1785
|
+
this.subscribers = {};
|
|
1786
|
+
this.subscribersOnAny = [];
|
|
1787
|
+
});
|
|
1790
1788
|
try {
|
|
1791
1789
|
let subscribers = this.subscribers[event] || [];
|
|
1792
1790
|
this.subscribersOnAny.forEach((fn) => fn(event, ...args));
|
|
@@ -1840,10 +1838,6 @@ var Emitter = class {
|
|
|
1840
1838
|
this.subscribers = {};
|
|
1841
1839
|
return this;
|
|
1842
1840
|
}
|
|
1843
|
-
dispose() {
|
|
1844
|
-
this.subscribers = {};
|
|
1845
|
-
this.subscribersOnAny = [];
|
|
1846
|
-
}
|
|
1847
1841
|
};
|
|
1848
1842
|
__name(Emitter, "Emitter");
|
|
1849
1843
|
function getGlobalEmitter() {
|
|
@@ -2102,12 +2096,11 @@ function usePool(config = {}) {
|
|
|
2102
2096
|
}
|
|
2103
2097
|
__name(cancelAll, "cancelAll");
|
|
2104
2098
|
function enqueue(task, config2 = {}) {
|
|
2105
|
-
var _a, _b, _c, _d;
|
|
2106
2099
|
let done;
|
|
2107
2100
|
let promise = new Promise((resolve) => done = resolve);
|
|
2108
|
-
let id =
|
|
2101
|
+
let id = config2.id ?? uuid();
|
|
2109
2102
|
if (tasks[id] != null) {
|
|
2110
|
-
const resolution =
|
|
2103
|
+
const resolution = config2.idConflictResolution ?? 1 /* memoize */;
|
|
2111
2104
|
if (resolution === 0 /* replace */) {
|
|
2112
2105
|
cancel(id);
|
|
2113
2106
|
} else if (resolution === 1 /* memoize */) {
|
|
@@ -2131,8 +2124,8 @@ function usePool(config = {}) {
|
|
|
2131
2124
|
task,
|
|
2132
2125
|
priority: ++priority,
|
|
2133
2126
|
state: 0 /* waiting */,
|
|
2134
|
-
max:
|
|
2135
|
-
resolved:
|
|
2127
|
+
max: config2.max ?? 1,
|
|
2128
|
+
resolved: config2.resolved ?? 0,
|
|
2136
2129
|
done,
|
|
2137
2130
|
payload: config2.payload,
|
|
2138
2131
|
setMax(max) {
|
|
@@ -2182,7 +2175,7 @@ var SerialQueue = class extends Emitter {
|
|
|
2182
2175
|
const { name = uname("queue"), logLevel } = opt;
|
|
2183
2176
|
this.name = name;
|
|
2184
2177
|
this.log = Logger(`zeed:queue:${name}`);
|
|
2185
|
-
this.log.level = logLevel
|
|
2178
|
+
this.log.level = logLevel ?? Infinity /* off */;
|
|
2186
2179
|
}
|
|
2187
2180
|
async performNext() {
|
|
2188
2181
|
this.log(`performNext, queue.length =`, this.queue.length);
|
|
@@ -2380,7 +2373,7 @@ function debounce(callback, opt = {}) {
|
|
|
2380
2373
|
__name(debounce, "debounce");
|
|
2381
2374
|
|
|
2382
2375
|
// src/common/localhost.ts
|
|
2383
|
-
function isLocalHost(hostname = ((
|
|
2376
|
+
function isLocalHost(hostname = ((_a) => (_a = globalThis == null ? void 0 : globalThis.location) == null ? void 0 : _a.hostname)() ?? "") {
|
|
2384
2377
|
return ["localhost", "127.0.0.1", "", "::1", "::"].includes(hostname) || hostname.startsWith("192.168.") || hostname.startsWith("10.0.") || hostname.endsWith(".local");
|
|
2385
2378
|
}
|
|
2386
2379
|
__name(isLocalHost, "isLocalHost");
|
|
@@ -2611,7 +2604,6 @@ __name(useMessageHub, "useMessageHub");
|
|
|
2611
2604
|
// src/common/msg/pubsub.ts
|
|
2612
2605
|
var PubSub = class extends Emitter {
|
|
2613
2606
|
constructor(opt) {
|
|
2614
|
-
var _a;
|
|
2615
2607
|
super();
|
|
2616
2608
|
this.publish = this.emit;
|
|
2617
2609
|
this.subscribe = this.on;
|
|
@@ -2619,7 +2611,7 @@ var PubSub = class extends Emitter {
|
|
|
2619
2611
|
this.channel = channel;
|
|
2620
2612
|
this.encoder = encoder;
|
|
2621
2613
|
this.debug = debug;
|
|
2622
|
-
this.name =
|
|
2614
|
+
this.name = name ?? this.channel.id ?? uname("pubsub");
|
|
2623
2615
|
this.log = Logger(`${this.shortId}`);
|
|
2624
2616
|
if (this.debug) {
|
|
2625
2617
|
this.channel.on("connect", () => {
|
|
@@ -2650,9 +2642,9 @@ var PubSub = class extends Emitter {
|
|
|
2650
2642
|
async emit(event, ...args) {
|
|
2651
2643
|
try {
|
|
2652
2644
|
if (this.debug)
|
|
2653
|
-
this.log(`emit(${event})`, event);
|
|
2645
|
+
this.log(`emit(${String(event)})`, event);
|
|
2654
2646
|
else
|
|
2655
|
-
this.log(`emit(${event})`, args.length);
|
|
2647
|
+
this.log(`emit(${String(event)})`, args.length);
|
|
2656
2648
|
if (!this.channel.isConnected) {
|
|
2657
2649
|
this.log.warn("channel not connected");
|
|
2658
2650
|
return false;
|
|
@@ -2661,7 +2653,7 @@ var PubSub = class extends Emitter {
|
|
|
2661
2653
|
this.channel.postMessage(data);
|
|
2662
2654
|
return true;
|
|
2663
2655
|
} catch (err) {
|
|
2664
|
-
this.log.warn(`emit(${event})`, err);
|
|
2656
|
+
this.log.warn(`emit(${String(event)})`, err);
|
|
2665
2657
|
}
|
|
2666
2658
|
return false;
|
|
2667
2659
|
}
|
|
@@ -2674,13 +2666,15 @@ __name(usePubSub, "usePubSub");
|
|
|
2674
2666
|
|
|
2675
2667
|
// src/common/msg/rpc.ts
|
|
2676
2668
|
var rpcCounter = 1;
|
|
2669
|
+
var defaultSerialize = /* @__PURE__ */ __name((i) => i, "defaultSerialize");
|
|
2670
|
+
var defaultDeserialize = defaultSerialize;
|
|
2677
2671
|
function useRPC(functions, options) {
|
|
2678
2672
|
const {
|
|
2679
2673
|
post,
|
|
2680
2674
|
on,
|
|
2681
2675
|
eventNames = [],
|
|
2682
|
-
serialize =
|
|
2683
|
-
deserialize =
|
|
2676
|
+
serialize = defaultSerialize,
|
|
2677
|
+
deserialize = defaultDeserialize
|
|
2684
2678
|
} = options;
|
|
2685
2679
|
const rpcPromiseMap = /* @__PURE__ */ new Map();
|
|
2686
2680
|
on(async (data) => {
|
|
@@ -2688,10 +2682,14 @@ function useRPC(functions, options) {
|
|
|
2688
2682
|
const [mode, args, id, method] = msg;
|
|
2689
2683
|
if (mode === 1 /* request */ || mode === 2 /* event */) {
|
|
2690
2684
|
let result, error;
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2685
|
+
if (method != null) {
|
|
2686
|
+
try {
|
|
2687
|
+
result = await functions[method](...args);
|
|
2688
|
+
} catch (e) {
|
|
2689
|
+
error = String(e);
|
|
2690
|
+
}
|
|
2691
|
+
} else {
|
|
2692
|
+
error = "Method implementation missing";
|
|
2695
2693
|
}
|
|
2696
2694
|
if (mode === 1 /* request */ && id) {
|
|
2697
2695
|
if (error) {
|
|
@@ -2702,10 +2700,12 @@ function useRPC(functions, options) {
|
|
|
2702
2700
|
}
|
|
2703
2701
|
} else if (id) {
|
|
2704
2702
|
const promise = rpcPromiseMap.get(id);
|
|
2705
|
-
if (
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2703
|
+
if (promise != null) {
|
|
2704
|
+
if (mode === 4 /* reject */)
|
|
2705
|
+
promise.reject(args);
|
|
2706
|
+
else
|
|
2707
|
+
promise.resolve(args);
|
|
2708
|
+
}
|
|
2709
2709
|
rpcPromiseMap.delete(id);
|
|
2710
2710
|
}
|
|
2711
2711
|
});
|
|
@@ -2821,8 +2821,7 @@ function getNavigator() {
|
|
|
2821
2821
|
}
|
|
2822
2822
|
__name(getNavigator, "getNavigator");
|
|
2823
2823
|
function getGlobal() {
|
|
2824
|
-
|
|
2825
|
-
return ((_a = getWindow()) != null ? _a : typeof WorkerGlobalScope !== "undefined") ? self : typeof global !== "undefined" ? global : Function("return this;")();
|
|
2824
|
+
return getWindow() ?? typeof WorkerGlobalScope !== "undefined" ? self : typeof global !== "undefined" ? global : Function("return this;")();
|
|
2826
2825
|
}
|
|
2827
2826
|
__name(getGlobal, "getGlobal");
|
|
2828
2827
|
var _navigator = getNavigator();
|
|
@@ -3127,4 +3126,4 @@ export {
|
|
|
3127
3126
|
useExitHandler,
|
|
3128
3127
|
MemStorage
|
|
3129
3128
|
};
|
|
3130
|
-
//# sourceMappingURL=chunk-
|
|
3129
|
+
//# sourceMappingURL=chunk-XX52WKOZ.js.map
|