typescript-class-helpers 18.0.29 → 19.0.0

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 (54) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/client/README.md +24 -24
  4. package/index.js.map +1 -1
  5. package/lib/build-info._auto-generated_.js.map +1 -1
  6. package/lib/classname.js.map +1 -1
  7. package/lib/describe-class.js.map +1 -1
  8. package/lib/errors-messages.js.map +1 -1
  9. package/lib/index._auto-generated_.js.map +1 -1
  10. package/lib/index.js.map +1 -1
  11. package/lib/models.js.map +1 -1
  12. package/lib/registerd-db.js.map +1 -1
  13. package/lib/set-class-name.js.map +1 -1
  14. package/lib/storage.js.map +1 -1
  15. package/lib/symbols.js.map +1 -1
  16. package/migrations/index.js.map +1 -1
  17. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  18. package/package.json +1 -1
  19. package/taon.jsonc +44 -31
  20. package/tmp-environment.json +3 -3
  21. package/websql/README.md +24 -24
  22. package/browser/esm2022/lib/classname.mjs +0 -164
  23. package/browser/esm2022/lib/describe-class.mjs +0 -72
  24. package/browser/esm2022/lib/errors-messages.mjs +0 -14
  25. package/browser/esm2022/lib/index.mjs +0 -186
  26. package/browser/esm2022/lib/models.mjs +0 -36
  27. package/browser/esm2022/lib/registerd-db.mjs +0 -6
  28. package/browser/esm2022/lib/set-class-name.mjs +0 -90
  29. package/browser/esm2022/lib/storage.mjs +0 -24
  30. package/browser/esm2022/lib/symbols.mjs +0 -9
  31. package/browser/esm2022/public-api.mjs +0 -2
  32. package/browser/esm2022/typescript-class-helpers.mjs +0 -5
  33. package/client/esm2022/lib/classname.mjs +0 -164
  34. package/client/esm2022/lib/describe-class.mjs +0 -72
  35. package/client/esm2022/lib/errors-messages.mjs +0 -14
  36. package/client/esm2022/lib/index.mjs +0 -186
  37. package/client/esm2022/lib/models.mjs +0 -36
  38. package/client/esm2022/lib/registerd-db.mjs +0 -6
  39. package/client/esm2022/lib/set-class-name.mjs +0 -90
  40. package/client/esm2022/lib/storage.mjs +0 -24
  41. package/client/esm2022/lib/symbols.mjs +0 -9
  42. package/client/esm2022/public-api.mjs +0 -2
  43. package/client/esm2022/typescript-class-helpers.mjs +0 -5
  44. package/websql/esm2022/lib/classname.mjs +0 -164
  45. package/websql/esm2022/lib/describe-class.mjs +0 -72
  46. package/websql/esm2022/lib/errors-messages.mjs +0 -14
  47. package/websql/esm2022/lib/index.mjs +0 -186
  48. package/websql/esm2022/lib/models.mjs +0 -34
  49. package/websql/esm2022/lib/registerd-db.mjs +0 -6
  50. package/websql/esm2022/lib/set-class-name.mjs +0 -90
  51. package/websql/esm2022/lib/storage.mjs +0 -24
  52. package/websql/esm2022/lib/symbols.mjs +0 -9
  53. package/websql/esm2022/public-api.mjs +0 -2
  54. package/websql/esm2022/typescript-class-helpers.mjs +0 -5
