typescript-class-helpers 21.0.17 → 21.0.18
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/browser/package.json +1 -1
- package/browser-prod/fesm2022/typescript-class-helpers-browser.mjs +31 -31
- package/browser-prod/fesm2022/typescript-class-helpers-browser.mjs.map +1 -1
- package/browser-prod/package.json +1 -1
- package/browser-prod/types/typescript-class-helpers-browser.d.ts +19 -19
- package/browser-prod.split-namespaces.json +26 -26
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/package.json +1 -1
- package/lib-prod/build-info._auto-generated_.d.ts +1 -1
- package/lib-prod/build-info._auto-generated_.js +1 -1
- package/lib-prod/classname.d.ts +9 -9
- package/lib-prod/classname.js +19 -19
- package/lib-prod/classname.js.map +1 -1
- package/lib-prod/index.d.ts +6 -6
- package/lib-prod/index.js +15 -15
- package/lib-prod/index.js.map +1 -1
- package/lib-prod/models.d.ts +12 -12
- package/lib-prod/models.js +7 -7
- package/lib-prod/models.js.map +1 -1
- package/lib-prod/package.json +1 -1
- package/lib-prod/registerd-db.d.ts +2 -2
- package/lib-prod/registerd-db.js.map +1 -1
- package/lib-prod/set-class-name.d.ts +2 -2
- package/lib-prod/set-class-name.js +3 -3
- package/lib-prod/set-class-name.js.map +1 -1
- package/lib-prod/symbols.js +1 -1
- package/lib-prod/symbols.js.map +1 -1
- package/lib-prod.split-namespaces.json +26 -26
- package/package.json +1 -1
- package/websql/package.json +1 -1
- package/websql-prod/fesm2022/typescript-class-helpers-websql.mjs +31 -31
- package/websql-prod/fesm2022/typescript-class-helpers-websql.mjs.map +1 -1
- package/websql-prod/package.json +1 -1
- package/websql-prod/types/typescript-class-helpers-websql.d.ts +19 -19
- package/websql-prod.split-namespaces.json +26 -26
- package/lib/migrations/index.d.ts +0 -1
- package/lib/migrations/index.js +0 -19
- package/lib/migrations/index.js.map +0 -1
- package/lib/migrations/migrations_index._auto-generated_.d.ts +0 -0
- package/lib/migrations/migrations_index._auto-generated_.js +0 -4
- package/lib/migrations/migrations_index._auto-generated_.js.map +0 -1
- package/lib-prod/migrations/index.d.ts +0 -1
- package/lib-prod/migrations/index.js +0 -19
- package/lib-prod/migrations/index.js.map +0 -1
- package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +0 -0
- package/lib-prod/migrations/migrations_index._auto-generated_.js +0 -4
- package/lib-prod/migrations/migrations_index._auto-generated_.js.map +0 -1
package/browser/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CoreModels__NS__ClassNameStaticProperty, _, Helpers } from 'tnp-core/browser-prod';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @deprecated
|
|
5
5
|
*/
|
|
6
|
-
class
|
|
6
|
+
class Models__NS__ParamConfig {
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* @deprecated
|
|
10
10
|
*/
|
|
11
|
-
class
|
|
11
|
+
class Models__NS__MethodConfig {
|
|
12
12
|
constructor() {
|
|
13
13
|
/* */
|
|
14
14
|
/* */
|
|
@@ -18,7 +18,7 @@ class Models_MethodConfig {
|
|
|
18
18
|
/**
|
|
19
19
|
* @deprecated
|
|
20
20
|
*/
|
|
21
|
-
class
|
|
21
|
+
class Models__NS__ClassConfig {
|
|
22
22
|
constructor() {
|
|
23
23
|
// @ts-ignore
|
|
24
24
|
this.singleton = void 0;
|
|
@@ -34,7 +34,7 @@ const SYMBOL = {
|
|
|
34
34
|
DEFAULT_MODEL: Symbol(),
|
|
35
35
|
STORAGE: 'classesstorage',
|
|
36
36
|
CLASSES: 'classes',
|
|
37
|
-
ClassNameStaticProperty:
|
|
37
|
+
ClassNameStaticProperty: CoreModels__NS__ClassNameStaticProperty,
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
function defaultValues() {
|
|
@@ -77,7 +77,7 @@ function setClassName(target, className, options) {
|
|
|
77
77
|
uniqueKey = 'id';
|
|
78
78
|
}
|
|
79
79
|
if (target) {
|
|
80
|
-
const config = _.first(
|
|
80
|
+
const config = _.first(CLASSNAME__NS__getClassConfig(target));
|
|
81
81
|
config.className = className;
|
|
82
82
|
config.uniqueKey = uniqueKey;
|
|
83
83
|
config.classNameInBrowser = classNameInBrowser;
|
|
@@ -103,8 +103,8 @@ function setClassName(target, className, options) {
|
|
|
103
103
|
if (!_.isFunction(parent) || parent.name === 'Object' || parent.name === '') {
|
|
104
104
|
return className;
|
|
105
105
|
}
|
|
106
|
-
const classNameNew =
|
|
107
|
-
return
|
|
106
|
+
const classNameNew = CLASSNAME__NS__getClassName(parent);
|
|
107
|
+
return CLASSNAME__NS__getClassFamilyByClassName(classNameNew);
|
|
108
108
|
}
|
|
109
109
|
});
|
|
110
110
|
}
|
|
@@ -173,7 +173,7 @@ function getClasses() {
|
|
|
173
173
|
return s[SYMBOL.CLASSES];
|
|
174
174
|
}
|
|
175
175
|
//namespace CLASSNAME
|
|
176
|
-
function
|
|
176
|
+
function CLASSNAME__NS__getClassConfig(target, configs = [], callerTarget) {
|
|
177
177
|
if (!_.isFunction(target)) {
|
|
178
178
|
throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;
|
|
179
179
|
}
|
|
@@ -185,7 +185,7 @@ function CLASSNAME_getClassConfig(target, configs = [], callerTarget) {
|
|
|
185
185
|
registerd.configs[registerd.classes.findIndex(c => c === target)];
|
|
186
186
|
}
|
|
187
187
|
else {
|
|
188
|
-
config = new
|
|
188
|
+
config = new Models__NS__ClassConfig();
|
|
189
189
|
config.classReference = target;
|
|
190
190
|
registerd.classes.push(target);
|
|
191
191
|
}
|
|
@@ -199,7 +199,7 @@ function CLASSNAME_getClassConfig(target, configs = [], callerTarget) {
|
|
|
199
199
|
}
|
|
200
200
|
configs.push(config);
|
|
201
201
|
return isValidParent
|
|
202
|
-
?
|
|
202
|
+
? CLASSNAME__NS__getClassConfig(parentClass, configs, target)
|
|
203
203
|
: configs;
|
|
204
204
|
}
|
|
205
205
|
/**
|
|
@@ -207,13 +207,13 @@ function CLASSNAME_getClassConfig(target, configs = [], callerTarget) {
|
|
|
207
207
|
* Decorator requred for production mode
|
|
208
208
|
* @param name Name of class
|
|
209
209
|
*/
|
|
210
|
-
function
|
|
210
|
+
function CLASSNAME__NS__CLASSNAME(className, options) {
|
|
211
211
|
return function (target) {
|
|
212
212
|
// console.log(`CLASSNAME Inited ${className}`)
|
|
213
213
|
return setClassName(target, className, options);
|
|
214
214
|
};
|
|
215
215
|
}
|
|
216
|
-
function
|
|
216
|
+
function CLASSNAME__NS__getClassName(target, production = false) {
|
|
217
217
|
if (_.isNil(target)) {
|
|
218
218
|
// console.log(target);
|
|
219
219
|
// Helpers.warn(`[typescript-class-helpers][getClassName] target is nil`)
|
|
@@ -238,7 +238,7 @@ function CLASSNAME_getClassName(target, production = false) {
|
|
|
238
238
|
if (target[SYMBOL.ClassNameStaticProperty]) {
|
|
239
239
|
return target[SYMBOL.ClassNameStaticProperty];
|
|
240
240
|
}
|
|
241
|
-
const configs =
|
|
241
|
+
const configs = CLASSNAME__NS__getClassConfig(target);
|
|
242
242
|
const config = _.first(configs);
|
|
243
243
|
const classNameInBrowser = config?.classNameInBrowser;
|
|
244
244
|
if (Helpers.isBrowser && _.isString(classNameInBrowser)) {
|
|
@@ -272,7 +272,7 @@ function CLASSNAME_getClassName(target, production = false) {
|
|
|
272
272
|
return target.name;
|
|
273
273
|
}
|
|
274
274
|
// @ts-ignore
|
|
275
|
-
function
|
|
275
|
+
function CLASSNAME__NS__getObjectIndexPropertyValue(obj) {
|
|
276
276
|
const className = TchHelpers.getNameFromObject(obj);
|
|
277
277
|
// console.log('className',className)
|
|
278
278
|
let c = getClasses().find(c => c.className === className);
|
|
@@ -282,7 +282,7 @@ function CLASSNAME_getObjectIndexPropertyValue(obj) {
|
|
|
282
282
|
}
|
|
283
283
|
}
|
|
284
284
|
// @ts-ignore
|
|
285
|
-
function
|
|
285
|
+
function CLASSNAME__NS__getClassFamilyByClassName(className) {
|
|
286
286
|
let c = getClasses().find(c => c.className === className);
|
|
287
287
|
// console.log('getClasses()', getClasses())
|
|
288
288
|
if (c) {
|
|
@@ -290,7 +290,7 @@ function CLASSNAME_getClassFamilyByClassName(className) {
|
|
|
290
290
|
}
|
|
291
291
|
}
|
|
292
292
|
// @ts-ignore
|
|
293
|
-
function
|
|
293
|
+
function CLASSNAME__NS__getObjectClassFamily(obj) {
|
|
294
294
|
const className = TchHelpers.getNameFromObject(obj);
|
|
295
295
|
// console.log('className',className)
|
|
296
296
|
let c = getClasses().find(c => c.className === className);
|
|
@@ -299,7 +299,7 @@ function CLASSNAME_getObjectClassFamily(obj) {
|
|
|
299
299
|
return c.classFamily;
|
|
300
300
|
}
|
|
301
301
|
}
|
|
302
|
-
function
|
|
302
|
+
function CLASSNAME__NS__getObjectIndexValue(obj) {
|
|
303
303
|
const className = TchHelpers.getNameFromObject(obj);
|
|
304
304
|
// console.log('className',className)
|
|
305
305
|
let c = getClasses().find(c => c.className === className);
|
|
@@ -308,7 +308,7 @@ function CLASSNAME_getObjectIndexValue(obj) {
|
|
|
308
308
|
return obj[c.uniqueKey];
|
|
309
309
|
}
|
|
310
310
|
}
|
|
311
|
-
function
|
|
311
|
+
function CLASSNAME__NS__getClassBy(className) {
|
|
312
312
|
let res;
|
|
313
313
|
if (Array.isArray(className)) {
|
|
314
314
|
if (className.length !== 1) {
|
|
@@ -415,7 +415,7 @@ function describeByDefaultModelsAndMapping(target) {
|
|
|
415
415
|
|
|
416
416
|
class TchHelpers {
|
|
417
417
|
static getBy(className) {
|
|
418
|
-
return
|
|
418
|
+
return CLASSNAME__NS__getClassBy(className);
|
|
419
419
|
}
|
|
420
420
|
static getFromObject(o) {
|
|
421
421
|
if (_.isUndefined(o) || _.isNull(o)) {
|
|
@@ -428,14 +428,14 @@ class TchHelpers {
|
|
|
428
428
|
return p && p.constructor;
|
|
429
429
|
}
|
|
430
430
|
static getName(target, production = false) {
|
|
431
|
-
return
|
|
431
|
+
return CLASSNAME__NS__getClassName(target, production);
|
|
432
432
|
}
|
|
433
433
|
static getNameFromObject(o) {
|
|
434
434
|
const fnCLass = this.getFromObject(o);
|
|
435
435
|
return this.getName(fnCLass);
|
|
436
436
|
}
|
|
437
437
|
static getConfigs(target) {
|
|
438
|
-
return
|
|
438
|
+
return CLASSNAME__NS__getClassConfig(target);
|
|
439
439
|
}
|
|
440
440
|
static describeProperites(target) {
|
|
441
441
|
const d1 = describeFromClassStringify(target);
|
|
@@ -482,7 +482,7 @@ const getMethodsNames = (classOrClassInstance, allMethodsNames = []) => {
|
|
|
482
482
|
return getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);
|
|
483
483
|
};
|
|
484
484
|
const CLASS = {
|
|
485
|
-
NAME:
|
|
485
|
+
NAME: CLASSNAME__NS__CLASSNAME,
|
|
486
486
|
setName: setClassName,
|
|
487
487
|
getBy: TchHelpers.getBy,
|
|
488
488
|
/**
|
|
@@ -545,10 +545,10 @@ const CLASS = {
|
|
|
545
545
|
OBJECT: (obj) => {
|
|
546
546
|
return {
|
|
547
547
|
get indexValue() {
|
|
548
|
-
return
|
|
548
|
+
return CLASSNAME__NS__getObjectIndexValue(obj);
|
|
549
549
|
},
|
|
550
550
|
get indexProperty() {
|
|
551
|
-
return
|
|
551
|
+
return CLASSNAME__NS__getObjectIndexPropertyValue(obj);
|
|
552
552
|
},
|
|
553
553
|
get isClassObject() {
|
|
554
554
|
if (!_.isObject(obj) || _.isArray(obj) || _.isRegExp(obj) ||
|
|
@@ -569,12 +569,12 @@ const CLASS = {
|
|
|
569
569
|
// console.log(`EQ v1: , v2: - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`, obj, anotherObj)
|
|
570
570
|
return true;
|
|
571
571
|
}
|
|
572
|
-
const v1 =
|
|
573
|
-
const v2 =
|
|
574
|
-
const f1 =
|
|
575
|
-
const f2 =
|
|
572
|
+
const v1 = CLASSNAME__NS__getObjectIndexValue(obj);
|
|
573
|
+
const v2 = CLASSNAME__NS__getObjectIndexValue(anotherObj);
|
|
574
|
+
const f1 = CLASSNAME__NS__getObjectClassFamily(obj);
|
|
575
|
+
const f2 = CLASSNAME__NS__getObjectClassFamily(anotherObj);
|
|
576
576
|
const isFamilyDiff = (!_.isString(f1) || !_.isString(f2) || (f1 !== f2));
|
|
577
|
-
// console.log(`DIFF FAMILY ${isFamilyDiff} v1: ${
|
|
577
|
+
// console.log(`DIFF FAMILY ${isFamilyDiff} v1: ${CLASSNAME__NS__getObjectClassFamily(obj)}, v2: ${CLASSNAME__NS__getObjectClassFamily(anotherObj)} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)
|
|
578
578
|
if (isFamilyDiff) {
|
|
579
579
|
// console.log(`DIFF v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)
|
|
580
580
|
return false;
|
|
@@ -605,5 +605,5 @@ const CLASS = {
|
|
|
605
605
|
* Generated bundle index. Do not edit.
|
|
606
606
|
*/
|
|
607
607
|
|
|
608
|
-
export { CLASS,
|
|
608
|
+
export { CLASS, Models__NS__ClassConfig, Models__NS__MethodConfig, Models__NS__ParamConfig, SYMBOL, TchHelpers };
|
|
609
609
|
//# sourceMappingURL=typescript-class-helpers-browser.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-class-helpers-browser.mjs","sources":["../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/models.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/symbols.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/storage.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/set-class-name.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/registerd-db.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/errors-messages.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/classname.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/describe-class.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/index.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/typescript-class-helpers-browser.ts"],"sourcesContent":["import { CoreModels_BaseProjectType, CoreModels_BaseProjectTypeArr, CoreModels_CfontAlign, CoreModels_CfontStyle, CoreModels_ClassNameStaticProperty, CoreModels_ContentType, CoreModels_ContentTypeKeys, CoreModels_CoreLibCategory, CoreModels_CutableFileExt, CoreModels_DatabaseType, CoreModels_EnvironmentName, CoreModels_EnvironmentNameTaon, CoreModels_ExecuteOptions, CoreModels_FileEvent, CoreModels_FileExtension, CoreModels_FrameworkVersion, CoreModels_GlobalDependencies, CoreModels_HttpMethod, CoreModels_ImageFileExtension, CoreModels_ImageFileExtensionArr, CoreModels_InstalationType, CoreModels_InstalationTypeArr, CoreModels_LibType, CoreModels_localhostDomain, CoreModels_localhostIp127, CoreModels_ManifestIcon, CoreModels_MediaType, CoreModels_MediaTypeAllArr, CoreModels_MimeType, CoreModels_mimeTypes, CoreModels_MimeTypesObj, CoreModels_NewFactoryType, CoreModels_NpmInstallOptions, CoreModels_NpmSpecialVersions, CoreModels_OrignalClassKey, CoreModels_OutFolder, CoreModels_Package, CoreModels_ParamType, CoreModels_parentLocation, CoreModels_pathToChildren, CoreModels_Position, CoreModels_PreReleaseVersionTag, CoreModels_PROGRESS_DATA_TYPE, CoreModels_PUSHTYPE, CoreModels_PwaManifest, CoreModels_ReleaseVersionType, CoreModels_ReleaseVersionTypeEnum, CoreModels_RunOptions, CoreModels_Size, CoreModels_SPECIAL_APP_READY_MESSAGE, CoreModels_SPECIAL_WORKER_READY_MESSAGE, CoreModels_tagForTaskName, CoreModels_TaonHttpErrorCustomProp, CoreModels_TsUsage, CoreModels_UIFramework, CoreModels_UploadedBackendFile, CoreModels_VSCodeSettings } from 'tnp-core/browser-prod';\n\n//namespace Models\n\n\n /**\n * @deprecated\n */\n export type Models_CLASSNAMEOptions = {\n uniqueKey?: string,\n /**\n * autoinstance - create instance of singleton automaticly inside decorator\n * first-instance - use first instace of created class as decorator\n */\n singleton?: 'autoinstance' | 'first-instance' | 'last-instance' | boolean,\n classFamily?: string,\n classNameInBrowser?: string,\n }\n\n /**\n * @deprecated\n */\n export class Models_ParamConfig {\n paramName: string;\n paramType: CoreModels_ParamType;\n index: number;\n defaultType: any;\n expireInSeconds?: number;\n }\n\n /**\n * @deprecated\n */\n export class Models_MethodConfig {\n methodName: string;\n /**\n * path is global in express app\n */\n global?: boolean;\n /**\n * override default content type\n */\n contentType?: any;\n /**\n * override default axiso response type\n */\n responseType?: any;\n path: string;\n descriptor: PropertyDescriptor;\n type: CoreModels_HttpMethod;\n/* */\n/* */\n \n parameters: { [paramName: string]: Models_ParamConfig } = {};\n }\n\n /**\n * @deprecated\n */\n export interface Models_ClassMeta {\n uniqueKey?: string;\n className?: string;\n classFamily?: string;\n classNameInBrowser?: string;\n target?: Function;\n }\n\n /**\n * @deprecated\n */\n export class Models_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?: Models_ClassConfig[] = [];\n vParent?: Models_ClassConfig;\n classReference: Function;\n className?: string;\n uniqueKey?: string;\n classNameInBrowser?: string;\n methods: { [methodName: string]: Models_MethodConfig } = {};\n }\n\n\n//end of namespace Models","import { CoreModels_BaseProjectType, CoreModels_BaseProjectTypeArr, CoreModels_CfontAlign, CoreModels_CfontStyle, CoreModels_ClassNameStaticProperty, CoreModels_ContentType, CoreModels_ContentTypeKeys, CoreModels_CoreLibCategory, CoreModels_CutableFileExt, CoreModels_DatabaseType, CoreModels_EnvironmentName, CoreModels_EnvironmentNameTaon, CoreModels_ExecuteOptions, CoreModels_FileEvent, CoreModels_FileExtension, CoreModels_FrameworkVersion, CoreModels_GlobalDependencies, CoreModels_HttpMethod, CoreModels_ImageFileExtension, CoreModels_ImageFileExtensionArr, CoreModels_InstalationType, CoreModels_InstalationTypeArr, CoreModels_LibType, CoreModels_localhostDomain, CoreModels_localhostIp127, CoreModels_ManifestIcon, CoreModels_MediaType, CoreModels_MediaTypeAllArr, CoreModels_MimeType, CoreModels_mimeTypes, CoreModels_MimeTypesObj, CoreModels_NewFactoryType, CoreModels_NpmInstallOptions, CoreModels_NpmSpecialVersions, CoreModels_OrignalClassKey, CoreModels_OutFolder, CoreModels_Package, CoreModels_ParamType, CoreModels_parentLocation, CoreModels_pathToChildren, CoreModels_Position, CoreModels_PreReleaseVersionTag, CoreModels_PROGRESS_DATA_TYPE, CoreModels_PUSHTYPE, CoreModels_PwaManifest, CoreModels_ReleaseVersionType, CoreModels_ReleaseVersionTypeEnum, CoreModels_RunOptions, CoreModels_Size, CoreModels_SPECIAL_APP_READY_MESSAGE, CoreModels_SPECIAL_WORKER_READY_MESSAGE, CoreModels_tagForTaskName, CoreModels_TaonHttpErrorCustomProp, CoreModels_TsUsage, CoreModels_UIFramework, CoreModels_UploadedBackendFile, CoreModels_VSCodeSettings } from \"tnp-core/browser-prod\"\n\nexport const SYMBOL = {\n MODELS_MAPPING: Symbol(),\n DEFAULT_MODEL: Symbol(),\n STORAGE: 'classesstorage',\n CLASSES: 'classes',\n ClassNameStaticProperty : CoreModels_ClassNameStaticProperty,\n}","import { Helpers } from 'tnp-core/browser-prod';\nimport { SYMBOL } from './symbols';\nimport { _ } from 'tnp-core/browser-prod';\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}","import { _ } from 'tnp-core/browser-prod';\nimport { SYMBOL } from './symbols';\nimport { Models_ClassConfig, Models_ClassMeta, Models_CLASSNAMEOptions, Models_MethodConfig, Models_ParamConfig } from './models';\nimport { getStorage } from './storage';\nimport { CLASSNAME_CLASSNAME, CLASSNAME_getClassBy, CLASSNAME_getClassConfig, CLASSNAME_getClassFamilyByClassName, CLASSNAME_getClassName, CLASSNAME_getObjectClassFamily, CLASSNAME_getObjectIndexPropertyValue, CLASSNAME_getObjectIndexValue } 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}","import { Models_ClassConfig, Models_ClassMeta, Models_CLASSNAMEOptions, Models_MethodConfig, Models_ParamConfig } from './models';\nexport const registerd = {\n configs: [] as Models_ClassConfig[],\n classes: [] as Function[],\n}","export 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\nimport { CLASS } from 'typescript-class-helpers';\n\n@CLASS.NAME('ExampleClass')\nclass ExampleClass {\n ...\n}\n`;","import { _ } from 'tnp-core/browser-prod';\nimport { Models_ClassConfig, Models_ClassMeta, Models_CLASSNAMEOptions, Models_MethodConfig, Models_ParamConfig } from './models';\nimport { SYMBOL } from './symbols';\nimport { TchHelpers } from './index';\nimport { Helpers } from 'tnp-core/browser-prod';\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}\n//namespace CLASSNAME\n\n export function CLASSNAME_getClassConfig(\n target: Function,\n configs: Models_ClassConfig[] = [],\n callerTarget?: Function,\n ): Models_ClassConfig[] {\n if (!_.isFunction(target)) {\n throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;\n }\n\n let config: Models_ClassConfig;\n const parentClass = Object.getPrototypeOf(target);\n const isValidParent = _.isFunction(parentClass) && parentClass.name !== '';\n\n if (registerd.classes.includes(target)) {\n config =\n registerd.configs[registerd.classes.findIndex(c => c === target)];\n } else {\n config = new Models_ClassConfig();\n config.classReference = target;\n registerd.classes.push(target);\n }\n\n registerd.configs[registerd.classes.findIndex(c => c === target)] = config;\n if (callerTarget) {\n const callerTargetConfig =\n registerd.configs[registerd.classes.findIndex(c => c === callerTarget)];\n if (!config.vChildren.includes(callerTargetConfig)) {\n config.vChildren.push(callerTargetConfig);\n }\n callerTargetConfig.vParent = config;\n }\n\n configs.push(config);\n\n return isValidParent\n ? CLASSNAME_getClassConfig(parentClass, configs, target)\n : configs;\n }\n\n /**\n * PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE\n * Decorator requred for production mode\n * @param name Name of class\n */\n export function CLASSNAME_CLASSNAME(\n className: string,\n options?: Models_CLASSNAMEOptions,\n ) {\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 CLASSNAME_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.log(\n `[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`,\n );\n return target;\n }\n\n if (target === Date) {\n return 'Date';\n }\n\n if ((target as any) === FormData) {\n return 'FormData';\n }\n\n if (!_.isFunction(target)) {\n // console.log(target);\n Helpers.log(\n `[typescript-class-helpers][getClassName] target is not a class`,\n );\n return void 0;\n }\n\n if (target[SYMBOL.ClassNameStaticProperty]) {\n return target[SYMBOL.ClassNameStaticProperty];\n }\n\n const configs = CLASSNAME_getClassConfig(target);\n const config = _.first(configs);\n\n const classNameInBrowser = config?.classNameInBrowser;\n\n if (Helpers.isBrowser && _.isString(classNameInBrowser)) {\n return classNameInBrowser;\n }\n\n const className = config?.className;\n\n if (typeof className === 'string') {\n return className;\n }\n\n if (production) {\n console.log('class without @CLASS.NAME deocrator', target as any);\n throw new Error(ERROR_MSG_CLASS_WITHOUT_DECORATOR);\n } else {\n // 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 // special thing when cloning classes\n if (target.name?.startsWith('class_')) {\n return '';\n }\n\n return target.name;\n }\n\n // @ts-ignore\n export function CLASSNAME_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 CLASSNAME_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 CLASSNAME_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 CLASSNAME_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 CLASSNAME_getClassBy(className: string | Function): Function {\n let res;\n if (Array.isArray(className)) {\n if (className.length !== 1) {\n throw `Mapping error... please use proper class names:\n {\n propertyObject: 'MyClassName',\n propertyWithArray: ['MyClassName']\n }\n\n `;\n }\n className = className[0];\n }\n if (typeof className === 'function') {\n // 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//end of namespace CLASSNAME","import { _ } from 'tnp-core/browser-prod';\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}","import { _ } from 'tnp-core/browser-prod';\nimport { CLASSNAME_CLASSNAME, CLASSNAME_getClassBy, CLASSNAME_getClassConfig, CLASSNAME_getClassFamilyByClassName, CLASSNAME_getClassName, CLASSNAME_getObjectClassFamily, CLASSNAME_getObjectIndexPropertyValue, CLASSNAME_getObjectIndexValue } from './classname';\nimport { describeFromClassStringify, describeByDefaultModelsAndMapping } from './describe-class';\nimport { Models_ClassConfig, Models_ClassMeta, Models_CLASSNAMEOptions, Models_MethodConfig, Models_ParamConfig } from './models';\nimport { setClassName } from './set-class-name';\n\nexport { Models_ClassConfig, Models_ClassMeta, Models_CLASSNAMEOptions, Models_MethodConfig, Models_ParamConfig } from './models';\nexport { SYMBOL } from './symbols';\n\nexport class TchHelpers {\n\n static getBy(className: string | Function) {\n return CLASSNAME_getClassBy(className);\n }\n\n static getFromObject(o: Object) {\n if (_.isUndefined(o) || _.isNull(o)) {\n return;\n }\n if (o.constructor) {\n return o.constructor;\n }\n const p = Object.getPrototypeOf(o);\n return p && p.constructor;\n }\n\n static getName(target: Function, production = false) {\n return CLASSNAME_getClassName(target, production) as string;\n }\n\n static getNameFromObject(o: Object) {\n const fnCLass = this.getFromObject(o);\n return this.getName(fnCLass);\n }\n\n static getConfigs(target: Function): Models_ClassConfig[] {\n return CLASSNAME_getClassConfig(target)\n }\n\n static describeProperites(target: Function) {\n const d1 = describeFromClassStringify(target);\n const d2 = describeByDefaultModelsAndMapping(target);\n let uniq = {};\n // @ts-ignore\n d1.concat(d2).forEach(p => uniq[p] = p);\n return Object.keys(uniq)\n .filter(d => !!d)\n .filter(d => typeof target.prototype[d] !== 'function')\n }\n\n}\n\nconst notAllowedAsMethodName = [\n 'length', 'name',\n 'arguments', 'caller',\n 'constructor', 'apply',\n 'bind', 'call',\n 'toString',\n '__defineGetter__',\n '__defineSetter__', 'hasOwnProperty',\n '__lookupGetter__', '__lookupSetter__',\n 'isPrototypeOf', 'propertyIsEnumerable',\n 'valueOf', '__proto__', 'toLocaleString',\n];\n\nconst getMethodsNames = (classOrClassInstance: any, allMethodsNames = []): string[] => {\n if (!classOrClassInstance) {\n return allMethodsNames;\n }\n\n const isClassFunction = _.isFunction(classOrClassInstance);\n const classFun = (isClassFunction ? classOrClassInstance : Object.getPrototypeOf(classOrClassInstance));\n const objectToCheck = isClassFunction ? (classOrClassInstance as Function)?.prototype : classOrClassInstance;\n const prototypeObj = Object.getPrototypeOf(objectToCheck || {});\n\n const properties = _.uniq([\n ...Object.getOwnPropertyNames(objectToCheck || {}),\n ...Object.getOwnPropertyNames(prototypeObj || {}),\n ...Object.keys(objectToCheck || {}),\n ...Object.keys(prototypeObj || {}),\n ])\n .filter(f => !!f && !notAllowedAsMethodName.includes(f));\n\n properties.filter((methodName) => typeof objectToCheck[methodName] === 'function').forEach(p => allMethodsNames.push(p));\n\n if (!classFun || !classFun.constructor || classFun?.constructor?.name === 'Object') {\n return allMethodsNames;\n }\n return getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);\n};\n\nexport const CLASS = {\n NAME: CLASSNAME_CLASSNAME,\n setName: setClassName,\n getBy: TchHelpers.getBy,\n /**\n * @deprecated\n */\n getSingleton<T = any>(target: Function) {\n if (typeof target !== 'function') {\n console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`)\n return\n }\n const config = TchHelpers.getConfigs(target)[0]\n // console.log(`getSingleton for ${target.name}: `, config.singleton)\n\n return config.singleton as T;\n },\n /**\n * @deprecated\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 /**\n * @deprecated\n */\n getConfigs: TchHelpers.getConfigs,\n /**\n * @deprecated\n */\n getConfig: (target: Function) => {\n return _.first(TchHelpers.getConfigs(target));\n },\n\n\n getMethodsNames(classOrClassInstance: any): string[] {\n return getMethodsNames(classOrClassInstance);\n },\n getFromObject: TchHelpers.getFromObject,\n getName: TchHelpers.getName,\n getNameFromObject: TchHelpers.getNameFromObject,\n describeProperites: TchHelpers.describeProperites,\n /**\n * @deprecated\n */\n OBJECT: (obj: any) => {\n return {\n get indexValue() {\n return CLASSNAME_getObjectIndexValue(obj);\n },\n get indexProperty() {\n return CLASSNAME_getObjectIndexPropertyValue(obj);\n },\n get isClassObject() {\n\n if (!_.isObject(obj) || _.isArray(obj) || _.isRegExp(obj) ||\n _.isBuffer(obj) || _.isArrayBuffer(obj)) {\n return false;\n }\n if (_.isDate(obj)) {\n return true;\n }\n const className = CLASS.getNameFromObject(obj)\n return _.isString(className) && className !== 'Object';\n },\n isEqual: (anotherObj: any, compareDeep = false) => {\n if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {\n return false;\n }\n if (obj === anotherObj) {\n // 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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getClasses"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typescript-class-helpers-browser.mjs","sources":["../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/models.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/symbols.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/storage.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/set-class-name.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/registerd-db.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/errors-messages.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/classname.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/describe-class.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/lib/index.ts","../../../tmp-libs-for-dist-prod/typescript-class-helpers/projects/typescript-class-helpers/src/typescript-class-helpers-browser.ts"],"sourcesContent":["import { CoreModels__NS__BaseProjectType, CoreModels__NS__BaseProjectTypeArr, CoreModels__NS__CfontAlign, CoreModels__NS__CfontStyle, CoreModels__NS__ClassNameStaticProperty, CoreModels__NS__ContentType, CoreModels__NS__ContentTypeKeys, CoreModels__NS__CoreLibCategory, CoreModels__NS__CutableFileExt, CoreModels__NS__DatabaseType, CoreModels__NS__EnvironmentName, CoreModels__NS__EnvironmentNameTaon, CoreModels__NS__ExecuteOptions, CoreModels__NS__FileEvent, CoreModels__NS__FileExtension, CoreModels__NS__FrameworkVersion, CoreModels__NS__GlobalDependencies, CoreModels__NS__HttpMethod, CoreModels__NS__ImageFileExtension, CoreModels__NS__ImageFileExtensionArr, CoreModels__NS__InstalationType, CoreModels__NS__InstalationTypeArr, CoreModels__NS__LibType, CoreModels__NS__localhostDomain, CoreModels__NS__localhostIp127, CoreModels__NS__ManifestIcon, CoreModels__NS__MediaType, CoreModels__NS__MediaTypeAllArr, CoreModels__NS__MimeType, CoreModels__NS__mimeTypes, CoreModels__NS__MimeTypesObj, CoreModels__NS__NewFactoryType, CoreModels__NS__NpmInstallOptions, CoreModels__NS__NpmSpecialVersions, CoreModels__NS__OrignalClassKey, CoreModels__NS__OutFolder, CoreModels__NS__Package, CoreModels__NS__ParamType, CoreModels__NS__parentLocation, CoreModels__NS__pathToChildren, CoreModels__NS__Position, CoreModels__NS__PreReleaseVersionTag, CoreModels__NS__PROGRESS_DATA_TYPE, CoreModels__NS__PUSHTYPE, CoreModels__NS__PwaManifest, CoreModels__NS__ReleaseVersionType, CoreModels__NS__ReleaseVersionTypeEnum, CoreModels__NS__RunOptions, CoreModels__NS__Size, CoreModels__NS__SPECIAL_APP_READY_MESSAGE, CoreModels__NS__SPECIAL_WORKER_READY_MESSAGE, CoreModels__NS__tagForTaskName, CoreModels__NS__TaonHttpErrorCustomProp, CoreModels__NS__TsUsage, CoreModels__NS__UIFramework, CoreModels__NS__UploadedBackendFile, CoreModels__NS__VSCodeSettings } from 'tnp-core/browser-prod';\n\n//namespace Models\n\n\n /**\n * @deprecated\n */\n export type Models__NS__CLASSNAMEOptions = {\n uniqueKey?: string,\n /**\n * autoinstance - create instance of singleton automaticly inside decorator\n * first-instance - use first instace of created class as decorator\n */\n singleton?: 'autoinstance' | 'first-instance' | 'last-instance' | boolean,\n classFamily?: string,\n classNameInBrowser?: string,\n }\n\n /**\n * @deprecated\n */\n export class Models__NS__ParamConfig {\n paramName: string;\n paramType: CoreModels__NS__ParamType;\n index: number;\n defaultType: any;\n expireInSeconds?: number;\n }\n\n /**\n * @deprecated\n */\n export class Models__NS__MethodConfig {\n methodName: string;\n /**\n * path is global in express app\n */\n global?: boolean;\n /**\n * override default content type\n */\n contentType?: any;\n /**\n * override default axiso response type\n */\n responseType?: any;\n path: string;\n descriptor: PropertyDescriptor;\n type: CoreModels__NS__HttpMethod;\n/* */\n/* */\n \n parameters: { [paramName: string]: Models__NS__ParamConfig } = {};\n }\n\n /**\n * @deprecated\n */\n export interface Models__NS__ClassMeta {\n uniqueKey?: string;\n className?: string;\n classFamily?: string;\n classNameInBrowser?: string;\n target?: Function;\n }\n\n /**\n * @deprecated\n */\n export class Models__NS__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?: Models__NS__ClassConfig[] = [];\n vParent?: Models__NS__ClassConfig;\n classReference: Function;\n className?: string;\n uniqueKey?: string;\n classNameInBrowser?: string;\n methods: { [methodName: string]: Models__NS__MethodConfig } = {};\n }\n\n\n//end of namespace Models","import { CoreModels__NS__BaseProjectType, CoreModels__NS__BaseProjectTypeArr, CoreModels__NS__CfontAlign, CoreModels__NS__CfontStyle, CoreModels__NS__ClassNameStaticProperty, CoreModels__NS__ContentType, CoreModels__NS__ContentTypeKeys, CoreModels__NS__CoreLibCategory, CoreModels__NS__CutableFileExt, CoreModels__NS__DatabaseType, CoreModels__NS__EnvironmentName, CoreModels__NS__EnvironmentNameTaon, CoreModels__NS__ExecuteOptions, CoreModels__NS__FileEvent, CoreModels__NS__FileExtension, CoreModels__NS__FrameworkVersion, CoreModels__NS__GlobalDependencies, CoreModels__NS__HttpMethod, CoreModels__NS__ImageFileExtension, CoreModels__NS__ImageFileExtensionArr, CoreModels__NS__InstalationType, CoreModels__NS__InstalationTypeArr, CoreModels__NS__LibType, CoreModels__NS__localhostDomain, CoreModels__NS__localhostIp127, CoreModels__NS__ManifestIcon, CoreModels__NS__MediaType, CoreModels__NS__MediaTypeAllArr, CoreModels__NS__MimeType, CoreModels__NS__mimeTypes, CoreModels__NS__MimeTypesObj, CoreModels__NS__NewFactoryType, CoreModels__NS__NpmInstallOptions, CoreModels__NS__NpmSpecialVersions, CoreModels__NS__OrignalClassKey, CoreModels__NS__OutFolder, CoreModels__NS__Package, CoreModels__NS__ParamType, CoreModels__NS__parentLocation, CoreModels__NS__pathToChildren, CoreModels__NS__Position, CoreModels__NS__PreReleaseVersionTag, CoreModels__NS__PROGRESS_DATA_TYPE, CoreModels__NS__PUSHTYPE, CoreModels__NS__PwaManifest, CoreModels__NS__ReleaseVersionType, CoreModels__NS__ReleaseVersionTypeEnum, CoreModels__NS__RunOptions, CoreModels__NS__Size, CoreModels__NS__SPECIAL_APP_READY_MESSAGE, CoreModels__NS__SPECIAL_WORKER_READY_MESSAGE, CoreModels__NS__tagForTaskName, CoreModels__NS__TaonHttpErrorCustomProp, CoreModels__NS__TsUsage, CoreModels__NS__UIFramework, CoreModels__NS__UploadedBackendFile, CoreModels__NS__VSCodeSettings } from \"tnp-core/browser-prod\"\n\nexport const SYMBOL = {\n MODELS_MAPPING: Symbol(),\n DEFAULT_MODEL: Symbol(),\n STORAGE: 'classesstorage',\n CLASSES: 'classes',\n ClassNameStaticProperty : CoreModels__NS__ClassNameStaticProperty,\n}","import { Helpers } from 'tnp-core/browser-prod';\nimport { SYMBOL } from './symbols';\nimport { _ } from 'tnp-core/browser-prod';\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}","import { _ } from 'tnp-core/browser-prod';\nimport { SYMBOL } from './symbols';\nimport { Models__NS__ClassConfig, Models__NS__ClassMeta, Models__NS__CLASSNAMEOptions, Models__NS__MethodConfig, Models__NS__ParamConfig } from './models';\nimport { getStorage } from './storage';\nimport { CLASSNAME__NS__CLASSNAME, CLASSNAME__NS__getClassBy, CLASSNAME__NS__getClassConfig, CLASSNAME__NS__getClassFamilyByClassName, CLASSNAME__NS__getClassName, CLASSNAME__NS__getObjectClassFamily, CLASSNAME__NS__getObjectIndexPropertyValue, CLASSNAME__NS__getObjectIndexValue } from './classname';\nimport { CLASS } from './index';\n\n\nfunction getClasses(): Models__NS__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__NS__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__NS__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__NS__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__NS__getClassName(parent)\n return CLASSNAME__NS__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}","import { Models__NS__ClassConfig, Models__NS__ClassMeta, Models__NS__CLASSNAMEOptions, Models__NS__MethodConfig, Models__NS__ParamConfig } from './models';\nexport const registerd = {\n configs: [] as Models__NS__ClassConfig[],\n classes: [] as Function[],\n}","export 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\nimport { CLASS } from 'typescript-class-helpers';\n\n@CLASS.NAME('ExampleClass')\nclass ExampleClass {\n ...\n}\n`;","import { _ } from 'tnp-core/browser-prod';\nimport { Models__NS__ClassConfig, Models__NS__ClassMeta, Models__NS__CLASSNAMEOptions, Models__NS__MethodConfig, Models__NS__ParamConfig } from './models';\nimport { SYMBOL } from './symbols';\nimport { TchHelpers } from './index';\nimport { Helpers } from 'tnp-core/browser-prod';\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__NS__ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\n//namespace CLASSNAME\n\n export function CLASSNAME__NS__getClassConfig(\n target: Function,\n configs: Models__NS__ClassConfig[] = [],\n callerTarget?: Function,\n ): Models__NS__ClassConfig[] {\n if (!_.isFunction(target)) {\n throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;\n }\n\n let config: Models__NS__ClassConfig;\n const parentClass = Object.getPrototypeOf(target);\n const isValidParent = _.isFunction(parentClass) && parentClass.name !== '';\n\n if (registerd.classes.includes(target)) {\n config =\n registerd.configs[registerd.classes.findIndex(c => c === target)];\n } else {\n config = new Models__NS__ClassConfig();\n config.classReference = target;\n registerd.classes.push(target);\n }\n\n registerd.configs[registerd.classes.findIndex(c => c === target)] = config;\n if (callerTarget) {\n const callerTargetConfig =\n registerd.configs[registerd.classes.findIndex(c => c === callerTarget)];\n if (!config.vChildren.includes(callerTargetConfig)) {\n config.vChildren.push(callerTargetConfig);\n }\n callerTargetConfig.vParent = config;\n }\n\n configs.push(config);\n\n return isValidParent\n ? CLASSNAME__NS__getClassConfig(parentClass, configs, target)\n : configs;\n }\n\n /**\n * PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE\n * Decorator requred for production mode\n * @param name Name of class\n */\n export function CLASSNAME__NS__CLASSNAME(\n className: string,\n options?: Models__NS__CLASSNAMEOptions,\n ) {\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 CLASSNAME__NS__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.log(\n `[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`,\n );\n return target;\n }\n\n if (target === Date) {\n return 'Date';\n }\n\n if ((target as any) === FormData) {\n return 'FormData';\n }\n\n if (!_.isFunction(target)) {\n // console.log(target);\n Helpers.log(\n `[typescript-class-helpers][getClassName] target is not a class`,\n );\n return void 0;\n }\n\n if (target[SYMBOL.ClassNameStaticProperty]) {\n return target[SYMBOL.ClassNameStaticProperty];\n }\n\n const configs = CLASSNAME__NS__getClassConfig(target);\n const config = _.first(configs);\n\n const classNameInBrowser = config?.classNameInBrowser;\n\n if (Helpers.isBrowser && _.isString(classNameInBrowser)) {\n return classNameInBrowser;\n }\n\n const className = config?.className;\n\n if (typeof className === 'string') {\n return className;\n }\n\n if (production) {\n console.log('class without @CLASS.NAME deocrator', target as any);\n throw new Error(ERROR_MSG_CLASS_WITHOUT_DECORATOR);\n } else {\n // 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 // special thing when cloning classes\n if (target.name?.startsWith('class_')) {\n return '';\n }\n\n return target.name;\n }\n\n // @ts-ignore\n export function CLASSNAME__NS__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 CLASSNAME__NS__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 CLASSNAME__NS__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 CLASSNAME__NS__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 CLASSNAME__NS__getClassBy(className: string | Function): Function {\n let res;\n if (Array.isArray(className)) {\n if (className.length !== 1) {\n throw `Mapping error... please use proper class names:\n {\n propertyObject: 'MyClassName',\n propertyWithArray: ['MyClassName']\n }\n\n `;\n }\n className = className[0];\n }\n if (typeof className === 'function') {\n // 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//end of namespace CLASSNAME","import { _ } from 'tnp-core/browser-prod';\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}","import { _ } from 'tnp-core/browser-prod';\nimport { CLASSNAME__NS__CLASSNAME, CLASSNAME__NS__getClassBy, CLASSNAME__NS__getClassConfig, CLASSNAME__NS__getClassFamilyByClassName, CLASSNAME__NS__getClassName, CLASSNAME__NS__getObjectClassFamily, CLASSNAME__NS__getObjectIndexPropertyValue, CLASSNAME__NS__getObjectIndexValue } from './classname';\nimport { describeFromClassStringify, describeByDefaultModelsAndMapping } from './describe-class';\nimport { Models__NS__ClassConfig, Models__NS__ClassMeta, Models__NS__CLASSNAMEOptions, Models__NS__MethodConfig, Models__NS__ParamConfig } from './models';\nimport { setClassName } from './set-class-name';\n\nexport { Models__NS__ClassConfig, Models__NS__ClassMeta, Models__NS__CLASSNAMEOptions, Models__NS__MethodConfig, Models__NS__ParamConfig } from './models';\nexport { SYMBOL } from './symbols';\n\nexport class TchHelpers {\n\n static getBy(className: string | Function) {\n return CLASSNAME__NS__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__NS__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__NS__ClassConfig[] {\n return CLASSNAME__NS__getClassConfig(target)\n }\n\n static describeProperites(target: Function) {\n const d1 = describeFromClassStringify(target);\n const d2 = describeByDefaultModelsAndMapping(target);\n let uniq = {};\n // @ts-ignore\n d1.concat(d2).forEach(p => uniq[p] = p);\n return Object.keys(uniq)\n .filter(d => !!d)\n .filter(d => typeof target.prototype[d] !== 'function')\n }\n\n}\n\nconst notAllowedAsMethodName = [\n 'length', 'name',\n 'arguments', 'caller',\n 'constructor', 'apply',\n 'bind', 'call',\n 'toString',\n '__defineGetter__',\n '__defineSetter__', 'hasOwnProperty',\n '__lookupGetter__', '__lookupSetter__',\n 'isPrototypeOf', 'propertyIsEnumerable',\n 'valueOf', '__proto__', 'toLocaleString',\n];\n\nconst getMethodsNames = (classOrClassInstance: any, allMethodsNames = []): string[] => {\n if (!classOrClassInstance) {\n return allMethodsNames;\n }\n\n const isClassFunction = _.isFunction(classOrClassInstance);\n const classFun = (isClassFunction ? classOrClassInstance : Object.getPrototypeOf(classOrClassInstance));\n const objectToCheck = isClassFunction ? (classOrClassInstance as Function)?.prototype : classOrClassInstance;\n const prototypeObj = Object.getPrototypeOf(objectToCheck || {});\n\n const properties = _.uniq([\n ...Object.getOwnPropertyNames(objectToCheck || {}),\n ...Object.getOwnPropertyNames(prototypeObj || {}),\n ...Object.keys(objectToCheck || {}),\n ...Object.keys(prototypeObj || {}),\n ])\n .filter(f => !!f && !notAllowedAsMethodName.includes(f));\n\n properties.filter((methodName) => typeof objectToCheck[methodName] === 'function').forEach(p => allMethodsNames.push(p));\n\n if (!classFun || !classFun.constructor || classFun?.constructor?.name === 'Object') {\n return allMethodsNames;\n }\n return getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);\n};\n\nexport const CLASS = {\n NAME: CLASSNAME__NS__CLASSNAME,\n setName: setClassName,\n getBy: TchHelpers.getBy,\n /**\n * @deprecated\n */\n getSingleton<T = any>(target: Function) {\n if (typeof target !== 'function') {\n console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`)\n return\n }\n const config = TchHelpers.getConfigs(target)[0]\n // console.log(`getSingleton for ${target.name}: `, config.singleton)\n\n return config.singleton as T;\n },\n /**\n * @deprecated\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 /**\n * @deprecated\n */\n getConfigs: TchHelpers.getConfigs,\n /**\n * @deprecated\n */\n getConfig: (target: Function) => {\n return _.first(TchHelpers.getConfigs(target));\n },\n\n\n getMethodsNames(classOrClassInstance: any): string[] {\n return getMethodsNames(classOrClassInstance);\n },\n getFromObject: TchHelpers.getFromObject,\n getName: TchHelpers.getName,\n getNameFromObject: TchHelpers.getNameFromObject,\n describeProperites: TchHelpers.describeProperites,\n /**\n * @deprecated\n */\n OBJECT: (obj: any) => {\n return {\n get indexValue() {\n return CLASSNAME__NS__getObjectIndexValue(obj);\n },\n get indexProperty() {\n return CLASSNAME__NS__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__NS__getObjectIndexValue(obj);\n const v2 = CLASSNAME__NS__getObjectIndexValue(anotherObj);\n const f1 = CLASSNAME__NS__getObjectClassFamily(obj)\n const f2 = CLASSNAME__NS__getObjectClassFamily(anotherObj)\n const isFamilyDiff = (!_.isString(f1) || !_.isString(f2) || (f1 !== f2));\n // console.log(`DIFF FAMILY ${isFamilyDiff} v1: ${CLASSNAME__NS__getObjectClassFamily(obj)}, v2: ${CLASSNAME__NS__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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getClasses"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
-
import {
|
|
2
|
+
import { CoreModels__NS__HttpMethod, CoreModels__NS__ParamType } from 'tnp-core/browser-prod';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @deprecated
|
|
6
6
|
*/
|
|
7
|
-
type
|
|
7
|
+
type Models__NS__CLASSNAMEOptions = {
|
|
8
8
|
uniqueKey?: string;
|
|
9
9
|
/**
|
|
10
10
|
* autoinstance - create instance of singleton automaticly inside decorator
|
|
@@ -17,9 +17,9 @@ type Models_CLASSNAMEOptions = {
|
|
|
17
17
|
/**
|
|
18
18
|
* @deprecated
|
|
19
19
|
*/
|
|
20
|
-
declare class
|
|
20
|
+
declare class Models__NS__ParamConfig {
|
|
21
21
|
paramName: string;
|
|
22
|
-
paramType:
|
|
22
|
+
paramType: CoreModels__NS__ParamType;
|
|
23
23
|
index: number;
|
|
24
24
|
defaultType: any;
|
|
25
25
|
expireInSeconds?: number;
|
|
@@ -27,7 +27,7 @@ declare class Models_ParamConfig {
|
|
|
27
27
|
/**
|
|
28
28
|
* @deprecated
|
|
29
29
|
*/
|
|
30
|
-
declare class
|
|
30
|
+
declare class Models__NS__MethodConfig {
|
|
31
31
|
methodName: string;
|
|
32
32
|
/**
|
|
33
33
|
* path is global in express app
|
|
@@ -43,15 +43,15 @@ declare class Models_MethodConfig {
|
|
|
43
43
|
responseType?: any;
|
|
44
44
|
path: string;
|
|
45
45
|
descriptor: PropertyDescriptor;
|
|
46
|
-
type:
|
|
46
|
+
type: CoreModels__NS__HttpMethod;
|
|
47
47
|
parameters: {
|
|
48
|
-
[paramName: string]:
|
|
48
|
+
[paramName: string]: Models__NS__ParamConfig;
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
52
|
* @deprecated
|
|
53
53
|
*/
|
|
54
|
-
interface
|
|
54
|
+
interface Models__NS__ClassMeta {
|
|
55
55
|
uniqueKey?: string;
|
|
56
56
|
className?: string;
|
|
57
57
|
classFamily?: string;
|
|
@@ -61,7 +61,7 @@ interface Models_ClassMeta {
|
|
|
61
61
|
/**
|
|
62
62
|
* @deprecated
|
|
63
63
|
*/
|
|
64
|
-
declare class
|
|
64
|
+
declare class Models__NS__ClassConfig {
|
|
65
65
|
browserTransformFn?: (entity: any) => any;
|
|
66
66
|
singleton: Object;
|
|
67
67
|
injections: {
|
|
@@ -70,14 +70,14 @@ declare class Models_ClassConfig {
|
|
|
70
70
|
}[];
|
|
71
71
|
calculatedPath: string;
|
|
72
72
|
path: string;
|
|
73
|
-
vChildren?:
|
|
74
|
-
vParent?:
|
|
73
|
+
vChildren?: Models__NS__ClassConfig[];
|
|
74
|
+
vParent?: Models__NS__ClassConfig;
|
|
75
75
|
classReference: Function;
|
|
76
76
|
className?: string;
|
|
77
77
|
uniqueKey?: string;
|
|
78
78
|
classNameInBrowser?: string;
|
|
79
79
|
methods: {
|
|
80
|
-
[methodName: string]:
|
|
80
|
+
[methodName: string]: Models__NS__MethodConfig;
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
83
|
|
|
@@ -86,9 +86,9 @@ declare class Models_ClassConfig {
|
|
|
86
86
|
* Decorator requred for production mode
|
|
87
87
|
* @param name Name of class
|
|
88
88
|
*/
|
|
89
|
-
declare function
|
|
89
|
+
declare function CLASSNAME__NS__CLASSNAME(className: string, options?: Models__NS__CLASSNAMEOptions): any;
|
|
90
90
|
|
|
91
|
-
declare function setClassName(target: Function, className: string, options?:
|
|
91
|
+
declare function setClassName(target: Function, className: string, options?: Models__NS__CLASSNAMEOptions): (...args: any[]) => any;
|
|
92
92
|
|
|
93
93
|
declare const SYMBOL: {
|
|
94
94
|
MODELS_MAPPING: symbol;
|
|
@@ -103,11 +103,11 @@ declare class TchHelpers {
|
|
|
103
103
|
static getFromObject(o: Object): any;
|
|
104
104
|
static getName(target: Function, production?: boolean): string;
|
|
105
105
|
static getNameFromObject(o: Object): string;
|
|
106
|
-
static getConfigs(target: Function):
|
|
106
|
+
static getConfigs(target: Function): Models__NS__ClassConfig[];
|
|
107
107
|
static describeProperites(target: Function): string[];
|
|
108
108
|
}
|
|
109
109
|
declare const CLASS: {
|
|
110
|
-
NAME: typeof
|
|
110
|
+
NAME: typeof CLASSNAME__NS__CLASSNAME;
|
|
111
111
|
setName: typeof setClassName;
|
|
112
112
|
getBy: typeof TchHelpers.getBy;
|
|
113
113
|
/**
|
|
@@ -125,7 +125,7 @@ declare const CLASS: {
|
|
|
125
125
|
/**
|
|
126
126
|
* @deprecated
|
|
127
127
|
*/
|
|
128
|
-
getConfig: (target: Function) =>
|
|
128
|
+
getConfig: (target: Function) => Models__NS__ClassConfig;
|
|
129
129
|
getMethodsNames(classOrClassInstance: any): string[];
|
|
130
130
|
getFromObject: typeof TchHelpers.getFromObject;
|
|
131
131
|
getName: typeof TchHelpers.getName;
|
|
@@ -142,5 +142,5 @@ declare const CLASS: {
|
|
|
142
142
|
};
|
|
143
143
|
};
|
|
144
144
|
|
|
145
|
-
export { CLASS,
|
|
146
|
-
export type {
|
|
145
|
+
export { CLASS, Models__NS__ClassConfig, Models__NS__MethodConfig, Models__NS__ParamConfig, SYMBOL, TchHelpers };
|
|
146
|
+
export type { Models__NS__CLASSNAMEOptions, Models__NS__ClassMeta };
|