typescript-class-helpers 1.0.47 → 13.0.2
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/app.js +34 -2
- package/app.js.map +1 -1
- package/browser/esm2020/lib/classname.mjs +2 -2
- package/browser/esm2020/lib/describe-class.mjs +1 -1
- package/browser/esm2020/lib/index.mjs +1 -1
- package/browser/esm2020/lib/models.mjs +3 -1
- package/browser/esm2020/lib/set-class-name.mjs +1 -1
- package/browser/esm2020/lib/storage.mjs +5 -1
- package/browser/esm2020/lib/symbols.mjs +1 -1
- package/browser/fesm2015/typescript-class-helpers.mjs +7 -1
- package/browser/fesm2015/typescript-class-helpers.mjs.map +1 -1
- package/browser/fesm2020/typescript-class-helpers.mjs +7 -1
- package/browser/fesm2020/typescript-class-helpers.mjs.map +1 -1
- package/client/esm2020/lib/classname.mjs +2 -2
- package/client/esm2020/lib/describe-class.mjs +1 -1
- package/client/esm2020/lib/index.mjs +1 -1
- package/client/esm2020/lib/models.mjs +3 -1
- package/client/esm2020/lib/set-class-name.mjs +1 -1
- package/client/esm2020/lib/storage.mjs +5 -1
- package/client/esm2020/lib/symbols.mjs +1 -1
- package/client/fesm2015/typescript-class-helpers.mjs +7 -1
- package/client/fesm2015/typescript-class-helpers.mjs.map +1 -1
- package/client/fesm2020/typescript-class-helpers.mjs +7 -1
- package/client/fesm2020/typescript-class-helpers.mjs.map +1 -1
- package/index.js +2 -3
- package/lib/classname.js +2 -3
- package/lib/describe-class.js +2 -3
- package/lib/helpers-messages.js +2 -3
- package/lib/index.js +2 -3
- package/lib/models.js +2 -3
- package/lib/set-class-name.js +2 -3
- package/lib/storage.js +2 -3
- package/lib/symbols.js +2 -3
- package/package.json +2 -2
- package/tmp-environment.json +66 -31
- package/package.json_tnp.json +0 -36
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-class-helpers.mjs","sources":["../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/models.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/symbols.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/storage.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/set-class-name.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/classname.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/describe-class.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/index.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/typescript-class-helpers.ts"],"sourcesContent":["\n\nimport { ConfigModels } from 'tnp-config/browser';\n\nexport namespace Models {\n\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 export class ParamConfig {\n paramName: string;\n paramType: ConfigModels.ParamType;\n index: number;\n defaultType: any;\n expireInSeconds?: number;\n }\n\n export class MethodConfig {\n methodName: string;\n path: string;\n descriptor: PropertyDescriptor;\n type: ConfigModels.HttpMethod;\n realtimeUpdate: boolean;\n\n parameters: { [paramName: string]: ParamConfig } = {};\n }\n\n export interface ClassMeta {\n uniqueKey?: string;\n className?: string;\n classFamily?: string;\n classNameInBrowser?: string;\n target?: Function;\n }\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 methods: { [methodName: string]: MethodConfig } = {};\n }\n\n}\n","\n\nexport const SYMBOL = {\n MODELS_MAPPING: Symbol(),\n DEFAULT_MODEL: Symbol(),\n CLASSNAMEKEY: Symbol(),\n // SINGLETON: Symbol(),\n CLASSNAMEKEYBROWSER: Symbol(),\n CLASS_META_CONFIG: Symbol(),\n STORAGE: 'classesstorage',\n CLASSES: 'classes',\n}\n","\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 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\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 // @ts-ignore\n target[SYMBOL.CLASSNAMEKEY] = className;\n // @ts-ignore\n target[SYMBOL.CLASSNAMEKEYBROWSER] = classNameInBrowser;\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 // console.log(`DECORATED CONSTRUCTOR OF ${Original.name}`)\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 // console.log(`Singleton created for \"${className}\", mode: ${singleton} `);\n }\n else {\n // console.log('ingleton exists')\n }\n\n return context;\n }\n };\n\n // copy prototype so intanceof operator still works\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 // (obj.decoratedConstructor as any).name = className;\n // console.log('return new contruor', decoratedConstructor)\n return obj.decoratedConstructor;\n } else if (singleton === 'autoinstance') {\n\n // console.log(`AUTOINSTANCE FOR ${target.name}`)\n const auto = new (Original as any)();\n CLASS.setSingletonObj(Original, auto)\n // console.log(`Singleton created for \"${className}\", mode: ${singleton} `)\n\n }\n}\n","\n\nimport { _ } from 'tnp-core/browser';\nimport { Models } from './models';\nimport { SYMBOL } from './symbols';\nimport { Helpers } from './index';\nimport { Helpers as ConfigHelpers } from 'tnp-core/browser';\nimport { getStorage } from './storage';\nimport { setClassName } from './set-class-name';\n\nfunction getClasses(): Models.ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\n\nexport namespace CLASSNAME {\n\n export function\n getClassConfig(target: Function, configs: Models.ClassConfig[] = []): Models.ClassConfig[] {\n if (!_.isFunction(target)) {\n throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`\n }\n\n const meta = SYMBOL.CLASS_META_CONFIG;\n let config: Models.ClassConfig;\n\n // @ts-ignore\n if (!target[meta]) {\n config = new Models.ClassConfig();\n config.classReference = target;\n } else {\n // @ts-ignore\n config = target[meta];\n var parentClass = Object.getPrototypeOf(target)\n if (config.classReference === parentClass) {\n const childConfig = new Models.ClassConfig();\n childConfig.vParent = config;\n childConfig.classReference = target;\n // @ts-ignore\n config.vChildren.push(childConfig)\n config = childConfig;\n }\n }\n // @ts-ignore\n target[meta] = config;\n configs.push(config);\n return (_.isFunction(parentClass) && parentClass.name !== '') ? getClassConfig(parentClass, configs) : configs;\n }\n\n\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(className: string,\n options?: Models.CLASSNAMEOptions) {\n return function (target: Function) {\n // console.log(`CLASSNAME Inited ${className}`)\n return setClassName(target, className, options);\n } as any;\n }\n\n export function getClassName(target: Function, production = false) {\n if (_.isString(target)) {\n console.trace(target);\n console.warn(`[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`)\n return target;\n }\n if (!_.isFunction(target)) {\n console.trace(target);\n console.error(`[typescript-class-helpers][getClassName] target is not a class`)\n return void 0;\n }\n\n // @ts-ignore\n if (ConfigHelpers.isBrowser && _.isString(target[SYMBOL.CLASSNAMEKEYBROWSER])) {\n // @ts-ignore\n return target[SYMBOL.CLASSNAMEKEYBROWSER];\n }\n // @ts-ignore\n if (target[SYMBOL.CLASSNAMEKEY]) {\n // @ts-ignore\n return target[SYMBOL.CLASSNAMEKEY];\n }\n if (production) {\n console.error(`[typescript-class-helpers][getClassName(...)](PRODUCTION MODE ERROR)\n Please use decoartor @CLASSNAME for each entity or controller\n This is preventing class name problem in minified code.\n\n import { CLASS } from 'typescript-class-helpers';\n\n @CLASS.NAME('ExampleClass')\n class ExampleClass {\n ...\n }\n `, target)\n }\n return target.name;\n }\n\n // @ts-ignore\n export function getObjectIndexPropertyValue(obj: any) {\n const className = Helpers.getNameFromObject(obj);\n // console.log('className',className)\n let c = getClasses().find(c => c.className === className);\n // console.log('c',c)\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 // console.log('getClasses()', getClasses())\n if (c) {\n return c.classFamily;\n }\n }\n\n // @ts-ignore\n export function getObjectClassFamily(obj: any) {\n const className = Helpers.getNameFromObject(obj);\n // console.log('className',className)\n let c = getClasses().find(c => c.className === className);\n // console.log('c',c)\n if (c) {\n return c.classFamily;\n }\n }\n\n export function getObjectIndexValue(obj: any) {\n const className = Helpers.getNameFromObject(obj);\n // console.log('className',className)\n let c = getClasses().find(c => c.className === className);\n // console.log('c',c)\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') { // TODO QUICK_FIX\n res = className;\n }\n if (className === 'Date') {\n res = Date;\n }\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n res = c.target;\n }\n // console.log(`getClassBy \"${className} return \\n\\n ${res} \\n\\n`)\n // @ts-ignore\n return res;\n }\n\n}\n","\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 result = result.concat(target.toString().match(FRegEx) || []);\n return result.map(prop => prop.replace('this.', ''))\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\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 Helpers {\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 getConfig(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\n\nexport const CLASS = {\n NAME: CLASSNAME.CLASSNAME,\n setName: setClassName,\n getBy: Helpers.getBy,\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 = Helpers.getConfig(target)[0]\n // console.log(`getSingleton for ${target.name}: `, config.singleton)\n\n return config.singleton as T;\n },\n setSingletonObj(target: Function, singletonObject: any) {\n // console.log('SET SINGLETON', singletonObject)\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 // console.log(`SINGLETON SET for TARGET ${className}`)\n const config = Helpers.getConfig(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 getConfig: Helpers.getConfig,\n getFromObject: Helpers.getFromObject,\n getName: Helpers.getName,\n getNameFromObject: Helpers.getNameFromObject,\n describeProperites: Helpers.describeProperites,\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 // console.log(`EQ v1: , v2: - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`, obj, anotherObj)\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 // console.log(`DIFF FAMILY ${isFamilyDiff} v1: ${CLASSNAME.getObjectClassFamily(obj)}, v2: ${CLASSNAME.getObjectClassFamily(anotherObj)} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n if (isFamilyDiff) {\n // console.log(`DIFF v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n return false;\n }\n if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {\n // console.log(`NOT CLASS v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n return false\n }\n\n // console.log(`v1: ${v1} ,class ${CLASS.getNameFromObject(obj)} ,prop: ${CLASS.OBJECT(obj).indexProperty}`)\n // console.log(`v2: ${v2} ,class ${CLASS.getNameFromObject(anotherObj)} ,prop: ${CLASS.OBJECT(anotherObj).indexProperty}`)\n // console.log(`v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n // console.log('')\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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getClasses","ConfigHelpers"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typescript-class-helpers.mjs","sources":["../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/models.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/symbols.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/storage.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/set-class-name.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/classname.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/describe-class.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/index.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/typescript-class-helpers.ts"],"sourcesContent":["import { ConfigModels } from 'tnp-config/browser';\n\nexport namespace Models {\n\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 export class ParamConfig {\n paramName: string;\n paramType: ConfigModels.ParamType;\n index: number;\n defaultType: any;\n expireInSeconds?: number;\n }\n\n export class MethodConfig {\n methodName: string;\n path: string;\n descriptor: PropertyDescriptor;\n type: ConfigModels.HttpMethod;\n realtimeUpdate: boolean;\n/* */\n/* */\n \n parameters: { [paramName: string]: ParamConfig } = {};\n }\n\n export interface ClassMeta {\n uniqueKey?: string;\n className?: string;\n classFamily?: string;\n classNameInBrowser?: string;\n target?: Function;\n }\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 methods: { [methodName: string]: MethodConfig } = {};\n }\n\n}\n","export const SYMBOL = {\n MODELS_MAPPING: Symbol(),\n DEFAULT_MODEL: Symbol(),\n CLASSNAMEKEY: Symbol(),\n // SINGLETON: Symbol(),\n CLASSNAMEKEYBROWSER: Symbol(),\n CLASS_META_CONFIG: Symbol(),\n STORAGE: 'classesstorage',\n CLASSES: 'classes',\n}\n","import { 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","import { _ } 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 // @ts-ignore\n target[SYMBOL.CLASSNAMEKEY] = className;\n // @ts-ignore\n target[SYMBOL.CLASSNAMEKEYBROWSER] = classNameInBrowser;\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 // console.log(`DECORATED CONSTRUCTOR OF ${Original.name}`)\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 // console.log(`Singleton created for \"${className}\", mode: ${singleton} `);\n }\n else {\n // console.log('ingleton exists')\n }\n\n return context;\n }\n };\n\n // copy prototype so intanceof operator still works\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 // (obj.decoratedConstructor as any).name = className;\n // console.log('return new contruor', decoratedConstructor)\n return obj.decoratedConstructor;\n } else if (singleton === 'autoinstance') {\n\n // console.log(`AUTOINSTANCE FOR ${target.name}`)\n const auto = new (Original as any)();\n CLASS.setSingletonObj(Original, auto)\n // console.log(`Singleton created for \"${className}\", mode: ${singleton} `)\n\n }\n}\n","import { _ } from 'tnp-core/browser';\nimport { Models } from './models';\nimport { SYMBOL } from './symbols';\nimport { Helpers } from './index';\nimport { Helpers as ConfigHelpers } from 'tnp-core/browser';\nimport { getStorage } from './storage';\nimport { setClassName } from './set-class-name';\n\nfunction getClasses(): Models.ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\n\nexport namespace CLASSNAME {\n\n export function\n getClassConfig(target: Function, configs: Models.ClassConfig[] = []): Models.ClassConfig[] {\n if (!_.isFunction(target)) {\n throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`\n }\n\n const meta = SYMBOL.CLASS_META_CONFIG;\n let config: Models.ClassConfig;\n\n // @ts-ignore\n if (!target[meta]) {\n config = new Models.ClassConfig();\n config.classReference = target;\n } else {\n // @ts-ignore\n config = target[meta];\n var parentClass = Object.getPrototypeOf(target)\n if (config.classReference === parentClass) {\n const childConfig = new Models.ClassConfig();\n childConfig.vParent = config;\n childConfig.classReference = target;\n // @ts-ignore\n config.vChildren.push(childConfig)\n config = childConfig;\n }\n }\n // @ts-ignore\n target[meta] = config;\n configs.push(config);\n return (_.isFunction(parentClass) && parentClass.name !== '') ? getClassConfig(parentClass, configs) : configs;\n }\n\n\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(className: string,\n options?: Models.CLASSNAMEOptions) {\n return function (target: Function) {\n // console.log(`CLASSNAME Inited ${className}`)\n return setClassName(target, className, options);\n } as any;\n }\n\n export function getClassName(target: Function, production = false) {\n if (_.isString(target)) {\n console.trace(target);\n console.warn(`[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`)\n return target;\n }\n if (!_.isFunction(target)) {\n console.trace(target);\n console.error(`[typescript-class-helpers][getClassName] target is not a class`)\n return void 0;\n }\n\n // @ts-ignore\n if (ConfigHelpers.isBrowser && _.isString(target[SYMBOL.CLASSNAMEKEYBROWSER])) {\n // @ts-ignore\n return target[SYMBOL.CLASSNAMEKEYBROWSER];\n }\n // @ts-ignore\n if (target[SYMBOL.CLASSNAMEKEY]) {\n // @ts-ignore\n return target[SYMBOL.CLASSNAMEKEY];\n }\n if (production) {\n console.error(`[typescript-class-helpers][getClassName(...)](PRODUCTION MODE ERROR)\n Please use decoartor @CLASSNAME for each entity or controller\n This is preventing class name problem in minified code.\n\n import { CLASS } from 'typescript-class-helpers/browser';\n\n @CLASS.NAME('ExampleClass')\n class ExampleClass {\n ...\n }\n `, target)\n }\n return target.name;\n }\n\n // @ts-ignore\n export function getObjectIndexPropertyValue(obj: any) {\n const className = Helpers.getNameFromObject(obj);\n // console.log('className',className)\n let c = getClasses().find(c => c.className === className);\n // console.log('c',c)\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 // console.log('getClasses()', getClasses())\n if (c) {\n return c.classFamily;\n }\n }\n\n // @ts-ignore\n export function getObjectClassFamily(obj: any) {\n const className = Helpers.getNameFromObject(obj);\n // console.log('className',className)\n let c = getClasses().find(c => c.className === className);\n // console.log('c',c)\n if (c) {\n return c.classFamily;\n }\n }\n\n export function getObjectIndexValue(obj: any) {\n const className = Helpers.getNameFromObject(obj);\n // console.log('className',className)\n let c = getClasses().find(c => c.className === className);\n // console.log('c',c)\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') { // TODO QUICK_FIX\n res = className;\n }\n if (className === 'Date') {\n res = Date;\n }\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n res = c.target;\n }\n // console.log(`getClassBy \"${className} return \\n\\n ${res} \\n\\n`)\n // @ts-ignore\n return res;\n }\n\n}\n","import { _ } 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 result = result.concat(target.toString().match(FRegEx) || []);\n return result.map(prop => prop.replace('this.', ''))\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","import { _ } 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 Helpers {\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 getConfig(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\n\nexport const CLASS = {\n NAME: CLASSNAME.CLASSNAME,\n setName: setClassName,\n getBy: Helpers.getBy,\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 = Helpers.getConfig(target)[0]\n // console.log(`getSingleton for ${target.name}: `, config.singleton)\n\n return config.singleton as T;\n },\n setSingletonObj(target: Function, singletonObject: any) {\n // console.log('SET SINGLETON', singletonObject)\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 // console.log(`SINGLETON SET for TARGET ${className}`)\n const config = Helpers.getConfig(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 getConfig: Helpers.getConfig,\n getFromObject: Helpers.getFromObject,\n getName: Helpers.getName,\n getNameFromObject: Helpers.getNameFromObject,\n describeProperites: Helpers.describeProperites,\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 // console.log(`EQ v1: , v2: - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`, obj, anotherObj)\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 // console.log(`DIFF FAMILY ${isFamilyDiff} v1: ${CLASSNAME.getObjectClassFamily(obj)}, v2: ${CLASSNAME.getObjectClassFamily(anotherObj)} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n if (isFamilyDiff) {\n // console.log(`DIFF v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n return false;\n }\n if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {\n // console.log(`NOT CLASS v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n return false\n }\n\n // console.log(`v1: ${v1} ,class ${CLASS.getNameFromObject(obj)} ,prop: ${CLASS.OBJECT(obj).indexProperty}`)\n // console.log(`v2: ${v2} ,class ${CLASS.getNameFromObject(anotherObj)} ,prop: ${CLASS.OBJECT(anotherObj).indexProperty}`)\n // console.log(`v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n // console.log('')\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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getClasses","ConfigHelpers"],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ var Models;
|
|
|
8
8
|
Models.ParamConfig = ParamConfig;
|
|
9
9
|
class MethodConfig {
|
|
10
10
|
constructor() {
|
|
11
|
+
/* */
|
|
12
|
+
/* */
|
|
11
13
|
this.parameters = {};
|
|
12
14
|
}
|
|
13
15
|
}
|
|
@@ -41,6 +43,10 @@ function defaultValues() {
|
|
|
41
43
|
});
|
|
42
44
|
}
|
|
43
45
|
function getStorage(property) {
|
|
46
|
+
/* */
|
|
47
|
+
/* */
|
|
48
|
+
/* */
|
|
49
|
+
/* */
|
|
44
50
|
if (typeof property === 'string') {
|
|
45
51
|
const storageInClassStaticProp = getStorage();
|
|
46
52
|
return storageInClassStaticProp[property];
|
|
@@ -216,7 +222,7 @@ var CLASSNAME;
|
|
|
216
222
|
Please use decoartor @CLASSNAME for each entity or controller
|
|
217
223
|
This is preventing class name problem in minified code.
|
|
218
224
|
|
|
219
|
-
import { CLASS } from 'typescript-class-helpers';
|
|
225
|
+
import { CLASS } from 'typescript-class-helpers/browser';
|
|
220
226
|
|
|
221
227
|
@CLASS.NAME('ExampleClass')
|
|
222
228
|
class ExampleClass {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-class-helpers.mjs","sources":["../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/models.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/symbols.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/storage.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/set-class-name.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/classname.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/describe-class.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/index.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/typescript-class-helpers.ts"],"sourcesContent":["\n\nimport { ConfigModels } from 'tnp-config/browser';\n\nexport namespace Models {\n\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 export class ParamConfig {\n paramName: string;\n paramType: ConfigModels.ParamType;\n index: number;\n defaultType: any;\n expireInSeconds?: number;\n }\n\n export class MethodConfig {\n methodName: string;\n path: string;\n descriptor: PropertyDescriptor;\n type: ConfigModels.HttpMethod;\n realtimeUpdate: boolean;\n\n parameters: { [paramName: string]: ParamConfig } = {};\n }\n\n export interface ClassMeta {\n uniqueKey?: string;\n className?: string;\n classFamily?: string;\n classNameInBrowser?: string;\n target?: Function;\n }\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 methods: { [methodName: string]: MethodConfig } = {};\n }\n\n}\n","\n\nexport const SYMBOL = {\n MODELS_MAPPING: Symbol(),\n DEFAULT_MODEL: Symbol(),\n CLASSNAMEKEY: Symbol(),\n // SINGLETON: Symbol(),\n CLASSNAMEKEYBROWSER: Symbol(),\n CLASS_META_CONFIG: Symbol(),\n STORAGE: 'classesstorage',\n CLASSES: 'classes',\n}\n","\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 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\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 // @ts-ignore\n target[SYMBOL.CLASSNAMEKEY] = className;\n // @ts-ignore\n target[SYMBOL.CLASSNAMEKEYBROWSER] = classNameInBrowser;\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 // console.log(`DECORATED CONSTRUCTOR OF ${Original.name}`)\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 // console.log(`Singleton created for \"${className}\", mode: ${singleton} `);\n }\n else {\n // console.log('ingleton exists')\n }\n\n return context;\n }\n };\n\n // copy prototype so intanceof operator still works\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 // (obj.decoratedConstructor as any).name = className;\n // console.log('return new contruor', decoratedConstructor)\n return obj.decoratedConstructor;\n } else if (singleton === 'autoinstance') {\n\n // console.log(`AUTOINSTANCE FOR ${target.name}`)\n const auto = new (Original as any)();\n CLASS.setSingletonObj(Original, auto)\n // console.log(`Singleton created for \"${className}\", mode: ${singleton} `)\n\n }\n}\n","\n\nimport { _ } from 'tnp-core/browser';\nimport { Models } from './models';\nimport { SYMBOL } from './symbols';\nimport { Helpers } from './index';\nimport { Helpers as ConfigHelpers } from 'tnp-core/browser';\nimport { getStorage } from './storage';\nimport { setClassName } from './set-class-name';\n\nfunction getClasses(): Models.ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\n\nexport namespace CLASSNAME {\n\n export function\n getClassConfig(target: Function, configs: Models.ClassConfig[] = []): Models.ClassConfig[] {\n if (!_.isFunction(target)) {\n throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`\n }\n\n const meta = SYMBOL.CLASS_META_CONFIG;\n let config: Models.ClassConfig;\n\n // @ts-ignore\n if (!target[meta]) {\n config = new Models.ClassConfig();\n config.classReference = target;\n } else {\n // @ts-ignore\n config = target[meta];\n var parentClass = Object.getPrototypeOf(target)\n if (config.classReference === parentClass) {\n const childConfig = new Models.ClassConfig();\n childConfig.vParent = config;\n childConfig.classReference = target;\n // @ts-ignore\n config.vChildren.push(childConfig)\n config = childConfig;\n }\n }\n // @ts-ignore\n target[meta] = config;\n configs.push(config);\n return (_.isFunction(parentClass) && parentClass.name !== '') ? getClassConfig(parentClass, configs) : configs;\n }\n\n\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(className: string,\n options?: Models.CLASSNAMEOptions) {\n return function (target: Function) {\n // console.log(`CLASSNAME Inited ${className}`)\n return setClassName(target, className, options);\n } as any;\n }\n\n export function getClassName(target: Function, production = false) {\n if (_.isString(target)) {\n console.trace(target);\n console.warn(`[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`)\n return target;\n }\n if (!_.isFunction(target)) {\n console.trace(target);\n console.error(`[typescript-class-helpers][getClassName] target is not a class`)\n return void 0;\n }\n\n // @ts-ignore\n if (ConfigHelpers.isBrowser && _.isString(target[SYMBOL.CLASSNAMEKEYBROWSER])) {\n // @ts-ignore\n return target[SYMBOL.CLASSNAMEKEYBROWSER];\n }\n // @ts-ignore\n if (target[SYMBOL.CLASSNAMEKEY]) {\n // @ts-ignore\n return target[SYMBOL.CLASSNAMEKEY];\n }\n if (production) {\n console.error(`[typescript-class-helpers][getClassName(...)](PRODUCTION MODE ERROR)\n Please use decoartor @CLASSNAME for each entity or controller\n This is preventing class name problem in minified code.\n\n import { CLASS } from 'typescript-class-helpers';\n\n @CLASS.NAME('ExampleClass')\n class ExampleClass {\n ...\n }\n `, target)\n }\n return target.name;\n }\n\n // @ts-ignore\n export function getObjectIndexPropertyValue(obj: any) {\n const className = Helpers.getNameFromObject(obj);\n // console.log('className',className)\n let c = getClasses().find(c => c.className === className);\n // console.log('c',c)\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 // console.log('getClasses()', getClasses())\n if (c) {\n return c.classFamily;\n }\n }\n\n // @ts-ignore\n export function getObjectClassFamily(obj: any) {\n const className = Helpers.getNameFromObject(obj);\n // console.log('className',className)\n let c = getClasses().find(c => c.className === className);\n // console.log('c',c)\n if (c) {\n return c.classFamily;\n }\n }\n\n export function getObjectIndexValue(obj: any) {\n const className = Helpers.getNameFromObject(obj);\n // console.log('className',className)\n let c = getClasses().find(c => c.className === className);\n // console.log('c',c)\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') { // TODO QUICK_FIX\n res = className;\n }\n if (className === 'Date') {\n res = Date;\n }\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n res = c.target;\n }\n // console.log(`getClassBy \"${className} return \\n\\n ${res} \\n\\n`)\n // @ts-ignore\n return res;\n }\n\n}\n","\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 result = result.concat(target.toString().match(FRegEx) || []);\n return result.map(prop => prop.replace('this.', ''))\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\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 Helpers {\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 getConfig(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\n\nexport const CLASS = {\n NAME: CLASSNAME.CLASSNAME,\n setName: setClassName,\n getBy: Helpers.getBy,\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 = Helpers.getConfig(target)[0]\n // console.log(`getSingleton for ${target.name}: `, config.singleton)\n\n return config.singleton as T;\n },\n setSingletonObj(target: Function, singletonObject: any) {\n // console.log('SET SINGLETON', singletonObject)\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 // console.log(`SINGLETON SET for TARGET ${className}`)\n const config = Helpers.getConfig(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 getConfig: Helpers.getConfig,\n getFromObject: Helpers.getFromObject,\n getName: Helpers.getName,\n getNameFromObject: Helpers.getNameFromObject,\n describeProperites: Helpers.describeProperites,\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 // console.log(`EQ v1: , v2: - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`, obj, anotherObj)\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 // console.log(`DIFF FAMILY ${isFamilyDiff} v1: ${CLASSNAME.getObjectClassFamily(obj)}, v2: ${CLASSNAME.getObjectClassFamily(anotherObj)} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n if (isFamilyDiff) {\n // console.log(`DIFF v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n return false;\n }\n if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {\n // console.log(`NOT CLASS v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n return false\n }\n\n // console.log(`v1: ${v1} ,class ${CLASS.getNameFromObject(obj)} ,prop: ${CLASS.OBJECT(obj).indexProperty}`)\n // console.log(`v2: ${v2} ,class ${CLASS.getNameFromObject(anotherObj)} ,prop: ${CLASS.OBJECT(anotherObj).indexProperty}`)\n // console.log(`v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n // console.log('')\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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getClasses","ConfigHelpers"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typescript-class-helpers.mjs","sources":["../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/models.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/symbols.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/storage.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/set-class-name.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/classname.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/describe-class.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/lib/index.ts","../../../tmp-libs-for-bundle/typescript-class-helpers/projects/typescript-class-helpers/src/typescript-class-helpers.ts"],"sourcesContent":["import { ConfigModels } from 'tnp-config/browser';\n\nexport namespace Models {\n\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 export class ParamConfig {\n paramName: string;\n paramType: ConfigModels.ParamType;\n index: number;\n defaultType: any;\n expireInSeconds?: number;\n }\n\n export class MethodConfig {\n methodName: string;\n path: string;\n descriptor: PropertyDescriptor;\n type: ConfigModels.HttpMethod;\n realtimeUpdate: boolean;\n/* */\n/* */\n \n parameters: { [paramName: string]: ParamConfig } = {};\n }\n\n export interface ClassMeta {\n uniqueKey?: string;\n className?: string;\n classFamily?: string;\n classNameInBrowser?: string;\n target?: Function;\n }\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 methods: { [methodName: string]: MethodConfig } = {};\n }\n\n}\n","export const SYMBOL = {\n MODELS_MAPPING: Symbol(),\n DEFAULT_MODEL: Symbol(),\n CLASSNAMEKEY: Symbol(),\n // SINGLETON: Symbol(),\n CLASSNAMEKEYBROWSER: Symbol(),\n CLASS_META_CONFIG: Symbol(),\n STORAGE: 'classesstorage',\n CLASSES: 'classes',\n}\n","import { 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","import { _ } 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 // @ts-ignore\n target[SYMBOL.CLASSNAMEKEY] = className;\n // @ts-ignore\n target[SYMBOL.CLASSNAMEKEYBROWSER] = classNameInBrowser;\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 // console.log(`DECORATED CONSTRUCTOR OF ${Original.name}`)\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 // console.log(`Singleton created for \"${className}\", mode: ${singleton} `);\n }\n else {\n // console.log('ingleton exists')\n }\n\n return context;\n }\n };\n\n // copy prototype so intanceof operator still works\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 // (obj.decoratedConstructor as any).name = className;\n // console.log('return new contruor', decoratedConstructor)\n return obj.decoratedConstructor;\n } else if (singleton === 'autoinstance') {\n\n // console.log(`AUTOINSTANCE FOR ${target.name}`)\n const auto = new (Original as any)();\n CLASS.setSingletonObj(Original, auto)\n // console.log(`Singleton created for \"${className}\", mode: ${singleton} `)\n\n }\n}\n","import { _ } from 'tnp-core/browser';\nimport { Models } from './models';\nimport { SYMBOL } from './symbols';\nimport { Helpers } from './index';\nimport { Helpers as ConfigHelpers } from 'tnp-core/browser';\nimport { getStorage } from './storage';\nimport { setClassName } from './set-class-name';\n\nfunction getClasses(): Models.ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\n\nexport namespace CLASSNAME {\n\n export function\n getClassConfig(target: Function, configs: Models.ClassConfig[] = []): Models.ClassConfig[] {\n if (!_.isFunction(target)) {\n throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`\n }\n\n const meta = SYMBOL.CLASS_META_CONFIG;\n let config: Models.ClassConfig;\n\n // @ts-ignore\n if (!target[meta]) {\n config = new Models.ClassConfig();\n config.classReference = target;\n } else {\n // @ts-ignore\n config = target[meta];\n var parentClass = Object.getPrototypeOf(target)\n if (config.classReference === parentClass) {\n const childConfig = new Models.ClassConfig();\n childConfig.vParent = config;\n childConfig.classReference = target;\n // @ts-ignore\n config.vChildren.push(childConfig)\n config = childConfig;\n }\n }\n // @ts-ignore\n target[meta] = config;\n configs.push(config);\n return (_.isFunction(parentClass) && parentClass.name !== '') ? getClassConfig(parentClass, configs) : configs;\n }\n\n\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(className: string,\n options?: Models.CLASSNAMEOptions) {\n return function (target: Function) {\n // console.log(`CLASSNAME Inited ${className}`)\n return setClassName(target, className, options);\n } as any;\n }\n\n export function getClassName(target: Function, production = false) {\n if (_.isString(target)) {\n console.trace(target);\n console.warn(`[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`)\n return target;\n }\n if (!_.isFunction(target)) {\n console.trace(target);\n console.error(`[typescript-class-helpers][getClassName] target is not a class`)\n return void 0;\n }\n\n // @ts-ignore\n if (ConfigHelpers.isBrowser && _.isString(target[SYMBOL.CLASSNAMEKEYBROWSER])) {\n // @ts-ignore\n return target[SYMBOL.CLASSNAMEKEYBROWSER];\n }\n // @ts-ignore\n if (target[SYMBOL.CLASSNAMEKEY]) {\n // @ts-ignore\n return target[SYMBOL.CLASSNAMEKEY];\n }\n if (production) {\n console.error(`[typescript-class-helpers][getClassName(...)](PRODUCTION MODE ERROR)\n Please use decoartor @CLASSNAME for each entity or controller\n This is preventing class name problem in minified code.\n\n import { CLASS } from 'typescript-class-helpers/browser';\n\n @CLASS.NAME('ExampleClass')\n class ExampleClass {\n ...\n }\n `, target)\n }\n return target.name;\n }\n\n // @ts-ignore\n export function getObjectIndexPropertyValue(obj: any) {\n const className = Helpers.getNameFromObject(obj);\n // console.log('className',className)\n let c = getClasses().find(c => c.className === className);\n // console.log('c',c)\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 // console.log('getClasses()', getClasses())\n if (c) {\n return c.classFamily;\n }\n }\n\n // @ts-ignore\n export function getObjectClassFamily(obj: any) {\n const className = Helpers.getNameFromObject(obj);\n // console.log('className',className)\n let c = getClasses().find(c => c.className === className);\n // console.log('c',c)\n if (c) {\n return c.classFamily;\n }\n }\n\n export function getObjectIndexValue(obj: any) {\n const className = Helpers.getNameFromObject(obj);\n // console.log('className',className)\n let c = getClasses().find(c => c.className === className);\n // console.log('c',c)\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') { // TODO QUICK_FIX\n res = className;\n }\n if (className === 'Date') {\n res = Date;\n }\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n res = c.target;\n }\n // console.log(`getClassBy \"${className} return \\n\\n ${res} \\n\\n`)\n // @ts-ignore\n return res;\n }\n\n}\n","import { _ } 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 result = result.concat(target.toString().match(FRegEx) || []);\n return result.map(prop => prop.replace('this.', ''))\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","import { _ } 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 Helpers {\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 getConfig(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\n\nexport const CLASS = {\n NAME: CLASSNAME.CLASSNAME,\n setName: setClassName,\n getBy: Helpers.getBy,\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 = Helpers.getConfig(target)[0]\n // console.log(`getSingleton for ${target.name}: `, config.singleton)\n\n return config.singleton as T;\n },\n setSingletonObj(target: Function, singletonObject: any) {\n // console.log('SET SINGLETON', singletonObject)\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 // console.log(`SINGLETON SET for TARGET ${className}`)\n const config = Helpers.getConfig(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 getConfig: Helpers.getConfig,\n getFromObject: Helpers.getFromObject,\n getName: Helpers.getName,\n getNameFromObject: Helpers.getNameFromObject,\n describeProperites: Helpers.describeProperites,\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 // console.log(`EQ v1: , v2: - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`, obj, anotherObj)\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 // console.log(`DIFF FAMILY ${isFamilyDiff} v1: ${CLASSNAME.getObjectClassFamily(obj)}, v2: ${CLASSNAME.getObjectClassFamily(anotherObj)} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n if (isFamilyDiff) {\n // console.log(`DIFF v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n return false;\n }\n if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {\n // console.log(`NOT CLASS v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n return false\n }\n\n // console.log(`v1: ${v1} ,class ${CLASS.getNameFromObject(obj)} ,prop: ${CLASS.OBJECT(obj).indexProperty}`)\n // console.log(`v2: ${v2} ,class ${CLASS.getNameFromObject(anotherObj)} ,prop: ${CLASS.OBJECT(anotherObj).indexProperty}`)\n // console.log(`v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)\n // console.log('')\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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getClasses","ConfigHelpers"],"mappings":"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"}
|
package/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/* @fixed */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
4
|
(0, tslib_1.__exportStar)(require("./lib"), exports);
|
|
5
|
-
//# sourceMappingURL=index.js.map
|
|
6
|
-
// @fixed
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
package/lib/classname.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/* @fixed */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CLASSNAME = void 0;
|
|
4
4
|
var tnp_core_1 = require("tnp-core");
|
|
@@ -150,5 +150,4 @@ var CLASSNAME;
|
|
|
150
150
|
}
|
|
151
151
|
CLASSNAME_1.getClassBy = getClassBy;
|
|
152
152
|
})(CLASSNAME = exports.CLASSNAME || (exports.CLASSNAME = {}));
|
|
153
|
-
//# sourceMappingURL=classname.js.map
|
|
154
|
-
// @fixed
|
|
153
|
+
//# sourceMappingURL=classname.js.map
|
package/lib/describe-class.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/* @fixed */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.describeByDefaultModelsAndMapping = exports.describeFromClassStringify = void 0;
|
|
4
4
|
var tnp_core_1 = require("tnp-core");
|
|
@@ -67,5 +67,4 @@ function describeByDefaultModelsAndMapping(target) {
|
|
|
67
67
|
return propNames;
|
|
68
68
|
}
|
|
69
69
|
exports.describeByDefaultModelsAndMapping = describeByDefaultModelsAndMapping;
|
|
70
|
-
//# sourceMappingURL=describe-class.js.map
|
|
71
|
-
// @fixed
|
|
70
|
+
//# sourceMappingURL=describe-class.js.map
|
package/lib/helpers-messages.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/* @fixed */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.warn = exports.log = exports.info = exports.error = void 0;
|
|
4
4
|
//#region @backend
|
|
@@ -117,5 +117,4 @@ function warn(details, trace) {
|
|
|
117
117
|
//#endregion
|
|
118
118
|
}
|
|
119
119
|
exports.warn = warn;
|
|
120
|
-
//# sourceMappingURL=helpers-messages.js.map
|
|
121
|
-
// @fixed
|
|
120
|
+
//# sourceMappingURL=helpers-messages.js.map
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/* @fixed */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CLASS = exports.Helpers = exports.SYMBOL = exports.Models = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
@@ -150,5 +150,4 @@ exports.CLASS = {
|
|
|
150
150
|
}
|
|
151
151
|
};
|
|
152
152
|
(0, tslib_1.__exportStar)(require("enum-values"), exports);
|
|
153
|
-
//# sourceMappingURL=index.js.map
|
|
154
|
-
// @fixed
|
|
153
|
+
//# sourceMappingURL=index.js.map
|
package/lib/models.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/* @fixed */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Models = void 0;
|
|
4
4
|
var Models;
|
|
@@ -29,5 +29,4 @@ var Models;
|
|
|
29
29
|
}());
|
|
30
30
|
Models.ClassConfig = ClassConfig;
|
|
31
31
|
})(Models = exports.Models || (exports.Models = {}));
|
|
32
|
-
//# sourceMappingURL=models.js.map
|
|
33
|
-
// @fixed
|
|
32
|
+
//# sourceMappingURL=models.js.map
|
package/lib/set-class-name.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/* @fixed */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setClassName = void 0;
|
|
4
4
|
var tnp_core_1 = require("tnp-core");
|
|
@@ -101,5 +101,4 @@ function setClassName(target, className, options) {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
exports.setClassName = setClassName;
|
|
104
|
-
//# sourceMappingURL=set-class-name.js.map
|
|
105
|
-
// @fixed
|
|
104
|
+
//# sourceMappingURL=set-class-name.js.map
|
package/lib/storage.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/* @fixed */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getStorage = void 0;
|
|
4
4
|
var tnp_core_1 = require("tnp-core");
|
|
@@ -26,5 +26,4 @@ function getStorage(property) {
|
|
|
26
26
|
return defaultValues.prototype[symbols_1.SYMBOL.STORAGE];
|
|
27
27
|
}
|
|
28
28
|
exports.getStorage = getStorage;
|
|
29
|
-
//# sourceMappingURL=storage.js.map
|
|
30
|
-
// @fixed
|
|
29
|
+
//# sourceMappingURL=storage.js.map
|
package/lib/symbols.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/* @fixed */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SYMBOL = void 0;
|
|
4
4
|
exports.SYMBOL = {
|
|
@@ -11,5 +11,4 @@ exports.SYMBOL = {
|
|
|
11
11
|
STORAGE: 'classesstorage',
|
|
12
12
|
CLASSES: 'classes',
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=symbols.js.map
|
|
15
|
-
// @fixed
|
|
14
|
+
//# sourceMappingURL=symbols.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typescript-class-helpers",
|
|
3
3
|
"description": "Usefull helper to have in your typescript project",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "13.0.2",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "mocha --require ts-node/register src/**/*.spec.ts",
|
|
7
7
|
"test:watch": "mocha --compilers ts-node/register src/**/*.spec.ts --watch"
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"homepage": "https://github.com/darekf77/typescript-class-helpers#readme",
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"enum-values": "1.2.1",
|
|
25
|
-
"ng2-logger": "~
|
|
25
|
+
"ng2-logger": "~13.0.1"
|
|
26
26
|
},
|
|
27
27
|
"license": "MIT",
|
|
28
28
|
"private": false,
|