typescript-class-helpers 19.0.24 → 19.0.26

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.
Files changed (42) hide show
  1. package/browser/package.json +1 -1
  2. package/client/package.json +1 -1
  3. package/lib/build-info._auto-generated_.d.ts +1 -1
  4. package/lib/build-info._auto-generated_.js +1 -1
  5. package/lib/env/env.angular-node-app.d.ts +4 -0
  6. package/lib/env/env.angular-node-app.js +10 -0
  7. package/lib/env/env.angular-node-app.js.map +1 -0
  8. package/lib/env/env.docs-webapp.d.ts +4 -0
  9. package/lib/env/env.docs-webapp.js +10 -0
  10. package/lib/env/env.docs-webapp.js.map +1 -0
  11. package/lib/env/env.electron-app.d.ts +4 -0
  12. package/lib/env/env.electron-app.js +10 -0
  13. package/lib/env/env.electron-app.js.map +1 -0
  14. package/lib/env/env.mobile-app.d.ts +4 -0
  15. package/lib/env/env.mobile-app.js +10 -0
  16. package/lib/env/env.mobile-app.js.map +1 -0
  17. package/lib/env/env.npm-lib-and-cli-tool.d.ts +4 -0
  18. package/lib/env/env.npm-lib-and-cli-tool.js +10 -0
  19. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
  20. package/lib/env/env.vscode-plugin.d.ts +4 -0
  21. package/lib/env/env.vscode-plugin.js +10 -0
  22. package/lib/env/env.vscode-plugin.js.map +1 -0
  23. package/lib/env/index.d.ts +6 -0
  24. package/lib/env/index.js +23 -0
  25. package/lib/env/index.js.map +1 -0
  26. package/package.json +1 -1
  27. package/scss/vars.scss +7 -0
  28. package/websql/package.json +1 -1
  29. package/client/README.md +0 -24
  30. package/client/fesm2022/typescript-class-helpers.mjs +0 -618
  31. package/client/fesm2022/typescript-class-helpers.mjs.map +0 -1
  32. package/client/index.d.ts +0 -6
  33. package/client/lib/classname.d.ts +0 -17
  34. package/client/lib/describe-class.d.ts +0 -7
  35. package/client/lib/errors-messages.d.ts +0 -2
  36. package/client/lib/index.d.ts +0 -50
  37. package/client/lib/models.d.ts +0 -83
  38. package/client/lib/registerd-db.d.ts +0 -6
  39. package/client/lib/set-class-name.d.ts +0 -3
  40. package/client/lib/storage.d.ts +0 -2
  41. package/client/lib/symbols.d.ts +0 -8
  42. package/client/public-api.d.ts +0 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typescript-class-helpers/browser",
3
- "version": "19.0.24",
3
+ "version": "19.0.26",
4
4
  "module": "fesm2022/typescript-class-helpers.mjs",
5
5
  "typings": "index.d.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typescript-class-helpers/client",
3
- "version": "19.0.24",
3
+ "version": "19.0.26",
4
4
  "module": "fesm2022/typescript-class-helpers.mjs",
5
5
  "typings": "index.d.ts",