@@ -1,90 +0,0 @@
1
- import { _ } from 'tnp-core/browser';
2
- import { SYMBOL } from './symbols';
3
- import { getStorage } from './storage';
4
- import { CLASSNAME } from './classname';
5
- import { CLASS } from './index';
6
- function getClasses() {
7
- const s = getStorage();
8
- return s[SYMBOL.CLASSES];
9
- }
10
- // @ts-ignore
11
- export function setClassName(target, className, options) {
12
- let { classFamily, uniqueKey, classNameInBrowser, singleton } = options || {
13
- classFamily: void 0,
14
- uniqueKey: 'id',
15
- classNameInBrowser: void 0,
16
- singleton: void 0,
17
- autoinstance: false
18
- };
19
- if (!_.isUndefined(singleton) && _.isBoolean(singleton) && singleton) {
20
- singleton = 'first-instance';
21
- }
22
- if (!uniqueKey) {
23
- uniqueKey = 'id';
24
- }
25
- if (target) {
26
- const config = _.first(CLASSNAME.getClassConfig(target));
27
- config.className = className;
28
- config.uniqueKey = uniqueKey;
29
- config.classNameInBrowser = classNameInBrowser;
30
- }
31
- const existed = getClasses()
32
- .find(f => f.className === className);
33
- if (existed) {
34
- existed.target = target;
35
- }
36
- else {
37
- const res = {
38
- className,
39
- classNameInBrowser,
40
- target,
41
- uniqueKey,
42
- classFamily
43
- };
44
- if (_.isUndefined(classFamily)) {
45
- Object.defineProperty(res, 'classFamily', {
46
- get: function () {
47
- const parent = Object.getPrototypeOf(target);
48
- if (!_.isFunction(parent) || parent.name === 'Object' || parent.name === '') {
49
- return className;
50
- }
51
- const classNameNew = CLASSNAME.getClassName(parent);
52
- return CLASSNAME.getClassFamilyByClassName(classNameNew);
53
- }
54
- });
55
- }
56
- getClasses().push(res);
57
- }
58
- const Original = target;
59
- if (singleton === 'first-instance' || singleton === 'last-instance') {
60
- const obj = {
61
- // @ts-ignore
62
- decoratedConstructor: function (...args) {
63
- const context = Original.apply(this, args);
64
- const existedSingleton = CLASS.getSingleton(Original);
65
- if (!existedSingleton || singleton === 'last-instance') {
66
- CLASS.setSingletonObj(Original, this);
67
- CLASS.setSingletonObj(obj.decoratedConstructor, this);
68
- }
69
- else {
70
- }
71
- return context;
72
- }
73
- };
74
- obj.decoratedConstructor.prototype = Original.prototype;
75
- // @ts-ignore
76
- Object.keys(Original).forEach((name) => { obj.decoratedConstructor[name] = Original[name]; });
77
- Object.defineProperty(obj.decoratedConstructor, 'name', {
78
- value: className,
79
- configurable: true,
80
- });
81
- return obj.decoratedConstructor;
82
- }
83
- else if (singleton === 'autoinstance') {
84
- const auto = new Original();
85
- CLASS.setSingletonObj(Original, auto);
86
- }
87
- }
88
- ;
89
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/set-class-name.ts
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWNsYXNzLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvcHJvamVjdHMvdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3NyYy9saWIvc2V0LWNsYXNzLW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHaEMsU0FBUyxVQUFVO0lBQ2pCLE1BQU0sQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFDO0lBQ3ZCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQVEsQ0FBQztBQUNsQyxDQUFDO0FBRUQsYUFBYTtBQUNiLE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBZ0IsRUFBRSxTQUFpQixFQUFFLE9BQWlDO0lBRWpHLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sSUFBSTtRQUN6RSxXQUFXLEVBQUUsS0FBSyxDQUFDO1FBQ25CLFNBQVMsRUFBRSxJQUFJO1FBQ2Ysa0JBQWtCLEVBQUUsS0FBSyxDQUFDO1FBQzFCLFNBQVMsRUFBRSxLQUFLLENBQUM7UUFDakIsWUFBWSxFQUFFLEtBQUs7S0FDTyxDQUFDO0lBRTdCLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxFQUFFLENBQUM7UUFDckUsU0FB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SSxDQUFDLEdBQVMsUUFBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0csTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFO1lBQ3RELEtBQUssRUFBRSxTQUFTO1lBQ2hCLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQTtRQUdGLE9BQU8sR0FBRyxDQUFDLG9CQUFvQixDQUFDO0lBQ2xDLENBQUM7U0FBTSxJQUFJLFNBQVMsS0FBSyxjQUFjLEVBQUUsQ0FBQztRQUd4QyxNQUFNLElBQUksR0FBRyxJQUFLLFFBQWdCLEVBQUUsQ0FBQztRQUNyQyxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUd2QyxDQUFDO0FBQ0gsQ0FBQztBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMkVBQTJFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IFNZTUJPTCB9IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBnZXRTdG9yYWdlIH0gZnJvbSAnLi9zdG9yYWdlJztcbmltcG9ydCB7IENMQVNTTkFNRSB9IGZyb20gJy4vY2xhc3NuYW1lJztcbmltcG9ydCB7IENMQVNTIH0gZnJvbSAnLi9pbmRleCc7XG5cblxuZnVuY3Rpb24gZ2V0Q2xhc3NlcygpOiBNb2RlbHMuQ2xhc3NNZXRhW10ge1xuICBjb25zdCBzID0gZ2V0U3RvcmFnZSgpO1xuICByZXR1cm4gc1tTWU1CT0wuQ0xBU1NFU10gYXMgYW55O1xufVxuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgZnVuY3Rpb24gc2V0Q2xhc3NOYW1lKHRhcmdldDogRnVuY3Rpb24sIGNsYXNzTmFtZTogc3RyaW5nLCBvcHRpb25zPzogTW9kZWxzLkNMQVNTTkFNRU9wdGlvbnMpIHtcblxuICBsZXQgeyBjbGFzc0ZhbWlseSwgdW5pcXVlS2V5LCBjbGFzc05hbWVJbkJyb3dzZXIsIHNpbmdsZXRvbiB9ID0gb3B0aW9ucyB8fCB7XG4gICAgY2xhc3NGYW1pbHk6IHZvaWQgMCxcbiAgICB1bmlxdWVLZXk6ICdpZCcsXG4gICAgY2xhc3NOYW1lSW5Ccm93c2VyOiB2b2lkIDAsXG4gICAgc2luZ2xldG9uOiB2b2lkIDAsXG4gICAgYXV0b2luc3RhbmNlOiBmYWxzZVxuICB9IGFzIE1vZGVscy5DTEFTU05BTUVPcHRpb25zO1xuXG4gIGlmICghXy5pc1VuZGVmaW5lZChzaW5nbGV0b24pICYmIF8uaXNCb29sZWFuKHNpbmdsZXRvbikgJiYgc2luZ2xldG9uKSB7XG4gICAgc2luZ2xldG9uID0gJ2ZpcnN0LWluc3RhbmNlJ1xuICB9XG5cbiAgaWYgKCF1bmlxdWVLZXkpIHtcbiAgICB1bmlxdWVLZXkgPSAnaWQnXG4gIH1cblxuICBpZiAodGFyZ2V0KSB7XG4gICAgY29uc3QgY29uZmlnID0gXy5maXJzdChDTEFTU05BTUUuZ2V0Q2xhc3NDb25maWcodGFyZ2V0KSk7XG4gICAgY29uZmlnLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgICBjb25maWcudW5pcXVlS2V5ID0gdW5pcXVlS2V5O1xuICAgIGNvbmZpZy5jbGFzc05hbWVJbkJyb3dzZXIgPSBjbGFzc05hbWVJbkJyb3dzZXI7XG5cbiAgfVxuXG4gIGNvbnN0IGV4aXN0ZWQgPSAoZ2V0Q2xhc3NlcygpIGFzIHsgY2xhc3NOYW1lOiBzdHJpbmc7IHRhcmdldDogRnVuY3Rpb247IH1bXSlcbiAgICAuZmluZChmID0+IGYuY2xhc3NOYW1lID09PSBjbGFzc05hbWUpXG5cbiAgaWYgKGV4aXN0ZWQpIHtcbiAgICBleGlzdGVkLnRhcmdldCA9IHRhcmdldDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCByZXMgPSB7XG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjbGFzc05hbWVJbkJyb3dzZXIsXG4gICAgICB0YXJnZXQsXG4gICAgICB1bmlxdWVLZXksXG4gICAgICBjbGFzc0ZhbWlseVxuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKGNsYXNzRmFtaWx5KSkge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlcywgJ2NsYXNzRmFtaWx5Jywge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjb25zdCBwYXJlbnQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGFyZ2V0KTtcbiAgICAgICAgICBpZiAoIV8uaXNGdW5jdGlvbihwYXJlbnQpIHx8IHBhcmVudC5uYW1lID09PSAnT2JqZWN0JyB8fCBwYXJlbnQubmFtZSA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiBjbGFzc05hbWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGNsYXNzTmFtZU5ldyA9IENMQVNTTkFNRS5nZXRDbGFzc05hbWUocGFyZW50KVxuICAgICAgICAgIHJldHVybiBDTEFTU05BTUUuZ2V0Q2xhc3NGYW1pbHlCeUNsYXNzTmFtZShjbGFzc05hbWVOZXcpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICAgIGdldENsYXNzZXMoKS5wdXNoKHJlcylcbiAgfVxuICBjb25zdCBPcmlnaW5hbCA9IHRhcmdldDtcblxuXG4gIGlmIChzaW5nbGV0b24gPT09ICdmaXJzdC1pbnN0YW5jZScgfHwgc2luZ2xldG9uID09PSAnbGFzdC1pbnN0YW5jZScpIHtcbiAgICBjb25zdCBvYmogPSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBkZWNvcmF0ZWRDb25zdHJ1Y3RvcjogZnVuY3Rpb24gKC4uLmFyZ3MpIHtcblxuICAgICAgICBjb25zdCBjb250ZXh0ID0gT3JpZ2luYWwuYXBwbHkodGhpcywgYXJncyk7XG5cbiAgICAgICAgY29uc3QgZXhpc3RlZFNpbmdsZXRvbiA9IENMQVNTLmdldFNpbmdsZXRvbihPcmlnaW5hbClcbiAgICAgICAgaWYgKCFleGlzdGVkU2luZ2xldG9uIHx8IHNpbmdsZXRvbiA9PT0gJ2xhc3QtaW5zdGFuY2UnKSB7XG4gICAgICAgICAgQ0xBU1Muc2V0U2luZ2xldG9uT2JqKE9yaWdpbmFsLCB0aGlzKVxuICAgICAgICAgIENMQVNTLnNldFNpbmdsZXRvbk9iaihvYmouZGVjb3JhdGVkQ29uc3RydWN0b3IsIHRoaXMpXG5cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcblxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgICB9XG4gICAgfTtcblxuXG4gICAgb2JqLmRlY29yYXRlZENvbnN0cnVjdG9yLnByb3RvdHlwZSA9IE9yaWdpbmFsLnByb3RvdHlwZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgT2JqZWN0LmtleXMoT3JpZ2luYWwpLmZvckVhY2goKG5hbWU6IHN0cmluZykgPT4geyBvYmouZGVjb3JhdGVkQ29uc3RydWN0b3JbbmFtZV0gPSAoPGFueT5PcmlnaW5hbClbbmFtZV07IH0pO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmouZGVjb3JhdGVkQ29uc3RydWN0b3IsICduYW1lJywge1xuICAgICAgdmFsdWU6IGNsYXNzTmFtZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB9KVxuXG5cbiAgICByZXR1cm4gb2JqLmRlY29yYXRlZENvbnN0cnVjdG9yO1xuICB9IGVsc2UgaWYgKHNpbmdsZXRvbiA9PT0gJ2F1dG9pbnN0YW5jZScpIHtcblxuXG4gICAgY29uc3QgYXV0byA9IG5ldyAoT3JpZ2luYWwgYXMgYW55KSgpO1xuICAgIENMQVNTLnNldFNpbmdsZXRvbk9iaihPcmlnaW5hbCwgYXV0bylcblxuXG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXR5cGVzY3JpcHQtY2xhc3MtaGVscGVycyBsaWIvc2V0LWNsYXNzLW5hbWUudHMiXX0=
@@ -1,24 +0,0 @@
1
- import { SYMBOL } from './symbols';
2
- import { _ } from 'tnp-core/browser';
3
- function defaultValues() {
4
- return _.cloneDeep({
5
- [SYMBOL.CLASSES]: []
6
- });
7
- }
8
- export function getStorage(property) {
9
- /* */
10
- /* */
11
- /* */
12
- /* */
13
- if (typeof property === 'string') {
14
- const storageInClassStaticProp = getStorage();
15
- return storageInClassStaticProp[property];
16
- }
17
- if (typeof defaultValues.prototype[SYMBOL.STORAGE] === 'undefined') {
18
- defaultValues.prototype[SYMBOL.STORAGE] = defaultValues();
19
- }
20
- return defaultValues.prototype[SYMBOL.STORAGE];
21
- }
22
- ;
23
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/storage.ts
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9wcm9qZWN0cy90eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvc3JjL2xpYi9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJDLFNBQVMsYUFBYTtJQUNwQixPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDakIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtLQUNyQixDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBVSxRQUFpQjtJQUVyRCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBR0gsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUVqQyxNQUFNLHdCQUF3QixHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzlDLE9BQU8sd0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVELElBQUksT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNuRSxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQTtJQUMzRCxDQUFDO0lBQ0QsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNoRCxDQUFDO0FBR0EsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvRUFBb0UiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgU1lNQk9MIH0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcblxuZnVuY3Rpb24gZGVmYXVsdFZhbHVlcygpIHtcbiAgcmV0dXJuIF8uY2xvbmVEZWVwKHtcbiAgICBbU1lNQk9MLkNMQVNTRVNdOiBbXVxuICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RvcmFnZTxUID0gYW55Pihwcm9wZXJ0eT86IHN0cmluZyk6IFQge1xuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuICBpZiAodHlwZW9mIHByb3BlcnR5ID09PSAnc3RyaW5nJykge1xuXG4gICAgY29uc3Qgc3RvcmFnZUluQ2xhc3NTdGF0aWNQcm9wID0gZ2V0U3RvcmFnZSgpO1xuICAgIHJldHVybiBzdG9yYWdlSW5DbGFzc1N0YXRpY1Byb3BbcHJvcGVydHldXG4gIH1cblxuICBpZiAodHlwZW9mIGRlZmF1bHRWYWx1ZXMucHJvdG90eXBlW1NZTUJPTC5TVE9SQUdFXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBkZWZhdWx0VmFsdWVzLnByb3RvdHlwZVtTWU1CT0wuU1RPUkFHRV0gPSBkZWZhdWx0VmFsdWVzKClcbiAgfVxuICByZXR1cm4gZGVmYXVsdFZhbHVlcy5wcm90b3R5cGVbU1lNQk9MLlNUT1JBR0VdXG59XG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXR5cGVzY3JpcHQtY2xhc3MtaGVscGVycyBsaWIvc3RvcmFnZS50cyJdfQ==
@@ -1,9 +0,0 @@
1
- export const SYMBOL = {
2
- MODELS_MAPPING: Symbol(),
3
- DEFAULT_MODEL: Symbol(),
4
- STORAGE: 'classesstorage',
5
- CLASSES: 'classes',
6
- ClassNameStaticProperty: '$$className$$'
7
- };
8
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/symbols.ts
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9wcm9qZWN0cy90eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvc3JjL2xpYi9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRztJQUNwQixjQUFjLEVBQUUsTUFBTSxFQUFFO0lBQ3hCLGFBQWEsRUFBRSxNQUFNLEVBQUU7SUFDdkIsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixPQUFPLEVBQUUsU0FBUztJQUNsQix1QkFBdUIsRUFBRyxlQUFlO0NBQzFDLENBRUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0VBQW9FIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBjb25zdCBTWU1CT0wgPSB7XG4gIE1PREVMU19NQVBQSU5HOiBTeW1ib2woKSxcbiAgREVGQVVMVF9NT0RFTDogU3ltYm9sKCksXG4gIFNUT1JBR0U6ICdjbGFzc2Vzc3RvcmFnZScsXG4gIENMQVNTRVM6ICdjbGFzc2VzJyxcbiAgQ2xhc3NOYW1lU3RhdGljUHJvcGVydHkgOiAnJCRjbGFzc05hbWUkJCdcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXR5cGVzY3JpcHQtY2xhc3MtaGVscGVycyBsaWIvc3ltYm9scy50cyJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './lib';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9wcm9qZWN0cy90eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3Byb2plY3RzL3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9zcmMvdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,164 +0,0 @@
1
- import { _ } from 'tnp-core/websql';
2
- import { Models } from './models';
3
- import { SYMBOL } from './symbols';
4
- import { TchHelpers } from './index';
5
- import { Helpers } from 'tnp-core/websql';
6
- import { getStorage } from './storage';
7
- import { setClassName } from './set-class-name';
8
- import { registerd } from './registerd-db';
9
- import { ERROR_MSG_CLASS_WITHOUT_DECORATOR } from './errors-messages';
10
- /* */
11
- /* */
12
- function getClasses() {
13
- const s = getStorage();
14
- return s[SYMBOL.CLASSES];
15
- }
16
- export var CLASSNAME;
17
- (function (CLASSNAME_1) {
18
- function getClassConfig(target, configs = [], callerTarget) {
19
- if (!_.isFunction(target)) {
20
- throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;
21
- }
22
- let config;
23
- const parentClass = Object.getPrototypeOf(target);
24
- const isValidParent = _.isFunction(parentClass) && parentClass.name !== '';
25
- if (registerd.classes.includes(target)) {
26
- config =
27
- registerd.configs[registerd.classes.findIndex(c => c === target)];
28
- }
29
- else {
30
- config = new Models.ClassConfig();
31
- config.classReference = target;
32
- registerd.classes.push(target);
33
- }
34
- registerd.configs[registerd.classes.findIndex(c => c === target)] = config;
35
- if (callerTarget) {
36
- const callerTargetConfig = registerd.configs[registerd.classes.findIndex(c => c === callerTarget)];
37
- if (!config.vChildren.includes(callerTargetConfig)) {
38
- config.vChildren.push(callerTargetConfig);
39
- }
40
- callerTargetConfig.vParent = config;
41
- }
42
- configs.push(config);
43
- return isValidParent
44
- ? getClassConfig(parentClass, configs, target)
45
- : configs;
46
- }
47
- CLASSNAME_1.getClassConfig = getClassConfig;
48
- /**
49
- * PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE
50
- * Decorator requred for production mode
51
- * @param name Name of class
52
- */
53
- function CLASSNAME(className, options) {
54
- return function (target) {
55
- return setClassName(target, className, options);
56
- };
57
- }
58
- CLASSNAME_1.CLASSNAME = CLASSNAME;
59
- function getClassName(target, production = false) {
60
- if (_.isNil(target)) {
61
- return void 0;
62
- }
63
- if (_.isString(target)) {
64
- Helpers.log(`[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`);
65
- return target;
66
- }
67
- if (!_.isFunction(target)) {
68
- Helpers.log(`[typescript-class-helpers][getClassName] target is not a class`);
69
- return void 0;
70
- }
71
- if (target[SYMBOL.ClassNameStaticProperty]) {
72
- return target[SYMBOL.ClassNameStaticProperty];
73
- }
74
- const configs = getClassConfig(target);
75
- const config = _.first(configs);
76
- const classNameInBrowser = config?.classNameInBrowser;
77
- if (Helpers.isBrowser && _.isString(classNameInBrowser)) {
78
- return classNameInBrowser;
79
- }
80
- const className = config?.className;
81
- if (typeof className === 'string') {
82
- return className;
83
- }
84
- if (production) {
85
- console.log('class without @CLASS.NAME deocrator', target);
86
- throw new Error(ERROR_MSG_CLASS_WITHOUT_DECORATOR);
87
- }
88
- else {
89
- }
90
- if (target.name?.startsWith('class_')) {
91
- return '';
92
- }
93
- return target.name;
94
- }
95
- CLASSNAME_1.getClassName = getClassName;
96
- // @ts-ignore
97
- function getObjectIndexPropertyValue(obj) {
98
- const className = TchHelpers.getNameFromObject(obj);
99
- let c = getClasses().find(c => c.className === className);
100
- if (c) {
101
- return c.uniqueKey;
102
- }
103
- }
104
- CLASSNAME_1.getObjectIndexPropertyValue = getObjectIndexPropertyValue;
105
- // @ts-ignore
106
- function getClassFamilyByClassName(className) {
107
- let c = getClasses().find(c => c.className === className);
108
- if (c) {
109
- return c.classFamily;
110
- }
111
- }
112
- CLASSNAME_1.getClassFamilyByClassName = getClassFamilyByClassName;
113
- // @ts-ignore
114
- function getObjectClassFamily(obj) {
115
- const className = TchHelpers.getNameFromObject(obj);
116
- let c = getClasses().find(c => c.className === className);
117
- if (c) {
118
- return c.classFamily;
119
- }
120
- }
121
- CLASSNAME_1.getObjectClassFamily = getObjectClassFamily;
122
- function getObjectIndexValue(obj) {
123
- const className = TchHelpers.getNameFromObject(obj);
124
- let c = getClasses().find(c => c.className === className);
125
- if (c && _.isString(c.uniqueKey)) {
126
- return obj[c.uniqueKey];
127
- }
128
- }
129
- CLASSNAME_1.getObjectIndexValue = getObjectIndexValue;
130
- function getClassBy(className) {
131
- let res;
132
- if (Array.isArray(className)) {
133
- if (className.length !== 1) {
134
- throw `Mapping error... please use proper class names:
135
- {
136
- propertyObject: 'MyClassName',
137
- propertyWithArray: ['MyClassName']
138
- }
139
-
140
- `;
141
- }
142
- className = className[0];
143
- }
144
- if (typeof className === 'function') {
145
- res = className;
146
- }
147
- if (className === 'Date') {
148
- res = Date;
149
- }
150
- if (className === 'FormData') {
151
- res = FormData;
152
- }
153
- let c = getClasses().find(c => c.className === className);
154
- if (c) {
155
- res = c.target;
156
- }
157
- // @ts-ignore
158
- return res;
159
- }
160
- CLASSNAME_1.getClassBy = getClassBy;
161
- })(CLASSNAME || (CLASSNAME = {}));
162
- ;
163
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/classname.ts
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NuYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9wcm9qZWN0cy90eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvc3JjL2xpYi9jbGFzc25hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEUsS0FBSztBQUNMLEtBQUs7QUFHTCxTQUFTLFVBQVU7SUFDakIsTUFBTSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUM7SUFDdkIsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBUSxDQUFDO0FBQ2xDLENBQUM7QUFDRCxNQUFNLEtBQVcsU0FBUyxDQW9NekI7QUFwTUQsV0FBaUIsV0FBUztJQUN4QixTQUFnQixjQUFjLENBQzVCLE1BQWdCLEVBQ2hCLFVBQWdDLEVBQUUsRUFDbEMsWUFBdUI7UUFFdkIsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxQixNQUFNLDJFQUEyRSxNQUFNLEVBQUUs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XG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgU1lNQk9MIH0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCB7IFRjaEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gJy4vc3RvcmFnZSc7XG5pbXBvcnQgeyBzZXRDbGFzc05hbWUgfSBmcm9tICcuL3NldC1jbGFzcy1uYW1lJztcbmltcG9ydCB7IHJlZ2lzdGVyZCB9IGZyb20gJy4vcmVnaXN0ZXJkLWRiJztcbmltcG9ydCB7IEVSUk9SX01TR19DTEFTU19XSVRIT1VUX0RFQ09SQVRPUiB9IGZyb20gJy4vZXJyb3JzLW1lc3NhZ2VzJztcbi8qICovXG4vKiAqL1xuICBcblxuZnVuY3Rpb24gZ2V0Q2xhc3NlcygpOiBNb2RlbHMuQ2xhc3NNZXRhW10ge1xuICBjb25zdCBzID0gZ2V0U3RvcmFnZSgpO1xuICByZXR1cm4gc1tTWU1CT0wuQ0xBU1NFU10gYXMgYW55O1xufVxuZXhwb3J0IG5hbWVzcGFjZSBDTEFTU05BTUUge1xuICBleHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NDb25maWcoXG4gICAgdGFyZ2V0OiBGdW5jdGlvbixcbiAgICBjb25maWdzOiBNb2RlbHMuQ2xhc3NDb25maWdbXSA9IFtdLFxuICAgIGNhbGxlclRhcmdldD86IEZ1bmN0aW9uLFxuICApOiBNb2RlbHMuQ2xhc3NDb25maWdbXSB7XG4gICAgaWYgKCFfLmlzRnVuY3Rpb24odGFyZ2V0KSkge1xuICAgICAgdGhyb3cgYFt0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcl1bZ2V0Q2xhc3NDb25maWddIENhbm5vdCBnZXQgY2xhc3MgY29uZmlnIGZyb206ICR7dGFyZ2V0fWA7XG4gICAgfVxuXG4gICAgbGV0IGNvbmZpZzogTW9kZWxzLkNsYXNzQ29uZmlnO1xuICAgIGNvbnN0IHBhcmVudENsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldCk7XG4gICAgY29uc3QgaXNWYWxpZFBhcmVudCA9IF8uaXNGdW5jdGlvbihwYXJlbnRDbGFzcykgJiYgcGFyZW50Q2xhc3MubmFtZSAhPT0gJyc7XG5cbiAgICBpZiAocmVnaXN0ZXJkLmNsYXNzZXMuaW5jbHVkZXModGFyZ2V0KSkge1xuICAgICAgY29uZmlnID1cbiAgICAgICAgcmVnaXN0ZXJkLmNvbmZpZ3NbcmVnaXN0ZXJkLmNsYXNzZXMuZmluZEluZGV4KGMgPT4gYyA9PT0gdGFyZ2V0KV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmZpZyA9IG5ldyBNb2RlbHMuQ2xhc3NDb25maWcoKTtcbiAgICAgIGNvbmZpZy5jbGFzc1JlZmVyZW5jZSA9IHRhcmdldDtcbiAgICAgIHJlZ2lzdGVyZC5jbGFzc2VzLnB1c2godGFyZ2V0KTtcbiAgICB9XG5cbiAgICByZWdpc3RlcmQuY29uZmlnc1tyZWdpc3RlcmQuY2xhc3Nlcy5maW5kSW5kZXgoYyA9PiBjID09PSB0YXJnZXQpXSA9IGNvbmZpZztcbiAgICBpZiAoY2FsbGVyVGFyZ2V0KSB7XG4gICAgICBjb25zdCBjYWxsZXJUYXJnZXRDb25maWcgPVxuICAgICAgICByZWdpc3RlcmQuY29uZmlnc1tyZWdpc3RlcmQuY2xhc3Nlcy5maW5kSW5kZXgoYyA9PiBjID09PSBjYWxsZXJUYXJnZXQpXTtcbiAgICAgIGlmICghY29uZmlnLnZDaGlsZHJlbi5pbmNsdWRlcyhjYWxsZXJUYXJnZXRDb25maWcpKSB7XG4gICAgICAgIGNvbmZpZy52Q2hpbGRyZW4ucHVzaChjYWxsZXJUYXJnZXRDb25maWcpO1xuICAgICAgfVxuICAgICAgY2FsbGVyVGFyZ2V0Q29uZmlnLnZQYXJlbnQgPSBjb25maWc7XG4gICAgfVxuXG4gICAgY29uZmlncy5wdXNoKGNvbmZpZyk7XG5cbiAgICByZXR1cm4gaXNWYWxpZFBhcmVudFxuICAgICAgPyBnZXRDbGFzc0NvbmZpZyhwYXJlbnRDbGFzcywgY29uZmlncywgdGFyZ2V0KVxuICAgICAgOiBjb25maWdzO1xuICB9XG5cbiAgLyoqXG4gICAqIFBMRUFTRSBQUk9WSURFIE5BTUUgQVMgVFlQRUQgU1RSSU5HLCBOT1QgVkFSSUFCTEVcbiAgICogRGVjb3JhdG9yIHJlcXVyZWQgZm9yIHByb2R1Y3Rpb24gbW9kZVxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIGNsYXNzXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gQ0xBU1NOQU1FKFxuICAgIGNsYXNzTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBNb2RlbHMuQ0xBU1NOQU1FT3B0aW9ucyxcbiAgKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IEZ1bmN0aW9uKSB7XG5cbiAgICAgIHJldHVybiBzZXRDbGFzc05hbWUodGFyZ2V0LCBjbGFzc05hbWUsIG9wdGlvbnMpO1xuICAgIH0gYXMgYW55O1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldENsYXNzTmFtZSh0YXJnZXQ6IEZ1bmN0aW9uLCBwcm9kdWN0aW9uID0gZmFsc2UpIHtcbiAgICBpZiAoXy5pc05pbCh0YXJnZXQpKSB7XG5cblxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcodGFyZ2V0KSkge1xuXG4gICAgICBIZWxwZXJzLmxvZyhcbiAgICAgICAgYFt0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnNdW2dldENsYXNzTmFtZV0gdGFyZ2V0IGlzIHN0cmluZzogJyR7dGFyZ2V0fScsIHByb2R1Y2l0b246ICR7cHJvZHVjdGlvbn1gLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfVxuICAgIGlmICghXy5pc0Z1bmN0aW9uKHRhcmdldCkpIHtcblxuICAgICAgSGVscGVycy5sb2coXG4gICAgICAgIGBbdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzXVtnZXRDbGFzc05hbWVdIHRhcmdldCBpcyBub3QgYSBjbGFzc2AsXG4gICAgICApO1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG5cbiAgICBpZiAodGFyZ2V0W1NZTUJPTC5DbGFzc05hbWVTdGF0aWNQcm9wZXJ0eV0pIHtcbiAgICAgIHJldHVybiB0YXJnZXRbU1lNQk9MLkNsYXNzTmFtZVN0YXRpY1Byb3BlcnR5XTtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWdzID0gZ2V0Q2xhc3NDb25maWcodGFyZ2V0KTtcbiAgICBjb25zdCBjb25maWcgPSBfLmZpcnN0KGNvbmZpZ3MpO1xuXG4gICAgY29uc3QgY2xhc3NOYW1lSW5Ccm93c2VyID0gY29uZmlnPy5jbGFzc05hbWVJbkJyb3dzZXI7XG5cbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIgJiYgXy5pc1N0cmluZyhjbGFzc05hbWVJbkJyb3dzZXIpKSB7XG4gICAgICByZXR1cm4gY2xhc3NOYW1lSW5Ccm93c2VyO1xuICAgIH1cblxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IGNvbmZpZz8uY2xhc3NOYW1lO1xuXG4gICAgaWYgKHR5cGVvZiBjbGFzc05hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gY2xhc3NOYW1lO1xuICAgIH1cblxuICAgIGlmIChwcm9kdWN0aW9uKSB7XG4gICAgICBjb25zb2xlLmxvZygnY2xhc3Mgd2l0aG91dCBAQ0xBU1MuTkFNRSBkZW9jcmF0b3InLCB0YXJnZXQgYXMgYW55KTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihFUlJPUl9NU0dfQ0xBU1NfV0lUSE9VVF9ERUNPUkFUT1IpO1xuICAgIH0gZWxzZSB7XG5cblxuXG5cblxuXG5cblxuXG5cblxuICAgIH1cblxuXG4gICAgaWYgKHRhcmdldC5uYW1lPy5zdGFydHNXaXRoKCdjbGFzc18nKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXQubmFtZTtcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgZXhwb3J0IGZ1bmN0aW9uIGdldE9iamVjdEluZGV4UHJvcGVydHlWYWx1ZShvYmo6IGFueSkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IFRjaEhlbHBlcnMuZ2V0TmFtZUZyb21PYmplY3Qob2JqKTtcblxuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjKSB7XG4gICAgICByZXR1cm4gYy51bmlxdWVLZXk7XG4gICAgfVxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBleHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NGYW1pbHlCeUNsYXNzTmFtZShjbGFzc05hbWU6IHN0cmluZykge1xuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjKSB7XG4gICAgICByZXR1cm4gYy5jbGFzc0ZhbWlseTtcbiAgICB9XG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRPYmplY3RDbGFzc0ZhbWlseShvYmo6IGFueSkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IFRjaEhlbHBlcnMuZ2V0TmFtZUZyb21PYmplY3Qob2JqKTtcblxuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjKSB7XG4gICAgICByZXR1cm4gYy5jbGFzc0ZhbWlseTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0T2JqZWN0SW5kZXhWYWx1ZShvYmo6IGFueSkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IFRjaEhlbHBlcnMuZ2V0TmFtZUZyb21PYmplY3Qob2JqKTtcblxuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjICYmIF8uaXNTdHJpbmcoYy51bmlxdWVLZXkpKSB7XG4gICAgICByZXR1cm4gb2JqW2MudW5pcXVlS2V5XTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NCeShjbGFzc05hbWU6IHN0cmluZyB8IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xuICAgIGxldCByZXM7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2xhc3NOYW1lKSkge1xuICAgICAgaWYgKGNsYXNzTmFtZS5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgdGhyb3cgYE1hcHBpbmcgZXJyb3IuLi4gcGxlYXNlIHVzZSBwcm9wZXIgY2xhc3MgbmFtZXM6XG4gIHtcbiAgICBwcm9wZXJ0eU9iamVjdDogJ015Q2xhc3NOYW1lJyxcbiAgICBwcm9wZXJ0eVdpdGhBcnJheTogWydNeUNsYXNzTmFtZSddXG4gIH1cblxuICAgICAgICBgO1xuICAgICAgfVxuICAgICAgY2xhc3NOYW1lID0gY2xhc3NOYW1lWzBdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGNsYXNzTmFtZSA9PT0gJ2Z1bmN0aW9uJykge1xuXG4gICAgICByZXMgPSBjbGFzc05hbWU7XG4gICAgfVxuICAgIGlmIChjbGFzc05hbWUgPT09ICdEYXRlJykge1xuICAgICAgcmVzID0gRGF0ZTtcbiAgICB9XG5cbiAgICBpZiAoY2xhc3NOYW1lID09PSAnRm9ybURhdGEnKSB7XG4gICAgICByZXMgPSBGb3JtRGF0YTtcbiAgICB9XG5cbiAgICBsZXQgYyA9IGdldENsYXNzZXMoKS5maW5kKGMgPT4gYy5jbGFzc05hbWUgPT09IGNsYXNzTmFtZSk7XG5cbiAgICBpZiAoYykge1xuICAgICAgcmVzID0gYy50YXJnZXQ7XG4gICAgfVxuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXR5cGVzY3JpcHQtY2xhc3MtaGVscGVycyBsaWIvY2xhc3NuYW1lLnRzIl19
@@ -1,72 +0,0 @@
1
- import { _ } from 'tnp-core/websql';
2
- import { SYMBOL } from './symbols';
3
- /**
4
- * @DEPRECATED
5
- * Describe fields assigned in class
6
- */
7
- const FRegEx = new RegExp(/(?:this\.)(.+?(?= ))/g);
8
- export function describeFromClassStringify(target, parent = false) {
9
- // @ts-ignore
10
- var result = [];
11
- if (parent) {
12
- var proto = Object.getPrototypeOf(target.prototype);
13
- if (proto) {
14
- // @ts-ignore
15
- result = result.concat(describeFromClassStringify(proto.constructor, parent));
16
- }
17
- }
18
- const classString = target.toString();
19
- const matches = classString.match(FRegEx) || [];
20
- result = result.concat(matches);
21
- return result.map(prop => prop
22
- .replace('this.', '')
23
- .replace('.', '')
24
- .replace(')', '')
25
- .replace('(', ''));
26
- }
27
- /**
28
- * Describe fields assigne through @DefaultModelWithMapping decorator
29
- * without functions
30
- */
31
- export function describeByDefaultModelsAndMapping(target) {
32
- let res = {};
33
- if (target) {
34
- // @ts-ignore
35
- if (target[SYMBOL.DEFAULT_MODEL]) {
36
- // @ts-ignore
37
- Object.keys(target[SYMBOL.DEFAULT_MODEL])
38
- .filter(key => {
39
- // @ts-ignore
40
- return !_.isFunction(target[SYMBOL.DEFAULT_MODEL][key]);
41
- })
42
- .forEach(key => {
43
- // @ts-ignore
44
- return res[key] = null;
45
- });
46
- }
47
- // @ts-ignore
48
- let mapping = target[SYMBOL.MODELS_MAPPING];
49
- if (_.isArray(mapping)) {
50
- mapping.forEach(m => {
51
- Object.keys(m)
52
- .forEach(key => {
53
- // @ts-ignore
54
- res[key] = null;
55
- });
56
- });
57
- }
58
- else if (mapping) {
59
- Object.keys(mapping)
60
- .forEach(key => {
61
- // @ts-ignore
62
- res[key] = null;
63
- });
64
- }
65
- }
66
- let propNames = Object.keys(res).filter(f => !!f);
67
- propNames = (!propNames.includes('id') ? ['id'] : []).concat(propNames);
68
- return propNames;
69
- }
70
- ;
71
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/describe-class.ts
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpYmUtY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3Byb2plY3RzL3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9zcmMvbGliL2Rlc2NyaWJlLWNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSW5DOzs7SUFHSTtBQUNKLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFDbkQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLE1BQWdCLEVBQUUsTUFBTSxHQUFHLEtBQUs7SUFDekUsYUFBYTtJQUNiLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLGFBQWE7WUFDYixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDaEYsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEMsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7SUFLL0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSTtTQUMzQixPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztTQUNwQixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztTQUNoQixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztTQUNoQixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUNsQixDQUFBO0FBRUgsQ0FBQztBQUVEOzs7S0FHSztBQUNMLE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxNQUFnQjtJQUNoRSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUE7SUFDWixJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsYUFBYTtRQUNiLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ2pDLGFBQWE7WUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDWixhQUFhO2dCQUNiLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxRCxDQUFDLENBQUM7aUJBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLGFBQWE7Z0JBQ2IsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELGFBQWE7UUFDYixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO3FCQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDYixhQUFhO29CQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO2FBQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUVuQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztpQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLGFBQWE7Z0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsU0FBUyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEUsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMkVBQTJFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgU1lNQk9MIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuXG5cbi8qKlxuICAqIEBERVBSRUNBVEVEXG4gICogRGVzY3JpYmUgZmllbGRzIGFzc2lnbmVkIGluIGNsYXNzXG4gICovXG5jb25zdCBGUmVnRXggPSBuZXcgUmVnRXhwKC8oPzp0aGlzXFwuKSguKz8oPz0gKSkvZyk7XG5leHBvcnQgZnVuY3Rpb24gZGVzY3JpYmVGcm9tQ2xhc3NTdHJpbmdpZnkodGFyZ2V0OiBGdW5jdGlvbiwgcGFyZW50ID0gZmFsc2UpOiBzdHJpbmdbXSB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBpZiAocGFyZW50KSB7XG4gICAgdmFyIHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldC5wcm90b3R5cGUpO1xuICAgIGlmIChwcm90bykge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChkZXNjcmliZUZyb21DbGFzc1N0cmluZ2lmeShwcm90by5jb25zdHJ1Y3RvciwgcGFyZW50KSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGNsYXNzU3RyaW5nID0gdGFyZ2V0LnRvU3RyaW5nKCk7XG4gIGNvbnN0IG1hdGNoZXMgPSBjbGFzc1N0cmluZy5tYXRjaChGUmVnRXgpIHx8IFtdXG5cblxuXG5cbiAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChtYXRjaGVzKTtcbiAgcmV0dXJuIHJlc3VsdC5tYXAocHJvcCA9PiBwcm9wXG4gICAgLnJlcGxhY2UoJ3RoaXMuJywgJycpXG4gICAgLnJlcGxhY2UoJy4nLCAnJylcbiAgICAucmVwbGFjZSgnKScsICcnKVxuICAgIC5yZXBsYWNlKCcoJywgJycpXG4gIClcblxufVxuXG4vKipcbiAgICogRGVzY3JpYmUgZmllbGRzIGFzc2lnbmUgdGhyb3VnaCBARGVmYXVsdE1vZGVsV2l0aE1hcHBpbmcgZGVjb3JhdG9yXG4gICAqIHdpdGhvdXQgZnVuY3Rpb25zXG4gICAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlc2NyaWJlQnlEZWZhdWx0TW9kZWxzQW5kTWFwcGluZyh0YXJnZXQ6IEZ1bmN0aW9uKTogc3RyaW5nW10ge1xuICBsZXQgcmVzID0ge31cbiAgaWYgKHRhcmdldCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAodGFyZ2V0W1NZTUJPTC5ERUZBVUxUX01PREVMXSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgT2JqZWN0LmtleXModGFyZ2V0W1NZTUJPTC5ERUZBVUxUX01PREVMXSlcbiAgICAgICAgLmZpbHRlcihrZXkgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICByZXR1cm4gIV8uaXNGdW5jdGlvbih0YXJnZXRbU1lNQk9MLkRFRkFVTFRfTU9ERUxdW2tleV0pO1xuICAgICAgICB9KVxuICAgICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICByZXR1cm4gcmVzW2tleV0gPSBudWxsO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGxldCBtYXBwaW5nID0gdGFyZ2V0W1NZTUJPTC5NT0RFTFNfTUFQUElOR107XG4gICAgaWYgKF8uaXNBcnJheShtYXBwaW5nKSkge1xuICAgICAgbWFwcGluZy5mb3JFYWNoKG0gPT4ge1xuICAgICAgICBPYmplY3Qua2V5cyhtKVxuICAgICAgICAgIC5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICByZXNba2V5XSA9IG51bGw7XG4gICAgICAgICAgfSk7XG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAobWFwcGluZykge1xuXG4gICAgICBPYmplY3Qua2V5cyhtYXBwaW5nKVxuICAgICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICByZXNba2V5XSA9IG51bGw7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGxldCBwcm9wTmFtZXMgPSBPYmplY3Qua2V5cyhyZXMpLmZpbHRlcihmID0+ICEhZik7XG4gIHByb3BOYW1lcyA9ICghcHJvcE5hbWVzLmluY2x1ZGVzKCdpZCcpID8gWydpZCddIDogW10pLmNvbmNhdChwcm9wTmFtZXMpO1xuICByZXR1cm4gcHJvcE5hbWVzO1xufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzIGxpYi9kZXNjcmliZS1jbGFzcy50cyJdfQ==
@@ -1,14 +0,0 @@
1
- export const ERROR_MSG_CLASS_WITHOUT_DECORATOR = `[typescript-class-helpers][getClassName(...)](PRODUCTION MODE ERROR)
2
- Please use decoartor @CLASSNAME for each entity or controller
3
- This is preventing class name problem in minified code.
4
- // @ts-ignore
5
- import { CLASS } from '../lib';
6
-
7
- @CLASS.NAME('ExampleClass')
8
- class ExampleClass {
9
- ...
10
- }
11
- `;
12
- ;
13
- ({}); // @--end-of-file-for-module=typescript-class-helpers lib/errors-messages.ts
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLW1lc3NhZ2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9wcm9qZWN0cy90eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvc3JjL2xpYi9lcnJvcnMtbWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUc7Ozs7Ozs7Ozs7Q0FVaEQsQ0FBQztBQUVELENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEVBQTRFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuZXhwb3J0IGNvbnN0IEVSUk9SX01TR19DTEFTU19XSVRIT1VUX0RFQ09SQVRPUiA9IGBbdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzXVtnZXRDbGFzc05hbWUoLi4uKV0oUFJPRFVDVElPTiBNT0RFIEVSUk9SKVxuUGxlYXNlIHVzZSBkZWNvYXJ0b3IgQENMQVNTTkFNRSBmb3IgZWFjaCBlbnRpdHkgb3IgY29udHJvbGxlclxuVGhpcyBpcyBwcmV2ZW50aW5nIGNsYXNzIG5hbWUgcHJvYmxlbSBpbiBtaW5pZmllZCBjb2RlLlxuIC8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IENMQVNTIH0gZnJvbSAnLi4vbGliJztcblxuQENMQVNTLk5BTUUoJ0V4YW1wbGVDbGFzcycpXG5jbGFzcyBFeGFtcGxlQ2xhc3Mge1xuICAuLi5cbn1cbmA7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMgbGliL2Vycm9ycy1tZXNzYWdlcy50cyJdfQ==