typescript-class-helpers 19.0.1 → 19.0.3
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/assets/shared/shared_folder_info.txt +1 -1
- package/browser/esm2022/lib/classname.mjs +164 -0
- package/browser/esm2022/lib/describe-class.mjs +72 -0
- package/browser/esm2022/lib/errors-messages.mjs +14 -0
- package/browser/esm2022/lib/index.mjs +186 -0
- package/browser/esm2022/lib/models.mjs +36 -0
- package/browser/esm2022/lib/registerd-db.mjs +6 -0
- package/browser/esm2022/lib/set-class-name.mjs +90 -0
- package/browser/esm2022/lib/storage.mjs +24 -0
- package/browser/esm2022/lib/symbols.mjs +9 -0
- package/browser/esm2022/public-api.mjs +2 -0
- package/browser/esm2022/typescript-class-helpers.mjs +5 -0
- package/browser/fesm2022/typescript-class-helpers.mjs.map +1 -1
- package/browser/package.json +13 -0
- package/client/esm2022/lib/classname.mjs +164 -0
- package/client/esm2022/lib/describe-class.mjs +72 -0
- package/client/esm2022/lib/errors-messages.mjs +14 -0
- package/client/esm2022/lib/index.mjs +186 -0
- package/client/esm2022/lib/models.mjs +36 -0
- package/client/esm2022/lib/registerd-db.mjs +6 -0
- package/client/esm2022/lib/set-class-name.mjs +90 -0
- package/client/esm2022/lib/storage.mjs +24 -0
- package/client/esm2022/lib/symbols.mjs +9 -0
- package/client/esm2022/public-api.mjs +2 -0
- package/client/esm2022/typescript-class-helpers.mjs +5 -0
- package/client/fesm2022/typescript-class-helpers.mjs.map +1 -1
- package/client/package.json +13 -0
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/package.json +1 -1
- package/tmp-environment.json +4 -3
- package/websql/esm2022/lib/classname.mjs +164 -0
- package/websql/esm2022/lib/describe-class.mjs +72 -0
- package/websql/esm2022/lib/errors-messages.mjs +14 -0
- package/websql/esm2022/lib/index.mjs +186 -0
- package/websql/esm2022/lib/models.mjs +34 -0
- package/websql/esm2022/lib/registerd-db.mjs +6 -0
- package/websql/esm2022/lib/set-class-name.mjs +90 -0
- package/websql/esm2022/lib/storage.mjs +24 -0
- package/websql/esm2022/lib/symbols.mjs +9 -0
- package/websql/esm2022/public-api.mjs +2 -0
- package/websql/esm2022/typescript-class-helpers.mjs +5 -0
- package/websql/fesm2022/typescript-class-helpers.mjs.map +1 -1
- package/websql/package.json +13 -0
- package/taon.jsonc +0 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-class-helpers.mjs","sources":["../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/models.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/symbols.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/storage.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/set-class-name.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/registerd-db.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/errors-messages.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/classname.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/describe-class.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/index.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/typescript-class-helpers.ts"],"sourcesContent":["\n\nimport { CoreModels } from 'tnp-core/browser';\n\nexport namespace Models {\n\n /**\n * @deprecated\n */\n export type CLASSNAMEOptions = {\n uniqueKey?: string,\n /**\n * autoinstance - create instance of singleton automaticly inside decorator\n * first-instance - use first instace of created class as decorator\n */\n singleton?: 'autoinstance' | 'first-instance' | 'last-instance' | boolean,\n classFamily?: string,\n classNameInBrowser?: string,\n }\n\n /**\n * @deprecated\n */\n export class ParamConfig {\n paramName: string;\n paramType: CoreModels.ParamType;\n index: number;\n defaultType: any;\n expireInSeconds?: number;\n }\n\n /**\n * @deprecated\n */\n export class MethodConfig {\n methodName: string;\n /**\n * path is global in express app\n */\n global?: boolean;\n /**\n * override default content type\n */\n contentType?: any;\n /**\n * override default axiso response type\n */\n responseType?: any;\n path: string;\n descriptor: PropertyDescriptor;\n type: CoreModels.HttpMethod;\n/* */\n/* */\n \n parameters: { [paramName: string]: ParamConfig } = {};\n }\n\n /**\n * @deprecated\n */\n export interface ClassMeta {\n uniqueKey?: string;\n className?: string;\n classFamily?: string;\n classNameInBrowser?: string;\n target?: Function;\n }\n\n /**\n * @deprecated\n */\n export class ClassConfig {\n browserTransformFn?: (entity: any) => any;\n // @ts-ignore\n singleton: Object = void 0;\n injections: { getter: Function, propertyName: string; }[] = [];\n calculatedPath: string;\n path: string;\n vChildren?: ClassConfig[] = [];\n vParent?: ClassConfig;\n classReference: Function;\n className?: string;\n uniqueKey?: string;\n classNameInBrowser?: string;\n methods: { [methodName: string]: MethodConfig } = {};\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/models.ts","\n\nexport const SYMBOL = {\n MODELS_MAPPING: Symbol(),\n DEFAULT_MODEL: Symbol(),\n STORAGE: 'classesstorage',\n CLASSES: 'classes',\n ClassNameStaticProperty : '$$className$$'\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/symbols.ts","\n\nimport { Helpers } from 'tnp-core/browser';\nimport { SYMBOL } from './symbols';\nimport { _ } from 'tnp-core/browser';\n\nfunction defaultValues() {\n return _.cloneDeep({\n [SYMBOL.CLASSES]: []\n })\n}\n\nexport function getStorage<T = any>(property?: string): T {\n\n/* */\n/* */\n/* */\n/* */\n \n\n if (typeof property === 'string') {\n\n const storageInClassStaticProp = getStorage();\n return storageInClassStaticProp[property]\n }\n\n if (typeof defaultValues.prototype[SYMBOL.STORAGE] === 'undefined') {\n defaultValues.prototype[SYMBOL.STORAGE] = defaultValues()\n }\n return defaultValues.prototype[SYMBOL.STORAGE]\n}\n\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/storage.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { SYMBOL } from './symbols';\nimport { Models } from './models';\nimport { getStorage } from './storage';\nimport { CLASSNAME } from './classname';\nimport { CLASS } from './index';\n\n\nfunction getClasses(): Models.ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\n\n// @ts-ignore\nexport function setClassName(target: Function, className: string, options?: Models.CLASSNAMEOptions) {\n\n let { classFamily, uniqueKey, classNameInBrowser, singleton } = options || {\n classFamily: void 0,\n uniqueKey: 'id',\n classNameInBrowser: void 0,\n singleton: void 0,\n autoinstance: false\n } as Models.CLASSNAMEOptions;\n\n if (!_.isUndefined(singleton) && _.isBoolean(singleton) && singleton) {\n singleton = 'first-instance'\n }\n\n if (!uniqueKey) {\n uniqueKey = 'id'\n }\n\n if (target) {\n const config = _.first(CLASSNAME.getClassConfig(target));\n config.className = className;\n config.uniqueKey = uniqueKey;\n config.classNameInBrowser = classNameInBrowser;\n\n }\n\n const existed = (getClasses() as { className: string; target: Function; }[])\n .find(f => f.className === className)\n\n if (existed) {\n existed.target = target;\n } else {\n const res = {\n className,\n classNameInBrowser,\n target,\n uniqueKey,\n classFamily\n }\n\n if (_.isUndefined(classFamily)) {\n Object.defineProperty(res, 'classFamily', {\n get: function () {\n const parent = Object.getPrototypeOf(target);\n if (!_.isFunction(parent) || parent.name === 'Object' || parent.name === '') {\n return className;\n }\n const classNameNew = CLASSNAME.getClassName(parent)\n return CLASSNAME.getClassFamilyByClassName(classNameNew)\n }\n })\n }\n getClasses().push(res)\n }\n const Original = target;\n\n\n if (singleton === 'first-instance' || singleton === 'last-instance') {\n const obj = {\n // @ts-ignore\n decoratedConstructor: function (...args) {\n\n const context = Original.apply(this, args);\n\n const existedSingleton = CLASS.getSingleton(Original)\n if (!existedSingleton || singleton === 'last-instance') {\n CLASS.setSingletonObj(Original, this)\n CLASS.setSingletonObj(obj.decoratedConstructor, this)\n\n }\n else {\n\n }\n\n return context;\n }\n };\n\n\n obj.decoratedConstructor.prototype = Original.prototype;\n // @ts-ignore\n Object.keys(Original).forEach((name: string) => { obj.decoratedConstructor[name] = (<any>Original)[name]; });\n Object.defineProperty(obj.decoratedConstructor, 'name', {\n value: className,\n configurable: true,\n })\n\n\n return obj.decoratedConstructor;\n } else if (singleton === 'autoinstance') {\n\n\n const auto = new (Original as any)();\n CLASS.setSingletonObj(Original, auto)\n\n\n }\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/set-class-name.ts","\n\nimport { Models } from './models';\nexport const registerd = {\n configs: [] as Models.ClassConfig[],\n classes: [] as Function[],\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/registerd-db.ts","\n\n\nexport const ERROR_MSG_CLASS_WITHOUT_DECORATOR = `[typescript-class-helpers][getClassName(...)](PRODUCTION MODE ERROR)\nPlease use decoartor @CLASSNAME for each entity or controller\nThis is preventing class name problem in minified code.\n // @ts-ignore\nimport { CLASS } from '../lib';\n\n@CLASS.NAME('ExampleClass')\nclass ExampleClass {\n ...\n}\n`;\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/errors-messages.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { Models } from './models';\nimport { SYMBOL } from './symbols';\nimport { TchHelpers } from './index';\nimport { Helpers } from 'tnp-core/browser';\nimport { getStorage } from './storage';\nimport { setClassName } from './set-class-name';\nimport { registerd } from './registerd-db';\nimport { ERROR_MSG_CLASS_WITHOUT_DECORATOR } from './errors-messages';\n/* */\n/* */\n \n\nfunction getClasses(): Models.ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\nexport namespace CLASSNAME {\n export function getClassConfig(\n target: Function,\n configs: Models.ClassConfig[] = [],\n callerTarget?: Function,\n ): Models.ClassConfig[] {\n if (!_.isFunction(target)) {\n throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;\n }\n\n let config: Models.ClassConfig;\n const parentClass = Object.getPrototypeOf(target);\n const isValidParent = _.isFunction(parentClass) && parentClass.name !== '';\n\n if (registerd.classes.includes(target)) {\n config =\n registerd.configs[registerd.classes.findIndex(c => c === target)];\n } else {\n config = new Models.ClassConfig();\n config.classReference = target;\n registerd.classes.push(target);\n }\n\n registerd.configs[registerd.classes.findIndex(c => c === target)] = config;\n if (callerTarget) {\n const callerTargetConfig =\n registerd.configs[registerd.classes.findIndex(c => c === callerTarget)];\n if (!config.vChildren.includes(callerTargetConfig)) {\n config.vChildren.push(callerTargetConfig);\n }\n callerTargetConfig.vParent = config;\n }\n\n configs.push(config);\n\n return isValidParent\n ? getClassConfig(parentClass, configs, target)\n : configs;\n }\n\n /**\n * PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE\n * Decorator requred for production mode\n * @param name Name of class\n */\n export function CLASSNAME(\n className: string,\n options?: Models.CLASSNAMEOptions,\n ) {\n return function (target: Function) {\n\n return setClassName(target, className, options);\n } as any;\n }\n\n export function getClassName(target: Function, production = false) {\n if (_.isNil(target)) {\n\n\n return void 0;\n }\n if (_.isString(target)) {\n\n Helpers.log(\n `[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`,\n );\n return target;\n }\n if (!_.isFunction(target)) {\n\n Helpers.log(\n `[typescript-class-helpers][getClassName] target is not a class`,\n );\n return void 0;\n }\n\n if (target[SYMBOL.ClassNameStaticProperty]) {\n return target[SYMBOL.ClassNameStaticProperty];\n }\n\n const configs = getClassConfig(target);\n const config = _.first(configs);\n\n const classNameInBrowser = config?.classNameInBrowser;\n\n if (Helpers.isBrowser && _.isString(classNameInBrowser)) {\n return classNameInBrowser;\n }\n\n const className = config?.className;\n\n if (typeof className === 'string') {\n return className;\n }\n\n if (production) {\n console.log('class without @CLASS.NAME deocrator', target as any);\n throw new Error(ERROR_MSG_CLASS_WITHOUT_DECORATOR);\n } else {\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n if (target.name?.startsWith('class_')) {\n return '';\n }\n\n return target.name;\n }\n\n // @ts-ignore\n export function getObjectIndexPropertyValue(obj: any) {\n const className = TchHelpers.getNameFromObject(obj);\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n return c.uniqueKey;\n }\n }\n\n // @ts-ignore\n export function getClassFamilyByClassName(className: string) {\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n return c.classFamily;\n }\n }\n\n // @ts-ignore\n export function getObjectClassFamily(obj: any) {\n const className = TchHelpers.getNameFromObject(obj);\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n return c.classFamily;\n }\n }\n\n export function getObjectIndexValue(obj: any) {\n const className = TchHelpers.getNameFromObject(obj);\n\n let c = getClasses().find(c => c.className === className);\n\n if (c && _.isString(c.uniqueKey)) {\n return obj[c.uniqueKey];\n }\n }\n\n export function getClassBy(className: string | Function): Function {\n let res;\n if (Array.isArray(className)) {\n if (className.length !== 1) {\n throw `Mapping error... please use proper class names:\n {\n propertyObject: 'MyClassName',\n propertyWithArray: ['MyClassName']\n }\n\n `;\n }\n className = className[0];\n }\n if (typeof className === 'function') {\n\n res = className;\n }\n if (className === 'Date') {\n res = Date;\n }\n\n if (className === 'FormData') {\n res = FormData;\n }\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n res = c.target;\n }\n\n // @ts-ignore\n return res;\n }\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/classname.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { SYMBOL } from './symbols';\n\n\n\n/**\n * @DEPRECATED\n * Describe fields assigned in class\n */\nconst FRegEx = new RegExp(/(?:this\\.)(.+?(?= ))/g);\nexport function describeFromClassStringify(target: Function, parent = false): string[] {\n // @ts-ignore\n var result = [];\n if (parent) {\n var proto = Object.getPrototypeOf(target.prototype);\n if (proto) {\n // @ts-ignore\n result = result.concat(describeFromClassStringify(proto.constructor, parent));\n }\n }\n const classString = target.toString();\n const matches = classString.match(FRegEx) || []\n\n\n\n\n result = result.concat(matches);\n return result.map(prop => prop\n .replace('this.', '')\n .replace('.', '')\n .replace(')', '')\n .replace('(', '')\n )\n\n}\n\n/**\n * Describe fields assigne through @DefaultModelWithMapping decorator\n * without functions\n */\nexport function describeByDefaultModelsAndMapping(target: Function): string[] {\n let res = {}\n if (target) {\n // @ts-ignore\n if (target[SYMBOL.DEFAULT_MODEL]) {\n // @ts-ignore\n Object.keys(target[SYMBOL.DEFAULT_MODEL])\n .filter(key => {\n // @ts-ignore\n return !_.isFunction(target[SYMBOL.DEFAULT_MODEL][key]);\n })\n .forEach(key => {\n // @ts-ignore\n return res[key] = null;\n });\n }\n // @ts-ignore\n let mapping = target[SYMBOL.MODELS_MAPPING];\n if (_.isArray(mapping)) {\n mapping.forEach(m => {\n Object.keys(m)\n .forEach(key => {\n // @ts-ignore\n res[key] = null;\n });\n })\n } else if (mapping) {\n\n Object.keys(mapping)\n .forEach(key => {\n // @ts-ignore\n res[key] = null;\n });\n }\n }\n\n let propNames = Object.keys(res).filter(f => !!f);\n propNames = (!propNames.includes('id') ? ['id'] : []).concat(propNames);\n return propNames;\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/describe-class.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { CLASSNAME } from './classname';\nimport { describeFromClassStringify, describeByDefaultModelsAndMapping } from './describe-class';\nimport { Models } from './models';\nimport { setClassName } from './set-class-name';\n\nexport { Models } from './models';\nexport { SYMBOL } from './symbols';\n\nexport class TchHelpers {\n\n static getBy(className: string | Function) {\n return CLASSNAME.getClassBy(className);\n }\n\n static getFromObject(o: Object) {\n if (_.isUndefined(o) || _.isNull(o)) {\n return;\n }\n if (o.constructor) {\n return o.constructor;\n }\n const p = Object.getPrototypeOf(o);\n return p && p.constructor;\n }\n\n static getName(target: Function, production = false) {\n return CLASSNAME.getClassName(target, production) as string;\n }\n\n static getNameFromObject(o: Object) {\n const fnCLass = this.getFromObject(o);\n return this.getName(fnCLass);\n }\n\n static getConfigs(target: Function): Models.ClassConfig[] {\n return CLASSNAME.getClassConfig(target)\n }\n\n static describeProperites(target: Function) {\n const d1 = describeFromClassStringify(target);\n const d2 = describeByDefaultModelsAndMapping(target);\n let uniq = {};\n // @ts-ignore\n d1.concat(d2).forEach(p => uniq[p] = p);\n return Object.keys(uniq)\n .filter(d => !!d)\n .filter(d => typeof target.prototype[d] !== 'function')\n }\n\n}\n\nconst notAllowedAsMethodName = [\n 'length', 'name',\n 'arguments', 'caller',\n 'constructor', 'apply',\n 'bind', 'call',\n 'toString',\n '__defineGetter__',\n '__defineSetter__', 'hasOwnProperty',\n '__lookupGetter__', '__lookupSetter__',\n 'isPrototypeOf', 'propertyIsEnumerable',\n 'valueOf', '__proto__', 'toLocaleString',\n];\n\nconst getMethodsNames = (classOrClassInstance: any, allMethodsNames = []): string[] => {\n if (!classOrClassInstance) {\n return allMethodsNames;\n }\n\n const isClassFunction = _.isFunction(classOrClassInstance);\n const classFun = (isClassFunction ? classOrClassInstance : Object.getPrototypeOf(classOrClassInstance));\n const objectToCheck = isClassFunction ? (classOrClassInstance as Function)?.prototype : classOrClassInstance;\n const prototypeObj = Object.getPrototypeOf(objectToCheck || {});\n\n const properties = _.uniq([\n ...Object.getOwnPropertyNames(objectToCheck || {}),\n ...Object.getOwnPropertyNames(prototypeObj || {}),\n ...Object.keys(objectToCheck || {}),\n ...Object.keys(prototypeObj || {}),\n ])\n .filter(f => !!f && !notAllowedAsMethodName.includes(f));\n\n properties.filter((methodName) => typeof objectToCheck[methodName] === 'function').forEach(p => allMethodsNames.push(p));\n\n if (!classFun || !classFun.constructor || classFun?.constructor?.name === 'Object') {\n return allMethodsNames;\n }\n return getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);\n};\n\nexport const CLASS = {\n NAME: CLASSNAME.CLASSNAME,\n setName: setClassName,\n getBy: TchHelpers.getBy,\n /**\n * @deprecated\n */\n getSingleton<T = any>(target: Function) {\n if (typeof target !== 'function') {\n console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`)\n return\n }\n const config = TchHelpers.getConfigs(target)[0]\n\n\n return config.singleton as T;\n },\n /**\n * @deprecated\n */\n setSingletonObj(target: Function, singletonObject: any) {\n\n if (typeof target !== 'function') {\n console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`)\n return\n }\n\n if (Array.isArray(singletonObject)) {\n console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant be an array`)\n return\n }\n\n if (typeof singletonObject !== 'object') {\n console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant must be a object`)\n return\n }\n\n const className = CLASS.getName(target);\n\n\n\n const config = TchHelpers.getConfigs(target)[0]\n\n if (config.singleton) {\n console.warn(`[typescript-class-helpers] You are trying to set singleton of \"${className}\" second time with different object.`)\n }\n\n config.singleton = singletonObject;\n },\n /**\n * @deprecated\n */\n getConfigs: TchHelpers.getConfigs,\n /**\n * @deprecated\n */\n getConfig: (target: Function) => {\n return _.first(TchHelpers.getConfigs(target));\n },\n\n\n getMethodsNames(classOrClassInstance: any): string[] {\n return getMethodsNames(classOrClassInstance);\n },\n getFromObject: TchHelpers.getFromObject,\n getName: TchHelpers.getName,\n getNameFromObject: TchHelpers.getNameFromObject,\n describeProperites: TchHelpers.describeProperites,\n /**\n * @deprecated\n */\n OBJECT: (obj: any) => {\n return {\n get indexValue() {\n return CLASSNAME.getObjectIndexValue(obj);\n },\n get indexProperty() {\n return CLASSNAME.getObjectIndexPropertyValue(obj);\n },\n get isClassObject() {\n\n if (!_.isObject(obj) || _.isArray(obj) || _.isRegExp(obj) ||\n _.isBuffer(obj) || _.isArrayBuffer(obj)) {\n return false;\n }\n if (_.isDate(obj)) {\n return true;\n }\n const className = CLASS.getNameFromObject(obj)\n return _.isString(className) && className !== 'Object';\n },\n isEqual: (anotherObj: any, compareDeep = false) => {\n if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {\n return false;\n }\n if (obj === anotherObj) {\n\n return true;\n }\n const v1 = CLASSNAME.getObjectIndexValue(obj);\n const v2 = CLASSNAME.getObjectIndexValue(anotherObj);\n const f1 = CLASSNAME.getObjectClassFamily(obj)\n const f2 = CLASSNAME.getObjectClassFamily(anotherObj)\n const isFamilyDiff = (!_.isString(f1) || !_.isString(f2) || (f1 !== f2));\n\n if (isFamilyDiff) {\n\n return false;\n }\n if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {\n\n return false\n }\n\n\n\n\n\n if ((_.isNumber(v1) && _.isNumber(v2)) || (_.isString(v1) && _.isString(v2))) {\n\n const res = (v1 === v2);\n // @ts-ignore\n return res;\n }\n if (compareDeep) {\n return _.isEqual(v1, v2)\n }\n return false;\n }\n }\n }\n}\n\nexport * from 'enum-values';\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getClasses"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typescript-class-helpers.mjs","sources":["../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/models.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/symbols.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/storage.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/set-class-name.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/registerd-db.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/errors-messages.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/classname.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/describe-class.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/index.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/typescript-class-helpers.ts"],"sourcesContent":["\n\nimport { CoreModels } from 'tnp-core/browser';\n\nexport namespace Models {\n\n /**\n * @deprecated\n */\n export type CLASSNAMEOptions = {\n uniqueKey?: string,\n /**\n * autoinstance - create instance of singleton automaticly inside decorator\n * first-instance - use first instace of created class as decorator\n */\n singleton?: 'autoinstance' | 'first-instance' | 'last-instance' | boolean,\n classFamily?: string,\n classNameInBrowser?: string,\n }\n\n /**\n * @deprecated\n */\n export class ParamConfig {\n paramName: string;\n paramType: CoreModels.ParamType;\n index: number;\n defaultType: any;\n expireInSeconds?: number;\n }\n\n /**\n * @deprecated\n */\n export class MethodConfig {\n methodName: string;\n /**\n * path is global in express app\n */\n global?: boolean;\n /**\n * override default content type\n */\n contentType?: any;\n /**\n * override default axiso response type\n */\n responseType?: any;\n path: string;\n descriptor: PropertyDescriptor;\n type: CoreModels.HttpMethod;\n/* */\n/* */\n \n parameters: { [paramName: string]: ParamConfig } = {};\n }\n\n /**\n * @deprecated\n */\n export interface ClassMeta {\n uniqueKey?: string;\n className?: string;\n classFamily?: string;\n classNameInBrowser?: string;\n target?: Function;\n }\n\n /**\n * @deprecated\n */\n export class ClassConfig {\n browserTransformFn?: (entity: any) => any;\n // @ts-ignore\n singleton: Object = void 0;\n injections: { getter: Function, propertyName: string; }[] = [];\n calculatedPath: string;\n path: string;\n vChildren?: ClassConfig[] = [];\n vParent?: ClassConfig;\n classReference: Function;\n className?: string;\n uniqueKey?: string;\n classNameInBrowser?: string;\n methods: { [methodName: string]: MethodConfig } = {};\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/models.ts","\n\nexport const SYMBOL = {\n MODELS_MAPPING: Symbol(),\n DEFAULT_MODEL: Symbol(),\n STORAGE: 'classesstorage',\n CLASSES: 'classes',\n ClassNameStaticProperty : '$$className$$'\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/symbols.ts","\n\nimport { Helpers } from 'tnp-core/browser';\nimport { SYMBOL } from './symbols';\nimport { _ } from 'tnp-core/browser';\n\nfunction defaultValues() {\n return _.cloneDeep({\n [SYMBOL.CLASSES]: []\n })\n}\n\nexport function getStorage<T = any>(property?: string): T {\n\n/* */\n/* */\n/* */\n/* */\n \n\n if (typeof property === 'string') {\n\n const storageInClassStaticProp = getStorage();\n return storageInClassStaticProp[property]\n }\n\n if (typeof defaultValues.prototype[SYMBOL.STORAGE] === 'undefined') {\n defaultValues.prototype[SYMBOL.STORAGE] = defaultValues()\n }\n return defaultValues.prototype[SYMBOL.STORAGE]\n}\n\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/storage.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { SYMBOL } from './symbols';\nimport { Models } from './models';\nimport { getStorage } from './storage';\nimport { CLASSNAME } from './classname';\nimport { CLASS } from './index';\n\n\nfunction getClasses(): Models.ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\n\n// @ts-ignore\nexport function setClassName(target: Function, className: string, options?: Models.CLASSNAMEOptions) {\n\n let { classFamily, uniqueKey, classNameInBrowser, singleton } = options || {\n classFamily: void 0,\n uniqueKey: 'id',\n classNameInBrowser: void 0,\n singleton: void 0,\n autoinstance: false\n } as Models.CLASSNAMEOptions;\n\n if (!_.isUndefined(singleton) && _.isBoolean(singleton) && singleton) {\n singleton = 'first-instance'\n }\n\n if (!uniqueKey) {\n uniqueKey = 'id'\n }\n\n if (target) {\n const config = _.first(CLASSNAME.getClassConfig(target));\n config.className = className;\n config.uniqueKey = uniqueKey;\n config.classNameInBrowser = classNameInBrowser;\n\n }\n\n const existed = (getClasses() as { className: string; target: Function; }[])\n .find(f => f.className === className)\n\n if (existed) {\n existed.target = target;\n } else {\n const res = {\n className,\n classNameInBrowser,\n target,\n uniqueKey,\n classFamily\n }\n\n if (_.isUndefined(classFamily)) {\n Object.defineProperty(res, 'classFamily', {\n get: function () {\n const parent = Object.getPrototypeOf(target);\n if (!_.isFunction(parent) || parent.name === 'Object' || parent.name === '') {\n return className;\n }\n const classNameNew = CLASSNAME.getClassName(parent)\n return CLASSNAME.getClassFamilyByClassName(classNameNew)\n }\n })\n }\n getClasses().push(res)\n }\n const Original = target;\n\n\n if (singleton === 'first-instance' || singleton === 'last-instance') {\n const obj = {\n // @ts-ignore\n decoratedConstructor: function (...args) {\n\n const context = Original.apply(this, args);\n\n const existedSingleton = CLASS.getSingleton(Original)\n if (!existedSingleton || singleton === 'last-instance') {\n CLASS.setSingletonObj(Original, this)\n CLASS.setSingletonObj(obj.decoratedConstructor, this)\n\n }\n else {\n\n }\n\n return context;\n }\n };\n\n\n obj.decoratedConstructor.prototype = Original.prototype;\n // @ts-ignore\n Object.keys(Original).forEach((name: string) => { obj.decoratedConstructor[name] = (<any>Original)[name]; });\n Object.defineProperty(obj.decoratedConstructor, 'name', {\n value: className,\n configurable: true,\n })\n\n\n return obj.decoratedConstructor;\n } else if (singleton === 'autoinstance') {\n\n\n const auto = new (Original as any)();\n CLASS.setSingletonObj(Original, auto)\n\n\n }\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/set-class-name.ts","\n\nimport { Models } from './models';\nexport const registerd = {\n configs: [] as Models.ClassConfig[],\n classes: [] as Function[],\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/registerd-db.ts","\n\n\nexport const ERROR_MSG_CLASS_WITHOUT_DECORATOR = `[typescript-class-helpers][getClassName(...)](PRODUCTION MODE ERROR)\nPlease use decoartor @CLASSNAME for each entity or controller\nThis is preventing class name problem in minified code.\n // @ts-ignore\nimport { CLASS } from '../lib';\n\n@CLASS.NAME('ExampleClass')\nclass ExampleClass {\n ...\n}\n`;\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/errors-messages.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { Models } from './models';\nimport { SYMBOL } from './symbols';\nimport { TchHelpers } from './index';\nimport { Helpers } from 'tnp-core/browser';\nimport { getStorage } from './storage';\nimport { setClassName } from './set-class-name';\nimport { registerd } from './registerd-db';\nimport { ERROR_MSG_CLASS_WITHOUT_DECORATOR } from './errors-messages';\n/* */\n/* */\n \n\nfunction getClasses(): Models.ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\nexport namespace CLASSNAME {\n export function getClassConfig(\n target: Function,\n configs: Models.ClassConfig[] = [],\n callerTarget?: Function,\n ): Models.ClassConfig[] {\n if (!_.isFunction(target)) {\n throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;\n }\n\n let config: Models.ClassConfig;\n const parentClass = Object.getPrototypeOf(target);\n const isValidParent = _.isFunction(parentClass) && parentClass.name !== '';\n\n if (registerd.classes.includes(target)) {\n config =\n registerd.configs[registerd.classes.findIndex(c => c === target)];\n } else {\n config = new Models.ClassConfig();\n config.classReference = target;\n registerd.classes.push(target);\n }\n\n registerd.configs[registerd.classes.findIndex(c => c === target)] = config;\n if (callerTarget) {\n const callerTargetConfig =\n registerd.configs[registerd.classes.findIndex(c => c === callerTarget)];\n if (!config.vChildren.includes(callerTargetConfig)) {\n config.vChildren.push(callerTargetConfig);\n }\n callerTargetConfig.vParent = config;\n }\n\n configs.push(config);\n\n return isValidParent\n ? getClassConfig(parentClass, configs, target)\n : configs;\n }\n\n /**\n * PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE\n * Decorator requred for production mode\n * @param name Name of class\n */\n export function CLASSNAME(\n className: string,\n options?: Models.CLASSNAMEOptions,\n ) {\n return function (target: Function) {\n\n return setClassName(target, className, options);\n } as any;\n }\n\n export function getClassName(target: Function, production = false) {\n if (_.isNil(target)) {\n\n\n return void 0;\n }\n if (_.isString(target)) {\n\n Helpers.log(\n `[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`,\n );\n return target;\n }\n if (!_.isFunction(target)) {\n\n Helpers.log(\n `[typescript-class-helpers][getClassName] target is not a class`,\n );\n return void 0;\n }\n\n if (target[SYMBOL.ClassNameStaticProperty]) {\n return target[SYMBOL.ClassNameStaticProperty];\n }\n\n const configs = getClassConfig(target);\n const config = _.first(configs);\n\n const classNameInBrowser = config?.classNameInBrowser;\n\n if (Helpers.isBrowser && _.isString(classNameInBrowser)) {\n return classNameInBrowser;\n }\n\n const className = config?.className;\n\n if (typeof className === 'string') {\n return className;\n }\n\n if (production) {\n console.log('class without @CLASS.NAME deocrator', target as any);\n throw new Error(ERROR_MSG_CLASS_WITHOUT_DECORATOR);\n } else {\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n if (target.name?.startsWith('class_')) {\n return '';\n }\n\n return target.name;\n }\n\n // @ts-ignore\n export function getObjectIndexPropertyValue(obj: any) {\n const className = TchHelpers.getNameFromObject(obj);\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n return c.uniqueKey;\n }\n }\n\n // @ts-ignore\n export function getClassFamilyByClassName(className: string) {\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n return c.classFamily;\n }\n }\n\n // @ts-ignore\n export function getObjectClassFamily(obj: any) {\n const className = TchHelpers.getNameFromObject(obj);\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n return c.classFamily;\n }\n }\n\n export function getObjectIndexValue(obj: any) {\n const className = TchHelpers.getNameFromObject(obj);\n\n let c = getClasses().find(c => c.className === className);\n\n if (c && _.isString(c.uniqueKey)) {\n return obj[c.uniqueKey];\n }\n }\n\n export function getClassBy(className: string | Function): Function {\n let res;\n if (Array.isArray(className)) {\n if (className.length !== 1) {\n throw `Mapping error... please use proper class names:\n {\n propertyObject: 'MyClassName',\n propertyWithArray: ['MyClassName']\n }\n\n `;\n }\n className = className[0];\n }\n if (typeof className === 'function') {\n\n res = className;\n }\n if (className === 'Date') {\n res = Date;\n }\n\n if (className === 'FormData') {\n res = FormData;\n }\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n res = c.target;\n }\n\n // @ts-ignore\n return res;\n }\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/classname.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { SYMBOL } from './symbols';\n\n\n\n/**\n * @DEPRECATED\n * Describe fields assigned in class\n */\nconst FRegEx = new RegExp(/(?:this\\.)(.+?(?= ))/g);\nexport function describeFromClassStringify(target: Function, parent = false): string[] {\n // @ts-ignore\n var result = [];\n if (parent) {\n var proto = Object.getPrototypeOf(target.prototype);\n if (proto) {\n // @ts-ignore\n result = result.concat(describeFromClassStringify(proto.constructor, parent));\n }\n }\n const classString = target.toString();\n const matches = classString.match(FRegEx) || []\n\n\n\n\n result = result.concat(matches);\n return result.map(prop => prop\n .replace('this.', '')\n .replace('.', '')\n .replace(')', '')\n .replace('(', '')\n )\n\n}\n\n/**\n * Describe fields assigne through @DefaultModelWithMapping decorator\n * without functions\n */\nexport function describeByDefaultModelsAndMapping(target: Function): string[] {\n let res = {}\n if (target) {\n // @ts-ignore\n if (target[SYMBOL.DEFAULT_MODEL]) {\n // @ts-ignore\n Object.keys(target[SYMBOL.DEFAULT_MODEL])\n .filter(key => {\n // @ts-ignore\n return !_.isFunction(target[SYMBOL.DEFAULT_MODEL][key]);\n })\n .forEach(key => {\n // @ts-ignore\n return res[key] = null;\n });\n }\n // @ts-ignore\n let mapping = target[SYMBOL.MODELS_MAPPING];\n if (_.isArray(mapping)) {\n mapping.forEach(m => {\n Object.keys(m)\n .forEach(key => {\n // @ts-ignore\n res[key] = null;\n });\n })\n } else if (mapping) {\n\n Object.keys(mapping)\n .forEach(key => {\n // @ts-ignore\n res[key] = null;\n });\n }\n }\n\n let propNames = Object.keys(res).filter(f => !!f);\n propNames = (!propNames.includes('id') ? ['id'] : []).concat(propNames);\n return propNames;\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/describe-class.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { CLASSNAME } from './classname';\nimport { describeFromClassStringify, describeByDefaultModelsAndMapping } from './describe-class';\nimport { Models } from './models';\nimport { setClassName } from './set-class-name';\n\nexport { Models } from './models';\nexport { SYMBOL } from './symbols';\n\nexport class TchHelpers {\n\n static getBy(className: string | Function) {\n return CLASSNAME.getClassBy(className);\n }\n\n static getFromObject(o: Object) {\n if (_.isUndefined(o) || _.isNull(o)) {\n return;\n }\n if (o.constructor) {\n return o.constructor;\n }\n const p = Object.getPrototypeOf(o);\n return p && p.constructor;\n }\n\n static getName(target: Function, production = false) {\n return CLASSNAME.getClassName(target, production) as string;\n }\n\n static getNameFromObject(o: Object) {\n const fnCLass = this.getFromObject(o);\n return this.getName(fnCLass);\n }\n\n static getConfigs(target: Function): Models.ClassConfig[] {\n return CLASSNAME.getClassConfig(target)\n }\n\n static describeProperites(target: Function) {\n const d1 = describeFromClassStringify(target);\n const d2 = describeByDefaultModelsAndMapping(target);\n let uniq = {};\n // @ts-ignore\n d1.concat(d2).forEach(p => uniq[p] = p);\n return Object.keys(uniq)\n .filter(d => !!d)\n .filter(d => typeof target.prototype[d] !== 'function')\n }\n\n}\n\nconst notAllowedAsMethodName = [\n 'length', 'name',\n 'arguments', 'caller',\n 'constructor', 'apply',\n 'bind', 'call',\n 'toString',\n '__defineGetter__',\n '__defineSetter__', 'hasOwnProperty',\n '__lookupGetter__', '__lookupSetter__',\n 'isPrototypeOf', 'propertyIsEnumerable',\n 'valueOf', '__proto__', 'toLocaleString',\n];\n\nconst getMethodsNames = (classOrClassInstance: any, allMethodsNames = []): string[] => {\n if (!classOrClassInstance) {\n return allMethodsNames;\n }\n\n const isClassFunction = _.isFunction(classOrClassInstance);\n const classFun = (isClassFunction ? classOrClassInstance : Object.getPrototypeOf(classOrClassInstance));\n const objectToCheck = isClassFunction ? (classOrClassInstance as Function)?.prototype : classOrClassInstance;\n const prototypeObj = Object.getPrototypeOf(objectToCheck || {});\n\n const properties = _.uniq([\n ...Object.getOwnPropertyNames(objectToCheck || {}),\n ...Object.getOwnPropertyNames(prototypeObj || {}),\n ...Object.keys(objectToCheck || {}),\n ...Object.keys(prototypeObj || {}),\n ])\n .filter(f => !!f && !notAllowedAsMethodName.includes(f));\n\n properties.filter((methodName) => typeof objectToCheck[methodName] === 'function').forEach(p => allMethodsNames.push(p));\n\n if (!classFun || !classFun.constructor || classFun?.constructor?.name === 'Object') {\n return allMethodsNames;\n }\n return getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);\n};\n\nexport const CLASS = {\n NAME: CLASSNAME.CLASSNAME,\n setName: setClassName,\n getBy: TchHelpers.getBy,\n /**\n * @deprecated\n */\n getSingleton<T = any>(target: Function) {\n if (typeof target !== 'function') {\n console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`)\n return\n }\n const config = TchHelpers.getConfigs(target)[0]\n\n\n return config.singleton as T;\n },\n /**\n * @deprecated\n */\n setSingletonObj(target: Function, singletonObject: any) {\n\n if (typeof target !== 'function') {\n console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`)\n return\n }\n\n if (Array.isArray(singletonObject)) {\n console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant be an array`)\n return\n }\n\n if (typeof singletonObject !== 'object') {\n console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant must be a object`)\n return\n }\n\n const className = CLASS.getName(target);\n\n\n\n const config = TchHelpers.getConfigs(target)[0]\n\n if (config.singleton) {\n console.warn(`[typescript-class-helpers] You are trying to set singleton of \"${className}\" second time with different object.`)\n }\n\n config.singleton = singletonObject;\n },\n /**\n * @deprecated\n */\n getConfigs: TchHelpers.getConfigs,\n /**\n * @deprecated\n */\n getConfig: (target: Function) => {\n return _.first(TchHelpers.getConfigs(target));\n },\n\n\n getMethodsNames(classOrClassInstance: any): string[] {\n return getMethodsNames(classOrClassInstance);\n },\n getFromObject: TchHelpers.getFromObject,\n getName: TchHelpers.getName,\n getNameFromObject: TchHelpers.getNameFromObject,\n describeProperites: TchHelpers.describeProperites,\n /**\n * @deprecated\n */\n OBJECT: (obj: any) => {\n return {\n get indexValue() {\n return CLASSNAME.getObjectIndexValue(obj);\n },\n get indexProperty() {\n return CLASSNAME.getObjectIndexPropertyValue(obj);\n },\n get isClassObject() {\n\n if (!_.isObject(obj) || _.isArray(obj) || _.isRegExp(obj) ||\n _.isBuffer(obj) || _.isArrayBuffer(obj)) {\n return false;\n }\n if (_.isDate(obj)) {\n return true;\n }\n const className = CLASS.getNameFromObject(obj)\n return _.isString(className) && className !== 'Object';\n },\n isEqual: (anotherObj: any, compareDeep = false) => {\n if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {\n return false;\n }\n if (obj === anotherObj) {\n\n return true;\n }\n const v1 = CLASSNAME.getObjectIndexValue(obj);\n const v2 = CLASSNAME.getObjectIndexValue(anotherObj);\n const f1 = CLASSNAME.getObjectClassFamily(obj)\n const f2 = CLASSNAME.getObjectClassFamily(anotherObj)\n const isFamilyDiff = (!_.isString(f1) || !_.isString(f2) || (f1 !== f2));\n\n if (isFamilyDiff) {\n\n return false;\n }\n if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {\n\n return false\n }\n\n\n\n\n\n if ((_.isNumber(v1) && _.isNumber(v2)) || (_.isString(v1) && _.isString(v2))) {\n\n const res = (v1 === v2);\n // @ts-ignore\n return res;\n }\n if (compareDeep) {\n return _.isEqual(v1, v2)\n }\n return false;\n }\n }\n }\n}\n\nexport * from 'enum-values';\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getClasses"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "typescript-class-helpers/client",
|
|
3
|
+
"version": "19.0.3",
|
|
4
|
+
"module": "fesm2022/typescript-class-helpers.mjs",
|
|
5
|
+
"typings": "index.d.ts",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./index.d.ts",
|
|
9
|
+
"default": "./fesm2022/typescript-class-helpers.mjs"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"sideEffects": false
|
|
13
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const BUILD_FRAMEWORK_CLI_NAME = "tnp";
|
|
2
|
-
export declare const CURRENT_PACKAGE_VERSION = "19.0.
|
|
2
|
+
export declare const CURRENT_PACKAGE_VERSION = "19.0.3";
|
|
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CURRENT_PACKAGE_VERSION = exports.BUILD_FRAMEWORK_CLI_NAME = void 0;
|
|
4
4
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
5
5
|
exports.BUILD_FRAMEWORK_CLI_NAME = 'tnp';
|
|
6
|
-
exports.CURRENT_PACKAGE_VERSION = '19.0.
|
|
6
|
+
exports.CURRENT_PACKAGE_VERSION = '19.0.3';
|
|
7
7
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
8
8
|
//# sourceMappingURL=build-info._auto-generated_.js.map
|
package/package.json
CHANGED
package/tmp-environment.json
CHANGED
|
@@ -23,12 +23,13 @@
|
|
|
23
23
|
"releaseVersionBumpType": "patch",
|
|
24
24
|
"releaseType": "manual",
|
|
25
25
|
"targetArtifact": "npm-lib-and-cli-tool",
|
|
26
|
-
"envName": "__"
|
|
26
|
+
"envName": "__",
|
|
27
|
+
"resolvedNewVersion": "19.0.3"
|
|
27
28
|
},
|
|
28
29
|
"copyToManager": {},
|
|
29
30
|
"buildInfo": {
|
|
30
|
-
"date": "2025-04-
|
|
31
|
-
"hash": "
|
|
31
|
+
"date": "2025-04-26T21:27:43.000Z",
|
|
32
|
+
"hash": "d57a0ffc8fd1a86237c8125c4f5462d6f543cee2"
|
|
32
33
|
},
|
|
33
34
|
"currentProjectName": "typescript-class-helpers",
|
|
34
35
|
"currentProjectType": "isomorphic-lib",
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { _ } from 'tnp-core/websql';
|
|
2
|
+
import { Models } from './models';
|
|
3
|
+
import { SYMBOL } from './symbols';
|
|
4
|
+
import { TchHelpers } from './index';
|
|
5
|
+
import { Helpers } from 'tnp-core/websql';
|
|
6
|
+
import { getStorage } from './storage';
|
|
7
|
+
import { setClassName } from './set-class-name';
|
|
8
|
+
import { registerd } from './registerd-db';
|
|
9
|
+
import { ERROR_MSG_CLASS_WITHOUT_DECORATOR } from './errors-messages';
|
|
10
|
+
/* */
|
|
11
|
+
/* */
|
|
12
|
+
function getClasses() {
|
|
13
|
+
const s = getStorage();
|
|
14
|
+
return s[SYMBOL.CLASSES];
|
|
15
|
+
}
|
|
16
|
+
export var CLASSNAME;
|
|
17
|
+
(function (CLASSNAME_1) {
|
|
18
|
+
function getClassConfig(target, configs = [], callerTarget) {
|
|
19
|
+
if (!_.isFunction(target)) {
|
|
20
|
+
throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;
|
|
21
|
+
}
|
|
22
|
+
let config;
|
|
23
|
+
const parentClass = Object.getPrototypeOf(target);
|
|
24
|
+
const isValidParent = _.isFunction(parentClass) && parentClass.name !== '';
|
|
25
|
+
if (registerd.classes.includes(target)) {
|
|
26
|
+
config =
|
|
27
|
+
registerd.configs[registerd.classes.findIndex(c => c === target)];
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
config = new Models.ClassConfig();
|
|
31
|
+
config.classReference = target;
|
|
32
|
+
registerd.classes.push(target);
|
|
33
|
+
}
|
|
34
|
+
registerd.configs[registerd.classes.findIndex(c => c === target)] = config;
|
|
35
|
+
if (callerTarget) {
|
|
36
|
+
const callerTargetConfig = registerd.configs[registerd.classes.findIndex(c => c === callerTarget)];
|
|
37
|
+
if (!config.vChildren.includes(callerTargetConfig)) {
|
|
38
|
+
config.vChildren.push(callerTargetConfig);
|
|
39
|
+
}
|
|
40
|
+
callerTargetConfig.vParent = config;
|
|
41
|
+
}
|
|
42
|
+
configs.push(config);
|
|
43
|
+
return isValidParent
|
|
44
|
+
? getClassConfig(parentClass, configs, target)
|
|
45
|
+
: configs;
|
|
46
|
+
}
|
|
47
|
+
CLASSNAME_1.getClassConfig = getClassConfig;
|
|
48
|
+
/**
|
|
49
|
+
* PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE
|
|
50
|
+
* Decorator requred for production mode
|
|
51
|
+
* @param name Name of class
|
|
52
|
+
*/
|
|
53
|
+
function CLASSNAME(className, options) {
|
|
54
|
+
return function (target) {
|
|
55
|
+
return setClassName(target, className, options);
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
CLASSNAME_1.CLASSNAME = CLASSNAME;
|
|
59
|
+
function getClassName(target, production = false) {
|
|
60
|
+
if (_.isNil(target)) {
|
|
61
|
+
return void 0;
|
|
62
|
+
}
|
|
63
|
+
if (_.isString(target)) {
|
|
64
|
+
Helpers.log(`[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`);
|
|
65
|
+
return target;
|
|
66
|
+
}
|
|
67
|
+
if (!_.isFunction(target)) {
|
|
68
|
+
Helpers.log(`[typescript-class-helpers][getClassName] target is not a class`);
|
|
69
|
+
return void 0;
|
|
70
|
+
}
|
|
71
|
+
if (target[SYMBOL.ClassNameStaticProperty]) {
|
|
72
|
+
return target[SYMBOL.ClassNameStaticProperty];
|
|
73
|
+
}
|
|
74
|
+
const configs = getClassConfig(target);
|
|
75
|
+
const config = _.first(configs);
|
|
76
|
+
const classNameInBrowser = config?.classNameInBrowser;
|
|
77
|
+
if (Helpers.isBrowser && _.isString(classNameInBrowser)) {
|
|
78
|
+
return classNameInBrowser;
|
|
79
|
+
}
|
|
80
|
+
const className = config?.className;
|
|
81
|
+
if (typeof className === 'string') {
|
|
82
|
+
return className;
|
|
83
|
+
}
|
|
84
|
+
if (production) {
|
|
85
|
+
console.log('class without @CLASS.NAME deocrator', target);
|
|
86
|
+
throw new Error(ERROR_MSG_CLASS_WITHOUT_DECORATOR);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
}
|
|
90
|
+
if (target.name?.startsWith('class_')) {
|
|
91
|
+
return '';
|
|
92
|
+
}
|
|
93
|
+
return target.name;
|
|
94
|
+
}
|
|
95
|
+
CLASSNAME_1.getClassName = getClassName;
|
|
96
|
+
// @ts-ignore
|
|
97
|
+
function getObjectIndexPropertyValue(obj) {
|
|
98
|
+
const className = TchHelpers.getNameFromObject(obj);
|
|
99
|
+
let c = getClasses().find(c => c.className === className);
|
|
100
|
+
if (c) {
|
|
101
|
+
return c.uniqueKey;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
CLASSNAME_1.getObjectIndexPropertyValue = getObjectIndexPropertyValue;
|
|
105
|
+
// @ts-ignore
|
|
106
|
+
function getClassFamilyByClassName(className) {
|
|
107
|
+
let c = getClasses().find(c => c.className === className);
|
|
108
|
+
if (c) {
|
|
109
|
+
return c.classFamily;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
CLASSNAME_1.getClassFamilyByClassName = getClassFamilyByClassName;
|
|
113
|
+
// @ts-ignore
|
|
114
|
+
function getObjectClassFamily(obj) {
|
|
115
|
+
const className = TchHelpers.getNameFromObject(obj);
|
|
116
|
+
let c = getClasses().find(c => c.className === className);
|
|
117
|
+
if (c) {
|
|
118
|
+
return c.classFamily;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
CLASSNAME_1.getObjectClassFamily = getObjectClassFamily;
|
|
122
|
+
function getObjectIndexValue(obj) {
|
|
123
|
+
const className = TchHelpers.getNameFromObject(obj);
|
|
124
|
+
let c = getClasses().find(c => c.className === className);
|
|
125
|
+
if (c && _.isString(c.uniqueKey)) {
|
|
126
|
+
return obj[c.uniqueKey];
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
CLASSNAME_1.getObjectIndexValue = getObjectIndexValue;
|
|
130
|
+
function getClassBy(className) {
|
|
131
|
+
let res;
|
|
132
|
+
if (Array.isArray(className)) {
|
|
133
|
+
if (className.length !== 1) {
|
|
134
|
+
throw `Mapping error... please use proper class names:
|
|
135
|
+
{
|
|
136
|
+
propertyObject: 'MyClassName',
|
|
137
|
+
propertyWithArray: ['MyClassName']
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
`;
|
|
141
|
+
}
|
|
142
|
+
className = className[0];
|
|
143
|
+
}
|
|
144
|
+
if (typeof className === 'function') {
|
|
145
|
+
res = className;
|
|
146
|
+
}
|
|
147
|
+
if (className === 'Date') {
|
|
148
|
+
res = Date;
|
|
149
|
+
}
|
|
150
|
+
if (className === 'FormData') {
|
|
151
|
+
res = FormData;
|
|
152
|
+
}
|
|
153
|
+
let c = getClasses().find(c => c.className === className);
|
|
154
|
+
if (c) {
|
|
155
|
+
res = c.target;
|
|
156
|
+
}
|
|
157
|
+
// @ts-ignore
|
|
158
|
+
return res;
|
|
159
|
+
}
|
|
160
|
+
CLASSNAME_1.getClassBy = getClassBy;
|
|
161
|
+
})(CLASSNAME || (CLASSNAME = {}));
|
|
162
|
+
;
|
|
163
|
+
({}); // @--end-of-file-for-module=typescript-class-helpers lib/classname.ts
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NuYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9wcm9qZWN0cy90eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvc3JjL2xpYi9jbGFzc25hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEUsS0FBSztBQUNMLEtBQUs7QUFHTCxTQUFTLFVBQVU7SUFDakIsTUFBTSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUM7SUFDdkIsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBUSxDQUFDO0FBQ2xDLENBQUM7QUFDRCxNQUFNLEtBQVcsU0FBUyxDQW9NekI7QUFwTUQsV0FBaUIsV0FBUztJQUN4QixTQUFnQixjQUFjLENBQzVCLE1BQWdCLEVBQ2hCLFVBQWdDLEVBQUUsRUFDbEMsWUFBdUI7UUFFdkIsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxQixNQUFNLDJFQUEyRSxNQUFNLEVBQUUs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XG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgU1lNQk9MIH0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCB7IFRjaEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gJy4vc3RvcmFnZSc7XG5pbXBvcnQgeyBzZXRDbGFzc05hbWUgfSBmcm9tICcuL3NldC1jbGFzcy1uYW1lJztcbmltcG9ydCB7IHJlZ2lzdGVyZCB9IGZyb20gJy4vcmVnaXN0ZXJkLWRiJztcbmltcG9ydCB7IEVSUk9SX01TR19DTEFTU19XSVRIT1VUX0RFQ09SQVRPUiB9IGZyb20gJy4vZXJyb3JzLW1lc3NhZ2VzJztcbi8qICovXG4vKiAqL1xuICBcblxuZnVuY3Rpb24gZ2V0Q2xhc3NlcygpOiBNb2RlbHMuQ2xhc3NNZXRhW10ge1xuICBjb25zdCBzID0gZ2V0U3RvcmFnZSgpO1xuICByZXR1cm4gc1tTWU1CT0wuQ0xBU1NFU10gYXMgYW55O1xufVxuZXhwb3J0IG5hbWVzcGFjZSBDTEFTU05BTUUge1xuICBleHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NDb25maWcoXG4gICAgdGFyZ2V0OiBGdW5jdGlvbixcbiAgICBjb25maWdzOiBNb2RlbHMuQ2xhc3NDb25maWdbXSA9IFtdLFxuICAgIGNhbGxlclRhcmdldD86IEZ1bmN0aW9uLFxuICApOiBNb2RlbHMuQ2xhc3NDb25maWdbXSB7XG4gICAgaWYgKCFfLmlzRnVuY3Rpb24odGFyZ2V0KSkge1xuICAgICAgdGhyb3cgYFt0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcl1bZ2V0Q2xhc3NDb25maWddIENhbm5vdCBnZXQgY2xhc3MgY29uZmlnIGZyb206ICR7dGFyZ2V0fWA7XG4gICAgfVxuXG4gICAgbGV0IGNvbmZpZzogTW9kZWxzLkNsYXNzQ29uZmlnO1xuICAgIGNvbnN0IHBhcmVudENsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldCk7XG4gICAgY29uc3QgaXNWYWxpZFBhcmVudCA9IF8uaXNGdW5jdGlvbihwYXJlbnRDbGFzcykgJiYgcGFyZW50Q2xhc3MubmFtZSAhPT0gJyc7XG5cbiAgICBpZiAocmVnaXN0ZXJkLmNsYXNzZXMuaW5jbHVkZXModGFyZ2V0KSkge1xuICAgICAgY29uZmlnID1cbiAgICAgICAgcmVnaXN0ZXJkLmNvbmZpZ3NbcmVnaXN0ZXJkLmNsYXNzZXMuZmluZEluZGV4KGMgPT4gYyA9PT0gdGFyZ2V0KV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmZpZyA9IG5ldyBNb2RlbHMuQ2xhc3NDb25maWcoKTtcbiAgICAgIGNvbmZpZy5jbGFzc1JlZmVyZW5jZSA9IHRhcmdldDtcbiAgICAgIHJlZ2lzdGVyZC5jbGFzc2VzLnB1c2godGFyZ2V0KTtcbiAgICB9XG5cbiAgICByZWdpc3RlcmQuY29uZmlnc1tyZWdpc3RlcmQuY2xhc3Nlcy5maW5kSW5kZXgoYyA9PiBjID09PSB0YXJnZXQpXSA9IGNvbmZpZztcbiAgICBpZiAoY2FsbGVyVGFyZ2V0KSB7XG4gICAgICBjb25zdCBjYWxsZXJUYXJnZXRDb25maWcgPVxuICAgICAgICByZWdpc3RlcmQuY29uZmlnc1tyZWdpc3RlcmQuY2xhc3Nlcy5maW5kSW5kZXgoYyA9PiBjID09PSBjYWxsZXJUYXJnZXQpXTtcbiAgICAgIGlmICghY29uZmlnLnZDaGlsZHJlbi5pbmNsdWRlcyhjYWxsZXJUYXJnZXRDb25maWcpKSB7XG4gICAgICAgIGNvbmZpZy52Q2hpbGRyZW4ucHVzaChjYWxsZXJUYXJnZXRDb25maWcpO1xuICAgICAgfVxuICAgICAgY2FsbGVyVGFyZ2V0Q29uZmlnLnZQYXJlbnQgPSBjb25maWc7XG4gICAgfVxuXG4gICAgY29uZmlncy5wdXNoKGNvbmZpZyk7XG5cbiAgICByZXR1cm4gaXNWYWxpZFBhcmVudFxuICAgICAgPyBnZXRDbGFzc0NvbmZpZyhwYXJlbnRDbGFzcywgY29uZmlncywgdGFyZ2V0KVxuICAgICAgOiBjb25maWdzO1xuICB9XG5cbiAgLyoqXG4gICAqIFBMRUFTRSBQUk9WSURFIE5BTUUgQVMgVFlQRUQgU1RSSU5HLCBOT1QgVkFSSUFCTEVcbiAgICogRGVjb3JhdG9yIHJlcXVyZWQgZm9yIHByb2R1Y3Rpb24gbW9kZVxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIGNsYXNzXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gQ0xBU1NOQU1FKFxuICAgIGNsYXNzTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBNb2RlbHMuQ0xBU1NOQU1FT3B0aW9ucyxcbiAgKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IEZ1bmN0aW9uKSB7XG5cbiAgICAgIHJldHVybiBzZXRDbGFzc05hbWUodGFyZ2V0LCBjbGFzc05hbWUsIG9wdGlvbnMpO1xuICAgIH0gYXMgYW55O1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldENsYXNzTmFtZSh0YXJnZXQ6IEZ1bmN0aW9uLCBwcm9kdWN0aW9uID0gZmFsc2UpIHtcbiAgICBpZiAoXy5pc05pbCh0YXJnZXQpKSB7XG5cblxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcodGFyZ2V0KSkge1xuXG4gICAgICBIZWxwZXJzLmxvZyhcbiAgICAgICAgYFt0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnNdW2dldENsYXNzTmFtZV0gdGFyZ2V0IGlzIHN0cmluZzogJyR7dGFyZ2V0fScsIHByb2R1Y2l0b246ICR7cHJvZHVjdGlvbn1gLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfVxuICAgIGlmICghXy5pc0Z1bmN0aW9uKHRhcmdldCkpIHtcblxuICAgICAgSGVscGVycy5sb2coXG4gICAgICAgIGBbdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzXVtnZXRDbGFzc05hbWVdIHRhcmdldCBpcyBub3QgYSBjbGFzc2AsXG4gICAgICApO1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG5cbiAgICBpZiAodGFyZ2V0W1NZTUJPTC5DbGFzc05hbWVTdGF0aWNQcm9wZXJ0eV0pIHtcbiAgICAgIHJldHVybiB0YXJnZXRbU1lNQk9MLkNsYXNzTmFtZVN0YXRpY1Byb3BlcnR5XTtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWdzID0gZ2V0Q2xhc3NDb25maWcodGFyZ2V0KTtcbiAgICBjb25zdCBjb25maWcgPSBfLmZpcnN0KGNvbmZpZ3MpO1xuXG4gICAgY29uc3QgY2xhc3NOYW1lSW5Ccm93c2VyID0gY29uZmlnPy5jbGFzc05hbWVJbkJyb3dzZXI7XG5cbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIgJiYgXy5pc1N0cmluZyhjbGFzc05hbWVJbkJyb3dzZXIpKSB7XG4gICAgICByZXR1cm4gY2xhc3NOYW1lSW5Ccm93c2VyO1xuICAgIH1cblxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IGNvbmZpZz8uY2xhc3NOYW1lO1xuXG4gICAgaWYgKHR5cGVvZiBjbGFzc05hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gY2xhc3NOYW1lO1xuICAgIH1cblxuICAgIGlmIChwcm9kdWN0aW9uKSB7XG4gICAgICBjb25zb2xlLmxvZygnY2xhc3Mgd2l0aG91dCBAQ0xBU1MuTkFNRSBkZW9jcmF0b3InLCB0YXJnZXQgYXMgYW55KTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihFUlJPUl9NU0dfQ0xBU1NfV0lUSE9VVF9ERUNPUkFUT1IpO1xuICAgIH0gZWxzZSB7XG5cblxuXG5cblxuXG5cblxuXG5cblxuICAgIH1cblxuXG4gICAgaWYgKHRhcmdldC5uYW1lPy5zdGFydHNXaXRoKCdjbGFzc18nKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXQubmFtZTtcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgZXhwb3J0IGZ1bmN0aW9uIGdldE9iamVjdEluZGV4UHJvcGVydHlWYWx1ZShvYmo6IGFueSkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IFRjaEhlbHBlcnMuZ2V0TmFtZUZyb21PYmplY3Qob2JqKTtcblxuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjKSB7XG4gICAgICByZXR1cm4gYy51bmlxdWVLZXk7XG4gICAgfVxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBleHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NGYW1pbHlCeUNsYXNzTmFtZShjbGFzc05hbWU6IHN0cmluZykge1xuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjKSB7XG4gICAgICByZXR1cm4gYy5jbGFzc0ZhbWlseTtcbiAgICB9XG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRPYmplY3RDbGFzc0ZhbWlseShvYmo6IGFueSkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IFRjaEhlbHBlcnMuZ2V0TmFtZUZyb21PYmplY3Qob2JqKTtcblxuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjKSB7XG4gICAgICByZXR1cm4gYy5jbGFzc0ZhbWlseTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0T2JqZWN0SW5kZXhWYWx1ZShvYmo6IGFueSkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IFRjaEhlbHBlcnMuZ2V0TmFtZUZyb21PYmplY3Qob2JqKTtcblxuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjICYmIF8uaXNTdHJpbmcoYy51bmlxdWVLZXkpKSB7XG4gICAgICByZXR1cm4gb2JqW2MudW5pcXVlS2V5XTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NCeShjbGFzc05hbWU6IHN0cmluZyB8IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xuICAgIGxldCByZXM7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2xhc3NOYW1lKSkge1xuICAgICAgaWYgKGNsYXNzTmFtZS5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgdGhyb3cgYE1hcHBpbmcgZXJyb3IuLi4gcGxlYXNlIHVzZSBwcm9wZXIgY2xhc3MgbmFtZXM6XG4gIHtcbiAgICBwcm9wZXJ0eU9iamVjdDogJ015Q2xhc3NOYW1lJyxcbiAgICBwcm9wZXJ0eVdpdGhBcnJheTogWydNeUNsYXNzTmFtZSddXG4gIH1cblxuICAgICAgICBgO1xuICAgICAgfVxuICAgICAgY2xhc3NOYW1lID0gY2xhc3NOYW1lWzBdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGNsYXNzTmFtZSA9PT0gJ2Z1bmN0aW9uJykge1xuXG4gICAgICByZXMgPSBjbGFzc05hbWU7XG4gICAgfVxuICAgIGlmIChjbGFzc05hbWUgPT09ICdEYXRlJykge1xuICAgICAgcmVzID0gRGF0ZTtcbiAgICB9XG5cbiAgICBpZiAoY2xhc3NOYW1lID09PSAnRm9ybURhdGEnKSB7XG4gICAgICByZXMgPSBGb3JtRGF0YTtcbiAgICB9XG5cbiAgICBsZXQgYyA9IGdldENsYXNzZXMoKS5maW5kKGMgPT4gYy5jbGFzc05hbWUgPT09IGNsYXNzTmFtZSk7XG5cbiAgICBpZiAoYykge1xuICAgICAgcmVzID0gYy50YXJnZXQ7XG4gICAgfVxuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXR5cGVzY3JpcHQtY2xhc3MtaGVscGVycyBsaWIvY2xhc3NuYW1lLnRzIl19
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { _ } from 'tnp-core/websql';
|
|
2
|
+
import { SYMBOL } from './symbols';
|
|
3
|
+
/**
|
|
4
|
+
* @DEPRECATED
|
|
5
|
+
* Describe fields assigned in class
|
|
6
|
+
*/
|
|
7
|
+
const FRegEx = new RegExp(/(?:this\.)(.+?(?= ))/g);
|
|
8
|
+
export function describeFromClassStringify(target, parent = false) {
|
|
9
|
+
// @ts-ignore
|
|
10
|
+
var result = [];
|
|
11
|
+
if (parent) {
|
|
12
|
+
var proto = Object.getPrototypeOf(target.prototype);
|
|
13
|
+
if (proto) {
|
|
14
|
+
// @ts-ignore
|
|
15
|
+
result = result.concat(describeFromClassStringify(proto.constructor, parent));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const classString = target.toString();
|
|
19
|
+
const matches = classString.match(FRegEx) || [];
|
|
20
|
+
result = result.concat(matches);
|
|
21
|
+
return result.map(prop => prop
|
|
22
|
+
.replace('this.', '')
|
|
23
|
+
.replace('.', '')
|
|
24
|
+
.replace(')', '')
|
|
25
|
+
.replace('(', ''));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Describe fields assigne through @DefaultModelWithMapping decorator
|
|
29
|
+
* without functions
|
|
30
|
+
*/
|
|
31
|
+
export function describeByDefaultModelsAndMapping(target) {
|
|
32
|
+
let res = {};
|
|
33
|
+
if (target) {
|
|
34
|
+
// @ts-ignore
|
|
35
|
+
if (target[SYMBOL.DEFAULT_MODEL]) {
|
|
36
|
+
// @ts-ignore
|
|
37
|
+
Object.keys(target[SYMBOL.DEFAULT_MODEL])
|
|
38
|
+
.filter(key => {
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
return !_.isFunction(target[SYMBOL.DEFAULT_MODEL][key]);
|
|
41
|
+
})
|
|
42
|
+
.forEach(key => {
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
return res[key] = null;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
// @ts-ignore
|
|
48
|
+
let mapping = target[SYMBOL.MODELS_MAPPING];
|
|
49
|
+
if (_.isArray(mapping)) {
|
|
50
|
+
mapping.forEach(m => {
|
|
51
|
+
Object.keys(m)
|
|
52
|
+
.forEach(key => {
|
|
53
|
+
// @ts-ignore
|
|
54
|
+
res[key] = null;
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
else if (mapping) {
|
|
59
|
+
Object.keys(mapping)
|
|
60
|
+
.forEach(key => {
|
|
61
|
+
// @ts-ignore
|
|
62
|
+
res[key] = null;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
let propNames = Object.keys(res).filter(f => !!f);
|
|
67
|
+
propNames = (!propNames.includes('id') ? ['id'] : []).concat(propNames);
|
|
68
|
+
return propNames;
|
|
69
|
+
}
|
|
70
|
+
;
|
|
71
|
+
({}); // @--end-of-file-for-module=typescript-class-helpers lib/describe-class.ts
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpYmUtY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3Byb2plY3RzL3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9zcmMvbGliL2Rlc2NyaWJlLWNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSW5DOzs7SUFHSTtBQUNKLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFDbkQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLE1BQWdCLEVBQUUsTUFBTSxHQUFHLEtBQUs7SUFDekUsYUFBYTtJQUNiLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLGFBQWE7WUFDYixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDaEYsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEMsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7SUFLL0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSTtTQUMzQixPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztTQUNwQixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztTQUNoQixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztTQUNoQixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUNsQixDQUFBO0FBRUgsQ0FBQztBQUVEOzs7S0FHSztBQUNMLE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxNQUFnQjtJQUNoRSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUE7SUFDWixJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsYUFBYTtRQUNiLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ2pDLGFBQWE7WUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDWixhQUFhO2dCQUNiLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxRCxDQUFDLENBQUM7aUJBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLGFBQWE7Z0JBQ2IsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELGFBQWE7UUFDYixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO3FCQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDYixhQUFhO29CQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO2FBQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUVuQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztpQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLGFBQWE7Z0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsU0FBUyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEUsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMkVBQTJFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgU1lNQk9MIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuXG5cbi8qKlxuICAqIEBERVBSRUNBVEVEXG4gICogRGVzY3JpYmUgZmllbGRzIGFzc2lnbmVkIGluIGNsYXNzXG4gICovXG5jb25zdCBGUmVnRXggPSBuZXcgUmVnRXhwKC8oPzp0aGlzXFwuKSguKz8oPz0gKSkvZyk7XG5leHBvcnQgZnVuY3Rpb24gZGVzY3JpYmVGcm9tQ2xhc3NTdHJpbmdpZnkodGFyZ2V0OiBGdW5jdGlvbiwgcGFyZW50ID0gZmFsc2UpOiBzdHJpbmdbXSB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBpZiAocGFyZW50KSB7XG4gICAgdmFyIHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldC5wcm90b3R5cGUpO1xuICAgIGlmIChwcm90bykge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChkZXNjcmliZUZyb21DbGFzc1N0cmluZ2lmeShwcm90by5jb25zdHJ1Y3RvciwgcGFyZW50KSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGNsYXNzU3RyaW5nID0gdGFyZ2V0LnRvU3RyaW5nKCk7XG4gIGNvbnN0IG1hdGNoZXMgPSBjbGFzc1N0cmluZy5tYXRjaChGUmVnRXgpIHx8IFtdXG5cblxuXG5cbiAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChtYXRjaGVzKTtcbiAgcmV0dXJuIHJlc3VsdC5tYXAocHJvcCA9PiBwcm9wXG4gICAgLnJlcGxhY2UoJ3RoaXMuJywgJycpXG4gICAgLnJlcGxhY2UoJy4nLCAnJylcbiAgICAucmVwbGFjZSgnKScsICcnKVxuICAgIC5yZXBsYWNlKCcoJywgJycpXG4gIClcblxufVxuXG4vKipcbiAgICogRGVzY3JpYmUgZmllbGRzIGFzc2lnbmUgdGhyb3VnaCBARGVmYXVsdE1vZGVsV2l0aE1hcHBpbmcgZGVjb3JhdG9yXG4gICAqIHdpdGhvdXQgZnVuY3Rpb25zXG4gICAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlc2NyaWJlQnlEZWZhdWx0TW9kZWxzQW5kTWFwcGluZyh0YXJnZXQ6IEZ1bmN0aW9uKTogc3RyaW5nW10ge1xuICBsZXQgcmVzID0ge31cbiAgaWYgKHRhcmdldCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAodGFyZ2V0W1NZTUJPTC5ERUZBVUxUX01PREVMXSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgT2JqZWN0LmtleXModGFyZ2V0W1NZTUJPTC5ERUZBVUxUX01PREVMXSlcbiAgICAgICAgLmZpbHRlcihrZXkgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICByZXR1cm4gIV8uaXNGdW5jdGlvbih0YXJnZXRbU1lNQk9MLkRFRkFVTFRfTU9ERUxdW2tleV0pO1xuICAgICAgICB9KVxuICAgICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICByZXR1cm4gcmVzW2tleV0gPSBudWxsO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGxldCBtYXBwaW5nID0gdGFyZ2V0W1NZTUJPTC5NT0RFTFNfTUFQUElOR107XG4gICAgaWYgKF8uaXNBcnJheShtYXBwaW5nKSkge1xuICAgICAgbWFwcGluZy5mb3JFYWNoKG0gPT4ge1xuICAgICAgICBPYmplY3Qua2V5cyhtKVxuICAgICAgICAgIC5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICByZXNba2V5XSA9IG51bGw7XG4gICAgICAgICAgfSk7XG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAobWFwcGluZykge1xuXG4gICAgICBPYmplY3Qua2V5cyhtYXBwaW5nKVxuICAgICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICByZXNba2V5XSA9IG51bGw7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGxldCBwcm9wTmFtZXMgPSBPYmplY3Qua2V5cyhyZXMpLmZpbHRlcihmID0+ICEhZik7XG4gIHByb3BOYW1lcyA9ICghcHJvcE5hbWVzLmluY2x1ZGVzKCdpZCcpID8gWydpZCddIDogW10pLmNvbmNhdChwcm9wTmFtZXMpO1xuICByZXR1cm4gcHJvcE5hbWVzO1xufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzIGxpYi9kZXNjcmliZS1jbGFzcy50cyJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const ERROR_MSG_CLASS_WITHOUT_DECORATOR = `[typescript-class-helpers][getClassName(...)](PRODUCTION MODE ERROR)
|
|
2
|
+
Please use decoartor @CLASSNAME for each entity or controller
|
|
3
|
+
This is preventing class name problem in minified code.
|
|
4
|
+
// @ts-ignore
|
|
5
|
+
import { CLASS } from '../lib';
|
|
6
|
+
|
|
7
|
+
@CLASS.NAME('ExampleClass')
|
|
8
|
+
class ExampleClass {
|
|
9
|
+
...
|
|
10
|
+
}
|
|
11
|
+
`;
|
|
12
|
+
;
|
|
13
|
+
({}); // @--end-of-file-for-module=typescript-class-helpers lib/errors-messages.ts
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLW1lc3NhZ2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9wcm9qZWN0cy90eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvc3JjL2xpYi9lcnJvcnMtbWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUc7Ozs7Ozs7Ozs7Q0FVaEQsQ0FBQztBQUVELENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEVBQTRFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuZXhwb3J0IGNvbnN0IEVSUk9SX01TR19DTEFTU19XSVRIT1VUX0RFQ09SQVRPUiA9IGBbdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzXVtnZXRDbGFzc05hbWUoLi4uKV0oUFJPRFVDVElPTiBNT0RFIEVSUk9SKVxuUGxlYXNlIHVzZSBkZWNvYXJ0b3IgQENMQVNTTkFNRSBmb3IgZWFjaCBlbnRpdHkgb3IgY29udHJvbGxlclxuVGhpcyBpcyBwcmV2ZW50aW5nIGNsYXNzIG5hbWUgcHJvYmxlbSBpbiBtaW5pZmllZCBjb2RlLlxuIC8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IENMQVNTIH0gZnJvbSAnLi4vbGliJztcblxuQENMQVNTLk5BTUUoJ0V4YW1wbGVDbGFzcycpXG5jbGFzcyBFeGFtcGxlQ2xhc3Mge1xuICAuLi5cbn1cbmA7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMgbGliL2Vycm9ycy1tZXNzYWdlcy50cyJdfQ==
|