typescript-class-helpers 16.5.1 → 16.5.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 +23 -1
- package/browser/esm2022/lib/describe-class.mjs +4 -1
- package/browser/esm2022/lib/index.mjs +12 -1
- package/browser/esm2022/lib/set-class-name.mjs +10 -1
- package/browser/fesm2022/typescript-class-helpers.mjs +45 -0
- package/browser/fesm2022/typescript-class-helpers.mjs.map +1 -1
- package/client/esm2022/lib/classname.mjs +23 -1
- package/client/esm2022/lib/describe-class.mjs +4 -1
- package/client/esm2022/lib/index.mjs +12 -1
- package/client/esm2022/lib/set-class-name.mjs +10 -1
- package/client/fesm2022/typescript-class-helpers.mjs +45 -0
- package/client/fesm2022/typescript-class-helpers.mjs.map +1 -1
- package/client/package.json +32 -32
- package/package.json +3 -3
- package/src.d.ts +6 -0
- package/tmp-environment.json +36 -37
- package/websql/esm2022/lib/classname.mjs +23 -1
- package/websql/esm2022/lib/describe-class.mjs +4 -1
- package/websql/esm2022/lib/index.mjs +12 -1
- package/websql/esm2022/lib/set-class-name.mjs +10 -1
- package/websql/fesm2022/typescript-class-helpers.mjs +45 -0
- package/websql/fesm2022/typescript-class-helpers.mjs.map +1 -1
|
@@ -80,6 +80,7 @@ function setClassName(target, className, options) {
|
|
|
80
80
|
config.className = className;
|
|
81
81
|
config.uniqueKey = uniqueKey;
|
|
82
82
|
config.classNameInBrowser = classNameInBrowser;
|
|
83
|
+
/* \/\/ console\.log\(`Setting class Name to "\$\{target\.name\}"`\) */
|
|
83
84
|
}
|
|
84
85
|
const existed = getClasses$1()
|
|
85
86
|
.find(f => f.className === className);
|
|
@@ -113,17 +114,21 @@ function setClassName(target, className, options) {
|
|
|
113
114
|
const obj = {
|
|
114
115
|
// @ts-ignore
|
|
115
116
|
decoratedConstructor: function (...args) {
|
|
117
|
+
/* \/\/ console\.log\(`DECORATED CONSTRUCTOR OF \$\{Original\.name\}`\) */
|
|
116
118
|
const context = Original.apply(this, args);
|
|
117
119
|
const existedSingleton = CLASS.getSingleton(Original);
|
|
118
120
|
if (!existedSingleton || singleton === 'last-instance') {
|
|
119
121
|
CLASS.setSingletonObj(Original, this);
|
|
120
122
|
CLASS.setSingletonObj(obj.decoratedConstructor, this);
|
|
123
|
+
/* \/\/ console\.log\(`Singleton created for "\$\{className\}", mode: \$\{singleton\} `\); */
|
|
121
124
|
}
|
|
122
125
|
else {
|
|
126
|
+
/* \/\/ console\.log\('ingleton exists'\) */
|
|
123
127
|
}
|
|
124
128
|
return context;
|
|
125
129
|
}
|
|
126
130
|
};
|
|
131
|
+
/* \/\/ copy prototype so intanceof operator still works */
|
|
127
132
|
obj.decoratedConstructor.prototype = Original.prototype;
|
|
128
133
|
// @ts-ignore
|
|
129
134
|
Object.keys(Original).forEach((name) => { obj.decoratedConstructor[name] = Original[name]; });
|
|
@@ -131,11 +136,15 @@ function setClassName(target, className, options) {
|
|
|
131
136
|
value: className,
|
|
132
137
|
configurable: true,
|
|
133
138
|
});
|
|
139
|
+
/* \/\/ \(obj\.decoratedConstructor as any\)\.name = className; */
|
|
140
|
+
/* \/\/ console\.log\('return new contruor', decoratedConstructor\) */
|
|
134
141
|
return obj.decoratedConstructor;
|
|
135
142
|
}
|
|
136
143
|
else if (singleton === 'autoinstance') {
|
|
144
|
+
/* \/\/ console\.log\(`AUTOINSTANCE FOR \$\{target\.name\}`\) */
|
|
137
145
|
const auto = new Original();
|
|
138
146
|
CLASS.setSingletonObj(Original, auto);
|
|
147
|
+
/* \/\/ console\.log\(`Singleton created for "\$\{className\}", mode: \$\{singleton\} `\) */
|
|
139
148
|
}
|
|
140
149
|
}
|
|
141
150
|
;
|
|
@@ -203,12 +212,15 @@ var CLASSNAME;
|
|
|
203
212
|
*/
|
|
204
213
|
function CLASSNAME(className, options) {
|
|
205
214
|
return function (target) {
|
|
215
|
+
/* \/\/ console\.log\(`CLASSNAME Inited \$\{className\}`\) */
|
|
206
216
|
return setClassName(target, className, options);
|
|
207
217
|
};
|
|
208
218
|
}
|
|
209
219
|
CLASSNAME_1.CLASSNAME = CLASSNAME;
|
|
210
220
|
function getClassName(target, production = false) {
|
|
211
221
|
if (_.isNil(target)) {
|
|
222
|
+
/* \/\/ console\.log\(target\); */
|
|
223
|
+
/* \/\/ Helpers\.warn\(`\[typescript\-class\-helpers\]\[getClassName\] target is nil`\) */
|
|
212
224
|
return void 0;
|
|
213
225
|
}
|
|
214
226
|
if (_.isString(target)) {
|
|
@@ -236,6 +248,17 @@ var CLASSNAME;
|
|
|
236
248
|
throw new Error(ERROR_MSG_CLASS_WITHOUT_DECORATOR);
|
|
237
249
|
}
|
|
238
250
|
else {
|
|
251
|
+
/* \/\/ Helpers\.log\('check for ' \+ target\.name\) */
|
|
252
|
+
/* \/\/ setTimeout\(\(\) => \{ */
|
|
253
|
+
/* \/\/ \/\/ Helpers\.log\('check for ' \+ target\.name \+ ' === ' \+ config\.className\)\/ */
|
|
254
|
+
/* \/\/ \/\/ TODO this may work, but not yet in singleton\/morphi */
|
|
255
|
+
/* \/\/ if \(!config\.className\) \{ */
|
|
256
|
+
/* \/\/ if \(target\?\.name && target\.name !== 'Object'\) \{ */
|
|
257
|
+
/* \/\/ ConfigHelpers\.log\(`\[typescript\-class\-helpers\] Please use @CLASS\.NAME` */
|
|
258
|
+
/* \/\/ \+ `\('\$\{\(target\?\.name && !!target\.name\) \? target\.name : '\.\.\.'\}'\) decorator for class \$\{target\?\.name\}`\) */
|
|
259
|
+
/* \/\/ \} */
|
|
260
|
+
/* \/\/ \} */
|
|
261
|
+
/* \/\/ \}\) */
|
|
239
262
|
}
|
|
240
263
|
return target.name;
|
|
241
264
|
}
|
|
@@ -243,7 +266,9 @@ var CLASSNAME;
|
|
|
243
266
|
// @ts-ignore
|
|
244
267
|
function getObjectIndexPropertyValue(obj) {
|
|
245
268
|
const className = TchHelpers.getNameFromObject(obj);
|
|
269
|
+
/* \/\/ console\.log\('className',className\) */
|
|
246
270
|
let c = getClasses().find(c => c.className === className);
|
|
271
|
+
/* \/\/ console\.log\('c',c\) */
|
|
247
272
|
if (c) {
|
|
248
273
|
return c.uniqueKey;
|
|
249
274
|
}
|
|
@@ -252,6 +277,7 @@ var CLASSNAME;
|
|
|
252
277
|
// @ts-ignore
|
|
253
278
|
function getClassFamilyByClassName(className) {
|
|
254
279
|
let c = getClasses().find(c => c.className === className);
|
|
280
|
+
/* \/\/ console\.log\('getClasses\(\)', getClasses\(\)\) */
|
|
255
281
|
if (c) {
|
|
256
282
|
return c.classFamily;
|
|
257
283
|
}
|
|
@@ -260,7 +286,9 @@ var CLASSNAME;
|
|
|
260
286
|
// @ts-ignore
|
|
261
287
|
function getObjectClassFamily(obj) {
|
|
262
288
|
const className = TchHelpers.getNameFromObject(obj);
|
|
289
|
+
/* \/\/ console\.log\('className',className\) */
|
|
263
290
|
let c = getClasses().find(c => c.className === className);
|
|
291
|
+
/* \/\/ console\.log\('c',c\) */
|
|
264
292
|
if (c) {
|
|
265
293
|
return c.classFamily;
|
|
266
294
|
}
|
|
@@ -268,7 +296,9 @@ var CLASSNAME;
|
|
|
268
296
|
CLASSNAME_1.getObjectClassFamily = getObjectClassFamily;
|
|
269
297
|
function getObjectIndexValue(obj) {
|
|
270
298
|
const className = TchHelpers.getNameFromObject(obj);
|
|
299
|
+
/* \/\/ console\.log\('className',className\) */
|
|
271
300
|
let c = getClasses().find(c => c.className === className);
|
|
301
|
+
/* \/\/ console\.log\('c',c\) */
|
|
272
302
|
if (c && _.isString(c.uniqueKey)) {
|
|
273
303
|
return obj[c.uniqueKey];
|
|
274
304
|
}
|
|
@@ -301,6 +331,7 @@ var CLASSNAME;
|
|
|
301
331
|
if (c) {
|
|
302
332
|
res = c.target;
|
|
303
333
|
}
|
|
334
|
+
/* \/\/ console\.log\(`getClassBy "\$\{className\} return \\n\\n \$\{res\} \\n\\n`\) */
|
|
304
335
|
// @ts-ignore
|
|
305
336
|
return res;
|
|
306
337
|
}
|
|
@@ -326,6 +357,9 @@ function describeFromClassStringify(target, parent = false) {
|
|
|
326
357
|
}
|
|
327
358
|
const classString = target.toString();
|
|
328
359
|
const matches = classString.match(FRegEx) || [];
|
|
360
|
+
/* \/\/ console\.log\(\{ */
|
|
361
|
+
/* \/\/ classString, */
|
|
362
|
+
/* \/\/ \}\); */
|
|
329
363
|
result = result.concat(matches);
|
|
330
364
|
return result.map(prop => prop
|
|
331
365
|
.replace('this.', '')
|
|
@@ -424,9 +458,11 @@ const CLASS = {
|
|
|
424
458
|
return;
|
|
425
459
|
}
|
|
426
460
|
const config = TchHelpers.getConfigs(target)[0];
|
|
461
|
+
/* \/\/ console\.log\(`getSingleton for \$\{target\.name\}: `, config\.singleton\) */
|
|
427
462
|
return config.singleton;
|
|
428
463
|
},
|
|
429
464
|
setSingletonObj(target, singletonObject) {
|
|
465
|
+
/* \/\/ console\.log\('SET SINGLETON', singletonObject\) */
|
|
430
466
|
if (typeof target !== 'function') {
|
|
431
467
|
console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`);
|
|
432
468
|
return;
|
|
@@ -440,6 +476,7 @@ const CLASS = {
|
|
|
440
476
|
return;
|
|
441
477
|
}
|
|
442
478
|
const className = CLASS.getName(target);
|
|
479
|
+
/* \/\/ console\.log\(`SINGLETON SET for TARGET \$\{className\}`\) */
|
|
443
480
|
const config = TchHelpers.getConfigs(target)[0];
|
|
444
481
|
if (config.singleton) {
|
|
445
482
|
console.warn(`[typescript-class-helpers] You are trying to set singleton of "${className}" second time with different object.`);
|
|
@@ -478,6 +515,7 @@ const CLASS = {
|
|
|
478
515
|
return false;
|
|
479
516
|
}
|
|
480
517
|
if (obj === anotherObj) {
|
|
518
|
+
/* \/\/ console\.log\(`EQ v1: , v2: \- class1 \$\{CLASS\.getNameFromObject\(obj\)\}, class2 \$\{CLASS\.getNameFromObject\(anotherObj\)\}`, obj, anotherObj\) */
|
|
481
519
|
return true;
|
|
482
520
|
}
|
|
483
521
|
const v1 = CLASSNAME.getObjectIndexValue(obj);
|
|
@@ -485,12 +523,19 @@ const CLASS = {
|
|
|
485
523
|
const f1 = CLASSNAME.getObjectClassFamily(obj);
|
|
486
524
|
const f2 = CLASSNAME.getObjectClassFamily(anotherObj);
|
|
487
525
|
const isFamilyDiff = (!_.isString(f1) || !_.isString(f2) || (f1 !== f2));
|
|
526
|
+
/* \/\/ console\.log\(`DIFF FAMILY \$\{isFamilyDiff\} v1: \$\{CLASSNAME\.getObjectClassFamily\(obj\)\}, v2: \$\{CLASSNAME\.getObjectClassFamily\(anotherObj\)\} \- class1 \$\{CLASS\.getNameFromObject\(obj\)\}, class2 \$\{CLASS\.getNameFromObject\(anotherObj\)\}`\) */
|
|
488
527
|
if (isFamilyDiff) {
|
|
528
|
+
/* \/\/ console\.log\(`DIFF v1: \$\{v1\}, v2: \$\{v2\} \- class1 \$\{CLASS\.getNameFromObject\(obj\)\}, class2 \$\{CLASS\.getNameFromObject\(anotherObj\)\}`\) */
|
|
489
529
|
return false;
|
|
490
530
|
}
|
|
491
531
|
if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {
|
|
532
|
+
/* \/\/ console\.log\(`NOT CLASS v1: \$\{v1\}, v2: \$\{v2\} \- class1 \$\{CLASS\.getNameFromObject\(obj\)\}, class2 \$\{CLASS\.getNameFromObject\(anotherObj\)\}`\) */
|
|
492
533
|
return false;
|
|
493
534
|
}
|
|
535
|
+
/* \/\/ console\.log\(`v1: \$\{v1\} ,class \$\{CLASS\.getNameFromObject\(obj\)\} ,prop: \$\{CLASS\.OBJECT\(obj\)\.indexProperty\}`\) */
|
|
536
|
+
/* \/\/ console\.log\(`v2: \$\{v2\} ,class \$\{CLASS\.getNameFromObject\(anotherObj\)\} ,prop: \$\{CLASS\.OBJECT\(anotherObj\)\.indexProperty\}`\) */
|
|
537
|
+
/* \/\/ console\.log\(`v1: \$\{v1\}, v2: \$\{v2\} \- class1 \$\{CLASS\.getNameFromObject\(obj\)\}, class2 \$\{CLASS\.getNameFromObject\(anotherObj\)\}`\) */
|
|
538
|
+
/* \/\/ console\.log\(''\) */
|
|
494
539
|
if ((_.isNumber(v1) && _.isNumber(v2)) || (_.isString(v1) && _.isString(v2))) {
|
|
495
540
|
const res = (v1 === v2);
|
|
496
541
|
// @ts-ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-class-helpers.mjs","sources":["../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/models.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/symbols.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/storage.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/set-class-name.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/registerd-db.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/errors-messages.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/classname.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/describe-class.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/index.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/typescript-class-helpers.ts"],"sourcesContent":["\n\nimport { ConfigModels } from 'tnp-config/websql';\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 /**\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: ConfigModels.HttpMethod;\n\n requestHandler: any;\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 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}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/symbols.ts","\n\nimport { Helpers } from 'tnp-core/websql';\nimport { SYMBOL } from './symbols';\nimport { _ } from 'tnp-core/websql';\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/websql';\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/websql';\nimport { Models } from './models';\nimport { SYMBOL } from './symbols';\nimport { TchHelpers } from './index';\nimport { Helpers } from 'tnp-core/websql';\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\n export function getClassConfig(target: Function, configs: Models.ClassConfig[] = [], callerTarget?: Function): 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 = 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 = 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 ? getClassConfig(parentClass, configs, target) : 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(className: string,\n options?: Models.CLASSNAMEOptions) {\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 console.log(target);\n Helpers.warn(`[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`)\n return target;\n }\n if (!_.isFunction(target)) {\n console.log(target);\n Helpers.warn(`[typescript-class-helpers][getClassName] target is not a class`)\n return void 0;\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 (className) {\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 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') { // TODO QUICK_FIX\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\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/classname.ts","\n\nimport { _ } from 'tnp-core/websql';\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/websql';\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\n\nexport const CLASS = {\n NAME: CLASSNAME.CLASSNAME,\n setName: setClassName,\n getBy: TchHelpers.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 = TchHelpers.getConfigs(target)[0]\n\n\n return config.singleton as T;\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 getConfigs: TchHelpers.getConfigs,\n getConfig: (target: Function) => {\n return _.first(TchHelpers.getConfigs(target));\n },\n getFromObject: TchHelpers.getFromObject,\n getName: TchHelpers.getName,\n getNameFromObject: TchHelpers.getNameFromObject,\n describeProperites: TchHelpers.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\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":";;;AAIM,IAAW,OAqEhB;AArED,CAAA,UAAiB,MAAM,EAAA;AAcrB,IAAA,MAAa,WAAW,CAAA;AAMvB,KAAA;AANY,IAAA,MAAA,CAAA,WAAW,cAMvB,CAAA;AAED,IAAA,MAAa,YAAY,CAAA;AAAzB,QAAA,WAAA,GAAA;YAoBE,IAAU,CAAA,UAAA,GAAyC,EAAE,CAAC;SACvD;AAAA,KAAA;AArBY,IAAA,MAAA,CAAA,YAAY,eAqBxB,CAAA;AAUD,IAAA,MAAa,WAAW,CAAA;AAAxB,QAAA,WAAA,GAAA;;YAGE,IAAS,CAAA,SAAA,GAAW,KAAK,CAAC,CAAC;YAC3B,IAAU,CAAA,UAAA,GAAkD,EAAE,CAAC;YAG/D,IAAS,CAAA,SAAA,GAAmB,EAAE,CAAC;YAM/B,IAAO,CAAA,OAAA,GAA2C,EAAE,CAAC;SACtD;AAAA,KAAA;AAdY,IAAA,MAAA,CAAA,WAAW,cAcvB,CAAA;AAEH,CAAC,EArEgB,MAAM,KAAN,MAAM,GAqEtB,EAAA,CAAA,CAAA,CAAA;AAEA,CAAC;AAAA,CAAC,EAAE,EAAE;;ACzEM,MAAA,MAAM,GAAG;IACpB,cAAc,EAAE,MAAM,EAAE;IACxB,aAAa,EAAE,MAAM,EAAE;AACvB,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,OAAO,EAAE,SAAS;EAGlB;AAAA,CAAC,EAAE,EAAE;;ACHP,SAAS,aAAa,GAAA;IACpB,OAAO,CAAC,CAAC,SAAS,CAAC;AACjB,QAAA,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE;AACrB,KAAA,CAAC,CAAA;AACJ,CAAC;AAEK,SAAU,UAAU,CAAU,QAAiB,EAAA;;;;;AAQnD,IAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAEhC,QAAA,MAAM,wBAAwB,GAAG,UAAU,EAAE,CAAC;AAC9C,QAAA,OAAO,wBAAwB,CAAC,QAAQ,CAAC,CAAA;AAC1C,KAAA;IAED,IAAI,OAAO,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE;QAClE,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,aAAa,EAAE,CAAA;AAC1D,KAAA;IACD,OAAO,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAChD,CAAC;AAGA,CAAC;AAAA,CAAC,EAAE,EAAE;;ACvBP,SAASA,YAAU,GAAA;AACjB,IAAA,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;AACvB,IAAA,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAQ,CAAC;AAClC,CAAC;AAED;SACgB,YAAY,CAAC,MAAgB,EAAE,SAAiB,EAAE,OAAiC,EAAA;IAEjG,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,OAAO,IAAI;QACzE,WAAW,EAAE,KAAK,CAAC;AACnB,QAAA,SAAS,EAAE,IAAI;QACf,kBAAkB,EAAE,KAAK,CAAC;QAC1B,SAAS,EAAE,KAAK,CAAC;AACjB,QAAA,YAAY,EAAE,KAAK;KACO,CAAC;AAE7B,IAAA,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE;QACpE,SAAS,GAAG,gBAAgB,CAAA;AAC7B,KAAA;IAED,IAAI,CAAC,SAAS,EAAE;QACd,SAAS,GAAG,IAAI,CAAA;AACjB,KAAA;AAED,IAAA,IAAI,MAAM,EAAE;AACV,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,QAAA,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AAC7B,QAAA,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AAC7B,QAAA,MAAM,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;AAEhD,KAAA;IAED,MAAM,OAAO,GAAIA,YAAU,EAAiD;SACzE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;AAEvC,IAAA,IAAI,OAAO,EAAE;AACX,QAAA,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,KAAA;AAAM,SAAA;AACL,QAAA,MAAM,GAAG,GAAG;YACV,SAAS;YACT,kBAAkB;YAClB,MAAM;YACN,SAAS;YACT,WAAW;SACZ,CAAA;AAED,QAAA,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;AAC9B,YAAA,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE;AACxC,gBAAA,GAAG,EAAE,YAAA;oBACH,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC7C,oBAAA,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE;AAC3E,wBAAA,OAAO,SAAS,CAAC;AAClB,qBAAA;oBACD,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;AACnD,oBAAA,OAAO,SAAS,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAA;iBACzD;AACF,aAAA,CAAC,CAAA;AACH,SAAA;AACD,QAAAA,YAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,KAAA;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC;AAGxB,IAAA,IAAI,SAAS,KAAK,gBAAgB,IAAI,SAAS,KAAK,eAAe,EAAE;AACnE,QAAA,MAAM,GAAG,GAAG;;YAEV,oBAAoB,EAAE,UAAU,GAAG,IAAI,EAAA;gBAErC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAE3C,MAAM,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;AACrD,gBAAA,IAAI,CAAC,gBAAgB,IAAI,SAAS,KAAK,eAAe,EAAE;AACtD,oBAAA,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;oBACrC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAA;AAEtD,iBAAA;AACI,qBAAA;AAEJ,iBAAA;AAED,gBAAA,OAAO,OAAO,CAAC;aAChB;SACF,CAAC;QAGF,GAAG,CAAC,oBAAoB,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;;AAExD,QAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,KAAO,EAAA,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAS,QAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7G,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,EAAE;AACtD,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC,CAAA;QAGF,OAAO,GAAG,CAAC,oBAAoB,CAAC;AACjC,KAAA;SAAM,IAAI,SAAS,KAAK,cAAc,EAAE;AAGvC,QAAA,MAAM,IAAI,GAAG,IAAK,QAAgB,EAAE,CAAC;AACrC,QAAA,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AAGtC,KAAA;AACH,CAAC;AAEA,CAAC;AAAA,CAAC,EAAE,EAAE;;AChHA,MAAM,SAAS,GAAG;AACvB,IAAA,OAAO,EAAE,EAA0B;AACnC,IAAA,OAAO,EAAE,EAAgB;CAC1B,CAEC;AAAA,CAAC,EAAE,EAAE;;ACLA,MAAM,iCAAiC,GAAG,CAAA;;;;;;;;;;CAUhD,CAAC;AAED,CAAC;AAAA,CAAC,EAAE,EAAE;;ACJP;AACA;AAGA,SAAS,UAAU,GAAA;AACjB,IAAA,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;AACvB,IAAA,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAQ,CAAC;AAClC,CAAC;AACK,IAAW,SAAS,CA8KzB;AA9KD,CAAA,UAAiB,WAAS,EAAA;AAExB,IAAA,SAAgB,cAAc,CAAC,MAAgB,EAAE,OAAgC,GAAA,EAAE,EAAE,YAAuB,EAAA;AAC1G,QAAA,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACzB,MAAM,CAAA,wEAAA,EAA2E,MAAM,CAAA,CAAE,CAAA;AAC1F,SAAA;AAED,QAAA,IAAI,MAA0B,CAAC;QAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAClD,QAAA,MAAM,aAAa,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAE7E,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACtC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AAC5E,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;AAClC,YAAA,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC;AAC/B,YAAA,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,SAAA;QAED,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;AAC3E,QAAA,IAAI,YAAY,EAAE;YAChB,MAAM,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AAClD,gBAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC3C,aAAA;AACD,YAAA,kBAAkB,CAAC,OAAO,GAAG,MAAM,CAAC;AACrC,SAAA;AAED,QAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAErB,QAAA,OAAO,aAAa,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;KAC/E;AA7Be,IAAA,WAAA,CAAA,cAAc,iBA6B7B,CAAA;AAED;;;;AAIG;AACH,IAAA,SAAgB,SAAS,CAAC,SAAiB,EACzC,OAAiC,EAAA;AACjC,QAAA,OAAO,UAAU,MAAgB,EAAA;YAE/B,OAAO,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAClD,SAAQ,CAAC;KACV;AANe,IAAA,WAAA,CAAA,SAAS,YAMxB,CAAA;AAED,IAAA,SAAgB,YAAY,CAAC,MAAgB,EAAE,UAAU,GAAG,KAAK,EAAA;AAC/D,QAAA,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAGnB,OAAO,KAAK,CAAC,CAAC;AACf,SAAA;AACD,QAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACtB,YAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAA,4DAAA,EAA+D,MAAM,CAAkB,eAAA,EAAA,UAAU,CAAE,CAAA,CAAC,CAAA;AACjH,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;AACD,QAAA,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACzB,YAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpB,YAAA,OAAO,CAAC,IAAI,CAAC,CAAA,8DAAA,CAAgE,CAAC,CAAA;YAC9E,OAAO,KAAK,CAAC,CAAC;AACf,SAAA;AAED,QAAA,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAEhC,QAAA,MAAM,kBAAkB,GAAG,MAAM,EAAE,kBAAkB,CAAC;QAEtD,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AACvD,YAAA,OAAO,kBAAkB,CAAC;AAC3B,SAAA;AAED,QAAA,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,CAAC;AAEpC,QAAA,IAAI,SAAS,EAAE;AACb,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AAED,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,MAAa,CAAC,CAAA;AACjE,YAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACpD,SAAA;AAAM,aAAA;AAaN,SAAA;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;KACpB;AAlDe,IAAA,WAAA,CAAA,YAAY,eAkD3B,CAAA;;IAGD,SAAgB,2BAA2B,CAAC,GAAQ,EAAA;QAClD,MAAM,SAAS,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAEpD,QAAA,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;AAE1D,QAAA,IAAI,CAAC,EAAE;YACL,OAAO,CAAC,CAAC,SAAS,CAAC;AACpB,SAAA;KACF;AARe,IAAA,WAAA,CAAA,2BAA2B,8BAQ1C,CAAA;;IAGD,SAAgB,yBAAyB,CAAC,SAAiB,EAAA;AACzD,QAAA,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;AAE1D,QAAA,IAAI,CAAC,EAAE;YACL,OAAO,CAAC,CAAC,WAAW,CAAC;AACtB,SAAA;KACF;AANe,IAAA,WAAA,CAAA,yBAAyB,4BAMxC,CAAA;;IAGD,SAAgB,oBAAoB,CAAC,GAAQ,EAAA;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAEpD,QAAA,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;AAE1D,QAAA,IAAI,CAAC,EAAE;YACL,OAAO,CAAC,CAAC,WAAW,CAAC;AACtB,SAAA;KACF;AARe,IAAA,WAAA,CAAA,oBAAoB,uBAQnC,CAAA;IAED,SAAgB,mBAAmB,CAAC,GAAQ,EAAA;QAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAEpD,QAAA,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAE1D,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;AAChC,YAAA,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACzB,SAAA;KACF;AARe,IAAA,WAAA,CAAA,mBAAmB,sBAQlC,CAAA;IAED,SAAgB,UAAU,CAAC,SAA4B,EAAA;AACrD,QAAA,IAAI,GAAG,CAAC;AACR,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AAC5B,YAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,MAAM,CAAA;;;;;;SAML,CAAA;AACF,aAAA;AACD,YAAA,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;AACzB,SAAA;AACD,QAAA,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;YACnC,GAAG,GAAG,SAAS,CAAC;AACjB,SAAA;QACD,IAAI,SAAS,KAAK,MAAM,EAAE;YACxB,GAAG,GAAG,IAAI,CAAC;AACZ,SAAA;QAED,IAAI,SAAS,KAAK,UAAU,EAAE;YAC5B,GAAG,GAAG,QAAQ,CAAC;AAChB,SAAA;AAED,QAAA,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;AAE1D,QAAA,IAAI,CAAC,EAAE;AACL,YAAA,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;AAChB,SAAA;;AAGD,QAAA,OAAO,GAAG,CAAC;KACZ;AAjCe,IAAA,WAAA,CAAA,UAAU,aAiCzB,CAAA;AAEH,CAAC,EA9KgB,SAAS,KAAT,SAAS,GA8KzB,EAAA,CAAA,CAAA,CAAA;AAEA,CAAC;AAAA,CAAC,EAAE,EAAE;;AC5LP;;;AAGI;AACJ,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;SACnC,0BAA0B,CAAC,MAAgB,EAAE,MAAM,GAAG,KAAK,EAAA;;IAEzE,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,IAAA,IAAI,MAAM,EAAE;QACV,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACpD,QAAA,IAAI,KAAK,EAAE;;AAET,YAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/E,SAAA;AACF,KAAA;AACD,IAAA,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AAK/C,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI;AAC3B,SAAA,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AACpB,SAAA,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAChB,SAAA,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAChB,SAAA,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAClB,CAAA;AAEH,CAAC;AAED;;;AAGK;AACC,SAAU,iCAAiC,CAAC,MAAgB,EAAA;IAChE,IAAI,GAAG,GAAG,EAAE,CAAA;AACZ,IAAA,IAAI,MAAM,EAAE;;AAEV,QAAA,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;;YAEhC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;iBACtC,MAAM,CAAC,GAAG,IAAG;;AAEZ,gBAAA,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,aAAC,CAAC;iBACD,OAAO,CAAC,GAAG,IAAG;;AAEb,gBAAA,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACzB,aAAC,CAAC,CAAC;AACN,SAAA;;QAED,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACtB,YAAA,OAAO,CAAC,OAAO,CAAC,CAAC,IAAG;AAClB,gBAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;qBACX,OAAO,CAAC,GAAG,IAAG;;AAEb,oBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AAClB,iBAAC,CAAC,CAAC;AACP,aAAC,CAAC,CAAA;AACH,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;AAElB,YAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;iBACjB,OAAO,CAAC,GAAG,IAAG;;AAEb,gBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AAClB,aAAC,CAAC,CAAC;AACN,SAAA;AACF,KAAA;AAED,IAAA,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;AACxE,IAAA,OAAO,SAAS,CAAC;AACnB,CAAC;AAEA,CAAC;AAAA,CAAC,EAAE,EAAE;;MCxEM,UAAU,CAAA;IAErB,OAAO,KAAK,CAAC,SAA4B,EAAA;AACvC,QAAA,OAAO,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KACxC;IAED,OAAO,aAAa,CAAC,CAAS,EAAA;AAC5B,QAAA,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACnC,OAAO;AACR,SAAA;QACD,IAAI,CAAC,CAAC,WAAW,EAAE;YACjB,OAAO,CAAC,CAAC,WAAW,CAAC;AACtB,SAAA;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;AAClC,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;KAC3B;AAED,IAAA,OAAO,OAAO,CAAC,MAAgB,EAAE,UAAU,GAAG,KAAK,EAAA;QACjD,OAAO,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAW,CAAC;KAC7D;IAED,OAAO,iBAAiB,CAAC,CAAS,EAAA;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC9B;IAED,OAAO,UAAU,CAAC,MAAgB,EAAA;AAChC,QAAA,OAAO,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;KACxC;IAED,OAAO,kBAAkB,CAAC,MAAgB,EAAA;AACxC,QAAA,MAAM,EAAE,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAA,MAAM,EAAE,GAAG,iCAAiC,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,IAAI,GAAG,EAAE,CAAC;;AAEd,QAAA,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aACrB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChB,aAAA,MAAM,CAAC,CAAC,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAA;KAC1D;AAEF,CAAA;AAGY,MAAA,KAAK,GAAG;IACnB,IAAI,EAAE,SAAS,CAAC,SAAS;AACzB,IAAA,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,UAAU,CAAC,KAAK;AACvB,IAAA,YAAY,CAAU,MAAgB,EAAA;AACpC,QAAA,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;AAChC,YAAA,OAAO,CAAC,KAAK,CAAC,CAAA,4EAAA,CAA8E,CAAC,CAAA;YAC7F,OAAM;AACP,SAAA;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAG/C,OAAO,MAAM,CAAC,SAAc,CAAC;KAC9B;IACD,eAAe,CAAC,MAAgB,EAAE,eAAoB,EAAA;AAEpD,QAAA,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;AAChC,YAAA,OAAO,CAAC,KAAK,CAAC,CAAA,4EAAA,CAA8E,CAAC,CAAA;YAC7F,OAAM;AACP,SAAA;AAED,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AAClC,YAAA,OAAO,CAAC,KAAK,CAAC,CAAA,+EAAA,CAAiF,CAAC,CAAA;YAChG,OAAM;AACP,SAAA;AAED,QAAA,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;AACvC,YAAA,OAAO,CAAC,KAAK,CAAC,CAAA,oFAAA,CAAsF,CAAC,CAAA;YACrG,OAAM;AACP,SAAA;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAIxC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAE/C,IAAI,MAAM,CAAC,SAAS,EAAE;AACpB,YAAA,OAAO,CAAC,IAAI,CAAC,kEAAkE,SAAS,CAAA,oCAAA,CAAsC,CAAC,CAAA;AAChI,SAAA;AAED,QAAA,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC;KACpC;IACD,UAAU,EAAE,UAAU,CAAC,UAAU;AACjC,IAAA,SAAS,EAAE,CAAC,MAAgB,KAAI;QAC9B,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/C;IACD,aAAa,EAAE,UAAU,CAAC,aAAa;IACvC,OAAO,EAAE,UAAU,CAAC,OAAO;IAC3B,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;IAC/C,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;AACjD,IAAA,MAAM,EAAE,CAAC,GAAQ,KAAI;QACnB,OAAO;AACL,YAAA,IAAI,UAAU,GAAA;AACZ,gBAAA,OAAO,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;aAC3C;AACD,YAAA,IAAI,aAAa,GAAA;AACf,gBAAA,OAAO,SAAS,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;aACnD;AACD,YAAA,IAAI,aAAa,GAAA;gBAEf,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;AACvD,oBAAA,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;AACzC,oBAAA,OAAO,KAAK,CAAC;AACd,iBAAA;AACD,gBAAA,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;AACjB,oBAAA,OAAO,IAAI,CAAC;AACb,iBAAA;gBACD,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;gBAC9C,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,QAAQ,CAAC;aACxD;YACD,OAAO,EAAE,CAAC,UAAe,EAAE,WAAW,GAAG,KAAK,KAAI;AAChD,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE;AAC/E,oBAAA,OAAO,KAAK,CAAC;AACd,iBAAA;gBACD,IAAI,GAAG,KAAK,UAAU,EAAE;AAEtB,oBAAA,OAAO,IAAI,CAAC;AACb,iBAAA;gBACD,MAAM,EAAE,GAAG,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC9C,MAAM,EAAE,GAAG,SAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBACrD,MAAM,EAAE,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;gBAC9C,MAAM,EAAE,GAAG,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAA;gBACrD,MAAM,YAAY,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEzE,gBAAA,IAAI,YAAY,EAAE;AAEhB,oBAAA,OAAO,KAAK,CAAC;AACd,iBAAA;AACD,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE;AAE/E,oBAAA,OAAO,KAAK,CAAA;AACb,iBAAA;AAMD,gBAAA,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE;AAE5E,oBAAA,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;;AAExB,oBAAA,OAAO,GAAG,CAAC;AACZ,iBAAA;AACD,gBAAA,IAAI,WAAW,EAAE;oBACf,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;AACzB,iBAAA;AACD,gBAAA,OAAO,KAAK,CAAC;aACd;SACF,CAAA;KACF;EACF;AAIA,CAAC;AAAA,CAAC,EAAE,EAAE;;AC1KP;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"typescript-class-helpers.mjs","sources":["../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/models.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/symbols.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/storage.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/set-class-name.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/registerd-db.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/errors-messages.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/classname.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/describe-class.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/lib/index.ts","../../../tmp-libs-for-bundle-websql/typescript-class-helpers/projects/typescript-class-helpers/src/typescript-class-helpers.ts"],"sourcesContent":["\n\nimport { ConfigModels } from 'tnp-config/websql';\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 /**\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: ConfigModels.HttpMethod;\n\n requestHandler: any;\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 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}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/symbols.ts","\n\nimport { Helpers } from 'tnp-core/websql';\nimport { SYMBOL } from './symbols';\nimport { _ } from 'tnp-core/websql';\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/websql';\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/* \\/\\/ console\\.log\\(`Setting class Name to \"\\$\\{target\\.name\\}\"`\\) */\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 ;({}); // @--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/websql';\nimport { Models } from './models';\nimport { SYMBOL } from './symbols';\nimport { TchHelpers } from './index';\nimport { Helpers } from 'tnp-core/websql';\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\n export function getClassConfig(target: Function, configs: Models.ClassConfig[] = [], callerTarget?: Function): 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 = 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 = 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 ? getClassConfig(parentClass, configs, target) : 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(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 (_.isNil(target)) {\n/* \\/\\/ console\\.log\\(target\\); */\n/* \\/\\/ Helpers\\.warn\\(`\\[typescript\\-class\\-helpers\\]\\[getClassName\\] target is nil`\\) */\n return void 0;\n }\n if (_.isString(target)) {\n console.log(target);\n Helpers.warn(`[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`)\n return target;\n }\n if (!_.isFunction(target)) {\n console.log(target);\n Helpers.warn(`[typescript-class-helpers][getClassName] target is not a class`)\n return void 0;\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 (className) {\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/* \\/\\/ Helpers\\.log\\('check for ' \\+ target\\.name\\) */\n/* \\/\\/ setTimeout\\(\\(\\) => \\{ */\n/* \\/\\/ \\/\\/ Helpers\\.log\\('check for ' \\+ target\\.name \\+ ' === ' \\+ config\\.className\\)\\/ */\n/* \\/\\/ \\/\\/ TODO this may work, but not yet in singleton\\/morphi */\n/* \\/\\/ if \\(!config\\.className\\) \\{ */\n/* \\/\\/ if \\(target\\?\\.name && target\\.name !== 'Object'\\) \\{ */\n/* \\/\\/ ConfigHelpers\\.log\\(`\\[typescript\\-class\\-helpers\\] Please use @CLASS\\.NAME` */\n/* \\/\\/ \\+ `\\('\\$\\{\\(target\\?\\.name && !!target\\.name\\) \\? target\\.name : '\\.\\.\\.'\\}'\\) decorator for class \\$\\{target\\?\\.name\\}`\\) */\n/* \\/\\/ \\} */\n/* \\/\\/ \\} */\n/* \\/\\/ \\}\\) */\n\n }\n return target.name;\n }\n\n // @ts-ignore\n export function getObjectIndexPropertyValue(obj: any) {\n const className = TchHelpers.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 = TchHelpers.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 = TchHelpers.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 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/* \\/\\/ console\\.log\\(`getClassBy \"\\$\\{className\\} return \\\\n\\\\n \\$\\{res\\} \\\\n\\\\n`\\) */\n // @ts-ignore\n return res;\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/classname.ts","\n\nimport { _ } from 'tnp-core/websql';\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/* \\/\\/ console\\.log\\(\\{ */\n/* \\/\\/ classString, */\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/websql';\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\n\nexport const CLASS = {\n NAME: CLASSNAME.CLASSNAME,\n setName: setClassName,\n getBy: TchHelpers.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 = TchHelpers.getConfigs(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 = 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 getConfigs: TchHelpers.getConfigs,\n getConfig: (target: Function) => {\n return _.first(TchHelpers.getConfigs(target));\n },\n getFromObject: TchHelpers.getFromObject,\n getName: TchHelpers.getName,\n getNameFromObject: TchHelpers.getNameFromObject,\n describeProperites: TchHelpers.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 ;({}); // @--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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"}
|