typescript-class-helpers 19.0.4 → 19.0.6

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.
@@ -34,8 +34,6 @@ var Models;
34
34
  }
35
35
  Models.ClassConfig = ClassConfig;
36
36
  })(Models || (Models = {}));
37
- ;
38
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/models.ts
39
37
 
40
38
  const SYMBOL = {
41
39
  MODELS_MAPPING: Symbol(),
@@ -44,7 +42,6 @@ const SYMBOL = {
44
42
  CLASSES: 'classes',
45
43
  ClassNameStaticProperty: '$$className$$'
46
44
  };
47
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/symbols.ts
48
45
 
49
46
  function defaultValues() {
50
47
  return _.cloneDeep({
@@ -65,8 +62,6 @@ function getStorage(property) {
65
62
  }
66
63
  return defaultValues.prototype[SYMBOL.STORAGE];
67
64
  }
68
- ;
69
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/storage.ts
70
65
 
71
66
  function getClasses$1() {
72
67
  const s = getStorage();
@@ -92,6 +87,7 @@ function setClassName(target, className, options) {
92
87
  config.className = className;
93
88
  config.uniqueKey = uniqueKey;
94
89
  config.classNameInBrowser = classNameInBrowser;
90
+ // console.log(`Setting class Name to "${target.name}"`)
95
91
  }
96
92
  const existed = getClasses$1()
97
93
  .find(f => f.className === className);
@@ -125,17 +121,21 @@ function setClassName(target, className, options) {
125
121
  const obj = {
126
122
  // @ts-ignore
127
123
  decoratedConstructor: function (...args) {
124
+ // console.log(`DECORATED CONSTRUCTOR OF ${Original.name}`)
128
125
  const context = Original.apply(this, args);
129
126
  const existedSingleton = CLASS.getSingleton(Original);
130
127
  if (!existedSingleton || singleton === 'last-instance') {
131
128
  CLASS.setSingletonObj(Original, this);
132
129
  CLASS.setSingletonObj(obj.decoratedConstructor, this);
130
+ // console.log(`Singleton created for "${className}", mode: ${singleton} `);
133
131
  }
134
132
  else {
133
+ // console.log('ingleton exists')
135
134
  }
136
135
  return context;
137
136
  }
138
137
  };
138
+ // copy prototype so intanceof operator still works
139
139
  obj.decoratedConstructor.prototype = Original.prototype;
140
140
  // @ts-ignore
141
141
  Object.keys(Original).forEach((name) => { obj.decoratedConstructor[name] = Original[name]; });
@@ -143,35 +143,34 @@ function setClassName(target, className, options) {
143
143
  value: className,
144
144
  configurable: true,
145
145
  });
146
+ // (obj.decoratedConstructor as any).name = className;
147
+ // console.log('return new contruor', decoratedConstructor)
146
148
  return obj.decoratedConstructor;
147
149
  }
148
150
  else if (singleton === 'autoinstance') {
151
+ // console.log(`AUTOINSTANCE FOR ${target.name}`)
149
152
  const auto = new Original();
150
153
  CLASS.setSingletonObj(Original, auto);
154
+ // console.log(`Singleton created for "${className}", mode: ${singleton} `)
151
155
  }
152
156
  }
153
- ;
154
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/set-class-name.ts
155
157
 
156
158
  const registerd = {
157
159
  configs: [],
158
160
  classes: [],
159
161
  };
160
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/registerd-db.ts
161
162
 
162
163
  const ERROR_MSG_CLASS_WITHOUT_DECORATOR = `[typescript-class-helpers][getClassName(...)](PRODUCTION MODE ERROR)
163
164
  Please use decoartor @CLASSNAME for each entity or controller
164
165
  This is preventing class name problem in minified code.
165
- // @ts-ignore
166
- import { CLASS } from '../lib';
166
+
167
+ import { CLASS } from 'typescript-class-helpers';
167
168
 
168
169
  @CLASS.NAME('ExampleClass')
169
170
  class ExampleClass {
170
171
  ...
171
172
  }
172
173
  `;
173
- ;
174
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/errors-messages.ts
175
174
 
176
175
  /* */
177
176
  /* */
@@ -218,19 +217,24 @@ var CLASSNAME;
218
217
  */
219
218
  function CLASSNAME(className, options) {
220
219
  return function (target) {
220
+ // console.log(`CLASSNAME Inited ${className}`)
221
221
  return setClassName(target, className, options);
222
222
  };
223
223
  }
224
224
  CLASSNAME_1.CLASSNAME = CLASSNAME;
225
225
  function getClassName(target, production = false) {
226
226
  if (_.isNil(target)) {
227
+ // console.log(target);
228
+ // Helpers.warn(`[typescript-class-helpers][getClassName] target is nil`)
227
229
  return void 0;
228
230
  }
229
231
  if (_.isString(target)) {
232
+ // console.log(target);
230
233
  Helpers.log(`[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`);
231
234
  return target;
232
235
  }
233
236
  if (!_.isFunction(target)) {
237
+ // console.log(target);
234
238
  Helpers.log(`[typescript-class-helpers][getClassName] target is not a class`);
235
239
  return void 0;
236
240
  }
@@ -252,7 +256,19 @@ var CLASSNAME;
252
256
  throw new Error(ERROR_MSG_CLASS_WITHOUT_DECORATOR);
253
257
  }
254
258
  else {
255
- }
259
+ // Helpers.log('check for ' + target.name)
260
+ // setTimeout(() => {
261
+ // // Helpers.log('check for ' + target.name + ' === ' + config.className)/
262
+ // // TODO this may work, but not yet in singleton/morphi
263
+ // if (!config.className) {
264
+ // if (target?.name && target.name !== 'Object') {
265
+ // ConfigHelpers.log(`[typescript-class-helpers] Please use @CLASS.NAME`
266
+ // + `('${(target?.name && !!target.name) ? target.name : '...'}') decorator for class ${target?.name}`)
267
+ // }
268
+ // }
269
+ // })
270
+ }
271
+ // special thing when cloning classes
256
272
  if (target.name?.startsWith('class_')) {
257
273
  return '';
258
274
  }
@@ -262,7 +278,9 @@ var CLASSNAME;
262
278
  // @ts-ignore
263
279
  function getObjectIndexPropertyValue(obj) {
264
280
  const className = TchHelpers.getNameFromObject(obj);
281
+ // console.log('className',className)
265
282
  let c = getClasses().find(c => c.className === className);
283
+ // console.log('c',c)
266
284
  if (c) {
267
285
  return c.uniqueKey;
268
286
  }
@@ -271,6 +289,7 @@ var CLASSNAME;
271
289
  // @ts-ignore
272
290
  function getClassFamilyByClassName(className) {
273
291
  let c = getClasses().find(c => c.className === className);
292
+ // console.log('getClasses()', getClasses())
274
293
  if (c) {
275
294
  return c.classFamily;
276
295
  }
@@ -279,7 +298,9 @@ var CLASSNAME;
279
298
  // @ts-ignore
280
299
  function getObjectClassFamily(obj) {
281
300
  const className = TchHelpers.getNameFromObject(obj);
301
+ // console.log('className',className)
282
302
  let c = getClasses().find(c => c.className === className);
303
+ // console.log('c',c)
283
304
  if (c) {
284
305
  return c.classFamily;
285
306
  }
@@ -287,7 +308,9 @@ var CLASSNAME;
287
308
  CLASSNAME_1.getObjectClassFamily = getObjectClassFamily;
288
309
  function getObjectIndexValue(obj) {
289
310
  const className = TchHelpers.getNameFromObject(obj);
311
+ // console.log('className',className)
290
312
  let c = getClasses().find(c => c.className === className);
313
+ // console.log('c',c)
291
314
  if (c && _.isString(c.uniqueKey)) {
292
315
  return obj[c.uniqueKey];
293
316
  }
@@ -308,6 +331,7 @@ var CLASSNAME;
308
331
  className = className[0];
309
332
  }
310
333
  if (typeof className === 'function') {
334
+ // TODO QUICK_FIX
311
335
  res = className;
312
336
  }
313
337
  if (className === 'Date') {
@@ -320,13 +344,12 @@ var CLASSNAME;
320
344
  if (c) {
321
345
  res = c.target;
322
346
  }
347
+ // console.log(`getClassBy "${className} return \n\n ${res} \n\n`)
323
348
  // @ts-ignore
324
349
  return res;
325
350
  }
326
351
  CLASSNAME_1.getClassBy = getClassBy;
327
352
  })(CLASSNAME || (CLASSNAME = {}));
328
- ;
329
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/classname.ts
330
353
 
331
354
  /**
332
355
  * @DEPRECATED
@@ -345,6 +368,9 @@ function describeFromClassStringify(target, parent = false) {
345
368
  }
346
369
  const classString = target.toString();
347
370
  const matches = classString.match(FRegEx) || [];
371
+ // console.log({
372
+ // classString,
373
+ // });
348
374
  result = result.concat(matches);
349
375
  return result.map(prop => prop
350
376
  .replace('this.', '')
@@ -395,8 +421,6 @@ function describeByDefaultModelsAndMapping(target) {
395
421
  propNames = (!propNames.includes('id') ? ['id'] : []).concat(propNames);
396
422
  return propNames;
397
423
  }
398
- ;
399
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/describe-class.ts
400
424
 
401
425
  class TchHelpers {
402
426
  static getBy(className) {
@@ -479,12 +503,14 @@ const CLASS = {
479
503
  return;
480
504
  }
481
505
  const config = TchHelpers.getConfigs(target)[0];
506
+ // console.log(`getSingleton for ${target.name}: `, config.singleton)
482
507
  return config.singleton;
483
508
  },
484
509
  /**
485
510
  * @deprecated
486
511
  */
487
512
  setSingletonObj(target, singletonObject) {
513
+ // console.log('SET SINGLETON', singletonObject)
488
514
  if (typeof target !== 'function') {
489
515
  console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`);
490
516
  return;
@@ -498,6 +524,7 @@ const CLASS = {
498
524
  return;
499
525
  }
500
526
  const className = CLASS.getName(target);
527
+ // console.log(`SINGLETON SET for TARGET ${className}`)
501
528
  const config = TchHelpers.getConfigs(target)[0];
502
529
  if (config.singleton) {
503
530
  console.warn(`[typescript-class-helpers] You are trying to set singleton of "${className}" second time with different object.`);
@@ -548,6 +575,7 @@ const CLASS = {
548
575
  return false;
549
576
  }
550
577
  if (obj === anotherObj) {
578
+ // console.log(`EQ v1: , v2: - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`, obj, anotherObj)
551
579
  return true;
552
580
  }
553
581
  const v1 = CLASSNAME.getObjectIndexValue(obj);
@@ -555,12 +583,19 @@ const CLASS = {
555
583
  const f1 = CLASSNAME.getObjectClassFamily(obj);
556
584
  const f2 = CLASSNAME.getObjectClassFamily(anotherObj);
557
585
  const isFamilyDiff = (!_.isString(f1) || !_.isString(f2) || (f1 !== f2));
586
+ // console.log(`DIFF FAMILY ${isFamilyDiff} v1: ${CLASSNAME.getObjectClassFamily(obj)}, v2: ${CLASSNAME.getObjectClassFamily(anotherObj)} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)
558
587
  if (isFamilyDiff) {
588
+ // console.log(`DIFF v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)
559
589
  return false;
560
590
  }
561
591
  if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {
592
+ // console.log(`NOT CLASS v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)
562
593
  return false;
563
594
  }
595
+ // console.log(`v1: ${v1} ,class ${CLASS.getNameFromObject(obj)} ,prop: ${CLASS.OBJECT(obj).indexProperty}`)
596
+ // console.log(`v2: ${v2} ,class ${CLASS.getNameFromObject(anotherObj)} ,prop: ${CLASS.OBJECT(anotherObj).indexProperty}`)
597
+ // console.log(`v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)
598
+ // console.log('')
564
599
  if ((_.isNumber(v1) && _.isNumber(v2)) || (_.isString(v1) && _.isString(v2))) {
565
600
  const res = (v1 === v2);
566
601
  // @ts-ignore
@@ -574,8 +609,6 @@ const CLASS = {
574
609
  };
575
610
  }
576
611
  };
577
- ;
578
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/index.ts
579
612
 
580
613
  /**
581
614
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-class-helpers.mjs","sources":["../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/models.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/symbols.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/storage.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/set-class-name.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/registerd-db.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/errors-messages.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/classname.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/describe-class.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/index.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/typescript-class-helpers.ts"],"sourcesContent":["\n\nimport { CoreModels } from 'tnp-core/browser';\n\nexport namespace Models {\n\n /**\n * @deprecated\n */\n export type CLASSNAMEOptions = {\n uniqueKey?: string,\n /**\n * autoinstance - create instance of singleton automaticly inside decorator\n * first-instance - use first instace of created class as decorator\n */\n singleton?: 'autoinstance' | 'first-instance' | 'last-instance' | boolean,\n classFamily?: string,\n classNameInBrowser?: string,\n }\n\n /**\n * @deprecated\n */\n export class ParamConfig {\n paramName: string;\n paramType: CoreModels.ParamType;\n index: number;\n defaultType: any;\n expireInSeconds?: number;\n }\n\n /**\n * @deprecated\n */\n export class MethodConfig {\n methodName: string;\n /**\n * path is global in express app\n */\n global?: boolean;\n /**\n * override default content type\n */\n contentType?: any;\n /**\n * override default axiso response type\n */\n responseType?: any;\n path: string;\n descriptor: PropertyDescriptor;\n type: CoreModels.HttpMethod;\n/* */\n/* */\n \n parameters: { [paramName: string]: ParamConfig } = {};\n }\n\n /**\n * @deprecated\n */\n export interface ClassMeta {\n uniqueKey?: string;\n className?: string;\n classFamily?: string;\n classNameInBrowser?: string;\n target?: Function;\n }\n\n /**\n * @deprecated\n */\n export class ClassConfig {\n browserTransformFn?: (entity: any) => any;\n // @ts-ignore\n singleton: Object = void 0;\n injections: { getter: Function, propertyName: string; }[] = [];\n calculatedPath: string;\n path: string;\n vChildren?: ClassConfig[] = [];\n vParent?: ClassConfig;\n classReference: Function;\n className?: string;\n uniqueKey?: string;\n classNameInBrowser?: string;\n methods: { [methodName: string]: MethodConfig } = {};\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/models.ts","\n\nexport const SYMBOL = {\n MODELS_MAPPING: Symbol(),\n DEFAULT_MODEL: Symbol(),\n STORAGE: 'classesstorage',\n CLASSES: 'classes',\n ClassNameStaticProperty : '$$className$$'\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/symbols.ts","\n\nimport { Helpers } from 'tnp-core/browser';\nimport { SYMBOL } from './symbols';\nimport { _ } from 'tnp-core/browser';\n\nfunction defaultValues() {\n return _.cloneDeep({\n [SYMBOL.CLASSES]: []\n })\n}\n\nexport function getStorage<T = any>(property?: string): T {\n\n/* */\n/* */\n/* */\n/* */\n \n\n if (typeof property === 'string') {\n\n const storageInClassStaticProp = getStorage();\n return storageInClassStaticProp[property]\n }\n\n if (typeof defaultValues.prototype[SYMBOL.STORAGE] === 'undefined') {\n defaultValues.prototype[SYMBOL.STORAGE] = defaultValues()\n }\n return defaultValues.prototype[SYMBOL.STORAGE]\n}\n\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/storage.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { SYMBOL } from './symbols';\nimport { Models } from './models';\nimport { getStorage } from './storage';\nimport { CLASSNAME } from './classname';\nimport { CLASS } from './index';\n\n\nfunction getClasses(): Models.ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\n\n// @ts-ignore\nexport function setClassName(target: Function, className: string, options?: Models.CLASSNAMEOptions) {\n\n let { classFamily, uniqueKey, classNameInBrowser, singleton } = options || {\n classFamily: void 0,\n uniqueKey: 'id',\n classNameInBrowser: void 0,\n singleton: void 0,\n autoinstance: false\n } as Models.CLASSNAMEOptions;\n\n if (!_.isUndefined(singleton) && _.isBoolean(singleton) && singleton) {\n singleton = 'first-instance'\n }\n\n if (!uniqueKey) {\n uniqueKey = 'id'\n }\n\n if (target) {\n const config = _.first(CLASSNAME.getClassConfig(target));\n config.className = className;\n config.uniqueKey = uniqueKey;\n config.classNameInBrowser = classNameInBrowser;\n\n }\n\n const existed = (getClasses() as { className: string; target: Function; }[])\n .find(f => f.className === className)\n\n if (existed) {\n existed.target = target;\n } else {\n const res = {\n className,\n classNameInBrowser,\n target,\n uniqueKey,\n classFamily\n }\n\n if (_.isUndefined(classFamily)) {\n Object.defineProperty(res, 'classFamily', {\n get: function () {\n const parent = Object.getPrototypeOf(target);\n if (!_.isFunction(parent) || parent.name === 'Object' || parent.name === '') {\n return className;\n }\n const classNameNew = CLASSNAME.getClassName(parent)\n return CLASSNAME.getClassFamilyByClassName(classNameNew)\n }\n })\n }\n getClasses().push(res)\n }\n const Original = target;\n\n\n if (singleton === 'first-instance' || singleton === 'last-instance') {\n const obj = {\n // @ts-ignore\n decoratedConstructor: function (...args) {\n\n const context = Original.apply(this, args);\n\n const existedSingleton = CLASS.getSingleton(Original)\n if (!existedSingleton || singleton === 'last-instance') {\n CLASS.setSingletonObj(Original, this)\n CLASS.setSingletonObj(obj.decoratedConstructor, this)\n\n }\n else {\n\n }\n\n return context;\n }\n };\n\n\n obj.decoratedConstructor.prototype = Original.prototype;\n // @ts-ignore\n Object.keys(Original).forEach((name: string) => { obj.decoratedConstructor[name] = (<any>Original)[name]; });\n Object.defineProperty(obj.decoratedConstructor, 'name', {\n value: className,\n configurable: true,\n })\n\n\n return obj.decoratedConstructor;\n } else if (singleton === 'autoinstance') {\n\n\n const auto = new (Original as any)();\n CLASS.setSingletonObj(Original, auto)\n\n\n }\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/set-class-name.ts","\n\nimport { Models } from './models';\nexport const registerd = {\n configs: [] as Models.ClassConfig[],\n classes: [] as Function[],\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/registerd-db.ts","\n\n\nexport const ERROR_MSG_CLASS_WITHOUT_DECORATOR = `[typescript-class-helpers][getClassName(...)](PRODUCTION MODE ERROR)\nPlease use decoartor @CLASSNAME for each entity or controller\nThis is preventing class name problem in minified code.\n // @ts-ignore\nimport { CLASS } from '../lib';\n\n@CLASS.NAME('ExampleClass')\nclass ExampleClass {\n ...\n}\n`;\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/errors-messages.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { Models } from './models';\nimport { SYMBOL } from './symbols';\nimport { TchHelpers } from './index';\nimport { Helpers } from 'tnp-core/browser';\nimport { getStorage } from './storage';\nimport { setClassName } from './set-class-name';\nimport { registerd } from './registerd-db';\nimport { ERROR_MSG_CLASS_WITHOUT_DECORATOR } from './errors-messages';\n/* */\n/* */\n \n\nfunction getClasses(): Models.ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\nexport namespace CLASSNAME {\n export function getClassConfig(\n target: Function,\n configs: Models.ClassConfig[] = [],\n callerTarget?: Function,\n ): Models.ClassConfig[] {\n if (!_.isFunction(target)) {\n throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;\n }\n\n let config: Models.ClassConfig;\n const parentClass = Object.getPrototypeOf(target);\n const isValidParent = _.isFunction(parentClass) && parentClass.name !== '';\n\n if (registerd.classes.includes(target)) {\n config =\n registerd.configs[registerd.classes.findIndex(c => c === target)];\n } else {\n config = new Models.ClassConfig();\n config.classReference = target;\n registerd.classes.push(target);\n }\n\n registerd.configs[registerd.classes.findIndex(c => c === target)] = config;\n if (callerTarget) {\n const callerTargetConfig =\n registerd.configs[registerd.classes.findIndex(c => c === callerTarget)];\n if (!config.vChildren.includes(callerTargetConfig)) {\n config.vChildren.push(callerTargetConfig);\n }\n callerTargetConfig.vParent = config;\n }\n\n configs.push(config);\n\n return isValidParent\n ? getClassConfig(parentClass, configs, target)\n : configs;\n }\n\n /**\n * PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE\n * Decorator requred for production mode\n * @param name Name of class\n */\n export function CLASSNAME(\n className: string,\n options?: Models.CLASSNAMEOptions,\n ) {\n return function (target: Function) {\n\n return setClassName(target, className, options);\n } as any;\n }\n\n export function getClassName(target: Function, production = false) {\n if (_.isNil(target)) {\n\n\n return void 0;\n }\n if (_.isString(target)) {\n\n Helpers.log(\n `[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`,\n );\n return target;\n }\n if (!_.isFunction(target)) {\n\n Helpers.log(\n `[typescript-class-helpers][getClassName] target is not a class`,\n );\n return void 0;\n }\n\n if (target[SYMBOL.ClassNameStaticProperty]) {\n return target[SYMBOL.ClassNameStaticProperty];\n }\n\n const configs = getClassConfig(target);\n const config = _.first(configs);\n\n const classNameInBrowser = config?.classNameInBrowser;\n\n if (Helpers.isBrowser && _.isString(classNameInBrowser)) {\n return classNameInBrowser;\n }\n\n const className = config?.className;\n\n if (typeof className === 'string') {\n return className;\n }\n\n if (production) {\n console.log('class without @CLASS.NAME deocrator', target as any);\n throw new Error(ERROR_MSG_CLASS_WITHOUT_DECORATOR);\n } else {\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n if (target.name?.startsWith('class_')) {\n return '';\n }\n\n return target.name;\n }\n\n // @ts-ignore\n export function getObjectIndexPropertyValue(obj: any) {\n const className = TchHelpers.getNameFromObject(obj);\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n return c.uniqueKey;\n }\n }\n\n // @ts-ignore\n export function getClassFamilyByClassName(className: string) {\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n return c.classFamily;\n }\n }\n\n // @ts-ignore\n export function getObjectClassFamily(obj: any) {\n const className = TchHelpers.getNameFromObject(obj);\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n return c.classFamily;\n }\n }\n\n export function getObjectIndexValue(obj: any) {\n const className = TchHelpers.getNameFromObject(obj);\n\n let c = getClasses().find(c => c.className === className);\n\n if (c && _.isString(c.uniqueKey)) {\n return obj[c.uniqueKey];\n }\n }\n\n export function getClassBy(className: string | Function): Function {\n let res;\n if (Array.isArray(className)) {\n if (className.length !== 1) {\n throw `Mapping error... please use proper class names:\n {\n propertyObject: 'MyClassName',\n propertyWithArray: ['MyClassName']\n }\n\n `;\n }\n className = className[0];\n }\n if (typeof className === 'function') {\n\n res = className;\n }\n if (className === 'Date') {\n res = Date;\n }\n\n if (className === 'FormData') {\n res = FormData;\n }\n\n let c = getClasses().find(c => c.className === className);\n\n if (c) {\n res = c.target;\n }\n\n // @ts-ignore\n return res;\n }\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/classname.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { SYMBOL } from './symbols';\n\n\n\n/**\n * @DEPRECATED\n * Describe fields assigned in class\n */\nconst FRegEx = new RegExp(/(?:this\\.)(.+?(?= ))/g);\nexport function describeFromClassStringify(target: Function, parent = false): string[] {\n // @ts-ignore\n var result = [];\n if (parent) {\n var proto = Object.getPrototypeOf(target.prototype);\n if (proto) {\n // @ts-ignore\n result = result.concat(describeFromClassStringify(proto.constructor, parent));\n }\n }\n const classString = target.toString();\n const matches = classString.match(FRegEx) || []\n\n\n\n\n result = result.concat(matches);\n return result.map(prop => prop\n .replace('this.', '')\n .replace('.', '')\n .replace(')', '')\n .replace('(', '')\n )\n\n}\n\n/**\n * Describe fields assigne through @DefaultModelWithMapping decorator\n * without functions\n */\nexport function describeByDefaultModelsAndMapping(target: Function): string[] {\n let res = {}\n if (target) {\n // @ts-ignore\n if (target[SYMBOL.DEFAULT_MODEL]) {\n // @ts-ignore\n Object.keys(target[SYMBOL.DEFAULT_MODEL])\n .filter(key => {\n // @ts-ignore\n return !_.isFunction(target[SYMBOL.DEFAULT_MODEL][key]);\n })\n .forEach(key => {\n // @ts-ignore\n return res[key] = null;\n });\n }\n // @ts-ignore\n let mapping = target[SYMBOL.MODELS_MAPPING];\n if (_.isArray(mapping)) {\n mapping.forEach(m => {\n Object.keys(m)\n .forEach(key => {\n // @ts-ignore\n res[key] = null;\n });\n })\n } else if (mapping) {\n\n Object.keys(mapping)\n .forEach(key => {\n // @ts-ignore\n res[key] = null;\n });\n }\n }\n\n let propNames = Object.keys(res).filter(f => !!f);\n propNames = (!propNames.includes('id') ? ['id'] : []).concat(propNames);\n return propNames;\n}\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/describe-class.ts","\n\nimport { _ } from 'tnp-core/browser';\nimport { CLASSNAME } from './classname';\nimport { describeFromClassStringify, describeByDefaultModelsAndMapping } from './describe-class';\nimport { Models } from './models';\nimport { setClassName } from './set-class-name';\n\nexport { Models } from './models';\nexport { SYMBOL } from './symbols';\n\nexport class TchHelpers {\n\n static getBy(className: string | Function) {\n return CLASSNAME.getClassBy(className);\n }\n\n static getFromObject(o: Object) {\n if (_.isUndefined(o) || _.isNull(o)) {\n return;\n }\n if (o.constructor) {\n return o.constructor;\n }\n const p = Object.getPrototypeOf(o);\n return p && p.constructor;\n }\n\n static getName(target: Function, production = false) {\n return CLASSNAME.getClassName(target, production) as string;\n }\n\n static getNameFromObject(o: Object) {\n const fnCLass = this.getFromObject(o);\n return this.getName(fnCLass);\n }\n\n static getConfigs(target: Function): Models.ClassConfig[] {\n return CLASSNAME.getClassConfig(target)\n }\n\n static describeProperites(target: Function) {\n const d1 = describeFromClassStringify(target);\n const d2 = describeByDefaultModelsAndMapping(target);\n let uniq = {};\n // @ts-ignore\n d1.concat(d2).forEach(p => uniq[p] = p);\n return Object.keys(uniq)\n .filter(d => !!d)\n .filter(d => typeof target.prototype[d] !== 'function')\n }\n\n}\n\nconst notAllowedAsMethodName = [\n 'length', 'name',\n 'arguments', 'caller',\n 'constructor', 'apply',\n 'bind', 'call',\n 'toString',\n '__defineGetter__',\n '__defineSetter__', 'hasOwnProperty',\n '__lookupGetter__', '__lookupSetter__',\n 'isPrototypeOf', 'propertyIsEnumerable',\n 'valueOf', '__proto__', 'toLocaleString',\n];\n\nconst getMethodsNames = (classOrClassInstance: any, allMethodsNames = []): string[] => {\n if (!classOrClassInstance) {\n return allMethodsNames;\n }\n\n const isClassFunction = _.isFunction(classOrClassInstance);\n const classFun = (isClassFunction ? classOrClassInstance : Object.getPrototypeOf(classOrClassInstance));\n const objectToCheck = isClassFunction ? (classOrClassInstance as Function)?.prototype : classOrClassInstance;\n const prototypeObj = Object.getPrototypeOf(objectToCheck || {});\n\n const properties = _.uniq([\n ...Object.getOwnPropertyNames(objectToCheck || {}),\n ...Object.getOwnPropertyNames(prototypeObj || {}),\n ...Object.keys(objectToCheck || {}),\n ...Object.keys(prototypeObj || {}),\n ])\n .filter(f => !!f && !notAllowedAsMethodName.includes(f));\n\n properties.filter((methodName) => typeof objectToCheck[methodName] === 'function').forEach(p => allMethodsNames.push(p));\n\n if (!classFun || !classFun.constructor || classFun?.constructor?.name === 'Object') {\n return allMethodsNames;\n }\n return getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);\n};\n\nexport const CLASS = {\n NAME: CLASSNAME.CLASSNAME,\n setName: setClassName,\n getBy: TchHelpers.getBy,\n /**\n * @deprecated\n */\n getSingleton<T = any>(target: Function) {\n if (typeof target !== 'function') {\n console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`)\n return\n }\n const config = TchHelpers.getConfigs(target)[0]\n\n\n return config.singleton as T;\n },\n /**\n * @deprecated\n */\n setSingletonObj(target: Function, singletonObject: any) {\n\n if (typeof target !== 'function') {\n console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`)\n return\n }\n\n if (Array.isArray(singletonObject)) {\n console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant be an array`)\n return\n }\n\n if (typeof singletonObject !== 'object') {\n console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant must be a object`)\n return\n }\n\n const className = CLASS.getName(target);\n\n\n\n const config = TchHelpers.getConfigs(target)[0]\n\n if (config.singleton) {\n console.warn(`[typescript-class-helpers] You are trying to set singleton of \"${className}\" second time with different object.`)\n }\n\n config.singleton = singletonObject;\n },\n /**\n * @deprecated\n */\n getConfigs: TchHelpers.getConfigs,\n /**\n * @deprecated\n */\n getConfig: (target: Function) => {\n return _.first(TchHelpers.getConfigs(target));\n },\n\n\n getMethodsNames(classOrClassInstance: any): string[] {\n return getMethodsNames(classOrClassInstance);\n },\n getFromObject: TchHelpers.getFromObject,\n getName: TchHelpers.getName,\n getNameFromObject: TchHelpers.getNameFromObject,\n describeProperites: TchHelpers.describeProperites,\n /**\n * @deprecated\n */\n OBJECT: (obj: any) => {\n return {\n get indexValue() {\n return CLASSNAME.getObjectIndexValue(obj);\n },\n get indexProperty() {\n return CLASSNAME.getObjectIndexPropertyValue(obj);\n },\n get isClassObject() {\n\n if (!_.isObject(obj) || _.isArray(obj) || _.isRegExp(obj) ||\n _.isBuffer(obj) || _.isArrayBuffer(obj)) {\n return false;\n }\n if (_.isDate(obj)) {\n return true;\n }\n const className = CLASS.getNameFromObject(obj)\n return _.isString(className) && className !== 'Object';\n },\n isEqual: (anotherObj: any, compareDeep = false) => {\n if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {\n return false;\n }\n if (obj === anotherObj) {\n\n return true;\n }\n const v1 = CLASSNAME.getObjectIndexValue(obj);\n const v2 = CLASSNAME.getObjectIndexValue(anotherObj);\n const f1 = CLASSNAME.getObjectClassFamily(obj)\n const f2 = CLASSNAME.getObjectClassFamily(anotherObj)\n const isFamilyDiff = (!_.isString(f1) || !_.isString(f2) || (f1 !== f2));\n\n if (isFamilyDiff) {\n\n return false;\n }\n if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {\n\n return false\n }\n\n\n\n\n\n if ((_.isNumber(v1) && _.isNumber(v2)) || (_.isString(v1) && _.isString(v2))) {\n\n const res = (v1 === v2);\n // @ts-ignore\n return res;\n }\n if (compareDeep) {\n return _.isEqual(v1, v2)\n }\n return false;\n }\n }\n }\n}\n\nexport * from 'enum-values';\n\n ;({}); // @--end-of-file-for-module=typescript-class-helpers lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getClasses"],"mappings":"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"}
1
+ {"version":3,"file":"typescript-class-helpers.mjs","sources":["../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/models.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/symbols.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/storage.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/set-class-name.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/registerd-db.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/errors-messages.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/classname.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/describe-class.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/lib/index.ts","../../../tmp-libs-for-dist/typescript-class-helpers/projects/typescript-class-helpers/src/typescript-class-helpers.ts"],"sourcesContent":["import { CoreModels } from 'tnp-core/browser';\n\nexport namespace Models {\n\n /**\n * @deprecated\n */\n export type CLASSNAMEOptions = {\n uniqueKey?: string,\n /**\n * autoinstance - create instance of singleton automaticly inside decorator\n * first-instance - use first instace of created class as decorator\n */\n singleton?: 'autoinstance' | 'first-instance' | 'last-instance' | boolean,\n classFamily?: string,\n classNameInBrowser?: string,\n }\n\n /**\n * @deprecated\n */\n export class ParamConfig {\n paramName: string;\n paramType: CoreModels.ParamType;\n index: number;\n defaultType: any;\n expireInSeconds?: number;\n }\n\n /**\n * @deprecated\n */\n export class MethodConfig {\n methodName: string;\n /**\n * path is global in express app\n */\n global?: boolean;\n /**\n * override default content type\n */\n contentType?: any;\n /**\n * override default axiso response type\n */\n responseType?: any;\n path: string;\n descriptor: PropertyDescriptor;\n type: CoreModels.HttpMethod;\n/* */\n/* */\n \n parameters: { [paramName: string]: ParamConfig } = {};\n }\n\n /**\n * @deprecated\n */\n export interface ClassMeta {\n uniqueKey?: string;\n className?: string;\n classFamily?: string;\n classNameInBrowser?: string;\n target?: Function;\n }\n\n /**\n * @deprecated\n */\n export class ClassConfig {\n browserTransformFn?: (entity: any) => any;\n // @ts-ignore\n singleton: Object = void 0;\n injections: { getter: Function, propertyName: string; }[] = [];\n calculatedPath: string;\n path: string;\n vChildren?: ClassConfig[] = [];\n vParent?: ClassConfig;\n classReference: Function;\n className?: string;\n uniqueKey?: string;\n classNameInBrowser?: string;\n methods: { [methodName: string]: MethodConfig } = {};\n }\n\n}","export const SYMBOL = {\n MODELS_MAPPING: Symbol(),\n DEFAULT_MODEL: Symbol(),\n STORAGE: 'classesstorage',\n CLASSES: 'classes',\n ClassNameStaticProperty : '$$className$$'\n}","import { Helpers } from 'tnp-core/browser';\nimport { SYMBOL } from './symbols';\nimport { _ } from 'tnp-core/browser';\n\nfunction defaultValues() {\n return _.cloneDeep({\n [SYMBOL.CLASSES]: []\n })\n}\n\nexport function getStorage<T = any>(property?: string): T {\n\n/* */\n/* */\n/* */\n/* */\n \n\n if (typeof property === 'string') {\n\n const storageInClassStaticProp = getStorage();\n return storageInClassStaticProp[property]\n }\n\n if (typeof defaultValues.prototype[SYMBOL.STORAGE] === 'undefined') {\n defaultValues.prototype[SYMBOL.STORAGE] = defaultValues()\n }\n return defaultValues.prototype[SYMBOL.STORAGE]\n}","import { _ } from 'tnp-core/browser';\nimport { SYMBOL } from './symbols';\nimport { Models } from './models';\nimport { getStorage } from './storage';\nimport { CLASSNAME } from './classname';\nimport { CLASS } from './index';\n\n\nfunction getClasses(): Models.ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\n\n// @ts-ignore\nexport function setClassName(target: Function, className: string, options?: Models.CLASSNAMEOptions) {\n\n let { classFamily, uniqueKey, classNameInBrowser, singleton } = options || {\n classFamily: void 0,\n uniqueKey: 'id',\n classNameInBrowser: void 0,\n singleton: void 0,\n autoinstance: false\n } as Models.CLASSNAMEOptions;\n\n if (!_.isUndefined(singleton) && _.isBoolean(singleton) && singleton) {\n singleton = 'first-instance'\n }\n\n if (!uniqueKey) {\n uniqueKey = 'id'\n }\n\n if (target) {\n 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 } 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';\nimport { Models } from './models';\nimport { SYMBOL } from './symbols';\nimport { TchHelpers } from './index';\nimport { Helpers } from 'tnp-core/browser';\nimport { getStorage } from './storage';\nimport { setClassName } from './set-class-name';\nimport { registerd } from './registerd-db';\nimport { ERROR_MSG_CLASS_WITHOUT_DECORATOR } from './errors-messages';\n/* */\n/* */\n \n\nfunction getClasses(): Models.ClassMeta[] {\n const s = getStorage();\n return s[SYMBOL.CLASSES] as any;\n}\nexport namespace CLASSNAME {\n export function getClassConfig(\n target: Function,\n configs: Models.ClassConfig[] = [],\n callerTarget?: Function,\n ): Models.ClassConfig[] {\n if (!_.isFunction(target)) {\n throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;\n }\n\n let config: Models.ClassConfig;\n const parentClass = Object.getPrototypeOf(target);\n const isValidParent = _.isFunction(parentClass) && parentClass.name !== '';\n\n if (registerd.classes.includes(target)) {\n config =\n registerd.configs[registerd.classes.findIndex(c => c === target)];\n } else {\n config = new Models.ClassConfig();\n config.classReference = target;\n registerd.classes.push(target);\n }\n\n registerd.configs[registerd.classes.findIndex(c => c === target)] = config;\n if (callerTarget) {\n const callerTargetConfig =\n registerd.configs[registerd.classes.findIndex(c => c === callerTarget)];\n if (!config.vChildren.includes(callerTargetConfig)) {\n config.vChildren.push(callerTargetConfig);\n }\n callerTargetConfig.vParent = config;\n }\n\n configs.push(config);\n\n return isValidParent\n ? getClassConfig(parentClass, configs, target)\n : configs;\n }\n\n /**\n * PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE\n * Decorator requred for production mode\n * @param name Name of class\n */\n export function CLASSNAME(\n className: string,\n options?: Models.CLASSNAMEOptions,\n ) {\n return function (target: Function) {\n // 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.log(\n `[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`,\n );\n return target;\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 = 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 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') {\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}","import { _ } from 'tnp-core/browser';\nimport { SYMBOL } from './symbols';\n\n\n\n/**\n * @DEPRECATED\n * Describe fields assigned in class\n */\nconst FRegEx = new RegExp(/(?:this\\.)(.+?(?= ))/g);\nexport function describeFromClassStringify(target: Function, parent = false): string[] {\n // @ts-ignore\n var result = [];\n if (parent) {\n var proto = Object.getPrototypeOf(target.prototype);\n if (proto) {\n // @ts-ignore\n result = result.concat(describeFromClassStringify(proto.constructor, parent));\n }\n }\n 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';\nimport { CLASSNAME } from './classname';\nimport { describeFromClassStringify, describeByDefaultModelsAndMapping } from './describe-class';\nimport { Models } from './models';\nimport { setClassName } from './set-class-name';\n\nexport { Models } from './models';\nexport { SYMBOL } from './symbols';\n\nexport class TchHelpers {\n\n static getBy(className: string | Function) {\n return CLASSNAME.getClassBy(className);\n }\n\n static getFromObject(o: Object) {\n if (_.isUndefined(o) || _.isNull(o)) {\n return;\n }\n if (o.constructor) {\n return o.constructor;\n }\n const p = Object.getPrototypeOf(o);\n return p && p.constructor;\n }\n\n static getName(target: Function, production = false) {\n return CLASSNAME.getClassName(target, production) as string;\n }\n\n static getNameFromObject(o: Object) {\n const fnCLass = this.getFromObject(o);\n return this.getName(fnCLass);\n }\n\n static getConfigs(target: Function): Models.ClassConfig[] {\n return CLASSNAME.getClassConfig(target)\n }\n\n static describeProperites(target: Function) {\n const d1 = describeFromClassStringify(target);\n const d2 = describeByDefaultModelsAndMapping(target);\n let uniq = {};\n // @ts-ignore\n d1.concat(d2).forEach(p => uniq[p] = p);\n return Object.keys(uniq)\n .filter(d => !!d)\n .filter(d => typeof target.prototype[d] !== 'function')\n }\n\n}\n\nconst notAllowedAsMethodName = [\n 'length', 'name',\n 'arguments', 'caller',\n 'constructor', 'apply',\n 'bind', 'call',\n 'toString',\n '__defineGetter__',\n '__defineSetter__', 'hasOwnProperty',\n '__lookupGetter__', '__lookupSetter__',\n 'isPrototypeOf', 'propertyIsEnumerable',\n 'valueOf', '__proto__', 'toLocaleString',\n];\n\nconst getMethodsNames = (classOrClassInstance: any, allMethodsNames = []): string[] => {\n if (!classOrClassInstance) {\n return allMethodsNames;\n }\n\n const isClassFunction = _.isFunction(classOrClassInstance);\n const classFun = (isClassFunction ? classOrClassInstance : Object.getPrototypeOf(classOrClassInstance));\n const objectToCheck = isClassFunction ? (classOrClassInstance as Function)?.prototype : classOrClassInstance;\n const prototypeObj = Object.getPrototypeOf(objectToCheck || {});\n\n const properties = _.uniq([\n ...Object.getOwnPropertyNames(objectToCheck || {}),\n ...Object.getOwnPropertyNames(prototypeObj || {}),\n ...Object.keys(objectToCheck || {}),\n ...Object.keys(prototypeObj || {}),\n ])\n .filter(f => !!f && !notAllowedAsMethodName.includes(f));\n\n properties.filter((methodName) => typeof objectToCheck[methodName] === 'function').forEach(p => allMethodsNames.push(p));\n\n if (!classFun || !classFun.constructor || classFun?.constructor?.name === 'Object') {\n return allMethodsNames;\n }\n return getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);\n};\n\nexport const CLASS = {\n NAME: CLASSNAME.CLASSNAME,\n setName: setClassName,\n getBy: TchHelpers.getBy,\n /**\n * @deprecated\n */\n getSingleton<T = any>(target: Function) {\n if (typeof target !== 'function') {\n console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`)\n return\n }\n const config = TchHelpers.getConfigs(target)[0]\n // 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\nexport * from 'enum-values';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getClasses"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  // @ts-nocheck
2
- export declare 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";
2
+ export declare 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";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typescript-class-helpers/browser",
3
- "version": "19.0.4",
3
+ "version": "19.0.6",
4
4
  "module": "fesm2022/typescript-class-helpers.mjs",
5
5
  "typings": "index.d.ts",
6
6
  "exports": {