@powerlines/deepkit 0.4.88 → 0.4.90
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/capnp.cjs +187 -0
- package/dist/capnp.d.cts +169 -0
- package/dist/capnp.d.ts +169 -0
- package/dist/capnp.js +2 -0
- package/dist/chunk-2V4ET57D.js +6954 -0
- package/dist/chunk-4WJJKR53.js +3731 -0
- package/dist/chunk-55HOZO7D.cjs +33 -0
- package/dist/chunk-6ETLMANX.js +3472 -0
- package/dist/chunk-6OXPIOZY.cjs +43 -0
- package/dist/chunk-7WAH4JD3.js +115 -0
- package/dist/chunk-B4PTD5KQ.js +4 -0
- package/dist/chunk-BTXPY3B4.js +27 -0
- package/dist/chunk-DGXATHAN.js +5185 -0
- package/dist/chunk-FEBG7WWO.js +11 -0
- package/dist/chunk-FX2P4HL7.cjs +14 -0
- package/dist/chunk-ITQKPDCW.cjs +3859 -0
- package/dist/chunk-JHEBLHYK.cjs +13 -0
- package/dist/chunk-LBHO5BRF.js +2251 -0
- package/dist/chunk-MERFAWZE.js +12 -0
- package/dist/chunk-OYRIJX67.cjs +3487 -0
- package/dist/chunk-PANPZ6S6.cjs +6 -0
- package/dist/chunk-QPSZUUB6.cjs +2259 -0
- package/dist/chunk-QQ7GKXIS.js +43 -0
- package/dist/chunk-SA3DCC4M.cjs +6968 -0
- package/dist/chunk-SKYW5GV2.cjs +5251 -0
- package/dist/chunk-U4JSDAXK.js +36 -0
- package/dist/chunk-WVKPC33H.cjs +49 -0
- package/dist/{vendor/chunk-KC74I2LN.cjs → chunk-YKFG2BZQ.cjs} +3 -5
- package/dist/index.cjs +242 -0
- package/dist/index.d.cts +15 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +11 -0
- package/dist/reflect-type.cjs +11 -0
- package/dist/reflect-type.d.cts +16 -0
- package/dist/reflect-type.d.ts +16 -0
- package/dist/reflect-type.js +2 -0
- package/dist/reflection-DTM1oT21.d.cts +1559 -0
- package/dist/reflection-DTM1oT21.d.ts +1559 -0
- package/dist/resolve-reflections.cjs +11 -0
- package/dist/resolve-reflections.d.cts +11 -0
- package/dist/resolve-reflections.d.ts +11 -0
- package/dist/resolve-reflections.js +2 -0
- package/dist/transformer.cjs +15 -0
- package/dist/transformer.d.cts +22 -0
- package/dist/transformer.d.ts +22 -0
- package/dist/transformer.js +2 -0
- package/dist/transpile.cjs +12 -0
- package/dist/transpile.d.cts +14 -0
- package/dist/transpile.d.ts +14 -0
- package/dist/transpile.js +3 -0
- package/dist/types.cjs +5 -0
- package/dist/types.d.cts +16 -0
- package/dist/types.d.ts +16 -0
- package/dist/types.js +2 -0
- package/dist/utilities.cjs +35 -0
- package/dist/utilities.d.cts +49 -0
- package/dist/utilities.d.ts +49 -0
- package/dist/utilities.js +2 -0
- package/dist/vendor/{chunk-6PEHRAEP.js → chunk-5BKT4CS5.js} +0 -2
- package/dist/vendor/{chunk-W6QNYN5U.cjs → chunk-BDXVTHBY.cjs} +176 -178
- package/dist/vendor/{chunk-AXYJRGEC.js → chunk-BLN7QVCP.js} +1 -3
- package/dist/vendor/{chunk-ORGCWC7F.js → chunk-BR2FK5K7.js} +0 -2
- package/dist/vendor/chunk-EQXMWOHO.cjs +115 -0
- package/dist/vendor/{chunk-WC6RQSKU.js → chunk-MCNMRQDT.js} +4 -6
- package/dist/vendor/{chunk-3QJYIKMR.cjs → chunk-MO4O4UYI.cjs} +0 -2
- package/dist/vendor/{chunk-3QJOOLWF.js → chunk-RH4YMONA.js} +4 -6
- package/dist/vendor/{chunk-AWYTRD4Y.cjs → chunk-RZKB5IQZ.cjs} +4 -6
- package/dist/vendor/{chunk-BSDR5HAD.cjs → chunk-WOXMCJJU.cjs} +508 -510
- package/dist/vendor/compiler.cjs +12 -14
- package/dist/vendor/compiler.js +2 -4
- package/dist/vendor/config.cjs +9 -11
- package/dist/vendor/config.js +2 -4
- package/dist/vendor/core.cjs +130 -132
- package/dist/vendor/core.d.cts +0 -2
- package/dist/vendor/core.d.ts +0 -2
- package/dist/vendor/core.js +5 -4
- package/dist/vendor/index.cjs +19 -21
- package/dist/vendor/index.js +5 -7
- package/dist/vendor/type-compiler/compiler.cjs +46 -0
- package/dist/vendor/type-compiler/compiler.d.cts +1 -0
- package/dist/vendor/type-compiler/compiler.d.ts +1 -0
- package/dist/vendor/type-compiler/compiler.js +7 -0
- package/dist/vendor/type-compiler/config.cjs +36 -0
- package/dist/vendor/type-compiler/config.d.cts +6 -0
- package/dist/vendor/type-compiler/config.d.ts +6 -0
- package/dist/vendor/type-compiler/config.js +5 -0
- package/dist/vendor/type-compiler/index.cjs +108 -0
- package/dist/vendor/type-compiler/index.d.cts +1 -0
- package/dist/vendor/type-compiler/index.d.ts +1 -0
- package/dist/vendor/type-compiler/index.js +67 -0
- package/dist/vendor/type-spec.cjs +5 -7
- package/dist/vendor/type-spec.js +5 -4
- package/dist/vendor/type.cjs +691 -2271
- package/dist/vendor/type.js +92 -1609
- package/package.json +4 -4
- package/dist/vendor/chunk-3QJOOLWF.js.map +0 -1
- package/dist/vendor/chunk-3QJYIKMR.cjs.map +0 -1
- package/dist/vendor/chunk-6PEHRAEP.js.map +0 -1
- package/dist/vendor/chunk-AWYTRD4Y.cjs.map +0 -1
- package/dist/vendor/chunk-AXYJRGEC.js.map +0 -1
- package/dist/vendor/chunk-BSDR5HAD.cjs.map +0 -1
- package/dist/vendor/chunk-KC74I2LN.cjs.map +0 -1
- package/dist/vendor/chunk-ORGCWC7F.js.map +0 -1
- package/dist/vendor/chunk-W6QNYN5U.cjs.map +0 -1
- package/dist/vendor/chunk-WC6RQSKU.js.map +0 -1
- package/dist/vendor/compiler.cjs.map +0 -1
- package/dist/vendor/compiler.js.map +0 -1
- package/dist/vendor/config.cjs.map +0 -1
- package/dist/vendor/config.js.map +0 -1
- package/dist/vendor/core.cjs.map +0 -1
- package/dist/vendor/core.js.map +0 -1
- package/dist/vendor/index.cjs.map +0 -1
- package/dist/vendor/index.js.map +0 -1
- package/dist/vendor/type-spec.cjs.map +0 -1
- package/dist/vendor/type-spec.js.map +0 -1
- package/dist/vendor/type.cjs.map +0 -1
- package/dist/vendor/type.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/.pnpm/is-obj@2.0.0/node_modules/is-obj/index.js","../../../../node_modules/.pnpm/dot-prop@5.3.0/node_modules/dot-prop/index.js","../../../../node_modules/.pnpm/to-fast-properties@3.0.1/node_modules/to-fast-properties/index.js","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/iterators.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/core.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/perf.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/decorators.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/enum.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/timer.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/array.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/process-locker.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/network.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/indent.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/compiler.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/string.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/emitter.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/reactive.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/reflection.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/url.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/dist/esm/src/types.js","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/buffer.ts","../../../../node_modules/.pnpm/@deepkit+core@1.0.5_patch_hash=8c3beca4372c6a8941162780ddd0f977ef3d461c2018f0809f86f416260ba440/node_modules/@deepkit/core/src/path.ts"],"names":["module","exports","value","type","isObj","require","disallowedKeys","isValidPath","pathSegments","some","segment","includes","getPathSegments","path","pathArray","split","parts","i","length","p","undefined","slice","push","get","object","Object","prototype","propertyIsEnumerable","call","set","root","delete","has","fastProto","FastObject","o","property","result","create","inlineCacheCutoff","toFastproperties","stack","dotProp","size","toFastPropertiesOri","__assignType","__ΩObject","n","t","e","r","a","h","d","m","l","s","c","u","j","indent","last"],"mappings":"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","file":"chunk-AXYJRGEC.js","sourcesContent":["'use strict';\n\nmodule.exports = value => {\n\tconst type = typeof value;\n\treturn value !== null && (type === 'object' || type === 'function');\n};\n","'use strict';\nconst isObj = require('is-obj');\n\nconst disallowedKeys = [\n\t'__proto__',\n\t'prototype',\n\t'constructor'\n];\n\nconst isValidPath = pathSegments => !pathSegments.some(segment => disallowedKeys.includes(segment));\n\nfunction getPathSegments(path) {\n\tconst pathArray = path.split('.');\n\tconst parts = [];\n\n\tfor (let i = 0; i < pathArray.length; i++) {\n\t\tlet p = pathArray[i];\n\n\t\twhile (p[p.length - 1] === '\\\\' && pathArray[i + 1] !== undefined) {\n\t\t\tp = p.slice(0, -1) + '.';\n\t\t\tp += pathArray[++i];\n\t\t}\n\n\t\tparts.push(p);\n\t}\n\n\tif (!isValidPath(parts)) {\n\t\treturn [];\n\t}\n\n\treturn parts;\n}\n\nmodule.exports = {\n\tget(object, path, value) {\n\t\tif (!isObj(object) || typeof path !== 'string') {\n\t\t\treturn value === undefined ? object : value;\n\t\t}\n\n\t\tconst pathArray = getPathSegments(path);\n\t\tif (pathArray.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (let i = 0; i < pathArray.length; i++) {\n\t\t\tif (!Object.prototype.propertyIsEnumerable.call(object, pathArray[i])) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tobject = object[pathArray[i]];\n\n\t\t\tif (object === undefined || object === null) {\n\t\t\t\t// `object` is either `undefined` or `null` so we want to stop the loop, and\n\t\t\t\t// if this is not the last bit of the path, and\n\t\t\t\t// if it did't return `undefined`\n\t\t\t\t// it would return `null` if `object` is `null`\n\t\t\t\t// but we want `get({foo: null}, 'foo.bar')` to equal `undefined`, or the supplied value, not `null`\n\t\t\t\tif (i !== pathArray.length - 1) {\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn object;\n\t},\n\n\tset(object, path, value) {\n\t\tif (!isObj(object) || typeof path !== 'string') {\n\t\t\treturn object;\n\t\t}\n\n\t\tconst root = object;\n\t\tconst pathArray = getPathSegments(path);\n\n\t\tfor (let i = 0; i < pathArray.length; i++) {\n\t\t\tconst p = pathArray[i];\n\n\t\t\tif (!isObj(object[p])) {\n\t\t\t\tobject[p] = {};\n\t\t\t}\n\n\t\t\tif (i === pathArray.length - 1) {\n\t\t\t\tobject[p] = value;\n\t\t\t}\n\n\t\t\tobject = object[p];\n\t\t}\n\n\t\treturn root;\n\t},\n\n\tdelete(object, path) {\n\t\tif (!isObj(object) || typeof path !== 'string') {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst pathArray = getPathSegments(path);\n\n\t\tfor (let i = 0; i < pathArray.length; i++) {\n\t\t\tconst p = pathArray[i];\n\n\t\t\tif (i === pathArray.length - 1) {\n\t\t\t\tdelete object[p];\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tobject = object[p];\n\n\t\t\tif (!isObj(object)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t},\n\n\thas(object, path) {\n\t\tif (!isObj(object) || typeof path !== 'string') {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst pathArray = getPathSegments(path);\n\t\tif (pathArray.length === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// eslint-disable-next-line unicorn/no-for-loop\n\t\tfor (let i = 0; i < pathArray.length; i++) {\n\t\t\tif (isObj(object)) {\n\t\t\t\tif (!(pathArray[i] in object)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tobject = object[pathArray[i]];\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n};\n","'use strict';\n\nlet fastProto = null;\n\n// Creates an object with permanently fast properties in V8. See Toon Verwaest's\n// post https://medium.com/@tverwaes/setting-up-prototypes-in-v8-ec9c9491dfe2#5f62\n// for more details. Use %HasFastProperties(object) and the Node.js flag\n// --allow-natives-syntax to check whether an object has fast properties.\nfunction FastObject(o) {\n\t// A prototype object will have \"fast properties\" enabled once it is checked\n\t// against the inline property cache of a function, e.g. fastProto.property:\n\t// https://github.com/v8/v8/blob/6.0.122/test/mjsunit/fast-prototype.js#L48-L63\n\tif (fastProto !== null && typeof fastProto.property) {\n\t\tconst result = fastProto;\n\t\tfastProto = FastObject.prototype = null;\n\t\treturn result;\n\t}\n\n\tfastProto = FastObject.prototype = o == null ? Object.create(null) : o;\n\n\treturn new FastObject;\n}\n\nconst inlineCacheCutoff = 10;\n\n// Initialize the inline property cache of FastObject.\nfor (let i = 0; i <= inlineCacheCutoff; i++) {\n\tFastObject();\n}\n\nmodule.exports = function toFastproperties(o) {\n\treturn FastObject(o);\n};\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\n\n/**\n * Iterator for each key of an array or object.\n *\n * @example\n * ```\n * for (const i of eachKey(['a', 'b']) {\n * console.log(i); //0, 1\n * }\n * ```\n *\n * @public\n * @category iterator\n */\nexport function eachKey<T>(object: ArrayLike<T>): IterableIterator<number>;\n/** @public */\nexport function eachKey<T extends { [key: string]: any }, K extends keyof T>(object: T): IterableIterator<string>;\n/** @public */\nexport function* eachKey<T extends { [key: string]: any }, K extends keyof T>(object: T | ArrayLike<T>): IterableIterator<string | number> {\n if (Array.isArray(object)) {\n for (let i = 0; i < object.length; i++) {\n yield i;\n }\n } else {\n for (const i in object) {\n if (object.hasOwnProperty(i)) {\n yield i as string;\n }\n }\n }\n}\n\n/**\n * Iterator for each value of an array or object.\n *\n * @example\n * ```\n * for (const v of each(['a', 'b']) {\n * console.log(v); //a, b\n * }\n * ```\n *\n * @public\n * @category iterator\n */\nexport function* each<T>(object: { [s: string]: T } | ArrayLike<T>): IterableIterator<T> {\n if (Array.isArray(object)) {\n for (let i = 0; i < object.length; i++) {\n yield object[i];\n }\n } else {\n for (const i in object) {\n if (object.hasOwnProperty(i)) {\n yield (object as { [s: string]: T })[i];\n }\n }\n }\n}\n\n/**\n * Iterator for key value pair of an array or object.\n *\n * @example\n * ```\n * for (const [i, v] of eachPair(['a', 'b']) {\n * console.log(i, v); //0 a, 1 b\n * }\n *\n * for (const [i, v] of eachPair({'foo': 'bar}) {\n * console.log(i, v); //foo bar\n * }\n * ```\n *\n * @public\n * @category iterator\n */\nexport function eachPair<T>(object: ArrayLike<T>): IterableIterator<[number, T]>;\n/** @public */\nexport function eachPair<T>(object: { [s: string]: T }): IterableIterator<[string, T]>;\n/** @public */\nexport function* eachPair<T>(object: { [s: string]: T } | ArrayLike<T>): IterableIterator<[string, T] | [number, T]> {\n if (Array.isArray(object)) {\n for (let i = 0; i < object.length; i++) {\n yield [i, object[i]];\n }\n } else {\n for (const i in object) {\n if (object.hasOwnProperty(i)) {\n yield [i, (object as { [s: string]: T })[i]];\n }\n }\n }\n}\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\n\nimport dotProp from 'dot-prop';\nimport { eachPair } from './iterators.js';\n\n/**\n * Makes sure the error once printed using console.log contains the actual class name.\n *\n * @example\n * ```\n * class MyApiError extends CustomerError {}\n *\n * throw MyApiError() // prints MyApiError instead of simply \"Error\".\n * ```\n *\n * @public\n */\nexport class CustomError extends Error {\n public name: string;\n\n constructor(...args: any[]) {\n super(...args);\n this.name = this.constructor.name;\n }\n}\n\nexport interface CustomError {\n cause?: unknown;\n}\n\n/**\n * @public\n */\nexport interface ClassType<T = any> {\n new(...args: any[]): T;\n}\n\n/**\n * @public\n */\nexport type AbstractClassType<T = any> = abstract new (...args: any[]) => T;\n\nexport type ExtractClassType<T> = T extends AbstractClassType<infer K> ? K : never;\n\n/**\n * Returns the class name either of the class definition or of the class of an instance.\n *\n * Note when code is minimized/uglified this output will change. You should disable in your compile the\n * className modification.\n *\n * @example\n * ```typescript\n * class User {}\n *\n * expect(getClassName(User)).toBe('User');\n * expect(getClassName(new User())).toBe('User');\n * ```\n *\n * @public\n */\nexport function getClassName<T>(classTypeOrInstance: ClassType<T> | Object): string {\n if (!classTypeOrInstance) return 'undefined';\n const proto = (classTypeOrInstance as any)['prototype'] ? (classTypeOrInstance as any)['prototype'] : classTypeOrInstance;\n return proto.constructor.name || 'anonymous class';\n}\n\n/**\n * Same as getClassName but appends the propertyName.\n * @public\n */\nexport function getClassPropertyName<T>(classType: ClassType<T> | Object, propertyName: string): string {\n const name = getClassName(classType);\n\n return `${name}.${propertyName}`;\n}\n\n/**\n * @public\n */\nexport function applyDefaults<T>(classType: ClassType<T>, target: { [k: string]: any }): T {\n const classInstance = new classType();\n\n for (const [i, v] of eachPair(target)) {\n (classInstance as any)[i] = v;\n }\n\n return classInstance;\n}\n\n/**\n * Tries to identify the object by normalised result of Object.toString(obj).\n */\nexport function identifyType(obj: any) {\n return ((({}).toString.call(obj).match(/\\s([a-zA-Z]+)/) || [])[1] || '').toLowerCase();\n}\n\n/**\n * Returns true if the given obj is a plain object, and no class instance.\n *\n * isPlainObject(\\{\\}) === true\n * isPlainObject(new ClassXY) === false\n *\n * @public\n */\nexport function isPlainObject(obj: any): obj is object {\n return Boolean(obj && typeof obj === 'object' && obj.constructor instanceof obj.constructor);\n}\n\n/**\n * Returns the ClassType for a given instance.\n */\nexport function getClassTypeFromInstance<T>(target: T): ClassType<T> {\n if (!isClassInstance(target)) {\n throw new Error(`Value is not a class instance. Got ${stringifyValueWithType(target)}`);\n }\n\n return (target as any)['constructor'] as ClassType<T>;\n}\n\n/**\n * Returns true when target is a class instance.\n */\nexport function isClassInstance(target: any): boolean {\n return target !== undefined && target !== null\n && target['constructor']\n && Object.getPrototypeOf(target) === (target as any)['constructor'].prototype\n && !isPlainObject(target)\n && isObject(target);\n}\n\n/**\n * Returns a human-readable string representation from the given value.\n */\nexport function stringifyValueWithType(value: any, depth: number = 0): string {\n if ('string' === typeof value) return `string(${value})`;\n if ('number' === typeof value) return `number(${value})`;\n if ('boolean' === typeof value) return `boolean(${value})`;\n if ('bigint' === typeof value) return `bigint(${value})`;\n if (isPlainObject(value)) return `object ${depth < 2 ? prettyPrintObject(value, depth) : ''}`;\n if (isArray(value)) return `Array`;\n if (isClass(value)) return `${getClassName(value)}`;\n if (isObject(value)) return `${getClassName(getClassTypeFromInstance(value))} ${depth < 2 ? prettyPrintObject(value, depth) : ''}`;\n if ('function' === typeof value) return `function ${value.name}`;\n if (null === value) return `null`;\n return 'undefined';\n}\n\n/**\n * Changes the class of a given instance and returns the new object.\n *\n * @example\n * ```typescript\n *\n * class Model1 {\n * id: number = 0;\n * }\n *\n * class Model2 {\n * id: number = 0;\n * }\n *\n * const model1 = new Model1();\n * const model2 = changeClass(model1, Model2);\n * model2 instanceof Model2; //true\n * ```\n */\nexport function changeClass<T>(value: object, newClass: ClassType<T>): T {\n return Object.assign(Object.create(newClass.prototype), value);\n}\n\nexport function prettyPrintObject(object: object, depth: number = 0): string {\n const res: string[] = [];\n for (const i in object) {\n res.push(i + ': ' + stringifyValueWithType((object as any)[i], depth + 1));\n }\n return '{' + res.join(',') + '}';\n}\n\n/**\n * Returns true if given obj is a function.\n *\n * @public\n */\nexport function isFunction(obj: any): obj is Function {\n if ('function' === typeof obj) {\n return !obj.toString().startsWith('class ') && !obj.toString().startsWith('class{');\n }\n\n return false;\n}\n\nexport const AsyncFunction = (async () => {\n}).constructor as { new(...args: string[]): Function };\n\n/**\n * Returns true if given obj is a async function.\n *\n * @public\n */\nexport function isAsyncFunction(obj: any): obj is (...args: any[]) => Promise<any> {\n return obj instanceof AsyncFunction;\n}\n\n/**\n * Returns true if given obj is a promise like object.\n *\n * Note: There's not way to check if it's actually a Promise using instanceof since\n * there are a lot of different implementations around.\n *\n * @public\n */\nexport function isPromise<T>(obj: any | Promise<T>): obj is Promise<T> {\n return obj !== null && typeof obj === 'object' && typeof obj.then === 'function'\n && typeof obj.catch === 'function' && typeof obj.finally === 'function';\n}\n\n/**\n * Returns true if given obj is a ES6 class (ES5 fake classes are not supported).\n *\n * @public\n */\nexport function isClass(obj: any): obj is AbstractClassType {\n if ('function' === typeof obj) {\n return obj.toString().startsWith('class ') || obj.toString().startsWith('class{');\n }\n\n return false;\n}\n\ndeclare var global: any;\ndeclare var window: any;\n\nexport function isGlobalClass(obj: any): obj is AbstractClassType {\n if ('function' !== typeof obj) return false;\n\n if ('undefined' !== typeof window) {\n return (window as any)[getClassName(obj)] === obj;\n }\n if ('undefined' !== typeof global) {\n return (global as any)[getClassName(obj)] === obj;\n }\n return false;\n}\n\n/**\n * Returns true for real objects: object literals ({}) or class instances (new MyClass).\n *\n * @public\n */\nexport function isObject(obj: any): obj is { [key: string]: any } {\n if (obj === null) {\n return false;\n }\n return (typeof obj === 'object' && !isArray(obj));\n}\n\n/**\n * Returns true if given obj is a plain object, and no Date, Array, Map, Set, etc.\n *\n * This is different to isObject and used in the type system to differentiate\n * between JS objects in general and what we define as ReflectionKind.objectLiteral.\n * Since we have Date, Set, Map, etc. in the type system, we need to differentiate\n * between them and all other object literals.\n */\nexport function isObjectLiteral(obj: any): obj is { [key: string]: any } {\n return isObject(obj) && !(obj instanceof Date) && !(obj instanceof Map) && !(obj instanceof Set);\n}\n\n/**\n * @public\n */\nexport const isArray: (obj: any) => obj is any[] = Array.isArray;\n\n/**\n * @public\n */\nexport function isNull(obj: any): obj is null {\n return null === obj;\n}\n\n/**\n * @public\n */\nexport function isUndefined(obj: any): obj is undefined {\n return undefined === obj;\n}\n\n/**\n * Checks if obj is not null and not undefined.\n *\n * @public\n */\nexport function isSet(obj: any): boolean {\n return !isNull(obj) && !isUndefined(obj);\n}\n\n/**\n * @public\n */\nexport function isNumber(obj: any): obj is number {\n return 'number' === identifyType(obj);\n}\n\n/**\n * Returns true if given value is strictly a numeric string value (or a number).\n *\n * ```typescript\n * isNumeric(12); //true\n * isNumeric('12'); //true\n * isNumeric('12.3'); //true\n * isNumeric('12.3 '); //false\n * isNumeric('12px'); //false\n * ```\n * @public\n */\nexport function isNumeric(s: string | number): boolean {\n if ('number' === typeof s) return true;\n let points = 0;\n for (let i = s.length - 1; i >= 0; i--) {\n const d = s.charCodeAt(i);\n if (d === 46) {\n //46 = .\n if (points++ > 0) return false;\n continue;\n }\n if (d < 48 || d > 57) return false;\n }\n return true;\n}\n\nexport const isInteger: (obj: any) => obj is number = Number.isInteger as any || function(obj: any) {\n return (obj % 1) === 0;\n};\n\n/**\n * @public\n */\nexport function isString(obj: any): obj is string {\n return 'string' === identifyType(obj);\n}\n\n/**\n * @public\n */\nexport function indexOf<T>(array: T[], item: T): number {\n if (!array) {\n return -1;\n }\n\n return array.indexOf(item);\n}\n\n/**\n * @public\n */\nexport async function sleep(seconds: number): Promise<void> {\n return new Promise<void>(resolve => setTimeout(resolve, seconds * 1000));\n}\n\n/**\n * Creates a shallow copy of given array.\n *\n * @public\n */\nexport function copy<T>(v: T[]): T[] {\n if (isArray(v)) {\n return v.slice(0);\n }\n\n return v;\n}\n\n/**\n * Checks whether given array or object is empty (no keys). If given object is falsy, returns false.\n *\n * @public\n */\nexport function empty<T>(value?: T[] | object | {}): boolean {\n if (!value) return true;\n\n if (isArray(value)) {\n return value.length === 0;\n } else {\n for (const i in value) if (value.hasOwnProperty(i)) return false;\n return true;\n }\n}\n\n/**\n * Returns the size of given array or object.\n *\n * @public\n */\nexport function size<T>(array: T[] | { [key: string]: T }): number {\n if (!array) {\n return 0;\n }\n\n if (isArray(array)) {\n return array.length;\n } else {\n return getObjectKeysSize(array);\n }\n}\n\n/**\n * Returns the first key of a given object.\n *\n * @public\n */\nexport function firstKey(v: { [key: string]: any } | object): string | undefined {\n return Object.keys(v)[0];\n}\n\n/**\n * Returns the last key of a given object.\n *\n * @public\n */\nexport function lastKey(v: { [key: string]: any } | object): string | undefined {\n const keys = Object.keys(v);\n if (keys.length) {\n return;\n }\n return keys[keys.length - 1];\n}\n\n/**\n * Returns the first value of given array or object.\n *\n * @public\n */\nexport function first<T>(v: { [key: string]: T } | T[]): T | undefined {\n if (isArray(v)) {\n return v[0];\n }\n\n const key = firstKey(v);\n if (key) {\n return v[key];\n }\n return;\n}\n\n/**\n * Returns the last value of given array or object.\n *\n * @public\n */\nexport function last<T>(v: { [key: string]: T } | T[]): T | undefined {\n if (isArray(v)) {\n if (v.length > 0) {\n return v[v.length - 1];\n }\n return;\n }\n\n const key = firstKey(v);\n if (key) {\n return v[key];\n }\n return;\n}\n\n/**\n * Returns the average of a number array.\n *\n * @public\n */\nexport function average(array: number[]): number {\n let sum = 0;\n for (const n of array) {\n sum += n;\n }\n\n return sum / array.length;\n}\n\n/**\n * @public\n */\nexport function prependObjectKeys(o: { [k: string]: any }, prependText: string): { [k: string]: any } {\n const converted: { [k: string]: any } = {};\n for (const i in o) {\n if (!o.hasOwnProperty(i)) continue;\n converted[prependText + i] = o[i];\n }\n return converted;\n}\n\n/**\n * @public\n */\nexport function appendObject(origin: { [k: string]: any }, extend: { [k: string]: any }, prependKeyName: string = '') {\n const no = prependObjectKeys(extend, prependKeyName);\n for (const [i, v] of eachPair(no)) {\n origin[i] = v;\n }\n}\n\n/**\n * A better alternative to \"new Promise()\" that supports error handling and maintains the stack trace for Error.stack.\n *\n * When you use `new Promise()` you need to wrap your code inside a try-catch to call `reject` on error.\n * asyncOperation() does this automatically.\n *\n * When you use `new Promise()` you will lose the stack trace when `reject(new Error())` is called.\n * asyncOperation() makes sure the error stack trace is the correct one.\n *\n * @example\n * ```typescript\n * await asyncOperation(async (resolve, reject) => {\n * await doSomething(); //if this fails, reject() will automatically be called\n * stream.on('data', (data) => {\n * resolve(data); //at some point you MUST call resolve(data)\n * });\n * });\n * ```\n *\n * @public\n * @reflection never\n */\nexport async function asyncOperation<T>(executor: (resolve: (value: T) => void, reject: (error: any) => void) => void | Promise<void>): Promise<T> {\n try {\n return await new Promise<T>(async (resolve, reject) => {\n try {\n await executor(resolve, reject);\n } catch (e) {\n reject(e);\n }\n });\n } catch (error: any) {\n mergeStack(error, createStack());\n throw error;\n }\n}\n\n/**\n * When an API is called that returns a promise that loses the stack trace on error, you can use fixAsyncOperation().\n *\n * ```typescript\n * cons storage = new BrokenPromiseStorage();\n * const files = await fixAsyncOperation(storage.files('/'));\n * ```\n */\nexport function fixAsyncOperation<T>(promise: Promise<T>): Promise<T> {\n return asyncOperation(async (resolve, reject) => {\n resolve(await promise);\n });\n}\n\n/**\n * @public\n */\nexport function mergePromiseStack<T>(promise: Promise<T>, stack?: string): Promise<T> {\n stack = stack || createStack();\n promise.then(() => {\n }, (error) => {\n mergeStack(error, stack || '');\n });\n return promise;\n}\n\n/**\n * @beta\n */\nexport function createStack(removeCallee: boolean = true): string {\n if (Error.stackTraceLimit === 10) Error.stackTraceLimit = 100;\n let stack = new Error().stack || '';\n\n /*\n at createStack (/file/path)\n at promiseToObservable (/file/path)\n at userLandCode1 (/file/path)\n at userLandCode2 (/file/path)\n */\n\n //remove \"at createStack\"\n stack = stack.slice(stack.indexOf(' at ') + 6);\n stack = stack.slice(stack.indexOf(' at ') - 1);\n\n if (removeCallee) {\n //remove callee\n stack = stack.slice(stack.indexOf(' at ') + 6);\n stack = stack.slice(stack.indexOf(' at ') - 1);\n }\n\n return stack;\n}\n\n/**\n * @beta\n */\nexport function mergeStack(error: Error, stack: string) {\n if (error instanceof Error && error.stack) {\n error.stack += '\\n' + stack;\n }\n}\n\n/**\n * Makes sure the given value is an error. If it's not an error, it creates a new error with the given value as message.\n */\nexport function ensureError(error?: any, classType: ClassType = Error): Error {\n return error instanceof Error || error instanceof AggregateError ? error : new classType(error);\n}\n\nexport function collectForMicrotask<T>(callback: (args: T[]) => void): (arg: T) => void {\n let items: T[] = [];\n let taskScheduled = false;\n\n return (arg: T) => {\n items.push(arg);\n if (!taskScheduled) {\n taskScheduled = true;\n queueMicrotask(() => {\n taskScheduled = false;\n callback(items);\n items.length = 0;\n });\n }\n };\n}\n\n/**\n * Returns the current time as seconds.\n *\n * @public\n */\nexport function time(): number {\n return Date.now() / 1000;\n}\n\n/**\n * @public\n */\nexport function getPathValue(bag: { [field: string]: any }, parameterPath: string, defaultValue?: any): any {\n if (parameterPath === '' || parameterPath === undefined) return bag;\n if (isSet(bag[parameterPath])) {\n return bag[parameterPath];\n }\n\n const result = dotProp.get(bag, parameterPath);\n\n return isSet(result) ? result : defaultValue;\n}\n\n/**\n * @public\n */\nexport function setPathValue(bag: object, parameterPath: string, value: any) {\n dotProp.set(bag, parameterPath, value);\n}\n\n/**\n * @public\n */\nexport function deletePathValue(bag: object, parameterPath: string) {\n dotProp.delete(bag, parameterPath);\n}\n\n/**\n * Returns the human-readable byte representation.\n *\n * @public\n */\nexport function humanBytes(bytes: number, si: boolean = false): string {\n const thresh = si ? 1000 : 1024;\n if (Math.abs(bytes) < thresh) {\n return bytes + ' B';\n }\n const units = si\n ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\n : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];\n let u = -1;\n do {\n bytes /= thresh;\n ++u;\n } while (Math.abs(bytes) >= thresh && u < units.length - 1);\n\n return bytes.toFixed(2) + ' ' + units[u];\n}\n\n/**\n * Returns the number of properties on `obj`. This is 20x faster than Object.keys(obj).length.\n */\nexport function getObjectKeysSize(obj: object): number {\n let size = 0;\n for (let i in obj) if (obj.hasOwnProperty(i)) size++;\n return size;\n}\n\nexport function isConstructable(fn: any): boolean {\n try {\n new new Proxy(fn, { construct: () => ({}) });\n return true;\n } catch (err) {\n return false;\n }\n}\n\nexport function isPrototypeOfBase(prototype: AbstractClassType | undefined, base: ClassType): boolean {\n if (!prototype) return false;\n if (prototype === base) return true;\n let currentProto = Object.getPrototypeOf(prototype);\n while (currentProto && currentProto !== Object.prototype) {\n if (currentProto === base) return true;\n currentProto = Object.getPrototypeOf(currentProto);\n }\n return false;\n}\n\nexport function getParentClass(classType: ClassType): ClassType | undefined {\n const parent = Object.getPrototypeOf(classType);\n if (parent === Object.prototype || Object.getPrototypeOf(parent) === Object.prototype) return;\n return parent;\n}\n\nexport function getInheritanceChain(classType: ClassType): ClassType[] {\n const chain: ClassType[] = [classType];\n let current = classType;\n while (current = getParentClass(current) as ClassType) {\n chain.push(current);\n }\n return chain;\n}\n\ndeclare var v8debug: any;\n\nexport function inDebugMode() {\n return typeof v8debug === 'object' ||\n (typeof process !== 'undefined' && /--debug|--inspect/.test(process.execArgv.join(' ')));\n}\n\n/**\n * Create a new class with the given name.\n * This is currently the only know way to make it workable in browsers too.\n */\nexport function createDynamicClass(name: string, base?: ClassType): ClassType {\n if (base) {\n let baseName = getClassName(base);\n if (baseName === name) baseName += 'Base';\n return new Function(baseName, `return class ${name} extends ${baseName} {}`)(base);\n }\n return new Function(`return class ${name} {}`)();\n}\n\nexport function isIterable(value: any): boolean {\n return isArray(value) || value instanceof Set || value instanceof Map;\n}\n\nexport function iterableSize(value: Array<unknown> | Set<unknown> | Map<unknown, unknown>): number {\n return isArray(value) ? value.length : value.size || 0;\n}\n\n/**\n * Returns __filename, works in both cjs and esm.\n */\nexport function getCurrentFileName(): string {\n const e = new Error;\n const initiator = e.stack!.split('\\n').slice(2, 3)[0];\n let path = /(?<path>[^(\\s]+):[0-9]+:[0-9]+/.exec(initiator)!.groups!.path;\n if (path.indexOf('file') >= 0) {\n path = new URL(path).pathname;\n }\n if (path[0] === '/' && process.platform === 'win32') {\n path = path.slice(1);\n }\n return path;\n}\n\n/**\n * Escape special characters in a regex string, so it can be used as a literal string.\n */\nexport function escapeRegExp(string: string): string {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\n}\n\nexport function hasProperty(object: any, property: any): boolean {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\n/**\n * Returns an iterator of numbers from start (inclusive) to stop (exclusive) by step.\n */\nexport function* range(startOrLength: number, stop: number = 0, step: number = 1): IterableIterator<number> {\n let i = startOrLength;\n let end = stop;\n if (stop === 0) {\n i = 0;\n end = startOrLength;\n }\n\n for (; i < end; i += step) {\n yield i;\n }\n}\n\n/**\n * Returns an array of numbers from start (inclusive) to stop (exclusive) by step.\n *\n * Works the same as python's range function.\n */\nexport function rangeArray(startOrLength: number, stop: number = 0, step: number = 1): number[] {\n return [...range(startOrLength, stop, step)];\n}\n\n/**\n * Returns a combined array of the given arrays.\n *\n * Works the same as python's zip function.\n */\nexport function zip<T extends (readonly unknown[])[]>(\n ...args: T\n): { [K in keyof T]: T[K] extends (infer V)[] ? V : never }[] {\n const minLength = Math.min(...args.map((arr) => arr.length));\n //@ts-ignore\n return Array.from({ length: minLength }).map((_, i) => args.map((arr) => arr[i]));\n}\n\n/**\n * Forwards the runtime type arguments from function x to function y.\n * This is necessary when a generic function is overridden and forwarded to something else.\n *\n * ```typescript\n * let generic = <T>(type?: ReceiveType<T>) => undefined;\n *\n * let forwarded<T> = () => {\n * forwardTypeArguments(forwarded, generic); //all type arguments are forwarded to generic()\n * generic(); //call as usual\n * }\n *\n * forwarded<any>(); //generic receives any in runtime.\n * ```\n *\n * Note that generic.bind(this) will not work, as bind() creates a new function and forwarded type arguments can not\n * reach the original function anymore.\n *\n * ```typescript\n * let forwarded<T> = () => {\n * const bound = generic.bind(this);\n * forwardTypeArguments(forwarded, bound); //can not be forwarded anymore\n * bound(); //fails\n * }\n * ```\n *\n * This is a limitation of JavaScript. In this case you have to manually forward type arguments.\n *\n * ```typescript\n * let forwarded<T> = (type?: ReceiveType<T>) => {\n * const bound = generic.bind(this);\n * bound(type);\n * }\n * ```\n */\nexport function forwardTypeArguments(x: any, y: any): void {\n y.Ω = x.Ω;\n x.Ω = undefined;\n}\n\nexport function formatError(error: any, withStack: boolean = false): string {\n if (error && error.name === 'AggregateError' && 'errors' in error) {\n return `${(withStack && error.stack) || `AggregateError: ${error.message}`}\\nErrors:\\n${error.errors.map((v: any) => formatError(v)).join('\\n')}`;\n }\n\n if (error instanceof Error) {\n let current: any = error.cause;\n let errors: string[] = [(withStack && error.stack) || error.message || 'Error'];\n while (current) {\n errors.push(`cause by ${formatError(current)}`);\n current = current.cause;\n }\n return errors.join('\\n');\n }\n\n if (withStack && error.stack) return error.stack;\n return String(error);\n}\n\n/**\n * Asserts that the given object is an instance of the given class.\n */\nexport function assertInstanceOf<T>(object: any, constructor: { new(...args: any[]): T }): asserts object is T {\n if (!(object instanceof constructor)) {\n throw new Error(`Object ${getClassName(object)} is not an instance of the expected class ${getClassName(constructor)}`);\n }\n}\n\n/**\n * Asserts that the given value is defined (not null and not undefined).\n */\nexport function assertDefined<T>(value: T): asserts value is NonNullable<T> {\n if (value === null || value === undefined) {\n throw new Error(`Value is not defined`);\n }\n}\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\n\nimport toFastPropertiesOri from 'to-fast-properties';\n\nexport function toFastProperties(obj: any) {\n toFastPropertiesOri(obj);\n}\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\n\nimport { getClassName } from './core.js';\nimport { toFastProperties } from './perf.js';\n\n/**\n * Logs every call to this method on stdout.\n *\n * @public\n */\nexport function log() {\n return function (target: object, propertyKey: string | symbol, descriptor: PropertyDescriptor) {\n const orig = descriptor.value;\n descriptor.value = function (...args: any[]) {\n const a = args.map(v => typeof v).join(',');\n console.info(getClassName(target) + '::' + String(propertyKey) + '(' + a + ')');\n return orig.apply(this, args);\n };\n\n return descriptor;\n };\n}\n\n/**\n * Makes sure that calls to this async method are stacked up and are called one after another and not parallel.\n *\n * @public\n */\nexport function stack() {\n return function (target: object, propertyKey: string, descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise<any>>) {\n const orig = descriptor.value;\n\n // console.log('sync patch', propertyKey, constructor.prototype[propertyKey]);\n descriptor.value = async function (...args: any[]) {\n const name = '__c_' + propertyKey;\n\n if ((this as any)[name] === undefined) {\n (this as any)[name] = null;\n toFastProperties(this);\n }\n\n while ((this as any)[name]) {\n await (this as any)[name];\n }\n\n (this as any)[name] = (orig as any).apply(this, args);\n\n try {\n return await (this as any)[name];\n } finally {\n (this as any)[name] = null;\n }\n };\n };\n}\n\n/**\n * Makes sure that this async method is only running once at a time. When this method is running and it is tried\n * to call it another times, that call is \"dropped\" and it returns simply the result of the previous running call (waiting for it to complete first).\n *\n * @public\n */\nexport function singleStack() {\n return function (target: object, propertyKey: string, descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise<any>>) {\n const orig = descriptor.value;\n\n descriptor.value = async function (...args: any[]) {\n const name = '__sc_' + propertyKey;\n\n if ((this as any)[name] === undefined) {\n (this as any)[name] = null;\n toFastProperties(this);\n }\n\n if ((this as any)[name]) {\n return await (this as any)[name];\n }\n\n (this as any)[name] = (orig as any).apply(this, args);\n\n try {\n return await (this as any)[name];\n } finally {\n (this as any)[name] = null;\n }\n };\n };\n}\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\n\nimport { eachKey } from './iterators.js';\n\nconst cacheEnumLabels = new Map<Object, string[]>();\n\n/**\n * Returns the enum label for a given enum value.\n *\n * @public\n */\nexport function getEnumLabel(enumType: { [field: string]: any }, id: any): any {\n for (const i of eachKey(enumType)) {\n if (id === enumType[i]) {\n return i;\n }\n }\n}\n\n/**\n * Returns all possible enum labels.\n *\n * @public\n */\nexport function getEnumLabels(enumDefinition: any) {\n let value = cacheEnumLabels.get(enumDefinition);\n if (!value) {\n value = Object.keys(enumDefinition).filter(v => !Number.isFinite(parseInt(v, 10)));\n cacheEnumLabels.set(enumDefinition, value);\n }\n\n return value;\n}\n\nconst cacheEnumKeys = new Map<Object, string[]>();\n\n/**\n * Returns all possible enum keys.\n *\n * @public\n */\nexport function getEnumValues(enumDefinition: any): any[] {\n let value = cacheEnumKeys.get(enumDefinition);\n if (!value) {\n value = Object.values(enumDefinition)\n .filter((v: any) => {\n return 'number' !== typeof enumDefinition[v];\n }) as any[];\n\n cacheEnumKeys.set(enumDefinition, value);\n }\n\n return value;\n}\n\nexport function getEnumKeyLabelMap(enumDefinition: any): Map<any, string> {\n const map = new Map<any, string>();\n const keys = getEnumValues(enumDefinition);\n const labels = getEnumLabels(enumDefinition);\n for (let i = 0; i < keys.length; i++) {\n map.set(keys[i], labels[i]);\n }\n return map;\n}\n\n/**\n * Checks whether given enum value is valid.\n *\n * @public\n */\nexport function isValidEnumValue(enumDefinition: any, value: any, allowLabelsAsValue = false) {\n if (allowLabelsAsValue) {\n const labels = getEnumLabels(enumDefinition);\n if (-1 !== labels.indexOf(String(value))) {\n return true;\n }\n }\n\n const values = getEnumValues(enumDefinition);\n return -1 !== values.indexOf(+value) || -1 !== values.indexOf(value) || -1 !== values.indexOf(String(value));\n}\n\n/**\n * @public\n */\nexport function getValidEnumValue(enumDefinition: any, value: any, allowLabelsAsValue = false) {\n if (allowLabelsAsValue) {\n const labels = getEnumLabels(enumDefinition);\n if (-1 !== labels.indexOf(String(value))) {\n return enumDefinition[String(value)];\n }\n }\n\n const values = getEnumValues(enumDefinition);\n if (-1 !== values.indexOf(value)) {\n return value;\n }\n if (-1 !== values.indexOf(+value)) {\n return +value;\n }\n if (-1 !== values.indexOf(String(value))) {\n return String(value);\n }\n}\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\n\nexport class Timer {\n protected timeoutTimers: any[] = []; //any necessary to be compatible with NodeJS/Browser env\n\n public setTimeout(cb: () => void, timeout: number): any {\n const timer = setTimeout(cb, timeout);\n this.timeoutTimers.push(timer);\n return timer;\n }\n\n /**\n * Clears all timers at once.\n */\n public clear() {\n for (const timeout of this.timeoutTimers) {\n clearTimeout(timeout);\n }\n }\n}\n","\n/**\n * @public\n */\nexport function arrayHasItem<T>(array: T[], item: T): boolean {\n return -1 !== array.indexOf(item);\n}\n\n/**\n * Clears the array so its empty. Returns the amount of removed items.\n *\n * @public\n */\nexport function arrayClear<T>(array: T[]): number {\n const found = array.length;\n array.length = 0;\n return found;\n}\n\n/**\n * Removes on particular item by reference of an array.\n *\n * @public\n */\nexport function arrayRemoveItem<T>(array: T[], item: T): boolean {\n const index = array.indexOf(item);\n if (-1 !== index) {\n array.splice(index, 1);\n return true;\n }\n\n return false;\n}\n\n/**\n * Moves a particular item in an array up or down (move>0=down, move<0=up).\n * Changes the array itself.\n *\n * ```typescript\n * const array = ['a', 'b', 'c'];\n *\n * arrayMoveItem(array, 'a', +1); //['b', 'a', 'c']\n * arrayMoveItem(array, 'a', -1); //['a', 'b', 'c']\n *\n * arrayMoveItem(array, 'b', -1); //['b', 'a', 'c']\n * arrayMoveItem(array, 'b', +1); //['a', 'c', 'b']\n *\n * arrayMoveItem(array, 'c', -1); //['b', 'c', 'b']\n * arrayMoveItem(array, 'c', +1); //['a', 'b', 'c']\n *\n * ```\n *\n * @public\n */\nexport function arrayMoveItem<A extends T[], T>(array: A, item: T, move: number): A {\n if (move === 0) return array;\n const index = array.indexOf(item);\n if (-1 !== index) {\n const newIndex = index + move;\n array.splice(index, 1);\n\n if (newIndex <= 0) {\n array.unshift(item);\n } else if (newIndex >= array.length) {\n array.push(item);\n } else {\n array.splice(newIndex, 0, item);\n }\n }\n return array;\n}\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\n\nimport { arrayRemoveItem } from './array.js';\n\nconst LOCKS: { [id: string]: { time: number, queue: Function[] } } = {};\n\n/**\n * This lock mechanism works only for one process (worker).\n *\n * live-mutex: has horrible API and doesn't allow to check if an key is currently locked.\n * proper-filelock: No way to do a correct mutex locking with event-driven blocking acquire() method.\n * redislock: Very bad performance on high-load (when multiple locks on the same key `wait`, since it loops)\n * mongodb lock: even worse performance than redis. Jesus.\n */\nexport class ProcessLock {\n private holding = false;\n protected ttlTimeout: any;\n\n constructor(\n public readonly id: string,\n ) {\n }\n\n public async acquire(ttl: number = 0, timeout: number = 0) {\n if (this.holding) {\n throw new Error('Lock already acquired');\n }\n\n return new Promise<void>((resolve, reject) => {\n if (LOCKS[this.id]) {\n let timeoutId: any;\n const ourTake = () => {\n LOCKS[this.id].time = Date.now() / 1000;\n clearTimeout(timeoutId);\n this.holding = true;\n resolve();\n\n if (ttl) {\n this.ttlTimeout = setTimeout(() => {\n this.unlock();\n }, ttl * 1000);\n }\n };\n if (timeout > 0) {\n timeoutId = setTimeout(() => {\n if (LOCKS[this.id]) arrayRemoveItem(LOCKS[this.id].queue, ourTake);\n //reject is never handled when resolve is called first\n reject('Lock timed out ' + this.id);\n }, timeout * 1000);\n }\n LOCKS[this.id].queue.push(ourTake);\n } else {\n LOCKS[this.id] = {\n time: Date.now() / 1000,\n queue: []\n };\n\n this.holding = true;\n resolve();\n\n if (ttl) {\n this.ttlTimeout = setTimeout(() => {\n this.unlock();\n }, ttl * 1000);\n }\n }\n });\n }\n\n public isLocked() {\n return this.holding;\n }\n\n public tryLock(ttl: number = 0) {\n this.holding = false;\n\n if (!LOCKS[this.id]) {\n LOCKS[this.id] = {\n time: Date.now() / 1000,\n queue: []\n };\n this.holding = true;\n\n if (ttl) {\n this.ttlTimeout = setTimeout(() => {\n this.unlock();\n }, ttl * 1000);\n }\n }\n\n return this.holding;\n }\n\n public unlock() {\n clearTimeout(this.ttlTimeout);\n\n if (!this.holding) {\n return;\n }\n\n this.holding = false;\n\n if (LOCKS[this.id].queue.length) {\n //there are other locks waiting.\n //so we pick the next, and call it\n const next: Function = LOCKS[this.id].queue.shift()!;\n next();\n } else {\n //nobody is waiting, so we just delete that lock\n delete LOCKS[this.id];\n }\n }\n}\n\nexport class ProcessLocker {\n /**\n *\n * @param id\n * @param ttl optional defines when the times automatically unlocks.\n * @param timeout if after `timeout` seconds the lock isn't acquired, it throws an error.\n */\n public async acquireLock(id: string, ttl: number = 0, timeout: number = 0): Promise<ProcessLock> {\n const lock = new ProcessLock(id);\n await lock.acquire(ttl, timeout);\n\n return lock;\n }\n\n public async tryLock(id: string, ttl: number = 0): Promise<ProcessLock | undefined> {\n const lock = new ProcessLock(id);\n\n if (lock.tryLock(ttl)) {\n return lock;\n }\n\n return;\n }\n\n public isLocked(id: string): boolean {\n return !!LOCKS[id];\n }\n}\n\nexport class Mutex {\n protected promise?: Promise<void>;\n protected resolver?: Function;\n\n unlock(): void {\n if (this.resolver) this.resolver();\n this.promise = undefined;\n }\n\n async lock(): Promise<void> {\n while (this.promise) {\n await this.promise;\n }\n this.promise = new Promise((resolver) => {\n this.resolver = resolver;\n });\n }\n}\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\n\nexport class ParsedHost {\n public host: string = '127.0.0.1';\n public port: number = 0;\n public unixSocket: string = '';\n\n get isUnixSocket(): boolean {\n return this.unixSocket !== '';\n }\n\n get isHostname(): boolean {\n return this.unixSocket === '';\n }\n\n get hostWithIp(): string {\n return this.host + (this.port ? (this.host && ':') + this.port : '');\n }\n\n toString(): string {\n return this.isUnixSocket ? this.unixSocket : this.hostWithIp;\n }\n\n getWebSocketUrl(secure: boolean = false) {\n const protocol = secure ? 'wss' : 'ws';\n\n if (this.isUnixSocket) {\n return `${protocol}+unix://${this.unixSocket}`;\n }\n\n return `${protocol}://${this.hostWithIp}`;\n }\n\n getHttpUrl(secure: boolean = false) {\n if (this.isUnixSocket) {\n return `file://${this.unixSocket}`;\n }\n\n const protocol = secure ? 'https' : 'http';\n return `${protocol}://${this.hostWithIp}`;\n }\n}\n\nexport function parseHost(hostWithIpOrUnixPath: string): ParsedHost {\n const parsedHost = new ParsedHost();\n\n if (hostWithIpOrUnixPath.includes('/') || hostWithIpOrUnixPath.includes('\\\\') || hostWithIpOrUnixPath.endsWith('.sock')) {\n parsedHost.unixSocket = hostWithIpOrUnixPath;\n } else {\n if (hostWithIpOrUnixPath.includes(':')) {\n const [host, port] = hostWithIpOrUnixPath.split(':');\n if (host) parsedHost.host = host;\n if (port) parsedHost.port = parseInt(port, 10);\n } else {\n if (hostWithIpOrUnixPath) parsedHost.host = hostWithIpOrUnixPath;\n }\n }\n\n return parsedHost\n}\n","/**\n * @reflection never\n */\n//Copyright © 2018 Zeb Zhao, MIT License, see https://github.com/zebzhao/indent.js\n// @ts-ignore\nexport const indent = function(n){function t(n,t){var e,r=[];for(e=0;e<n.length;e++)r.push(t(n[e],e,n));return r}function e(n,t){var e,r;for(e=0;e<n.length;e++)if(r=t(n[e],e,n))return r;return!1}function r(n,t,e){if(d[n])return d[n];var r=[];d[n]=r,e=e||\"\";for(var a=0;a<t.length;a++)t[a].a.indexOf(n.toLowerCase())!==-1&&e.indexOf(t[a].b)===-1&&r.push(t[a]);return r}function a(n,a,o){function h(n){P=n.cursor;var t=n.rule,e=E+1+(t.c||0);n.line=e,Z.push(n),t.d&&z[e]++,t.e&&(S=r(t.e,g)),t.f&&F.push(null),t.callback&&t.callback(n,z,O)}function d(){var n=Z.pop(),t=n.line,e=n.rule;if(e.d){var r=\"function\"==typeof e.g?e.g(b):e.g,a=r||0!==b.matchIndex?1:0;O[E+a]&&O[E+a].push(t)}e.e&&(S=null),e.f&&F.pop(),F[F.length-1]=n}function m(n,r,a){n=n.substring(a,n.length);for(var l,s,i,c=null,u=n.length,o=F[F.length-1],h=o?o.rule.b:\"\",d=t(Z,function(n){return n.rule.b}).join(\"\\n\"),m=0;m<r.length;m++)i=r[m],i.h&&e(i.h,function(n){return d.indexOf(n)!=-1})||(!i.i||h&&i.i.indexOf(h)!==-1)&&(s=f(n,i.j,i),s.matchIndex!=-1&&s.matchIndex<u&&(!i.k||0===a)&&(u=s.matchIndex,l=s,c=i));return{rule:c,relativeIndex:c?u:-1,matchIndex:c?u+a:-1,cursor:c?a+l.cursor:-1,state:l?l.state:{},lastMatch:o}}function j(n,t,e,r){n=n.substr(e,n.length);var a=t.rule,l=f(n,a.l,a,t.state,r),s=a.m?l.cursor:l.matchIndex;return{endPatternIndex:l.endPatternIndex,matchIndex:l.matchIndex===-1?-1:l.matchIndex+e,cursor:s===-1?-1:s+e,state:l.state}}n=n||\"\";var b,x,v,p,I,y=o&&null!=o.tabString?o.tabString:\"\\t\",k=n.split(/[\\r]?\\n/gi),w=k.length,A=s(w),z=s(w),O=l(w),Z=[],F=[null],E=0,P=0,S=null;for(o&&(o.debug={buffers:{ignore:A,indent:z,dedent:O,active:Z}});E<w;){if(v=k[E].trim(),p=u(v)+\"\\r\\n\",I=Z[Z.length-1],x=m(p,S||a,P),Z.length)if(b=j(p,I,P,x),b.matchIndex===-1){if(I.rule.n){A[E]=1,E++,P=0;continue}}else if(I.rule.n||x.matchIndex===-1||b.matchIndex<=x.matchIndex){d(),P=b.cursor;continue}x.matchIndex!==-1?h(x):(E++,P=0)}var $,q,R,T,M,C,H=0,L=i(z),_=s(w),B=[];for(M=0;M<w;M++){for(q=O[M],T=0,C=0;C<q.length;C++)R=q[C],R<0?-R!==M&&(_[-R]++,T+=1):L[R]>0&&(L[R]--,T+=R!==M);$=L[M],_[M]=$>T?1:$<T?$-T:0,L[M]=$>0?1:0}for(M=0;M<w;M++)1===A[M-1]&&1===A[M]?B.push(k[M]):(H+=_[M]||0,B.push((H>0?c(y,H):\"\")+k[M].trim()));return B.join(\"\\r\\n\")}function l(n){for(var t=new Array(n),e=0;e<n;e++)t[e]=[];return t}function s(t){if(n.Int16Array)return new Int16Array(t);for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e}function i(n){for(var t=s(n.length),e=0;e<n.length;e++)t[e]=n[e];return t}function c(n,t){return new Array(t+1).join(n)}function u(n){return n.replace(/\\\\(u[0-9A-Za-z]{4}|u\\{[0-9A-Za-z]{1,6}]\\}|x[0-9A-Za-z]{2}|.)/g,\"0\")}function o(n,t,e){var r=n.lastMatch;r&&\"=\"===r.rule.b&&e[n.line].push(-r.line)}function h(n,t,e,r){var a;if(e.newline){if(a=n.search(/[;,=]?\\r*\\n/),a!==-1)return{matchIndex:a,length:1}}else a=n.search(/[^\\s\\r\\n\\{\\(\\[]/),e.newline=a!==-1&&(a<=r.relativeIndex||r.relativeIndex===-1);return null}function f(n,t,e,r,a){r=r||{};for(var l,s,i=-1,c=0,u=0;u<t.length;u++)if(s=t[u],\"function\"==typeof s){if(l=s(n,e,r,a)){i=l.matchIndex,c=l.length;break}}else if(l=n.match(s)){i=n.search(s),c=l[0].length;break}return{endPatternIndex:u,matchIndex:i,cursor:i+c,state:r}}var d={};String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\"\")});var m=/\\r*\\n/,j=[\"tag\",\"void-tags\",\"html-tag\"],g=[{a:\"js html\",b:\"comment\",j:[/\\<\\!\\-\\-/],l:[/\\-\\-\\>/],n:!0,m:!0},{a:\"html\",b:\"doctype\",j:[/\\<\\!doctype html>/i],l:[m],n:!0,m:!0},{a:\"js html\",b:\"void-tags\",j:[/\\<(area|base|br|col|command|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)/i],l:[/>/],d:!0,m:!0},{a:\"html\",b:\"mode switch js\",j:[function(n){var t=/<script[\\s>].*/i,e=/<\\/script>/i,r=t.exec(n),a=e.exec(n);return r&&(!a||a.index<r.index)?{matchIndex:r.index,length:r[0].length}:null}],l:[/<\\/script>/i],e:\"js\",m:!0,d:!0,f:!0},{a:\"html\",b:\"mode switch css\",j:[function(n){var t=/<style[\\s>].*/i,e=/<\\/style>/i,r=t.exec(n),a=e.exec(n);return r&&(!a||a.index<r.index)?{matchIndex:r.index,length:r[0].length}:null}],l:[/<\\/style>/i],e:\"css\",m:!0,d:!0,f:!0},{a:\"html\",b:\"html-tag\",j:[/<html[^A-Za-z0-9]/i],l:[/<\\/html>/i],m:!0},{a:\"js html\",b:\"tag\",j:[function(n,t,e){var r=/<([A-Za-z][A-Za-z0-9\\-\\.]*)/,a=n.match(r);return a?(e.openingTag=a[1],{matchIndex:a.index,length:a[0].length}):null}],l:[function(n,t,e){var r=new RegExp(\"</\"+e.openingTag+\">|\\\\s/>\",\"i\"),a=n.match(r);return a?{matchIndex:a.index,length:a[0].length}:null}],d:!0,m:!0},{a:\"js\",b:\"line-comment\",j:[/\\/\\//],l:[m],n:!0},{a:\"js css\",b:\"block-comment\",j:[/\\/\\*/],l:[/\\*\\//],n:!0,m:!0},{a:\"js\",b:\"regex\",j:[function(n,t){var e=/[(,=:[!&|?{};][\\s]*\\/[^\\/]|^[\\s]*\\/[^\\/]/,r=n.search(e);if(r!=-1){r=n.indexOf(\"/\",r);var a=n.substring(r+1),l=f(a,t.l,t);if(l.matchIndex!=-1){a=a.substring(0,l.matchIndex);try{return new RegExp(a),{matchIndex:r,length:1}}catch(s){return null}}}return null}],l:[function(n){for(var t=0,e=n.indexOf(\"/\");e!=-1;)try{new RegExp(n.substring(0,e));break}catch(r){e=n.indexOf(\"/\",t),t=e+1}return e===-1?null:{matchIndex:e,length:1}}],n:!0,m:!0},{a:\"js html\",b:\"quotes\",h:j,j:[/\"/],l:[/\"/,m],n:!0,m:!0},{a:\"js html\",b:\"quotes\",h:j,j:[/'/],l:[/'/,m],n:!0,m:!0},{a:\"js css\",b:\"string\",j:[/(''|\"\"|``)/],l:[/./,m]},{a:\"js css\",b:\"string\",j:[/\\\"(?=[^\"])/],l:[/[^\\\\]\\\"/,m],n:!0,m:!0},{a:\"js css\",b:\"string\",j:[/\\'(?=[^'])/],l:[/[^\\\\]\\'/,m],n:!0,m:!0},{a:\"js css\",b:\"string\",j:[/\\`(?=[^`])/],l:[/[^\\\\]\\`/],n:!0,m:!0},{a:\"js\",b:\"if\",j:[/^if\\s*(?=\\()/,/[\\s]+if\\s*(?=\\()/],l:[/else[\\s]+/,h,/[{;]/],d:!0},{a:\"js\",b:\"for|while\",j:[/^(for|while)\\s*(?=\\()/],l:[h,/[{;]/],d:!0},{a:\"js\",b:\"else\",j:[/else[\\s]+/],l:[/if[^\\w$]/,h,/[{;]/],d:!0},{a:\"js css\",b:\"bracket\",j:[/\\(\\s*(var|let|const)?\\s*/],l:[/\\)/],d:!0,m:!0,f:!0},{a:\"js\",b:\"dot-chain\",j:[/^\\.[A-Za-z$_]/],l:[/[\\.;]/,m],d:!0,k:!0,c:-1},{a:\"js\",b:\"dot-chain\",j:[/\\.\\s*\\r*\\n/],l:[/[\\.;})\\]]/,/[^\\s]\\s*\\r*\\n/],d:!0},{a:\"js css\",b:\"array\",j:[/\\[/],l:[/\\]/],d:!0,m:!0,f:!0},{a:\"js css\",b:\"block\",j:[/\\{/],l:[/\\}/],d:!0,m:!0,f:!0},{a:\"js\",b:\"var/let/const\",j:[/(var|let|const)[\\s]*\\r*\\n/],l:[h],d:!0,g:!0},{a:\"js\",b:\"var/let/const\",j:[/(var|let|const)\\s+(?=[\\w$])/],l:[/[,;=]/,h],d:!0},{a:\"js\",b:\"var/let/const\",i:[\"var/let/const\",\"=\"],j:[/,[\\s]*\\r*\\n/],l:[/[,;]/,h],d:!0,callback:o},{a:\"js\",b:\"var/let/const\",i:[\"var/let/const\",\"=\"],j:[/^,/],l:[/[,;]/,h],k:!0,d:!0,c:-1,callback:o},{a:\"js\",b:\"equality\",j:[/[=<>!]=(=)?/],l:[/./]},{a:\"js\",b:\"=\",h:j,j:[/=/],l:[/[,;\\)\\]}]/,m]},{a:\"js\",b:\"?:\",j:[/\\?/],l:[/[:;]/],g:!0,d:!0},{a:\"js\",b:\"case\",j:[/^(case|default)[\\s:]/],l:[/break[\\s;\\r\\n]/,/^return[\\s;\\r\\n]/,/^case[\\s]+/,/^default[\\s:]/,/}/],g:function(n){return n.endPatternIndex<=1},d:!0,f:!0},{a:\"js\",b:\"semicolon\",j:[/;/],l:[/./]}];return{css:function(n,t){return a(n,r(\"css\",g),t)},js:function(n,t){return a(n,r(\"js\",g),t)},ts:function(n,t){return a(n,r(\"js\",g),t)},html:function(n,t){var e=t&&t.indentHtmlTag?r(\"html\",g,\"html-tag\"):r(\"html\",g);return a(n,e,t)}}}(globalThis);\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\n// @ts-ignore\nimport { indent } from './indent.js';\nimport { hasProperty } from './core.js';\n\ndeclare var process: any;\n\nconst indentCode = ('undefined' !== typeof process && process.env?.DEBUG || '').includes('deepkit');\n\nexport class CompilerContext {\n public readonly context = new Map<string, any>();\n protected constVariables = new Map<any, string>();\n\n public maxReservedVariable: number = 10_000;\n protected reservedNames = new Set<string>();\n protected variableContext: { [name: string]: any } = {};\n\n /**\n * Code that is executed in the context, but before the actual function is generated.\n * This helps for example to initialize dynamically some context variables.\n */\n public preCode: string = '';\n\n public initialiseVariables: string[] = [];\n\n public config: { indent: boolean } = { indent: false };\n\n constructor(config: Partial<CompilerContext['config']> = {}) {\n Object.assign(this.config, config);\n this.context.set('_context', this.variableContext);\n }\n\n reserveName(name: string): string {\n for (let i = 0; i < this.maxReservedVariable; i++) {\n const candidate = name + '_' + i;\n if (!this.reservedNames.has(candidate)) {\n this.reservedNames.add(candidate);\n return candidate;\n }\n }\n\n throw new Error(`Too many context variables (max ${this.maxReservedVariable})`);\n }\n\n set(values: { [name: string]: any }) {\n for (const i in values) {\n if (!hasProperty(values, i)) {\n continue;\n }\n this.context.set(i, values[i]);\n }\n }\n\n /**\n * Returns always the same variable name for the same value.\n * The variable name should not be set afterwards.\n */\n reserveConst(value: any, name: string = 'constVar'): string {\n if (value === undefined) throw new Error('Can not reserve const for undefined value');\n let constName = this.constVariables.get(value);\n if (!constName) {\n constName = this.reserveName(name);\n this.constVariables.set(value, constName);\n this.context.set(constName, value);\n }\n\n return constName;\n }\n\n reserveVariable(name: string = 'var', value?: any): string {\n const freeName = this.reserveName(name);\n if (value === undefined) {\n //to get monomorphic variables, we return a reference to an unassigned object property (which has no type per se)\n return '_context.' + freeName;\n } else {\n //in case when the variable has a value, we simply store it, since it (hopefully) is monomorphic.\n this.context.set(freeName, value);\n return freeName;\n }\n }\n\n raw(functionCode: string): Function {\n try {\n return new Function(...this.context.keys(), `'use strict';\\n` + functionCode)(...this.context.values());\n } catch (error) {\n throw new Error('Could not build function: ' + error + functionCode);\n }\n }\n\n protected format(code: string): string {\n if (indentCode || this.config.indent) return indent.js(code, { tabString: ' ' });\n return code;\n }\n\n build(functionCode: string, ...args: string[]): any {\n functionCode = this.format(`\n 'use strict';\n ${this.preCode}\n return function self(${args.join(', ')}){\n 'use strict';\n ${functionCode}\n };\n `);\n try {\n return new Function(...this.context.keys(), functionCode)(...this.context.values());\n } catch (error) {\n throw new Error(`Could not build function(${[...this.context.keys()].join(',')}): ` + error + functionCode);\n }\n }\n\n buildAsync(functionCode: string, ...args: string[]): Function {\n functionCode = `\n 'use strict';\n ${this.preCode}\n return async function self(${args.join(', ')}){\n 'use strict';\n ${functionCode}\n };\n `;\n try {\n return new Function(...this.context.keys(), this.format(functionCode))(...this.context.values());\n } catch (error) {\n throw new Error('Could not build function: ' + error + functionCode);\n }\n }\n}\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\n\nexport function indent(indentation: number, prefix: string = '') {\n return (str: string = '') => {\n return ' '.repeat(indentation) + str.replace(/\\n/g, '\\n' + (' '.repeat(indentation)) + prefix);\n };\n}\n\nexport function capitalize(string: string): string {\n return string.charAt(0).toUpperCase() + string.slice(1)\n}\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\n\nimport { arrayRemoveItem } from './array.js';\n\ntype AsyncSubscriber<T> = (event: T) => Promise<void> | void;\ntype Subscriber<T> = (event: T) => Promise<void> | void;\n\nexport type AsyncEventSubscription = { unsubscribe: () => void };\nexport type EventSubscription = { unsubscribe: () => void };\n\nlet asyncId = 0;\n\nexport class EmitterEvent {\n public readonly id = asyncId++;\n public stopped = false;\n public propagationStopped = false;\n\n /**\n * Stop propagating the event to subsequent event listeners.\n */\n stopPropagation() {\n this.propagationStopped = true;\n }\n\n /**\n * Signal the emitter that you want to abort.\n * Subsequent event listeners will still be called.\n */\n stop() {\n this.stopped = true;\n }\n}\n\nexport class EventEmitter<T extends EmitterEvent> {\n protected subscribers: Subscriber<T>[] = [];\n\n constructor(protected parent?: EventEmitter<any>) {\n }\n\n public subscribe(callback: Subscriber<T>): EventSubscription {\n this.subscribers.push(callback);\n\n return {\n unsubscribe: () => {\n arrayRemoveItem(this.subscribers, callback);\n }\n };\n }\n\n public emit(event: T): void {\n if (this.parent) this.parent.emit(event);\n if (event.propagationStopped) return;\n\n for (const subscriber of this.subscribers) {\n subscriber(event);\n if (event.propagationStopped) return;\n }\n }\n\n public hasSubscriptions(): boolean {\n return this.subscribers.length > 0;\n }\n}\n\nexport class AsyncEventEmitter<T extends EmitterEvent> {\n protected subscribers: AsyncSubscriber<T>[] = [];\n\n constructor(protected parent?: AsyncEventEmitter<any>) {\n }\n\n public subscribe(callback: AsyncSubscriber<T>): AsyncEventSubscription {\n this.subscribers.push(callback);\n\n return {\n unsubscribe: () => {\n arrayRemoveItem(this.subscribers, callback);\n }\n };\n }\n\n public async emit(event: T): Promise<void> {\n if (this.parent) await this.parent.emit(event);\n if (event.propagationStopped) return;\n\n for (const subscriber of this.subscribers) {\n await subscriber(event);\n if (event.propagationStopped) return;\n }\n }\n\n public hasSubscriptions(): boolean {\n return this.subscribers.length > 0;\n }\n}\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\n\ndeclare var requestAnimationFrame: any;\ndeclare var cancelAnimationFrame: any;\n\nexport const nextTick = typeof requestAnimationFrame !== 'undefined'\n ? (cb: () => void) => requestAnimationFrame(cb) : (cb: () => void) => setTimeout(cb);\n\nexport const clearTick = typeof requestAnimationFrame !== 'undefined'\n ? (id: any) => cancelAnimationFrame(id) : (id: any) => clearTick(id);\n\n/**\n * Wraps a function and calls it only `cps` times per frame.\n *\n * This is handy to throttle all kind of rapid calls, like mouse move events or other kind of events.\n *\n * @example\n * ```typescript\n * function expensiveFunction() {\n * //...\n * }\n *\n * const throttled = throttleTime(expensiveFunction, 5); //5 calls per second max\n *\n * throttled();\n * throttled();\n * throttled();\n * //throttled will here only be called once\n * ```\n */\nexport function throttleTime(call: Function, cps = 5): (...args: any[]) => void {\n let last = Date.now();\n let dirty = false;\n let lastArgs: any[][] = [];\n let execution = false;\n\n function tick() {\n const now = Date.now();\n\n if (!execution && now - last > 1000 / cps) {\n execution = true;\n call(...lastArgs);\n dirty = false;\n last = Date.now();\n execution = false;\n }\n\n if (dirty) {\n nextTick(tick);\n }\n }\n\n return (...args) => {\n dirty = true;\n lastArgs = args;\n tick();\n };\n}\n\n/**\n * This functions returns a stack that is filled as long as the gate is not activated.\n * Once activated all recorded calls go to given callback and subsequent calls go directly to given callback.\n */\nexport function bufferedGate<T>(callback: (arg: T) => any) {\n const q: T[] = [];\n let activated = false;\n\n const throttled = throttleTime(async () => {\n if (q.length === 0) return;\n\n for (const t of q) {\n const result = callback(t);\n if (result instanceof Promise) {\n await result;\n }\n }\n //empty the queue\n q.splice(0, q.length);\n });\n\n return {\n activate: () => {\n activated = true;\n throttled();\n },\n call: (i: T) => {\n q.push(i);\n\n if (activated) {\n throttled();\n }\n }\n };\n}\n","/*\n * Deepkit Framework\n * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the MIT License.\n *\n * You should have received a copy of the MIT License along with this program.\n */\nimport { ClassType } from \"./core.js\";\n\nconst COMMENTS = /((\\/\\/.*$)|(\\/\\*[\\s\\S]*?\\*\\/))/mg;\nconst DEFAULT_PARAMS = /=[^,]+/mg;\nconst FAT_ARROWS = /=>.*$/mg;\n\nexport function extractParameters(fn: string | Function | ClassType): string[] {\n fn = typeof fn === 'string' ? fn : fn.toString();\n fn = removeStrings(fn);\n\n if (fn.startsWith('class')) {\n const start = fn.match(new RegExp('[\\t\\ \\n{]constructor\\\\('));\n if (!start) return [];\n\n fn = fn.substr((start.index || 0) + start[0].length);\n\n fn = fn.replace(COMMENTS, '').replace(FAT_ARROWS, '').replace(DEFAULT_PARAMS, '');\n return fn.slice(0, fn.indexOf('{')).match(/([^\\(\\){\\s,]+)/g) || [];\n } else {\n fn = fn.replace(COMMENTS, '').replace(FAT_ARROWS, '').replace(DEFAULT_PARAMS, '');\n return fn.slice(fn.indexOf('(') + 1, fn.indexOf('{')).match(/([^\\(\\)\\{\\}\\s,]+)/g) || [];\n }\n}\n\nexport function extractMethodBody(classCode: string, name: string): string {\n let methodCode = '';\n classCode = removeStrings(classCode);\n const start = classCode.match(new RegExp('[\\t\\ \\n]' + name + '\\\\('));\n if (!start) return '';\n\n classCode = classCode.substr((start.index || 0) + start[0].length);\n\n let blockDepth = 1;\n classCode = classCode.substr(classCode.indexOf('{') + 1);\n\n for (let i = 0; i < classCode.length; i++) {\n const char = classCode[i];\n if (char === '{') blockDepth++;\n if (char === '}') blockDepth--;\n\n if (blockDepth === 0) {\n return methodCode;\n }\n\n if (char === '\\n' || char === '\\t' || char === ' ') continue;\n methodCode += char;\n }\n\n return methodCode;\n}\n\nexport function removeStrings(code: string) {\n let result = '';\n let inString: false | '\"' | '\\'' = false;\n for (let i = 0; i < code.length; i++) {\n const char = code[i];\n if (inString && char === '\\\\') {\n i++;\n continue;\n }\n\n if (char === '\"') {\n if (inString === '\"') {\n //end string\n inString = false;\n continue;\n }\n if (!inString) {\n inString = '\"';\n continue;\n }\n }\n\n if (char === '\\'') {\n if (inString === '\\'') {\n //end string\n inString = false;\n continue;\n }\n if (!inString) {\n inString = '\\'';\n continue;\n }\n }\n\n if (!inString) {\n result += char;\n }\n }\n return result;\n}\n","function removeSlash(v: string): string {\n return v.replace(/(^\\/+)|(\\/+$)/g, '');\n}\n\nexport function urlJoin(...path: string[]): string {\n const leadingSlash = path[0] && path[0] !== '/' && path[0][0] === '/';\n const last = path[path.length - 1];\n const trailingSlash = last && last !== '/' && last[last.length - 1] === '/';\n return (leadingSlash ? '/' : '') + path.filter(v => !!v).map(v => v === '/' ? '' : removeSlash(v.trim())).join('/') + (trailingSlash ? '/' : '');\n}\n","const __ΩTypeAnnotation = [\n 'T',\n 'Options',\n 'TypeAnnotation',\n 'b!!c\"#w#y'\n];\nexport { __ΩTypeAnnotation as __ΩTypeAnnotation };\nconst __ΩInjectMeta = [\n 'T',\n ()=>__ΩTypeAnnotation,\n \"inject\",\n 'InjectMeta',\n '!c!.#e!!o\"#w$y'\n];\nexport { __ΩInjectMeta as __ΩInjectMeta };\nconst __ΩInject = [\n 'Type',\n 'Token',\n ()=>__ΩInjectMeta,\n 'Inject',\n 'b!!c\"Pe\"!e\"\"o#\"Kw$y'\n];\nexport { __ΩInject as __ΩInject }; //# sourceMappingURL=types.js.map\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy50cyJdLCJzb3VyY2VSb290IjoiIiwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9","declare const Buffer: any;\n\n/**\n * Create a buffer of the given size (uninitialized, so it may contain random data).\n *\n * Note that the result is either Uin8Array or Buffer, depending on the environment.\n * Buffer from NodeJS works slightly different than Uint8Array.\n */\nexport const createBuffer: (size: number) => Uint8Array = 'undefined' !== typeof Buffer && 'function' === typeof Buffer.allocUnsafe ? Buffer.allocUnsafe : (size) => new Uint8Array(size);\n\n/**\n * Concat multiple buffers into one.\n */\nexport function bufferConcat(chunks: Uint8Array[], length?: number): Uint8Array {\n if (undefined === length) {\n length = 0;\n for (const chunk of chunks) length += chunk.length;\n }\n\n const result = createBuffer(length);\n let offset = 0;\n for (const chunk of chunks) {\n result.set(chunk, offset);\n offset += chunk.length;\n }\n\n return result;\n}\n\nconst textEncoder = new TextDecoder();\n\nexport const uint8ArrayToUtf8 = 'undefined' !== typeof Buffer ? (buffer: Uint8Array) => Buffer.from(buffer).toString('utf8') : (buffer: Uint8Array) => textEncoder.decode(buffer);\n\n/**\n * Convert a buffer to a string.\n */\nexport function bufferToString(buffer: string | Uint8Array): string {\n if ('string' === typeof buffer) return buffer;\n return uint8ArrayToUtf8(buffer);\n}\n\nexport function nativeBase64ToUint8Array(base64: string): Uint8Array {\n const raw = atob(base64);\n const rawLength = raw.length;\n const array = createBuffer(rawLength);\n\n for (let i = 0; i < rawLength; i++) {\n array[i] = raw.charCodeAt(i);\n }\n return array;\n}\n\n/**\n * Converts a base64 string to a Uint8Array.\n */\nexport const base64ToUint8Array: (v: string) => Uint8Array = 'undefined' === typeof Buffer ? nativeBase64ToUint8Array : (base64: string) => Buffer.from(base64, 'base64');\n","/**\n * Normalizes the given path.\n * Removes duplicate slashes, removes trailing slashes, adds a leading slash.\n */\nexport function pathNormalize(path: string): string {\n path = path[0] !== '/' ? '/' + path : path;\n path = path.length > 1 && path[path.length - 1] === '/' ? path.slice(0, -1) : path;\n return path.replace(/\\/+/g, '/');\n}\n\n/**\n * Returns the directory (dirname) of the given path.\n */\nexport function pathDirectory(path: string): string {\n if (path === '/') return '/';\n const lastSlash = path.lastIndexOf('/');\n return lastSlash <= 0 ? '/' : path.slice(0, lastSlash);\n}\n\n/**\n * Returns the basename of the given path.\n */\nexport function pathBasename(path: string): string {\n const lastSlash = path.lastIndexOf('/');\n return lastSlash === -1 ? path : path.slice(lastSlash + 1);\n}\n\n/**\n * Returns the extension of the given path.\n */\nexport function pathExtension(path: string): string {\n const basename = pathBasename(path);\n const lastDot = basename.lastIndexOf('.');\n return lastDot === -1 ? '' : basename.slice(lastDot + 1);\n}\n\nexport function pathJoin(...paths: string[]): string {\n return '/' + paths\n .map(v => pathNormalize(v).slice(1))\n .filter(v => !!v)\n .join('/');\n}\n"]}
|