6
6
  "exports": {
@@ -1,3 +1,3 @@
1
1
  export declare const BUILD_FRAMEWORK_CLI_NAME = "tnp";
2
2
  export declare const PROJECT_NPM_NAME = "typescript-class-helpers";
3
- export declare const CURRENT_PACKAGE_VERSION = "19.0.24";
3
+ export declare const CURRENT_PACKAGE_VERSION = "19.0.26";
@@ -4,6 +4,6 @@ exports.CURRENT_PACKAGE_VERSION = exports.PROJECT_NPM_NAME = exports.BUILD_FRAME
4
4
  // THIS FILE IS GENERATED - DO NOT MODIFY
5
5
  exports.BUILD_FRAMEWORK_CLI_NAME = 'tnp';
6
6
  exports.PROJECT_NPM_NAME = 'typescript-class-helpers';
7
- exports.CURRENT_PACKAGE_VERSION = '19.0.24';
7
+ exports.CURRENT_PACKAGE_VERSION = '19.0.26';
8
8
  // THIS FILE IS GENERATED - DO NOT MODIFY
9
9
  //# sourceMappingURL=build-info._auto-generated_.js.map
@@ -0,0 +1,4 @@
1
+ export declare const ENV_ANGULAR_NODE_APP_WEBSITE_DOMAIN = "typescript-class-helpers.example.domain.com";
2
+ export declare const ENV_ANGULAR_NODE_APP_WEBSITE_TITLE = "Typescript Class Helpers";
3
+ export declare const ENV_ANGULAR_NODE_APP_RELEASE_TARGET_ARTIFACT = "angular-node-app";
4
+ export declare const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NAME = "__";
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENV_ANGULAR_NODE_APP_RELEASE_ENV_NAME = exports.ENV_ANGULAR_NODE_APP_RELEASE_TARGET_ARTIFACT = exports.ENV_ANGULAR_NODE_APP_WEBSITE_TITLE = exports.ENV_ANGULAR_NODE_APP_WEBSITE_DOMAIN = void 0;
4
+ // THIS FILE IS GENERATED - DO NOT MODIFY
5
+ exports.ENV_ANGULAR_NODE_APP_WEBSITE_DOMAIN = 'typescript-class-helpers.example.domain.com';
6
+ exports.ENV_ANGULAR_NODE_APP_WEBSITE_TITLE = 'Typescript Class Helpers';
7
+ exports.ENV_ANGULAR_NODE_APP_RELEASE_TARGET_ARTIFACT = 'angular-node-app';
8
+ exports.ENV_ANGULAR_NODE_APP_RELEASE_ENV_NAME = '__';
9
+ // THIS FILE IS GENERATED - DO NOT MODIFY
10
+ //# sourceMappingURL=env.angular-node-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.angular-node-app.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/typescript-class-helpers/src/lib/env/env.angular-node-app.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAC5B,QAAA,mCAAmC,GAAG,6CAA6C,CAAA;AACnF,QAAA,kCAAkC,GAAG,0BAA0B,CAAA;AAC/D,QAAA,4CAA4C,GAAG,kBAAkB,CAAA;AACjE,QAAA,qCAAqC,GAAG,IAAI,CAAA;AACzD,yCAAyC"}
@@ -0,0 +1,4 @@
1
+ export declare const ENV_DOCS_WEBAPP_WEBSITE_DOMAIN = "typescript-class-helpers.example.domain.com";
2
+ export declare const ENV_DOCS_WEBAPP_WEBSITE_TITLE = "Typescript Class Helpers";
3
+ export declare const ENV_DOCS_WEBAPP_RELEASE_TARGET_ARTIFACT = "docs-webapp";
4
+ export declare const ENV_DOCS_WEBAPP_RELEASE_ENV_NAME = "__";
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENV_DOCS_WEBAPP_RELEASE_ENV_NAME = exports.ENV_DOCS_WEBAPP_RELEASE_TARGET_ARTIFACT = exports.ENV_DOCS_WEBAPP_WEBSITE_TITLE = exports.ENV_DOCS_WEBAPP_WEBSITE_DOMAIN = void 0;
4
+ // THIS FILE IS GENERATED - DO NOT MODIFY
5
+ exports.ENV_DOCS_WEBAPP_WEBSITE_DOMAIN = 'typescript-class-helpers.example.domain.com';
6
+ exports.ENV_DOCS_WEBAPP_WEBSITE_TITLE = 'Typescript Class Helpers';
7
+ exports.ENV_DOCS_WEBAPP_RELEASE_TARGET_ARTIFACT = 'docs-webapp';
8
+ exports.ENV_DOCS_WEBAPP_RELEASE_ENV_NAME = '__';
9
+ // THIS FILE IS GENERATED - DO NOT MODIFY
10
+ //# sourceMappingURL=env.docs-webapp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.docs-webapp.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/typescript-class-helpers/src/lib/env/env.docs-webapp.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAC5B,QAAA,8BAA8B,GAAG,6CAA6C,CAAA;AAC9E,QAAA,6BAA6B,GAAG,0BAA0B,CAAA;AAC1D,QAAA,uCAAuC,GAAG,aAAa,CAAA;AACvD,QAAA,gCAAgC,GAAG,IAAI,CAAA;AACpD,yCAAyC"}
@@ -0,0 +1,4 @@
1
+ export declare const ENV_ELECTRON_APP_WEBSITE_DOMAIN = "typescript-class-helpers.example.domain.com";
2
+ export declare const ENV_ELECTRON_APP_WEBSITE_TITLE = "Typescript Class Helpers";
3
+ export declare const ENV_ELECTRON_APP_RELEASE_TARGET_ARTIFACT = "electron-app";
4
+ export declare const ENV_ELECTRON_APP_RELEASE_ENV_NAME = "__";
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENV_ELECTRON_APP_RELEASE_ENV_NAME = exports.ENV_ELECTRON_APP_RELEASE_TARGET_ARTIFACT = exports.ENV_ELECTRON_APP_WEBSITE_TITLE = exports.ENV_ELECTRON_APP_WEBSITE_DOMAIN = void 0;
4
+ // THIS FILE IS GENERATED - DO NOT MODIFY
5
+ exports.ENV_ELECTRON_APP_WEBSITE_DOMAIN = 'typescript-class-helpers.example.domain.com';
6
+ exports.ENV_ELECTRON_APP_WEBSITE_TITLE = 'Typescript Class Helpers';
7
+ exports.ENV_ELECTRON_APP_RELEASE_TARGET_ARTIFACT = 'electron-app';
8
+ exports.ENV_ELECTRON_APP_RELEASE_ENV_NAME = '__';
9
+ // THIS FILE IS GENERATED - DO NOT MODIFY
10
+ //# sourceMappingURL=env.electron-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.electron-app.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/typescript-class-helpers/src/lib/env/env.electron-app.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAC5B,QAAA,+BAA+B,GAAG,6CAA6C,CAAA;AAC/E,QAAA,8BAA8B,GAAG,0BAA0B,CAAA;AAC3D,QAAA,wCAAwC,GAAG,cAAc,CAAA;AACzD,QAAA,iCAAiC,GAAG,IAAI,CAAA;AACrD,yCAAyC"}
@@ -0,0 +1,4 @@
1
+ export declare const ENV_MOBILE_APP_WEBSITE_DOMAIN = "typescript-class-helpers.example.domain.com";
2
+ export declare const ENV_MOBILE_APP_WEBSITE_TITLE = "Typescript Class Helpers";
3
+ export declare const ENV_MOBILE_APP_RELEASE_TARGET_ARTIFACT = "mobile-app";
4
+ export declare const ENV_MOBILE_APP_RELEASE_ENV_NAME = "__";
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENV_MOBILE_APP_RELEASE_ENV_NAME = exports.ENV_MOBILE_APP_RELEASE_TARGET_ARTIFACT = exports.ENV_MOBILE_APP_WEBSITE_TITLE = exports.ENV_MOBILE_APP_WEBSITE_DOMAIN = void 0;
4
+ // THIS FILE IS GENERATED - DO NOT MODIFY
5
+ exports.ENV_MOBILE_APP_WEBSITE_DOMAIN = 'typescript-class-helpers.example.domain.com';
6
+ exports.ENV_MOBILE_APP_WEBSITE_TITLE = 'Typescript Class Helpers';
7
+ exports.ENV_MOBILE_APP_RELEASE_TARGET_ARTIFACT = 'mobile-app';
8
+ exports.ENV_MOBILE_APP_RELEASE_ENV_NAME = '__';
9
+ // THIS FILE IS GENERATED - DO NOT MODIFY
10
+ //# sourceMappingURL=env.mobile-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.mobile-app.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/typescript-class-helpers/src/lib/env/env.mobile-app.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAC5B,QAAA,6BAA6B,GAAG,6CAA6C,CAAA;AAC7E,QAAA,4BAA4B,GAAG,0BAA0B,CAAA;AACzD,QAAA,sCAAsC,GAAG,YAAY,CAAA;AACrD,QAAA,+BAA+B,GAAG,IAAI,CAAA;AACnD,yCAAyC"}
@@ -0,0 +1,4 @@
1
+ export declare const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_DOMAIN = "typescript-class-helpers.example.domain.com";
2
+ export declare const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_TITLE = "Typescript Class Helpers";
3
+ export declare const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TARGET_ARTIFACT = "npm-lib-and-cli-tool";
4
+ export declare const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NAME = "__";
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NAME = exports.ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TARGET_ARTIFACT = exports.ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_TITLE = exports.ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_DOMAIN = void 0;
4
+ // THIS FILE IS GENERATED - DO NOT MODIFY
5
+ exports.ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_DOMAIN = 'typescript-class-helpers.example.domain.com';
6
+ exports.ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_TITLE = 'Typescript Class Helpers';
7
+ exports.ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TARGET_ARTIFACT = 'npm-lib-and-cli-tool';
8
+ exports.ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NAME = '__';
9
+ // THIS FILE IS GENERATED - DO NOT MODIFY
10
+ //# sourceMappingURL=env.npm-lib-and-cli-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.npm-lib-and-cli-tool.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/typescript-class-helpers/src/lib/env/env.npm-lib-and-cli-tool.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAC5B,QAAA,uCAAuC,GAAG,6CAA6C,CAAA;AACvF,QAAA,sCAAsC,GAAG,0BAA0B,CAAA;AACnE,QAAA,gDAAgD,GAAG,sBAAsB,CAAA;AACzE,QAAA,yCAAyC,GAAG,IAAI,CAAA;AAC7D,yCAAyC"}
@@ -0,0 +1,4 @@
1
+ export declare const ENV_VSCODE_PLUGIN_WEBSITE_DOMAIN = "typescript-class-helpers.example.domain.com";
2
+ export declare const ENV_VSCODE_PLUGIN_WEBSITE_TITLE = "Typescript Class Helpers";
3
+ export declare const ENV_VSCODE_PLUGIN_RELEASE_TARGET_ARTIFACT = "vscode-plugin";
4
+ export declare const ENV_VSCODE_PLUGIN_RELEASE_ENV_NAME = "__";
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENV_VSCODE_PLUGIN_RELEASE_ENV_NAME = exports.ENV_VSCODE_PLUGIN_RELEASE_TARGET_ARTIFACT = exports.ENV_VSCODE_PLUGIN_WEBSITE_TITLE = exports.ENV_VSCODE_PLUGIN_WEBSITE_DOMAIN = void 0;
4
+ // THIS FILE IS GENERATED - DO NOT MODIFY
5
+ exports.ENV_VSCODE_PLUGIN_WEBSITE_DOMAIN = 'typescript-class-helpers.example.domain.com';
6
+ exports.ENV_VSCODE_PLUGIN_WEBSITE_TITLE = 'Typescript Class Helpers';
7
+ exports.ENV_VSCODE_PLUGIN_RELEASE_TARGET_ARTIFACT = 'vscode-plugin';
8
+ exports.ENV_VSCODE_PLUGIN_RELEASE_ENV_NAME = '__';
9
+ // THIS FILE IS GENERATED - DO NOT MODIFY
10
+ //# sourceMappingURL=env.vscode-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.vscode-plugin.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/typescript-class-helpers/src/lib/env/env.vscode-plugin.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAC5B,QAAA,gCAAgC,GAAG,6CAA6C,CAAA;AAChF,QAAA,+BAA+B,GAAG,0BAA0B,CAAA;AAC5D,QAAA,yCAAyC,GAAG,eAAe,CAAA;AAC3D,QAAA,kCAAkC,GAAG,IAAI,CAAA;AACtD,yCAAyC"}
@@ -0,0 +1,6 @@
1
+ export * from './env.angular-node-app';
2
+ export * from './env.docs-webapp';
3
+ export * from './env.electron-app';
4
+ export * from './env.mobile-app';
5
+ export * from './env.npm-lib-and-cli-tool';
6
+ export * from './env.vscode-plugin';
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./env.angular-node-app"), exports);
18
+ __exportStar(require("./env.docs-webapp"), exports);
19
+ __exportStar(require("./env.electron-app"), exports);
20
+ __exportStar(require("./env.mobile-app"), exports);
21
+ __exportStar(require("./env.npm-lib-and-cli-tool"), exports);
22
+ __exportStar(require("./env.vscode-plugin"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/typescript-class-helpers/src/lib/env/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,oDAAkC;AAClC,qDAAmC;AACnC,mDAAiC;AACjC,6DAA2C;AAC3C,sDAAoC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typescript-class-helpers",
3
- "version": "19.0.24",
3
+ "version": "19.0.26",
4
4
  "scripts": {
5
5
  "test": "mocha --require ts-node/register src/**/*.spec.ts",
6
6
  "test:watch": "mocha --compilers ts-node/register src/**/*.spec.ts --watch",
package/scss/vars.scss ADDED
@@ -0,0 +1,7 @@
1
+ // THIS FILE IS GENERATED - DO NOT MODIFY
2
+ // CORE ASSETS BASENAME - use it only for asset from core container
3
+ $basename: 'undefined';
4
+ $website_title: 'Typescript Class Helpers';
5
+ $website_domain: 'typescript-class-helpers.example.domain.com';
6
+ $project_npm_name: 'typescript-class-helpers';
7
+ // THIS FILE IS GENERATED - DO NOT MODIFY
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typescript-class-helpers/websql",
3
- "version": "19.0.24",
3
+ "version": "19.0.26",
4
4
  "module": "fesm2022/typescript-class-helpers.mjs",
5
5
  "typings": "index.d.ts",
6
6
  "exports": {
package/client/README.md DELETED
@@ -1,24 +0,0 @@
1
- # MyLib
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
- > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -1,618 +0,0 @@
1
- import { _, Helpers } from 'tnp-core/browser';
2
- export * from 'enum-values';
3
-
4
- var Models;
5
- (function (Models) {
6
- /**
7
- * @deprecated
8
- */
9
- class ParamConfig {
10
- }
11
- Models.ParamConfig = ParamConfig;
12
- /**
13
- * @deprecated
14
- */
15
- class MethodConfig {
16
- constructor() {
17
- /* */
18
- /* */
19
- this.parameters = {};
20
- }
21
- }
22
- Models.MethodConfig = MethodConfig;
23
- /**
24
- * @deprecated
25
- */
26
- class ClassConfig {
27
- constructor() {
28
- // @ts-ignore
29
- this.singleton = void 0;
30
- this.injections = [];
31
- this.vChildren = [];
32
- this.methods = {};
33
- }
34
- }
35
- Models.ClassConfig = ClassConfig;
36
- })(Models || (Models = {}));
37
-
38
- const SYMBOL = {
39
- MODELS_MAPPING: Symbol(),
40
- DEFAULT_MODEL: Symbol(),
41
- STORAGE: 'classesstorage',
42
- CLASSES: 'classes',
43
- ClassNameStaticProperty: '$$className$$'
44
- };
45
-
46
- function defaultValues() {
47
- return _.cloneDeep({
48
- [SYMBOL.CLASSES]: []
49
- });
50
- }
51
- function getStorage(property) {
52
- /* */
53
- /* */
54
- /* */
55
- /* */
56
- if (typeof property === 'string') {
57
- const storageInClassStaticProp = getStorage();
58
- return storageInClassStaticProp[property];
59
- }
60
- if (typeof defaultValues.prototype[SYMBOL.STORAGE] === 'undefined') {
61
- defaultValues.prototype[SYMBOL.STORAGE] = defaultValues();
62
- }
63
- return defaultValues.prototype[SYMBOL.STORAGE];
64
- }
65
-
66
- function getClasses$1() {
67
- const s = getStorage();
68
- return s[SYMBOL.CLASSES];
69
- }
70
- // @ts-ignore
71
- function setClassName(target, className, options) {
72
- let { classFamily, uniqueKey, classNameInBrowser, singleton } = options || {
73
- classFamily: void 0,
74
- uniqueKey: 'id',
75
- classNameInBrowser: void 0,
76
- singleton: void 0,
77
- autoinstance: false
78
- };
79
- if (!_.isUndefined(singleton) && _.isBoolean(singleton) && singleton) {
80
- singleton = 'first-instance';
81
- }
82
- if (!uniqueKey) {
83
- uniqueKey = 'id';
84
- }
85
- if (target) {
86
- const config = _.first(CLASSNAME.getClassConfig(target));
87
- config.className = className;
88
- config.uniqueKey = uniqueKey;
89
- config.classNameInBrowser = classNameInBrowser;
90
- // console.log(`Setting class Name to "${target.name}"`)
91
- }
92
- const existed = getClasses$1()
93
- .find(f => f.className === className);
94
- if (existed) {
95
- existed.target = target;
96
- }
97
- else {
98
- const res = {
99
- className,
100
- classNameInBrowser,
101
- target,
102
- uniqueKey,
103
- classFamily
104
- };
105
- if (_.isUndefined(classFamily)) {
106
- Object.defineProperty(res, 'classFamily', {
107
- get: function () {
108
- const parent = Object.getPrototypeOf(target);
109
- if (!_.isFunction(parent) || parent.name === 'Object' || parent.name === '') {
110
- return className;
111
- }
112
- const classNameNew = CLASSNAME.getClassName(parent);
113
- return CLASSNAME.getClassFamilyByClassName(classNameNew);
114
- }
115
- });
116
- }
117
- getClasses$1().push(res);
118
- }
119
- const Original = target;
120
- if (singleton === 'first-instance' || singleton === 'last-instance') {
121
- const obj = {
122
- // @ts-ignore
123
- decoratedConstructor: function (...args) {
124
- // console.log(`DECORATED CONSTRUCTOR OF ${Original.name}`)
125
- const context = Original.apply(this, args);
126
- const existedSingleton = CLASS.getSingleton(Original);
127
- if (!existedSingleton || singleton === 'last-instance') {
128
- CLASS.setSingletonObj(Original, this);
129
- CLASS.setSingletonObj(obj.decoratedConstructor, this);
130
- // console.log(`Singleton created for "${className}", mode: ${singleton} `);
131
- }
132
- else {
133
- // console.log('ingleton exists')
134
- }
135
- return context;
136
- }
137
- };
138
- // copy prototype so intanceof operator still works
139
- obj.decoratedConstructor.prototype = Original.prototype;
140
- // @ts-ignore
141
- Object.keys(Original).forEach((name) => { obj.decoratedConstructor[name] = Original[name]; });
142
- Object.defineProperty(obj.decoratedConstructor, 'name', {
143
- value: className,
144
- configurable: true,
145
- });
146
- // (obj.decoratedConstructor as any).name = className;
147
- // console.log('return new contruor', decoratedConstructor)
148
- return obj.decoratedConstructor;
149
- }
150
- else if (singleton === 'autoinstance') {
151
- // console.log(`AUTOINSTANCE FOR ${target.name}`)
152
- const auto = new Original();
153
- CLASS.setSingletonObj(Original, auto);
154
- // console.log(`Singleton created for "${className}", mode: ${singleton} `)
155
- }
156
- }
157
-
158
- const registerd = {
159
- configs: [],
160
- classes: [],
161
- };
162
-
163
- const ERROR_MSG_CLASS_WITHOUT_DECORATOR = `[typescript-class-helpers][getClassName(...)](PRODUCTION MODE ERROR)
164
- Please use decoartor @CLASSNAME for each entity or controller
165
- This is preventing class name problem in minified code.
166
-
167
- import { CLASS } from 'typescript-class-helpers';
168
-
169
- @CLASS.NAME('ExampleClass')
170
- class ExampleClass {
171
- ...
172
- }
173
- `;
174
-
175
- /* */
176
- /* */
177
- function getClasses() {
178
- const s = getStorage();
179
- return s[SYMBOL.CLASSES];
180
- }
181
- var CLASSNAME;
182
- (function (CLASSNAME_1) {
183
- function getClassConfig(target, configs = [], callerTarget) {
184
- if (!_.isFunction(target)) {
185
- throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;
186
- }
187
- let config;
188
- const parentClass = Object.getPrototypeOf(target);
189
- const isValidParent = _.isFunction(parentClass) && parentClass.name !== '';
190
- if (registerd.classes.includes(target)) {
191
- config =
192
- registerd.configs[registerd.classes.findIndex(c => c === target)];
193
- }
194
- else {
195
- config = new Models.ClassConfig();
196
- config.classReference = target;
197
- registerd.classes.push(target);
198
- }
199
- registerd.configs[registerd.classes.findIndex(c => c === target)] = config;
200
- if (callerTarget) {
201
- const callerTargetConfig = registerd.configs[registerd.classes.findIndex(c => c === callerTarget)];
202
- if (!config.vChildren.includes(callerTargetConfig)) {
203
- config.vChildren.push(callerTargetConfig);
204
- }
205
- callerTargetConfig.vParent = config;
206
- }
207
- configs.push(config);
208
- return isValidParent
209
- ? getClassConfig(parentClass, configs, target)
210
- : configs;
211
- }
212
- CLASSNAME_1.getClassConfig = getClassConfig;
213
- /**
214
- * PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE
215
- * Decorator requred for production mode
216
- * @param name Name of class
217
- */
218
- function CLASSNAME(className, options) {
219
- return function (target) {
220
- // console.log(`CLASSNAME Inited ${className}`)
221
- return setClassName(target, className, options);
222
- };
223
- }
224
- CLASSNAME_1.CLASSNAME = CLASSNAME;
225
- function getClassName(target, production = false) {
226
- if (_.isNil(target)) {
227
- // console.log(target);
228
- // Helpers.warn(`[typescript-class-helpers][getClassName] target is nil`)
229
- return void 0;
230
- }
231
- if (_.isString(target)) {
232
- // console.log(target);
233
- Helpers.log(`[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`);
234
- return target;
235
- }
236
- if (!_.isFunction(target)) {
237
- // console.log(target);
238
- Helpers.log(`[typescript-class-helpers][getClassName] target is not a class`);
239
- return void 0;
240
- }
241
- if (target[SYMBOL.ClassNameStaticProperty]) {
242
- return target[SYMBOL.ClassNameStaticProperty];
243
- }
244
- const configs = getClassConfig(target);
245
- const config = _.first(configs);
246
- const classNameInBrowser = config?.classNameInBrowser;
247
- if (Helpers.isBrowser && _.isString(classNameInBrowser)) {
248
- return classNameInBrowser;
249
- }
250
- const className = config?.className;
251
- if (typeof className === 'string') {
252
- return className;
253
- }
254
- if (production) {
255
- console.log('class without @CLASS.NAME deocrator', target);
256
- throw new Error(ERROR_MSG_CLASS_WITHOUT_DECORATOR);
257
- }
258
- else {
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
272
- if (target.name?.startsWith('class_')) {
273
- return '';
274
- }
275
- return target.name;
276
- }
277
- CLASSNAME_1.getClassName = getClassName;
278
- // @ts-ignore
279
- function getObjectIndexPropertyValue(obj) {
280
- const className = TchHelpers.getNameFromObject(obj);
281
- // console.log('className',className)
282
- let c = getClasses().find(c => c.className === className);
283
- // console.log('c',c)
284
- if (c) {
285
- return c.uniqueKey;
286
- }
287
- }
288
- CLASSNAME_1.getObjectIndexPropertyValue = getObjectIndexPropertyValue;
289
- // @ts-ignore
290
- function getClassFamilyByClassName(className) {
291
- let c = getClasses().find(c => c.className === className);
292
- // console.log('getClasses()', getClasses())
293
- if (c) {
294
- return c.classFamily;
295
- }
296
- }
297
- CLASSNAME_1.getClassFamilyByClassName = getClassFamilyByClassName;
298
- // @ts-ignore
299
- function getObjectClassFamily(obj) {
300
- const className = TchHelpers.getNameFromObject(obj);
301
- // console.log('className',className)
302
- let c = getClasses().find(c => c.className === className);
303
- // console.log('c',c)
304
- if (c) {
305
- return c.classFamily;
306
- }
307
- }
308
- CLASSNAME_1.getObjectClassFamily = getObjectClassFamily;
309
- function getObjectIndexValue(obj) {
310
- const className = TchHelpers.getNameFromObject(obj);
311
- // console.log('className',className)
312
- let c = getClasses().find(c => c.className === className);
313
- // console.log('c',c)
314
- if (c && _.isString(c.uniqueKey)) {
315
- return obj[c.uniqueKey];
316
- }
317
- }
318
- CLASSNAME_1.getObjectIndexValue = getObjectIndexValue;
319
- function getClassBy(className) {
320
- let res;
321
- if (Array.isArray(className)) {
322
- if (className.length !== 1) {
323
- throw `Mapping error... please use proper class names:
324
- {
325
- propertyObject: 'MyClassName',
326
- propertyWithArray: ['MyClassName']
327
- }
328
-
329
- `;
330
- }
331
- className = className[0];
332
- }
333
- if (typeof className === 'function') {
334
- // TODO QUICK_FIX
335
- res = className;
336
- }
337
- if (className === 'Date') {
338
- res = Date;
339
- }
340
- if (className === 'FormData') {
341
- res = FormData;
342
- }
343
- let c = getClasses().find(c => c.className === className);
344
- if (c) {
345
- res = c.target;
346
- }
347
- // console.log(`getClassBy "${className} return \n\n ${res} \n\n`)
348
- // @ts-ignore
349
- return res;
350
- }
351
- CLASSNAME_1.getClassBy = getClassBy;
352
- })(CLASSNAME || (CLASSNAME = {}));
353
-
354
- /**
355
- * @DEPRECATED
356
- * Describe fields assigned in class
357
- */
358
- const FRegEx = new RegExp(/(?:this\.)(.+?(?= ))/g);
359
- function describeFromClassStringify(target, parent = false) {
360
- // @ts-ignore
361
- var result = [];
362
- if (parent) {
363
- var proto = Object.getPrototypeOf(target.prototype);
364
- if (proto) {
365
- // @ts-ignore
366
- result = result.concat(describeFromClassStringify(proto.constructor, parent));
367
- }
368
- }
369
- const classString = target.toString();
370
- const matches = classString.match(FRegEx) || [];
371
- // console.log({
372
- // classString,
373
- // });
374
- result = result.concat(matches);
375
- return result.map(prop => prop
376
- .replace('this.', '')
377
- .replace('.', '')
378
- .replace(')', '')
379
- .replace('(', ''));
380
- }
381
- /**
382
- * Describe fields assigne through @DefaultModelWithMapping decorator
383
- * without functions
384
- */
385
- function describeByDefaultModelsAndMapping(target) {
386
- let res = {};
387
- if (target) {
388
- // @ts-ignore
389
- if (target[SYMBOL.DEFAULT_MODEL]) {
390
- // @ts-ignore
391
- Object.keys(target[SYMBOL.DEFAULT_MODEL])
392
- .filter(key => {
393
- // @ts-ignore
394
- return !_.isFunction(target[SYMBOL.DEFAULT_MODEL][key]);
395
- })
396
- .forEach(key => {
397
- // @ts-ignore
398
- return res[key] = null;
399
- });
400
- }
401
- // @ts-ignore
402
- let mapping = target[SYMBOL.MODELS_MAPPING];
403
- if (_.isArray(mapping)) {
404
- mapping.forEach(m => {
405
- Object.keys(m)
406
- .forEach(key => {
407
- // @ts-ignore
408
- res[key] = null;
409
- });
410
- });
411
- }
412
- else if (mapping) {
413
- Object.keys(mapping)
414
- .forEach(key => {
415
- // @ts-ignore
416
- res[key] = null;
417
- });
418
- }
419
- }
420
- let propNames = Object.keys(res).filter(f => !!f);
421
- propNames = (!propNames.includes('id') ? ['id'] : []).concat(propNames);
422
- return propNames;
423
- }
424
-
425
- class TchHelpers {
426
- static getBy(className) {
427
- return CLASSNAME.getClassBy(className);
428
- }
429
- static getFromObject(o) {
430
- if (_.isUndefined(o) || _.isNull(o)) {
431
- return;
432
- }
433
- if (o.constructor) {
434
- return o.constructor;
435
- }
436
- const p = Object.getPrototypeOf(o);
437
- return p && p.constructor;
438
- }
439
- static getName(target, production = false) {
440
- return CLASSNAME.getClassName(target, production);
441
- }
442
- static getNameFromObject(o) {
443
- const fnCLass = this.getFromObject(o);
444
- return this.getName(fnCLass);
445
- }
446
- static getConfigs(target) {
447
- return CLASSNAME.getClassConfig(target);
448
- }
449
- static describeProperites(target) {
450
- const d1 = describeFromClassStringify(target);
451
- const d2 = describeByDefaultModelsAndMapping(target);
452
- let uniq = {};
453
- // @ts-ignore
454
- d1.concat(d2).forEach(p => uniq[p] = p);
455
- return Object.keys(uniq)
456
- .filter(d => !!d)
457
- .filter(d => typeof target.prototype[d] !== 'function');
458
- }
459
- }
460
- const notAllowedAsMethodName = [
461
- 'length', 'name',
462
- 'arguments', 'caller',
463
- 'constructor', 'apply',
464
- 'bind', 'call',
465
- 'toString',
466
- '__defineGetter__',
467
- '__defineSetter__', 'hasOwnProperty',
468
- '__lookupGetter__', '__lookupSetter__',
469
- 'isPrototypeOf', 'propertyIsEnumerable',
470
- 'valueOf', '__proto__', 'toLocaleString',
471
- ];
472
- const getMethodsNames = (classOrClassInstance, allMethodsNames = []) => {
473
- if (!classOrClassInstance) {
474
- return allMethodsNames;
475
- }
476
- const isClassFunction = _.isFunction(classOrClassInstance);
477
- const classFun = (isClassFunction ? classOrClassInstance : Object.getPrototypeOf(classOrClassInstance));
478
- const objectToCheck = isClassFunction ? classOrClassInstance?.prototype : classOrClassInstance;
479
- const prototypeObj = Object.getPrototypeOf(objectToCheck || {});
480
- const properties = _.uniq([
481
- ...Object.getOwnPropertyNames(objectToCheck || {}),
482
- ...Object.getOwnPropertyNames(prototypeObj || {}),
483
- ...Object.keys(objectToCheck || {}),
484
- ...Object.keys(prototypeObj || {}),
485
- ])
486
- .filter(f => !!f && !notAllowedAsMethodName.includes(f));
487
- properties.filter((methodName) => typeof objectToCheck[methodName] === 'function').forEach(p => allMethodsNames.push(p));
488
- if (!classFun || !classFun.constructor || classFun?.constructor?.name === 'Object') {
489
- return allMethodsNames;
490
- }
491
- return getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);
492
- };
493
- const CLASS = {
494
- NAME: CLASSNAME.CLASSNAME,
495
- setName: setClassName,
496
- getBy: TchHelpers.getBy,
497
- /**
498
- * @deprecated
499
- */
500
- getSingleton(target) {
501
- if (typeof target !== 'function') {
502
- console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`);
503
- return;
504
- }
505
- const config = TchHelpers.getConfigs(target)[0];
506
- // console.log(`getSingleton for ${target.name}: `, config.singleton)
507
- return config.singleton;
508
- },
509
- /**
510
- * @deprecated
511
- */
512
- setSingletonObj(target, singletonObject) {
513
- // console.log('SET SINGLETON', singletonObject)
514
- if (typeof target !== 'function') {
515
- console.error(`[typescript-class-helpers][setSingletonObj] Type of target is not a function`);
516
- return;
517
- }
518
- if (Array.isArray(singletonObject)) {
519
- console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant be an array`);
520
- return;
521
- }
522
- if (typeof singletonObject !== 'object') {
523
- console.error(`[typescript-class-helpers][setSingletonObj] Singleton instance cant must be a object`);
524
- return;
525
- }
526
- const className = CLASS.getName(target);
527
- // console.log(`SINGLETON SET for TARGET ${className}`)
528
- const config = TchHelpers.getConfigs(target)[0];
529
- if (config.singleton) {
530
- console.warn(`[typescript-class-helpers] You are trying to set singleton of "${className}" second time with different object.`);
531
- }
532
- config.singleton = singletonObject;
533
- },
534
- /**
535
- * @deprecated
536
- */
537
- getConfigs: TchHelpers.getConfigs,
538
- /**
539
- * @deprecated
540
- */
541
- getConfig: (target) => {
542
- return _.first(TchHelpers.getConfigs(target));
543
- },
544
- getMethodsNames(classOrClassInstance) {
545
- return getMethodsNames(classOrClassInstance);
546
- },
547
- getFromObject: TchHelpers.getFromObject,
548
- getName: TchHelpers.getName,
549
- getNameFromObject: TchHelpers.getNameFromObject,
550
- describeProperites: TchHelpers.describeProperites,
551
- /**
552
- * @deprecated
553
- */
554
- OBJECT: (obj) => {
555
- return {
556
- get indexValue() {
557
- return CLASSNAME.getObjectIndexValue(obj);
558
- },
559
- get indexProperty() {
560
- return CLASSNAME.getObjectIndexPropertyValue(obj);
561
- },
562
- get isClassObject() {
563
- if (!_.isObject(obj) || _.isArray(obj) || _.isRegExp(obj) ||
564
- _.isBuffer(obj) || _.isArrayBuffer(obj)) {
565
- return false;
566
- }
567
- if (_.isDate(obj)) {
568
- return true;
569
- }
570
- const className = CLASS.getNameFromObject(obj);
571
- return _.isString(className) && className !== 'Object';
572
- },
573
- isEqual: (anotherObj, compareDeep = false) => {
574
- if (!CLASS.OBJECT(obj).isClassObject || !CLASS.OBJECT(anotherObj).isClassObject) {
575
- return false;
576
- }
577
- if (obj === anotherObj) {
578
- // console.log(`EQ v1: , v2: - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`, obj, anotherObj)
579
- return true;
580
- }
581
- const v1 = CLASSNAME.getObjectIndexValue(obj);
582
- const v2 = CLASSNAME.getObjectIndexValue(anotherObj);
583
- const f1 = CLASSNAME.getObjectClassFamily(obj);
584
- const f2 = CLASSNAME.getObjectClassFamily(anotherObj);
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)}`)
587
- if (isFamilyDiff) {
588
- // console.log(`DIFF v1: ${v1}, v2: ${v2} - class1 ${CLASS.getNameFromObject(obj)}, class2 ${CLASS.getNameFromObject(anotherObj)}`)
589
- return false;
590
- }
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)}`)
593
- return false;
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('')
599
- if ((_.isNumber(v1) && _.isNumber(v2)) || (_.isString(v1) && _.isString(v2))) {
600
- const res = (v1 === v2);
601
- // @ts-ignore
602
- return res;
603
- }
604
- if (compareDeep) {
605
- return _.isEqual(v1, v2);
606
- }
607
- return false;
608
- }
609
- };
610
- }
611
- };
612
-
613
- /**
614
- * Generated bundle index. Do not edit.
615
- */
616
-
617
- export { CLASS, Models, SYMBOL, TchHelpers };
618
- //# sourceMappingURL=typescript-class-helpers.mjs.map
@@ -1 +0,0 @@
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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"}
package/client/index.d.ts DELETED
@@ -1,6 +0,0 @@
1
- // @ts-nocheck
2
- /**
3
- * Generated bundle index. Do not edit.
4
- */
5
- /// <amd-module name="typescript-class-helpers" />
6
- export * from './public-api';
@@ -1,17 +0,0 @@
1
- // @ts-nocheck
2
- import { Models } from './models';
3
- export declare namespace CLASSNAME {
4
- function getClassConfig(target: Function, configs?: Models.ClassConfig[], callerTarget?: Function): Models.ClassConfig[];
5
- /**
6
- * PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE
7
- * Decorator requred for production mode
8
- * @param name Name of class
9
- */
10
- function CLASSNAME(className: string, options?: Models.CLASSNAMEOptions): any;
11
- function getClassName(target: Function, production?: boolean): any;
12
- function getObjectIndexPropertyValue(obj: any): string;
13
- function getClassFamilyByClassName(className: string): string;
14
- function getObjectClassFamily(obj: any): string;
15
- function getObjectIndexValue(obj: any): any;
16
- function getClassBy(className: string | Function): Function;
17
- }
@@ -1,7 +0,0 @@
1
- // @ts-nocheck
2
- export declare function describeFromClassStringify(target: Function, parent?: boolean): string[];
3
- /**
4
- * Describe fields assigne through @DefaultModelWithMapping decorator
5
- * without functions
6
- */
7
- export declare function describeByDefaultModelsAndMapping(target: Function): string[];
@@ -1,2 +0,0 @@
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\nimport { CLASS } from 'typescript-class-helpers';\n\n@CLASS.NAME('ExampleClass')\nclass ExampleClass {\n ...\n}\n";
@@ -1,50 +0,0 @@
1
- // @ts-nocheck
2
- import { CLASSNAME } from './classname';
3
- import { Models } from './models';
4
- import { setClassName } from './set-class-name';
5
- export { Models } from './models';
6
- export { SYMBOL } from './symbols';
7
- export declare class TchHelpers {
8
- static getBy(className: string | Function): Function;
9
- static getFromObject(o: Object): any;
10
- static getName(target: Function, production?: boolean): string;
11
- static getNameFromObject(o: Object): string;
12
- static getConfigs(target: Function): Models.ClassConfig[];
13
- static describeProperites(target: Function): string[];
14
- }
15
- export declare const CLASS: {
16
- NAME: typeof CLASSNAME.CLASSNAME;
17
- setName: typeof setClassName;
18
- getBy: typeof TchHelpers.getBy;
19
- /**
20
- * @deprecated
21
- */
22
- getSingleton<T = any>(target: Function): T;
23
- /**
24
- * @deprecated
25
- */
26
- setSingletonObj(target: Function, singletonObject: any): void;
27
- /**
28
- * @deprecated
29
- */
30
- getConfigs: typeof TchHelpers.getConfigs;
31
- /**
32
- * @deprecated
33
- */
34
- getConfig: (target: Function) => Models.ClassConfig;
35
- getMethodsNames(classOrClassInstance: any): string[];
36
- getFromObject: typeof TchHelpers.getFromObject;
37
- getName: typeof TchHelpers.getName;
38
- getNameFromObject: typeof TchHelpers.getNameFromObject;
39
- describeProperites: typeof TchHelpers.describeProperites;
40
- /**
41
- * @deprecated
42
- */
43
- OBJECT: (obj: any) => {
44
- readonly indexValue: any;
45
- readonly indexProperty: string;
46
- readonly isClassObject: boolean;
47
- isEqual: (anotherObj: any, compareDeep?: boolean) => boolean;
48
- };
49
- };
50
- export * from 'enum-values';
@@ -1,83 +0,0 @@
1
- // @ts-nocheck
2
- import { CoreModels } from 'tnp-core/browser';
3
- export declare namespace Models {
4
- /**
5
- * @deprecated
6
- */
7
- type CLASSNAMEOptions = {
8
- uniqueKey?: string;
9
- /**
10
- * autoinstance - create instance of singleton automaticly inside decorator
11
- * first-instance - use first instace of created class as decorator
12
- */
13
- singleton?: 'autoinstance' | 'first-instance' | 'last-instance' | boolean;
14
- classFamily?: string;
15
- classNameInBrowser?: string;
16
- };
17
- /**
18
- * @deprecated
19
- */
20
- class ParamConfig {
21
- paramName: string;
22
- paramType: CoreModels.ParamType;
23
- index: number;
24
- defaultType: any;
25
- expireInSeconds?: number;
26
- }
27
- /**
28
- * @deprecated
29
- */
30
- class MethodConfig {
31
- methodName: string;
32
- /**
33
- * path is global in express app
34
- */
35
- global?: boolean;
36
- /**
37
- * override default content type
38
- */
39
- contentType?: any;
40
- /**
41
- * override default axiso response type
42
- */
43
- responseType?: any;
44
- path: string;
45
- descriptor: PropertyDescriptor;
46
- type: CoreModels.HttpMethod;
47
- parameters: {
48
- [paramName: string]: ParamConfig;
49
- };
50
- }
51
- /**
52
- * @deprecated
53
- */
54
- interface ClassMeta {
55
- uniqueKey?: string;
56
- className?: string;
57
- classFamily?: string;
58
- classNameInBrowser?: string;
59
- target?: Function;
60
- }
61
- /**
62
- * @deprecated
63
- */
64
- class ClassConfig {
65
- browserTransformFn?: (entity: any) => any;
66
- singleton: Object;
67
- injections: {
68
- getter: Function;
69
- propertyName: string;
70
- }[];
71
- calculatedPath: string;
72
- path: string;
73
- vChildren?: ClassConfig[];
74
- vParent?: ClassConfig;
75
- classReference: Function;
76
- className?: string;
77
- uniqueKey?: string;
78
- classNameInBrowser?: string;
79
- methods: {
80
- [methodName: string]: MethodConfig;
81
- };
82
- }
83
- }
@@ -1,6 +0,0 @@
1
- // @ts-nocheck
2
- import { Models } from './models';
3
- export declare const registerd: {
4
- configs: Models.ClassConfig[];
5
- classes: Function[];
6
- };
@@ -1,3 +0,0 @@
1
- // @ts-nocheck
2
- import { Models } from './models';
3
- export declare function setClassName(target: Function, className: string, options?: Models.CLASSNAMEOptions): (...args: any[]) => any;
@@ -1,2 +0,0 @@
1
- // @ts-nocheck
2
- export declare function getStorage<T = any>(property?: string): T;
@@ -1,8 +0,0 @@
1
- // @ts-nocheck
2
- export declare const SYMBOL: {
3
- MODELS_MAPPING: symbol;
4
- DEFAULT_MODEL: symbol;
5
- STORAGE: string;
6
- CLASSES: string;
7
- ClassNameStaticProperty: string;
8
- };
@@ -1,2 +0,0 @@
1
- // @ts-nocheck
2
- export * from './lib';