@tsed/core 7.0.0-beta.2 → 7.0.0-beta.20

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 (158) hide show
  1. package/coverage.json +6 -0
  2. package/jest.config.js +9 -0
  3. package/lib/cjs/decorators/configurable.js +2 -6
  4. package/lib/cjs/decorators/configurable.js.map +1 -1
  5. package/lib/cjs/decorators/deprecated.js +2 -1
  6. package/lib/cjs/decorators/deprecated.js.map +1 -1
  7. package/lib/cjs/decorators/enumerable.js +2 -6
  8. package/lib/cjs/decorators/enumerable.js.map +1 -1
  9. package/lib/cjs/decorators/notConfigurable.js +0 -4
  10. package/lib/cjs/decorators/notConfigurable.js.map +1 -1
  11. package/lib/cjs/decorators/notEnumerable.js +0 -4
  12. package/lib/cjs/decorators/notEnumerable.js.map +1 -1
  13. package/lib/cjs/decorators/readOnly.js +0 -4
  14. package/lib/cjs/decorators/readOnly.js.map +1 -1
  15. package/lib/cjs/decorators/writable.js +2 -6
  16. package/lib/cjs/decorators/writable.js.map +1 -1
  17. package/lib/cjs/domain/AnyToPromise.js +17 -19
  18. package/lib/cjs/domain/AnyToPromise.js.map +1 -1
  19. package/lib/cjs/domain/Hooks.js +22 -18
  20. package/lib/cjs/domain/Hooks.js.map +1 -1
  21. package/lib/cjs/domain/Metadata.js +5 -5
  22. package/lib/cjs/domain/Metadata.js.map +1 -1
  23. package/lib/cjs/domain/Store.js +1 -3
  24. package/lib/cjs/domain/Store.js.map +1 -1
  25. package/lib/cjs/errors/UnsupportedDecoratorType.js +6 -3
  26. package/lib/cjs/errors/UnsupportedDecoratorType.js.map +1 -1
  27. package/lib/cjs/index.js +81 -5
  28. package/lib/cjs/index.js.map +1 -1
  29. package/lib/cjs/package.json +3 -0
  30. package/lib/cjs/utils/decorators/decorateMethodsOf.js +10 -4
  31. package/lib/cjs/utils/decorators/decorateMethodsOf.js.map +1 -1
  32. package/lib/cjs/utils/imports/importPackage.js +5 -1
  33. package/lib/cjs/utils/imports/importPackage.js.map +1 -1
  34. package/lib/cjs/utils/objects/deepClone.js +6 -0
  35. package/lib/cjs/utils/objects/deepClone.js.map +1 -1
  36. package/lib/cjs/utils/objects/deepMerge.js.map +1 -1
  37. package/lib/cjs/utils/objects/descriptorOf.js +1 -2
  38. package/lib/cjs/utils/objects/descriptorOf.js.map +1 -1
  39. package/lib/cjs/utils/objects/getConstructorArgNames.js +6 -1
  40. package/lib/cjs/utils/objects/getConstructorArgNames.js.map +1 -1
  41. package/lib/cjs/utils/objects/getValue.js +1 -1
  42. package/lib/cjs/utils/objects/getValue.js.map +1 -1
  43. package/lib/cjs/utils/objects/isBuffer.js +13 -0
  44. package/lib/cjs/utils/objects/isBuffer.js.map +1 -0
  45. package/lib/cjs/utils/objects/isClass.js +3 -1
  46. package/lib/cjs/utils/objects/isClass.js.map +1 -1
  47. package/lib/cjs/utils/objects/methodsOf.js.map +1 -1
  48. package/lib/esm/decorators/configurable.js +1 -5
  49. package/lib/esm/decorators/configurable.js.map +1 -1
  50. package/lib/esm/decorators/deprecated.js +2 -1
  51. package/lib/esm/decorators/deprecated.js.map +1 -1
  52. package/lib/esm/decorators/enumerable.js +1 -5
  53. package/lib/esm/decorators/enumerable.js.map +1 -1
  54. package/lib/esm/decorators/notConfigurable.js +1 -5
  55. package/lib/esm/decorators/notConfigurable.js.map +1 -1
  56. package/lib/esm/decorators/notEnumerable.js +1 -5
  57. package/lib/esm/decorators/notEnumerable.js.map +1 -1
  58. package/lib/esm/decorators/readOnly.js +1 -5
  59. package/lib/esm/decorators/readOnly.js.map +1 -1
  60. package/lib/esm/decorators/storeFn.js +1 -1
  61. package/lib/esm/decorators/storeMerge.js +1 -1
  62. package/lib/esm/decorators/storeSet.js +1 -1
  63. package/lib/esm/decorators/writable.js +1 -5
  64. package/lib/esm/decorators/writable.js.map +1 -1
  65. package/lib/esm/domain/AnyToPromise.js +20 -22
  66. package/lib/esm/domain/AnyToPromise.js.map +1 -1
  67. package/lib/esm/domain/Hooks.js +22 -18
  68. package/lib/esm/domain/Hooks.js.map +1 -1
  69. package/lib/esm/domain/Metadata.js +6 -6
  70. package/lib/esm/domain/Metadata.js.map +1 -1
  71. package/lib/esm/domain/Store.js +9 -11
  72. package/lib/esm/domain/Store.js.map +1 -1
  73. package/lib/esm/errors/UnsupportedDecoratorType.js +4 -1
  74. package/lib/esm/errors/UnsupportedDecoratorType.js.map +1 -1
  75. package/lib/esm/index.js +81 -5
  76. package/lib/esm/index.js.map +1 -1
  77. package/lib/esm/package.json +3 -0
  78. package/lib/esm/utils/decorators/decorateMethodsOf.js +13 -7
  79. package/lib/esm/utils/decorators/decorateMethodsOf.js.map +1 -1
  80. package/lib/esm/utils/decorators/decoratorArgs.js +1 -1
  81. package/lib/esm/utils/decorators/decoratorTypeOf.js +2 -2
  82. package/lib/esm/utils/decorators/inheritedDescriptorOf.js +1 -1
  83. package/lib/esm/utils/decorators/useMethodDecorators.js +1 -1
  84. package/lib/esm/utils/objects/ancestorsOf.js +3 -3
  85. package/lib/esm/utils/objects/cleanObject.js +1 -1
  86. package/lib/esm/utils/objects/createInstance.js +1 -1
  87. package/lib/esm/utils/objects/deepClone.js +12 -6
  88. package/lib/esm/utils/objects/deepClone.js.map +1 -1
  89. package/lib/esm/utils/objects/deepMerge.js +5 -5
  90. package/lib/esm/utils/objects/deepMerge.js.map +1 -1
  91. package/lib/esm/utils/objects/descriptorOf.js +1 -2
  92. package/lib/esm/utils/objects/descriptorOf.js.map +1 -1
  93. package/lib/esm/utils/objects/getClassOrSymbol.js +2 -2
  94. package/lib/esm/utils/objects/getConstructorArgNames.js +7 -2
  95. package/lib/esm/utils/objects/getConstructorArgNames.js.map +1 -1
  96. package/lib/esm/utils/objects/getEnumerableKeys.js +2 -2
  97. package/lib/esm/utils/objects/getValue.js +4 -4
  98. package/lib/esm/utils/objects/getValue.js.map +1 -1
  99. package/lib/esm/utils/objects/isArrowFn.js +1 -1
  100. package/lib/esm/utils/objects/isBuffer.js +9 -0
  101. package/lib/esm/utils/objects/isBuffer.js.map +1 -0
  102. package/lib/esm/utils/objects/isClass.js +10 -8
  103. package/lib/esm/utils/objects/isClass.js.map +1 -1
  104. package/lib/esm/utils/objects/isCollection.js +1 -1
  105. package/lib/esm/utils/objects/isEmpty.js +1 -1
  106. package/lib/esm/utils/objects/isEnumerable.js +2 -2
  107. package/lib/esm/utils/objects/isInheritedFrom.js +3 -3
  108. package/lib/esm/utils/objects/isPlainObject.js +1 -1
  109. package/lib/esm/utils/objects/isPrimitive.js +3 -3
  110. package/lib/esm/utils/objects/isSerializable.js +5 -5
  111. package/lib/esm/utils/objects/methodsOf.js +3 -3
  112. package/lib/esm/utils/objects/methodsOf.js.map +1 -1
  113. package/lib/esm/utils/objects/objectKeys.js +1 -1
  114. package/lib/esm/utils/objects/primitiveOf.js +3 -3
  115. package/lib/esm/utils/objects/prototypeOf.js +1 -1
  116. package/lib/esm/utils/objects/setValue.js +1 -1
  117. package/lib/esm/utils/objects/toMap.js +2 -2
  118. package/lib/esm/utils/objects/toStringConstructor.js +1 -1
  119. package/lib/esm/utils/proxyDelegation.js +1 -1
  120. package/lib/types/decorators/configurable.d.ts +0 -1
  121. package/lib/types/decorators/enumerable.d.ts +0 -1
  122. package/lib/types/decorators/notConfigurable.d.ts +0 -1
  123. package/lib/types/decorators/notEnumerable.d.ts +0 -1
  124. package/lib/types/decorators/readOnly.d.ts +0 -1
  125. package/lib/types/decorators/writable.d.ts +0 -1
  126. package/lib/types/domain/Hooks.d.ts +3 -2
  127. package/lib/types/index.d.ts +80 -5
  128. package/lib/types/utils/objects/deepMerge.d.ts +1 -1
  129. package/lib/types/utils/objects/isBuffer.d.ts +7 -0
  130. package/lib/types/utils/objects/methodsOf.d.ts +5 -1
  131. package/package.json +12 -6
  132. package/readme.md +4 -4
  133. package/tsconfig.compile.esm.json +1 -12
  134. package/lib/cjs/decorators/index.js +0 -18
  135. package/lib/cjs/decorators/index.js.map +0 -1
  136. package/lib/cjs/domain/index.js +0 -11
  137. package/lib/cjs/domain/index.js.map +0 -1
  138. package/lib/cjs/interfaces/index.js +0 -3
  139. package/lib/cjs/interfaces/index.js.map +0 -1
  140. package/lib/cjs/utils/index.js +0 -19
  141. package/lib/cjs/utils/index.js.map +0 -1
  142. package/lib/cjs/utils/objects/index.js +0 -46
  143. package/lib/cjs/utils/objects/index.js.map +0 -1
  144. package/lib/esm/decorators/index.js +0 -15
  145. package/lib/esm/decorators/index.js.map +0 -1
  146. package/lib/esm/domain/index.js +0 -8
  147. package/lib/esm/domain/index.js.map +0 -1
  148. package/lib/esm/interfaces/index.js +0 -2
  149. package/lib/esm/interfaces/index.js.map +0 -1
  150. package/lib/esm/utils/index.js +0 -16
  151. package/lib/esm/utils/index.js.map +0 -1
  152. package/lib/esm/utils/objects/index.js +0 -43
  153. package/lib/esm/utils/objects/index.js.map +0 -1
  154. package/lib/types/decorators/index.d.ts +0 -14
  155. package/lib/types/domain/index.d.ts +0 -7
  156. package/lib/types/interfaces/index.d.ts +0 -4
  157. package/lib/types/utils/index.d.ts +0 -13
  158. package/lib/types/utils/objects/index.d.ts +0 -42
@@ -1 +1 @@
1
- {"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/domain/Store.ts"],"names":[],"mappings":"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","sourcesContent":["import {DecoratorTypes} from \"../domain/DecoratorTypes\";\nimport {decoratorTypeOf} from \"../utils/decorators/decoratorTypeOf\";\nimport {deepClone} from \"../utils/objects/deepClone\";\nimport {deepMerge} from \"../utils/objects/deepMerge\";\nimport {descriptorOf} from \"../utils/objects/descriptorOf\";\nimport {isSymbol} from \"../utils/objects/isSymbol\";\nimport {nameOf} from \"../utils/objects/nameOf\";\nimport {Metadata} from \"./Metadata\";\nimport type {Type} from \"./Type\";\n\n/**\n * @ignore\n */\nexport const CLASS_STORE = \"tsed:class:store\";\n/**\n * @ignore\n */\nexport const METHOD_STORE = \"tsed:method:store\";\n/**\n * @ignore\n */\nexport const PROPERTY_STORE = \"tsed:property:store\";\n/**\n * @ignore\n */\nexport const PARAM_STORE = \"tsed:param:store\";\n\nconst stores = new Map<symbol, Store>();\n\nfunction storeGet(key: string, ...args: any[]): Store {\n if (isSymbol(args[0])) {\n if (!stores.has(args[0])) {\n stores.set(args[0], new Store());\n }\n\n return stores.get(args[0])!;\n } else {\n const registry = Metadata as any;\n\n if (!registry.hasOwn(key, ...args)) {\n registry.set(key, new Store(), ...args);\n }\n\n return registry.getOwn(key, ...args);\n }\n}\n\nfunction defineStore(args: any[]): Store {\n const [target, propertyKey, descriptor] = args;\n\n switch (decoratorTypeOf(args)) {\n case DecoratorTypes.PARAM_CTOR:\n case DecoratorTypes.PARAM_STC:\n case DecoratorTypes.PARAM:\n const store = storeGet(PARAM_STORE, target, propertyKey);\n if (!store.has(\"\" + descriptor)) {\n store.set(\"\" + descriptor, new Store());\n }\n\n return store.get(\"\" + descriptor);\n case DecoratorTypes.PROP:\n case DecoratorTypes.PROP_STC:\n return storeGet(PROPERTY_STORE, target, propertyKey);\n case DecoratorTypes.METHOD:\n case DecoratorTypes.METHOD_STC:\n return storeGet(METHOD_STORE, target, propertyKey);\n case DecoratorTypes.CLASS:\n return storeGet(CLASS_STORE, target);\n }\n}\n\nexport class Store {\n private _entries = new Map<string, any>();\n /**\n * Create or get a Store from args {target + methodName + descriptor}\n * @param args\n * @returns {Store}\n */\n static from(...args: any[]): Store {\n return defineStore(args);\n }\n\n /**\n * Create store on the method.\n * @param target\n * @param {string} propertyKey\n * @returns {Store}\n */\n static fromMethod(target: any, propertyKey: string | symbol): Store {\n return Store.from(target, propertyKey, descriptorOf(target, propertyKey));\n }\n\n static mergeStoreFrom(target: Type<any>, source: Type<any>, ...args: any[]) {\n const store = Store.from(target, ...args);\n\n Store.from(source, ...args)._entries.forEach((value, key) => {\n store.merge(key, value);\n });\n\n return store;\n }\n\n static mergeStoreMethodFrom(target: Type<any>, source: Type<any>, propertyKey: string | symbol) {\n return this.mergeStoreFrom(target, source, propertyKey, descriptorOf(target, propertyKey));\n }\n\n /**\n * The get() method returns a specified element from a Map object.\n * @param key Required. The key of the element to return from the Map object.\n * @param defaultValue\n * @returns {T} Returns the element associated with the specified key or undefined if the key can't be found in the Map object.\n */\n get<T = any>(key: any, defaultValue?: any): T {\n return this._entries.get(nameOf(key)) || defaultValue;\n }\n\n /**\n * The has() method returns a boolean indicating whether an element with the specified key exists or not.\n * @param key\n * @returns {boolean}\n */\n has(key: any): boolean {\n return this._entries.has(nameOf(key));\n }\n\n /**\n * The set() method adds or updates an element with a specified key and value to a Map object.\n * @param key Required. The key of the element to add to the Map object.\n * @param metadata Required. The value of the element to add to the Map object.\n */\n set(key: any, metadata: any): Store {\n this._entries.set(nameOf(key), metadata);\n\n return this;\n }\n\n /**\n * The delete() method removes the specified element from a Map object.\n * @param key Required. The key of the element to remove from the Map object.\n * @returns {boolean} Returns true if an element in the Map object existed and has been removed, or false if the element does not exist.\n */\n delete(key: string): boolean {\n return this._entries.delete(nameOf(key));\n }\n\n /**\n * Merge given value with existing value.\n * @param key\n * @param value\n * @param inverse Change the merge order. Get the existing value and apply over given value\n * @returns {Store}\n */\n merge(key: any, value: any, inverse: boolean = false): Store {\n let _value_ = this.get(key);\n\n if (_value_) {\n value = deepClone(value);\n _value_ = deepClone(_value_);\n value = inverse ? deepMerge(value, _value_) : deepMerge(_value_, value);\n }\n\n this.set(key, value);\n\n return this;\n }\n\n toJson() {\n return [...this._entries.entries()].reduce((obj, [key, value]) => {\n return {\n ...obj,\n [key]: value\n };\n }, {});\n }\n}\n"]}
1
+ {"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/domain/Store.ts"],"names":[],"mappings":"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","sourcesContent":["import {DecoratorTypes} from \"../domain/DecoratorTypes\";\nimport {decoratorTypeOf} from \"../utils/decorators/decoratorTypeOf\";\nimport {deepClone} from \"../utils/objects/deepClone\";\nimport {deepMerge} from \"../utils/objects/deepMerge\";\nimport {descriptorOf} from \"../utils/objects/descriptorOf\";\nimport {isSymbol} from \"../utils/objects/isSymbol\";\nimport {nameOf} from \"../utils/objects/nameOf\";\nimport {Metadata} from \"./Metadata\";\nimport type {Type} from \"./Type\";\n\n/**\n * @ignore\n */\nexport const CLASS_STORE = \"tsed:class:store\";\n/**\n * @ignore\n */\nexport const METHOD_STORE = \"tsed:method:store\";\n/**\n * @ignore\n */\nexport const PROPERTY_STORE = \"tsed:property:store\";\n/**\n * @ignore\n */\nexport const PARAM_STORE = \"tsed:param:store\";\n\nconst stores = new Map<symbol, Store>();\n\nfunction storeGet(key: string, ...args: any[]): Store {\n if (isSymbol(args[0])) {\n if (!stores.has(args[0])) {\n stores.set(args[0], new Store());\n }\n\n return stores.get(args[0])!;\n } else {\n const registry = Metadata as any;\n\n if (!registry.hasOwn(key, ...args)) {\n registry.set(key, new Store(), ...args);\n }\n\n return registry.getOwn(key, ...args);\n }\n}\n\nfunction defineStore(args: any[]): Store {\n const [target, propertyKey, descriptor] = args;\n\n switch (decoratorTypeOf(args)) {\n case DecoratorTypes.PARAM_CTOR:\n case DecoratorTypes.PARAM_STC:\n case DecoratorTypes.PARAM:\n const store = storeGet(PARAM_STORE, target, propertyKey);\n if (!store.has(\"\" + descriptor)) {\n store.set(\"\" + descriptor, new Store());\n }\n\n return store.get(\"\" + descriptor);\n case DecoratorTypes.PROP:\n case DecoratorTypes.PROP_STC:\n return storeGet(PROPERTY_STORE, target, propertyKey);\n case DecoratorTypes.METHOD:\n case DecoratorTypes.METHOD_STC:\n return storeGet(METHOD_STORE, target, propertyKey);\n case DecoratorTypes.CLASS:\n return storeGet(CLASS_STORE, target);\n }\n}\n\nexport class Store {\n private _entries = new Map<string, any>();\n /**\n * Create or get a Store from args {target + methodName + descriptor}\n * @param args\n * @returns {Store}\n */\n static from(...args: any[]): Store {\n return defineStore(args);\n }\n\n /**\n * Create store on the method.\n * @param target\n * @param {string} propertyKey\n * @returns {Store}\n */\n static fromMethod(target: any, propertyKey: string | symbol): Store {\n return Store.from(target, propertyKey, descriptorOf(target, propertyKey));\n }\n\n static mergeStoreFrom(target: Type<any>, source: Type<any>, ...args: any[]) {\n const store = Store.from(target, ...args);\n\n Store.from(source, ...args)._entries.forEach((value, key) => {\n store.merge(key, value);\n });\n\n return store;\n }\n\n static mergeStoreMethodFrom(target: Type<any>, source: Type<any>, propertyKey: string | symbol) {\n return this.mergeStoreFrom(target, source, propertyKey, descriptorOf(target, propertyKey));\n }\n\n /**\n * The get() method returns a specified element from a Map object.\n * @param key Required. The key of the element to return from the Map object.\n * @param defaultValue\n * @returns {T} Returns the element associated with the specified key or undefined if the key can't be found in the Map object.\n */\n get<T = any>(key: any, defaultValue?: any): T {\n return this._entries.get(nameOf(key)) || defaultValue;\n }\n\n /**\n * The has() method returns a boolean indicating whether an element with the specified key exists or not.\n * @param key\n * @returns {boolean}\n */\n has(key: any): boolean {\n return this._entries.has(nameOf(key));\n }\n\n /**\n * The set() method adds or updates an element with a specified key and value to a Map object.\n * @param key Required. The key of the element to add to the Map object.\n * @param metadata Required. The value of the element to add to the Map object.\n */\n set(key: any, metadata: any): Store {\n this._entries.set(nameOf(key), metadata);\n\n return this;\n }\n\n /**\n * The delete() method removes the specified element from a Map object.\n * @param key Required. The key of the element to remove from the Map object.\n * @returns {boolean} Returns true if an element in the Map object existed and has been removed, or false if the element does not exist.\n */\n delete(key: string): boolean {\n return this._entries.delete(nameOf(key));\n }\n\n /**\n * Merge given value with existing value.\n * @param key\n * @param value\n * @param inverse Change the merge order. Get the existing value and apply over given value\n * @returns {Store}\n */\n merge(key: any, value: any, inverse: boolean = false): Store {\n let _value_ = this.get(key);\n\n if (_value_) {\n value = deepClone(value);\n _value_ = deepClone(_value_);\n value = inverse ? deepMerge(value, _value_) : deepMerge(_value_, value);\n }\n\n this.set(key, value);\n\n return this;\n }\n\n toJson() {\n return [...this._entries.entries()].reduce((obj, [key, value]) => {\n return {\n ...obj,\n [key]: value\n };\n }, {});\n }\n}\n"]}
@@ -1,19 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UnsupportedDecoratorType = void 0;
4
- const utils_1 = require("../utils");
4
+ const decoratorTypeOf_1 = require("../utils/decorators/decoratorTypeOf");
5
+ const classOf_1 = require("../utils/objects/classOf");
6
+ const nameOf_1 = require("../utils/objects/nameOf");
5
7
  class UnsupportedDecoratorType extends Error {
8
+ name;
6
9
  constructor(decorator, args) {
7
10
  super(UnsupportedDecoratorType.buildMessage(decorator, args));
8
11
  }
9
12
  static buildMessage(decorator, args) {
10
13
  const [target, propertyKey, index] = args;
11
- const bindingType = (0, utils_1.decoratorTypeOf)(args);
14
+ const bindingType = (0, decoratorTypeOf_1.decoratorTypeOf)(args);
12
15
  const shortBinding = bindingType.split("/")[0];
13
16
  const param = shortBinding === "parameter" ? ".[" + index + "]" : "";
14
17
  const cstr = shortBinding === "parameter" ? ".constructor" : "";
15
18
  const method = propertyKey ? "." + propertyKey : cstr;
16
- const path = (0, utils_1.nameOf)((0, utils_1.classOf)(target)) + method + param;
19
+ const path = (0, nameOf_1.nameOf)((0, classOf_1.classOf)(target)) + method + param;
17
20
  return `${decorator.name} cannot be used as ${bindingType} decorator on ${path}`;
18
21
  }
19
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UnsupportedDecoratorType.js","sourceRoot":"","sources":["../../../src/errors/UnsupportedDecoratorType.ts"],"names":[],"mappings":";;;AAAA,oCAA0D;AAE1D,MAAa,wBAAyB,SAAQ,KAAK;IAGjD,YAAY,SAAc,EAAE,IAAW;QACrC,KAAK,CAAC,wBAAwB,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,SAAc,EAAE,IAAW;QACrD,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;QAE1C,MAAM,WAAW,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtD,MAAM,IAAI,GAAG,IAAA,cAAM,EAAC,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;QAEtD,OAAO,GAAG,SAAS,CAAC,IAAI,sBAAsB,WAAW,iBAAiB,IAAI,EAAE,CAAC;IACnF,CAAC;CACF;AApBD,4DAoBC","sourcesContent":["import {classOf, decoratorTypeOf, nameOf} from \"../utils\";\n\nexport class UnsupportedDecoratorType extends Error {\n name: \"UNSUPPORTED_DECORATOR_TYPE\";\n\n constructor(decorator: any, args: any[]) {\n super(UnsupportedDecoratorType.buildMessage(decorator, args));\n }\n\n private static buildMessage(decorator: any, args: any[]): string {\n const [target, propertyKey, index] = args;\n\n const bindingType = decoratorTypeOf(args);\n const shortBinding = bindingType.split(\"/\")[0];\n const param = shortBinding === \"parameter\" ? \".[\" + index + \"]\" : \"\";\n const cstr = shortBinding === \"parameter\" ? \".constructor\" : \"\";\n const method = propertyKey ? \".\" + propertyKey : cstr;\n\n const path = nameOf(classOf(target)) + method + param;\n\n return `${decorator.name} cannot be used as ${bindingType} decorator on ${path}`;\n }\n}\n"]}
1
+ {"version":3,"file":"UnsupportedDecoratorType.js","sourceRoot":"","sources":["../../../src/errors/UnsupportedDecoratorType.ts"],"names":[],"mappings":";;;AAAA,yEAAoE;AACpE,sDAAiD;AACjD,oDAA+C;AAE/C,MAAa,wBAAyB,SAAQ,KAAK;IACjD,IAAI,CAA+B;IAEnC,YAAY,SAAc,EAAE,IAAW;QACrC,KAAK,CAAC,wBAAwB,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,SAAc,EAAE,IAAW;QACrD,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;QAE1C,MAAM,WAAW,GAAG,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtD,MAAM,IAAI,GAAG,IAAA,eAAM,EAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;QAEtD,OAAO,GAAG,SAAS,CAAC,IAAI,sBAAsB,WAAW,iBAAiB,IAAI,EAAE,CAAC;IACnF,CAAC;CACF;AApBD,4DAoBC","sourcesContent":["import {decoratorTypeOf} from \"../utils/decorators/decoratorTypeOf\";\nimport {classOf} from \"../utils/objects/classOf\";\nimport {nameOf} from \"../utils/objects/nameOf\";\n\nexport class UnsupportedDecoratorType extends Error {\n name: \"UNSUPPORTED_DECORATOR_TYPE\";\n\n constructor(decorator: any, args: any[]) {\n super(UnsupportedDecoratorType.buildMessage(decorator, args));\n }\n\n private static buildMessage(decorator: any, args: any[]): string {\n const [target, propertyKey, index] = args;\n\n const bindingType = decoratorTypeOf(args);\n const shortBinding = bindingType.split(\"/\")[0];\n const param = shortBinding === \"parameter\" ? \".[\" + index + \"]\" : \"\";\n const cstr = shortBinding === \"parameter\" ? \".constructor\" : \"\";\n const method = propertyKey ? \".\" + propertyKey : cstr;\n\n const path = nameOf(classOf(target)) + method + param;\n\n return `${decorator.name} cannot be used as ${bindingType} decorator on ${path}`;\n }\n}\n"]}
package/lib/cjs/index.js CHANGED
@@ -1,9 +1,85 @@
1
1
  "use strict";
2
+ /**
3
+ * @file Automatically generated by barrelsby.
4
+ */
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const tslib_1 = require("tslib");
4
- require("reflect-metadata");
5
- (0, tslib_1.__exportStar)(require("./utils"), exports);
6
- (0, tslib_1.__exportStar)(require("./domain"), exports);
7
- (0, tslib_1.__exportStar)(require("./errors/UnsupportedDecoratorType"), exports);
8
- (0, tslib_1.__exportStar)(require("./decorators"), exports);
7
+ tslib_1.__exportStar(require("./decorators/configurable"), exports);
8
+ tslib_1.__exportStar(require("./decorators/deprecated"), exports);
9
+ tslib_1.__exportStar(require("./decorators/enumerable"), exports);
10
+ tslib_1.__exportStar(require("./decorators/notConfigurable"), exports);
11
+ tslib_1.__exportStar(require("./decorators/notEnumerable"), exports);
12
+ tslib_1.__exportStar(require("./decorators/readOnly"), exports);
13
+ tslib_1.__exportStar(require("./decorators/storeFn"), exports);
14
+ tslib_1.__exportStar(require("./decorators/storeMerge"), exports);
15
+ tslib_1.__exportStar(require("./decorators/storeSet"), exports);
16
+ tslib_1.__exportStar(require("./decorators/writable"), exports);
17
+ tslib_1.__exportStar(require("./domain/AnyToPromise"), exports);
18
+ tslib_1.__exportStar(require("./domain/DecoratorTypes"), exports);
19
+ tslib_1.__exportStar(require("./domain/Env"), exports);
20
+ tslib_1.__exportStar(require("./domain/Hooks"), exports);
21
+ tslib_1.__exportStar(require("./domain/Metadata"), exports);
22
+ tslib_1.__exportStar(require("./domain/Store"), exports);
23
+ tslib_1.__exportStar(require("./domain/Type"), exports);
24
+ tslib_1.__exportStar(require("./errors/UnsupportedDecoratorType"), exports);
25
+ tslib_1.__exportStar(require("./interfaces/AnyDecorator"), exports);
26
+ tslib_1.__exportStar(require("./interfaces/DecoratorParameters"), exports);
27
+ tslib_1.__exportStar(require("./interfaces/HashOf"), exports);
28
+ tslib_1.__exportStar(require("./interfaces/MetadataTypes"), exports);
29
+ tslib_1.__exportStar(require("./interfaces/ValueOf"), exports);
30
+ tslib_1.__exportStar(require("./utils/catchError"), exports);
31
+ tslib_1.__exportStar(require("./utils/proxyDelegation"), exports);
32
+ tslib_1.__exportStar(require("./utils/uniq"), exports);
33
+ tslib_1.__exportStar(require("./utils/decorators/decorateMethodsOf"), exports);
34
+ tslib_1.__exportStar(require("./utils/decorators/decoratorArgs"), exports);
35
+ tslib_1.__exportStar(require("./utils/decorators/decoratorTypeOf"), exports);
36
+ tslib_1.__exportStar(require("./utils/decorators/inheritedDescriptorOf"), exports);
37
+ tslib_1.__exportStar(require("./utils/decorators/useDecorators"), exports);
38
+ tslib_1.__exportStar(require("./utils/decorators/useMethodDecorators"), exports);
39
+ tslib_1.__exportStar(require("./utils/http/getHostInfoFromPort"), exports);
40
+ tslib_1.__exportStar(require("./utils/imports/importPackage"), exports);
41
+ tslib_1.__exportStar(require("./utils/objects/ancestorOf"), exports);
42
+ tslib_1.__exportStar(require("./utils/objects/ancestorsOf"), exports);
43
+ tslib_1.__exportStar(require("./utils/objects/classOf"), exports);
44
+ tslib_1.__exportStar(require("./utils/objects/cleanObject"), exports);
45
+ tslib_1.__exportStar(require("./utils/objects/constructorOf"), exports);
46
+ tslib_1.__exportStar(require("./utils/objects/createInstance"), exports);
47
+ tslib_1.__exportStar(require("./utils/objects/deepClone"), exports);
48
+ tslib_1.__exportStar(require("./utils/objects/deepMerge"), exports);
49
+ tslib_1.__exportStar(require("./utils/objects/descriptorOf"), exports);
50
+ tslib_1.__exportStar(require("./utils/objects/getClassOrSymbol"), exports);
51
+ tslib_1.__exportStar(require("./utils/objects/getConstructorArgNames"), exports);
52
+ tslib_1.__exportStar(require("./utils/objects/getEnumerableKeys"), exports);
53
+ tslib_1.__exportStar(require("./utils/objects/getValue"), exports);
54
+ tslib_1.__exportStar(require("./utils/objects/isArray"), exports);
55
+ tslib_1.__exportStar(require("./utils/objects/isArrowFn"), exports);
56
+ tslib_1.__exportStar(require("./utils/objects/isBoolean"), exports);
57
+ tslib_1.__exportStar(require("./utils/objects/isBuffer"), exports);
58
+ tslib_1.__exportStar(require("./utils/objects/isClass"), exports);
59
+ tslib_1.__exportStar(require("./utils/objects/isCollection"), exports);
60
+ tslib_1.__exportStar(require("./utils/objects/isDate"), exports);
61
+ tslib_1.__exportStar(require("./utils/objects/isEmpty"), exports);
62
+ tslib_1.__exportStar(require("./utils/objects/isEnumerable"), exports);
63
+ tslib_1.__exportStar(require("./utils/objects/isFunction"), exports);
64
+ tslib_1.__exportStar(require("./utils/objects/isInheritedFrom"), exports);
65
+ tslib_1.__exportStar(require("./utils/objects/isNil"), exports);
66
+ tslib_1.__exportStar(require("./utils/objects/isNumber"), exports);
67
+ tslib_1.__exportStar(require("./utils/objects/isObject"), exports);
68
+ tslib_1.__exportStar(require("./utils/objects/isObservable"), exports);
69
+ tslib_1.__exportStar(require("./utils/objects/isPlainObject"), exports);
70
+ tslib_1.__exportStar(require("./utils/objects/isPrimitive"), exports);
71
+ tslib_1.__exportStar(require("./utils/objects/isPromise"), exports);
72
+ tslib_1.__exportStar(require("./utils/objects/isProtectedKey"), exports);
73
+ tslib_1.__exportStar(require("./utils/objects/isSerializable"), exports);
74
+ tslib_1.__exportStar(require("./utils/objects/isStream"), exports);
75
+ tslib_1.__exportStar(require("./utils/objects/isString"), exports);
76
+ tslib_1.__exportStar(require("./utils/objects/isSymbol"), exports);
77
+ tslib_1.__exportStar(require("./utils/objects/methodsOf"), exports);
78
+ tslib_1.__exportStar(require("./utils/objects/nameOf"), exports);
79
+ tslib_1.__exportStar(require("./utils/objects/objectKeys"), exports);
80
+ tslib_1.__exportStar(require("./utils/objects/primitiveOf"), exports);
81
+ tslib_1.__exportStar(require("./utils/objects/prototypeOf"), exports);
82
+ tslib_1.__exportStar(require("./utils/objects/setValue"), exports);
83
+ tslib_1.__exportStar(require("./utils/objects/toMap"), exports);
84
+ tslib_1.__exportStar(require("./utils/objects/toStringConstructor"), exports);
9
85
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAG1B,uDAAwB;AACxB,wDAAyB;AACzB,iFAAkD;AAClD,4DAA6B","sourcesContent":["import \"reflect-metadata\";\n\nexport type {DecoratorParameters, DecoratorMethodParameters, StaticMethodDecorator, MetadataTypes, ValueOf, HashOf} from \"./interfaces\";\nexport * from \"./utils\";\nexport * from \"./domain\";\nexport * from \"./errors/UnsupportedDecoratorType\";\nexport * from \"./decorators\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,oEAA0C;AAC1C,kEAAwC;AACxC,kEAAwC;AACxC,uEAA6C;AAC7C,qEAA2C;AAC3C,gEAAsC;AACtC,+DAAqC;AACrC,kEAAwC;AACxC,gEAAsC;AACtC,gEAAsC;AACtC,gEAAsC;AACtC,kEAAwC;AACxC,uDAA6B;AAC7B,yDAA+B;AAC/B,4DAAkC;AAClC,yDAA+B;AAC/B,wDAA8B;AAC9B,4EAAkD;AAClD,oEAA0C;AAC1C,2EAAiD;AACjD,8DAAoC;AACpC,qEAA2C;AAC3C,+DAAqC;AACrC,6DAAmC;AACnC,kEAAwC;AACxC,uDAA6B;AAC7B,+EAAqD;AACrD,2EAAiD;AACjD,6EAAmD;AACnD,mFAAyD;AACzD,2EAAiD;AACjD,iFAAuD;AACvD,2EAAiD;AACjD,wEAA8C;AAC9C,qEAA2C;AAC3C,sEAA4C;AAC5C,kEAAwC;AACxC,sEAA4C;AAC5C,wEAA8C;AAC9C,yEAA+C;AAC/C,oEAA0C;AAC1C,oEAA0C;AAC1C,uEAA6C;AAC7C,2EAAiD;AACjD,iFAAuD;AACvD,4EAAkD;AAClD,mEAAyC;AACzC,kEAAwC;AACxC,oEAA0C;AAC1C,oEAA0C;AAC1C,mEAAyC;AACzC,kEAAwC;AACxC,uEAA6C;AAC7C,iEAAuC;AACvC,kEAAwC;AACxC,uEAA6C;AAC7C,qEAA2C;AAC3C,0EAAgD;AAChD,gEAAsC;AACtC,mEAAyC;AACzC,mEAAyC;AACzC,uEAA6C;AAC7C,wEAA8C;AAC9C,sEAA4C;AAC5C,oEAA0C;AAC1C,yEAA+C;AAC/C,yEAA+C;AAC/C,mEAAyC;AACzC,mEAAyC;AACzC,mEAAyC;AACzC,oEAA0C;AAC1C,iEAAuC;AACvC,qEAA2C;AAC3C,sEAA4C;AAC5C,sEAA4C;AAC5C,mEAAyC;AACzC,gEAAsC;AACtC,8EAAoD","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./decorators/configurable\";\nexport * from \"./decorators/deprecated\";\nexport * from \"./decorators/enumerable\";\nexport * from \"./decorators/notConfigurable\";\nexport * from \"./decorators/notEnumerable\";\nexport * from \"./decorators/readOnly\";\nexport * from \"./decorators/storeFn\";\nexport * from \"./decorators/storeMerge\";\nexport * from \"./decorators/storeSet\";\nexport * from \"./decorators/writable\";\nexport * from \"./domain/AnyToPromise\";\nexport * from \"./domain/DecoratorTypes\";\nexport * from \"./domain/Env\";\nexport * from \"./domain/Hooks\";\nexport * from \"./domain/Metadata\";\nexport * from \"./domain/Store\";\nexport * from \"./domain/Type\";\nexport * from \"./errors/UnsupportedDecoratorType\";\nexport * from \"./interfaces/AnyDecorator\";\nexport * from \"./interfaces/DecoratorParameters\";\nexport * from \"./interfaces/HashOf\";\nexport * from \"./interfaces/MetadataTypes\";\nexport * from \"./interfaces/ValueOf\";\nexport * from \"./utils/catchError\";\nexport * from \"./utils/proxyDelegation\";\nexport * from \"./utils/uniq\";\nexport * from \"./utils/decorators/decorateMethodsOf\";\nexport * from \"./utils/decorators/decoratorArgs\";\nexport * from \"./utils/decorators/decoratorTypeOf\";\nexport * from \"./utils/decorators/inheritedDescriptorOf\";\nexport * from \"./utils/decorators/useDecorators\";\nexport * from \"./utils/decorators/useMethodDecorators\";\nexport * from \"./utils/http/getHostInfoFromPort\";\nexport * from \"./utils/imports/importPackage\";\nexport * from \"./utils/objects/ancestorOf\";\nexport * from \"./utils/objects/ancestorsOf\";\nexport * from \"./utils/objects/classOf\";\nexport * from \"./utils/objects/cleanObject\";\nexport * from \"./utils/objects/constructorOf\";\nexport * from \"./utils/objects/createInstance\";\nexport * from \"./utils/objects/deepClone\";\nexport * from \"./utils/objects/deepMerge\";\nexport * from \"./utils/objects/descriptorOf\";\nexport * from \"./utils/objects/getClassOrSymbol\";\nexport * from \"./utils/objects/getConstructorArgNames\";\nexport * from \"./utils/objects/getEnumerableKeys\";\nexport * from \"./utils/objects/getValue\";\nexport * from \"./utils/objects/isArray\";\nexport * from \"./utils/objects/isArrowFn\";\nexport * from \"./utils/objects/isBoolean\";\nexport * from \"./utils/objects/isBuffer\";\nexport * from \"./utils/objects/isClass\";\nexport * from \"./utils/objects/isCollection\";\nexport * from \"./utils/objects/isDate\";\nexport * from \"./utils/objects/isEmpty\";\nexport * from \"./utils/objects/isEnumerable\";\nexport * from \"./utils/objects/isFunction\";\nexport * from \"./utils/objects/isInheritedFrom\";\nexport * from \"./utils/objects/isNil\";\nexport * from \"./utils/objects/isNumber\";\nexport * from \"./utils/objects/isObject\";\nexport * from \"./utils/objects/isObservable\";\nexport * from \"./utils/objects/isPlainObject\";\nexport * from \"./utils/objects/isPrimitive\";\nexport * from \"./utils/objects/isPromise\";\nexport * from \"./utils/objects/isProtectedKey\";\nexport * from \"./utils/objects/isSerializable\";\nexport * from \"./utils/objects/isStream\";\nexport * from \"./utils/objects/isString\";\nexport * from \"./utils/objects/isSymbol\";\nexport * from \"./utils/objects/methodsOf\";\nexport * from \"./utils/objects/nameOf\";\nexport * from \"./utils/objects/objectKeys\";\nexport * from \"./utils/objects/primitiveOf\";\nexport * from \"./utils/objects/prototypeOf\";\nexport * from \"./utils/objects/setValue\";\nexport * from \"./utils/objects/toMap\";\nexport * from \"./utils/objects/toStringConstructor\";\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -1,22 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.decorateMethodsOf = void 0;
4
+ const Store_1 = require("../../domain/Store");
4
5
  const classOf_1 = require("../objects/classOf");
6
+ const descriptorOf_1 = require("../objects/descriptorOf");
5
7
  const methodsOf_1 = require("../objects/methodsOf");
6
8
  const prototypeOf_1 = require("../objects/prototypeOf");
7
- const descriptorOf_1 = require("../objects/descriptorOf");
8
- const Store_1 = require("../../domain/Store");
9
9
  function decorateMethodsOf(klass, decorator) {
10
10
  (0, methodsOf_1.methodsOf)(klass).forEach(({ target, propertyKey }) => {
11
+ const proto = (0, prototypeOf_1.prototypeOf)(klass);
11
12
  if (target !== (0, classOf_1.classOf)(klass)) {
12
- Object.defineProperty((0, prototypeOf_1.prototypeOf)(klass), propertyKey, {
13
+ Object.defineProperty(proto, propertyKey, {
14
+ writable: true,
15
+ configurable: true,
13
16
  value(...args) {
14
17
  return (0, prototypeOf_1.prototypeOf)(target)[propertyKey].apply(this, args);
15
18
  }
16
19
  });
17
20
  Store_1.Store.mergeStoreMethodFrom(klass, target, propertyKey);
18
21
  }
19
- decorator((0, prototypeOf_1.prototypeOf)(klass), propertyKey, (0, descriptorOf_1.descriptorOf)(klass, propertyKey));
22
+ const newDescriptor = decorator(proto, propertyKey, (0, descriptorOf_1.descriptorOf)(klass, propertyKey));
23
+ if (newDescriptor) {
24
+ Object.defineProperty(proto, propertyKey, newDescriptor);
25
+ }
20
26
  });
21
27
  }
22
28
  exports.decorateMethodsOf = decorateMethodsOf;
@@ -1 +1 @@
1
- {"version":3,"file":"decorateMethodsOf.js","sourceRoot":"","sources":["../../../../src/utils/decorators/decorateMethodsOf.ts"],"names":[],"mappings":";;;AAAA,gDAA2C;AAC3C,oDAA+C;AAC/C,wDAAmD;AACnD,0DAAqD;AACrD,8CAAyC;AAEzC,SAAgB,iBAAiB,CAAC,KAAU,EAAE,SAAc;IAC1D,IAAA,qBAAS,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,EAAC,MAAM,EAAE,WAAW,EAAC,EAAE,EAAE;QACjD,IAAI,MAAM,KAAK,IAAA,iBAAO,EAAC,KAAK,CAAC,EAAE;YAC7B,MAAM,CAAC,cAAc,CAAC,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE,WAAW,EAAE;gBACrD,KAAK,CAAC,GAAG,IAAW;oBAClB,OAAO,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC5D,CAAC;aACF,CAAC,CAAC;YAEH,aAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;SACxD;QAED,SAAS,CAAC,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE,WAAW,EAAE,IAAA,2BAAY,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,8CAcC","sourcesContent":["import {classOf} from \"../objects/classOf\";\nimport {methodsOf} from \"../objects/methodsOf\";\nimport {prototypeOf} from \"../objects/prototypeOf\";\nimport {descriptorOf} from \"../objects/descriptorOf\";\nimport {Store} from \"../../domain/Store\";\n\nexport function decorateMethodsOf(klass: any, decorator: any) {\n methodsOf(klass).forEach(({target, propertyKey}) => {\n if (target !== classOf(klass)) {\n Object.defineProperty(prototypeOf(klass), propertyKey, {\n value(...args: any[]) {\n return prototypeOf(target)[propertyKey].apply(this, args);\n }\n });\n\n Store.mergeStoreMethodFrom(klass, target, propertyKey);\n }\n\n decorator(prototypeOf(klass), propertyKey, descriptorOf(klass, propertyKey));\n });\n}\n"]}
1
+ {"version":3,"file":"decorateMethodsOf.js","sourceRoot":"","sources":["../../../../src/utils/decorators/decorateMethodsOf.ts"],"names":[],"mappings":";;;AAAA,8CAAyC;AACzC,gDAA2C;AAC3C,0DAAqD;AACrD,oDAA+C;AAC/C,wDAAmD;AAEnD,SAAgB,iBAAiB,CAAC,KAAU,EAAE,SAAc;IAC1D,IAAA,qBAAS,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,EAAC,MAAM,EAAE,WAAW,EAAC,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,IAAA,yBAAW,EAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,MAAM,KAAK,IAAA,iBAAO,EAAC,KAAK,CAAC,EAAE;YAC7B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE;gBACxC,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;gBAClB,KAAK,CAAC,GAAG,IAAW;oBAClB,OAAO,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC5D,CAAC;aACF,CAAC,CAAC;YAEH,aAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;SACxD;QAED,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,IAAA,2BAAY,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;QAEtF,IAAI,aAAa,EAAE;YACjB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;SAC1D;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAtBD,8CAsBC","sourcesContent":["import {Store} from \"../../domain/Store\";\nimport {classOf} from \"../objects/classOf\";\nimport {descriptorOf} from \"../objects/descriptorOf\";\nimport {methodsOf} from \"../objects/methodsOf\";\nimport {prototypeOf} from \"../objects/prototypeOf\";\n\nexport function decorateMethodsOf(klass: any, decorator: any) {\n methodsOf(klass).forEach(({target, propertyKey}) => {\n const proto = prototypeOf(klass);\n\n if (target !== classOf(klass)) {\n Object.defineProperty(proto, propertyKey, {\n writable: true,\n configurable: true,\n value(...args: any[]) {\n return prototypeOf(target)[propertyKey].apply(this, args);\n }\n });\n\n Store.mergeStoreMethodFrom(klass, target, propertyKey);\n }\n\n const newDescriptor = decorator(proto, propertyKey, descriptorOf(klass, propertyKey));\n\n if (newDescriptor) {\n Object.defineProperty(proto, propertyKey, newDescriptor);\n }\n });\n}\n"]}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"importPackage.js","sourceRoot":"","sources":["../../../../src/utils/imports/importPackage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAO,KAAK,UAAU,aAAa,CAAC,WAAmB,EAAE,WAAqB,GAAG,EAAE,mDAAQ,WAAW,GAAC,EAAE,QAAQ,GAAG,KAAK;IACvH,IAAI;QACF,OAAO,MAAM,QAAQ,EAAE,CAAC;KACzB;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,CAAC,CAAC;SACT;QAED,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAVD,sCAUC","sourcesContent":["export async function importPackage(packageName: string, loaderFn: Function = () => import(packageName), optional = false) {\n try {\n return await loaderFn();\n } catch (e) {\n if (!optional) {\n throw e;\n }\n\n return {};\n }\n}\n"]}
1
+ {"version":3,"file":"importPackage.js","sourceRoot":"","sources":["../../../../src/utils/imports/importPackage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,KAAK,UAAU,aAAa,CAAC,WAAmB,EAAE,WAAqB,GAAG,EAAE,mDAAQ,WAAW,GAAC,EAAE,QAAQ,GAAG,KAAK;IACvH,IAAI;QACF,OAAO,MAAM,QAAQ,EAAE,CAAC;KACzB;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,CAAC,CAAC;SACT;QAED,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAVD,sCAUC","sourcesContent":["export async function importPackage(packageName: string, loaderFn: Function = () => import(packageName), optional = false) {\n try {\n return await loaderFn();\n } catch (e) {\n if (!optional) {\n throw e;\n }\n\n return {};\n }\n}\n"]}
@@ -7,6 +7,7 @@ const isFunction_1 = require("./isFunction");
7
7
  const isNil_1 = require("./isNil");
8
8
  const isPrimitive_1 = require("./isPrimitive");
9
9
  const isSymbol_1 = require("./isSymbol");
10
+ const isBuffer_1 = require("./isBuffer");
10
11
  const isBasicType = (source) => (0, isNil_1.isNil)(source) || (0, isPrimitive_1.isPrimitive)(source) || (0, isSymbol_1.isSymbol)(source) || (0, isFunction_1.isFunction)(source);
11
12
  /**
12
13
  * Return a cloned value
@@ -18,6 +19,11 @@ function deepClone(source, stack = new WeakMap()) {
18
19
  if (isBasicType(source)) {
19
20
  return source;
20
21
  }
22
+ if ((0, isBuffer_1.isBuffer)(source)) {
23
+ const copy = Buffer.alloc(source.length);
24
+ source.copy(copy);
25
+ return copy;
26
+ }
21
27
  if ((0, isDate_1.isDate)(source)) {
22
28
  return new Date(source);
23
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../../../src/utils/objects/deepClone.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAClC,qCAAgC;AAChC,6CAAwC;AACxC,mCAA8B;AAC9B,+CAA0C;AAC1C,yCAAoC;AAEpC,MAAM,WAAW,GAAG,CAAC,MAAW,EAAE,EAAE,CAAC,IAAA,aAAK,EAAC,MAAM,CAAC,IAAI,IAAA,yBAAW,EAAC,MAAM,CAAC,IAAI,IAAA,mBAAQ,EAAC,MAAM,CAAC,IAAI,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAC;AAEpH;;;;GAIG;AACH,SAAgB,SAAS,CAAC,MAAW,EAAE,KAAK,GAAG,IAAI,OAAO,EAAE;IAC1D,IAAI,IAAS,CAAC;IAEd,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;QACvB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,IAAA,eAAM,EAAC,MAAM,CAAC,EAAE;QAClB,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;KACzB;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAElC,IAAI,OAAO,EAAE;QACX,kBAAkB;QAClB,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;QACpG,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,IAAA,iBAAO,EAAC,MAAM,CAAC,EAAE;QACnB,IAAI,GAAG,EAAE,CAAC;KACX;SAAM;QACL,IAAI,GAAG,EAAE,CAAC;QACV,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KACzB;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;QACxB,gGAAgG;QAChG,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAE,CAAC;QAEjE,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,IAAA,uBAAU,EAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACjC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAChD;iBAAM;gBACL,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;aAC9C;SACF;KACF;IAED,IAAI,CAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,EAAE;QACpB,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KACzC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AA9CD,8BA8CC","sourcesContent":["import {isArray} from \"./isArray\";\nimport {isDate} from \"./isDate\";\nimport {isFunction} from \"./isFunction\";\nimport {isNil} from \"./isNil\";\nimport {isPrimitive} from \"./isPrimitive\";\nimport {isSymbol} from \"./isSymbol\";\n\nconst isBasicType = (source: any) => isNil(source) || isPrimitive(source) || isSymbol(source) || isFunction(source);\n\n/**\n * Return a cloned value\n * @param source\n * @param stack\n */\nexport function deepClone(source: any, stack = new WeakMap()): any {\n let dest: any;\n\n if (isBasicType(source)) {\n return source;\n }\n\n if (isDate(source)) {\n return new Date(source);\n }\n\n const stacked = stack.get(source);\n\n if (stacked) {\n // See issue #1619\n // istanbul ignore next\n process.env.TSED_TRACK_CIRCULAR_REF && console.trace(\"Circular ref detected on deepClone\", stacked);\n return stacked;\n }\n\n if (isArray(source)) {\n dest = [];\n } else {\n dest = {};\n stack.set(source, dest);\n }\n\n for (const key in source) {\n // Use getOwnPropertyDescriptor instead of source[key] to prevent from triggering setter/getter.\n const descriptor = Object.getOwnPropertyDescriptor(source, key)!;\n\n if (descriptor) {\n if (!isFunction(descriptor.value)) {\n dest[key] = deepClone(descriptor.value, stack);\n } else {\n Object.defineProperty(dest, key, descriptor);\n }\n }\n }\n\n if (!isArray(source)) {\n const prototype = Reflect.getPrototypeOf(source);\n Reflect.setPrototypeOf(dest, prototype);\n }\n\n return dest;\n}\n"]}
1
+ {"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../../../src/utils/objects/deepClone.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAClC,qCAAgC;AAChC,6CAAwC;AACxC,mCAA8B;AAC9B,+CAA0C;AAC1C,yCAAoC;AACpC,yCAAoC;AAEpC,MAAM,WAAW,GAAG,CAAC,MAAW,EAAE,EAAE,CAAC,IAAA,aAAK,EAAC,MAAM,CAAC,IAAI,IAAA,yBAAW,EAAC,MAAM,CAAC,IAAI,IAAA,mBAAQ,EAAC,MAAM,CAAC,IAAI,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAC;AAEpH;;;;GAIG;AACH,SAAgB,SAAS,CAAC,MAAW,EAAE,KAAK,GAAG,IAAI,OAAO,EAAE;IAC1D,IAAI,IAAS,CAAC;IAEd,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;QACvB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,IAAA,mBAAQ,EAAC,MAAM,CAAC,EAAE;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,IAAA,eAAM,EAAC,MAAM,CAAC,EAAE;QAClB,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;KACzB;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAElC,IAAI,OAAO,EAAE;QACX,kBAAkB;QAClB,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;QACpG,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,IAAA,iBAAO,EAAC,MAAM,CAAC,EAAE;QACnB,IAAI,GAAG,EAAE,CAAC;KACX;SAAM;QACL,IAAI,GAAG,EAAE,CAAC;QACV,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KACzB;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;QACxB,gGAAgG;QAChG,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAE,CAAC;QAEjE,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,IAAA,uBAAU,EAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACjC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAChD;iBAAM;gBACL,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;aAC9C;SACF;KACF;IAED,IAAI,CAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,EAAE;QACpB,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KACzC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AApDD,8BAoDC","sourcesContent":["import {isArray} from \"./isArray\";\nimport {isDate} from \"./isDate\";\nimport {isFunction} from \"./isFunction\";\nimport {isNil} from \"./isNil\";\nimport {isPrimitive} from \"./isPrimitive\";\nimport {isSymbol} from \"./isSymbol\";\nimport {isBuffer} from \"./isBuffer\";\n\nconst isBasicType = (source: any) => isNil(source) || isPrimitive(source) || isSymbol(source) || isFunction(source);\n\n/**\n * Return a cloned value\n * @param source\n * @param stack\n */\nexport function deepClone(source: any, stack = new WeakMap()): any {\n let dest: any;\n\n if (isBasicType(source)) {\n return source;\n }\n\n if (isBuffer(source)) {\n const copy = Buffer.alloc(source.length);\n source.copy(copy);\n return copy;\n }\n\n if (isDate(source)) {\n return new Date(source);\n }\n\n const stacked = stack.get(source);\n\n if (stacked) {\n // See issue #1619\n // istanbul ignore next\n process.env.TSED_TRACK_CIRCULAR_REF && console.trace(\"Circular ref detected on deepClone\", stacked);\n return stacked;\n }\n\n if (isArray(source)) {\n dest = [];\n } else {\n dest = {};\n stack.set(source, dest);\n }\n\n for (const key in source) {\n // Use getOwnPropertyDescriptor instead of source[key] to prevent from triggering setter/getter.\n const descriptor = Object.getOwnPropertyDescriptor(source, key)!;\n\n if (descriptor) {\n if (!isFunction(descriptor.value)) {\n dest[key] = deepClone(descriptor.value, stack);\n } else {\n Object.defineProperty(dest, key, descriptor);\n }\n }\n }\n\n if (!isArray(source)) {\n const prototype = Reflect.getPrototypeOf(source);\n Reflect.setPrototypeOf(dest, prototype);\n }\n\n return dest;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../../../src/utils/objects/deepMerge.ts"],"names":[],"mappings":"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","sourcesContent":["import {createInstance} from \"./createInstance\";\nimport {isFunction} from \"./isFunction\";\nimport {isPrimitive} from \"./isPrimitive\";\nimport {isSymbol} from \"./isSymbol\";\nimport {objectKeys} from \"./objectKeys\";\n\nexport type DeepMergeReducerCB = (collection: any[], value: any, options?: DeepMergeOptions) => any;\nexport type DeepMergeComparatorCB = (item: any, ref: any) => boolean;\n\nexport interface DeepMergeOptions {\n reducers?: Record<string, DeepMergeReducerCB>;\n parentKey?: string;\n cleanUndefinedProps?: boolean;\n}\n\nexport function mergeReducerBuilder(cb: DeepMergeComparatorCB) {\n return (collection: any[], value: any, options: DeepMergeOptions) => {\n const index = collection.findIndex((item) => cb(item, value));\n\n if (index === -1) {\n return [...collection, value];\n }\n\n collection[index] = deepMerge(collection[index], value, options);\n\n return collection;\n };\n}\n\nconst defaultReducer = mergeReducerBuilder((a, b) => a === b);\n\nfunction getReducer({reducers, parentKey}: DeepMergeOptions) {\n if (!reducers) {\n return defaultReducer;\n }\n\n if (parentKey && reducers[parentKey]) {\n return reducers[parentKey];\n }\n\n return reducers[\"default\"] || defaultReducer;\n}\n\nfunction shouldReturnObj(obj: any, source: any) {\n return isPrimitive(obj) || isSymbol(obj) || isFunction(obj) || source === undefined;\n}\n\nfunction shouldReturnSource(obj: any, source: any) {\n return obj === undefined || obj === null || (obj === \"\" && source !== \"\");\n}\n\nexport function deepMerge<T extends any = any, C extends any = any>(\n source: T & any,\n obj: C & any,\n options: DeepMergeOptions = {}\n): (T & C) | undefined | null {\n if (shouldReturnSource(obj, source)) {\n return source as any;\n }\n\n if (shouldReturnObj(obj, source)) {\n return obj;\n }\n\n if (Array.isArray(source)) {\n const reducer = getReducer(options);\n\n return [].concat(obj).reduce((out: any[], value: any) => reducer(out, value, options), [...source]);\n }\n\n return [...objectKeys(source), ...objectKeys(obj)].reduce((out: any, key: string) => {\n const src = source && source[key];\n const value = deepMerge(src, obj && obj[key], {\n ...options,\n parentKey: key\n });\n\n if (options.cleanUndefinedProps && value === undefined) {\n return out;\n }\n\n return {\n ...out,\n [key]: value\n };\n }, createInstance(source));\n}\n"]}
1
+ {"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../../../src/utils/objects/deepMerge.ts"],"names":[],"mappings":"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","sourcesContent":["import {createInstance} from \"./createInstance\";\nimport {isFunction} from \"./isFunction\";\nimport {isPrimitive} from \"./isPrimitive\";\nimport {isSymbol} from \"./isSymbol\";\nimport {objectKeys} from \"./objectKeys\";\n\nexport type DeepMergeReducerCB = (collection: any[], value: any, options?: DeepMergeOptions) => any;\nexport type DeepMergeComparatorCB = (item: any, ref: any) => boolean;\n\nexport interface DeepMergeOptions {\n reducers?: Record<string, DeepMergeReducerCB>;\n parentKey?: string;\n cleanUndefinedProps?: boolean;\n}\n\nexport function mergeReducerBuilder(cb: DeepMergeComparatorCB) {\n return (collection: any[], value: any, options: DeepMergeOptions) => {\n const index = collection.findIndex((item) => cb(item, value));\n\n if (index === -1) {\n return [...collection, value];\n }\n\n collection[index] = deepMerge(collection[index], value, options);\n\n return collection;\n };\n}\n\nconst defaultReducer = mergeReducerBuilder((a, b) => a === b);\n\nfunction getReducer({reducers, parentKey}: DeepMergeOptions) {\n if (!reducers) {\n return defaultReducer;\n }\n\n if (parentKey && reducers[parentKey]) {\n return reducers[parentKey];\n }\n\n return reducers[\"default\"] || defaultReducer;\n}\n\nfunction shouldReturnObj(obj: any, source: any) {\n return isPrimitive(obj) || isSymbol(obj) || isFunction(obj) || source === undefined;\n}\n\nfunction shouldReturnSource(obj: any, source: any) {\n return obj === undefined || obj === null || (obj === \"\" && source !== \"\");\n}\n\nexport function deepMerge<T = any, C = any>(source: T & any, obj: C & any, options: DeepMergeOptions = {}): (T & C) | undefined | null {\n if (shouldReturnSource(obj, source)) {\n return source as any;\n }\n\n if (shouldReturnObj(obj, source)) {\n return obj;\n }\n\n if (Array.isArray(source)) {\n const reducer = getReducer(options);\n\n return [].concat(obj).reduce((out: any[], value: any) => reducer(out, value, options), [...source]);\n }\n\n return [...objectKeys(source), ...objectKeys(obj)].reduce((out: any, key: string) => {\n const src = source && source[key];\n const value = deepMerge(src, obj && obj[key], {\n ...options,\n parentKey: key\n });\n\n if (options.cleanUndefinedProps && value === undefined) {\n return out;\n }\n\n return {\n ...out,\n [key]: value\n };\n }, createInstance(source));\n}\n"]}
@@ -12,8 +12,7 @@ function descriptorOf(target, propertyKey) {
12
12
  }
13
13
  exports.descriptorOf = descriptorOf;
14
14
  function isMethodDescriptor(target, propertyKey) {
15
- var _a;
16
- return (_a = descriptorOf(target, propertyKey)) === null || _a === void 0 ? void 0 : _a.value;
15
+ return descriptorOf(target, propertyKey)?.value;
17
16
  }
18
17
  exports.isMethodDescriptor = isMethodDescriptor;
19
18
  //# sourceMappingURL=descriptorOf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"descriptorOf.js","sourceRoot":"","sources":["../../../../src/utils/objects/descriptorOf.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,MAAW,EAAE,WAA4B;IACpE,OAAO,MAAM,CAAC,wBAAwB,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE,WAAW,CAAE,CAAC;AAC/F,CAAC;AAFD,oCAEC;AAED,SAAgB,kBAAkB,CAAC,MAAW,EAAE,WAA4B;;IAC1E,OAAO,MAAA,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,0CAAE,KAAK,CAAC;AAClD,CAAC;AAFD,gDAEC","sourcesContent":["/**\n * Return the descriptor for a given class and propertyKey\n * @param target\n * @param {string} propertyKey\n * @returns {PropertyDescriptor}\n */\nexport function descriptorOf(target: any, propertyKey: string | symbol): PropertyDescriptor {\n return Object.getOwnPropertyDescriptor((target && target.prototype) || target, propertyKey)!;\n}\n\nexport function isMethodDescriptor(target: any, propertyKey: string | symbol) {\n return descriptorOf(target, propertyKey)?.value;\n}\n"]}
1
+ {"version":3,"file":"descriptorOf.js","sourceRoot":"","sources":["../../../../src/utils/objects/descriptorOf.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,MAAW,EAAE,WAA4B;IACpE,OAAO,MAAM,CAAC,wBAAwB,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE,WAAW,CAAE,CAAC;AAC/F,CAAC;AAFD,oCAEC;AAED,SAAgB,kBAAkB,CAAC,MAAW,EAAE,WAA4B;IAC1E,OAAO,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC;AAClD,CAAC;AAFD,gDAEC","sourcesContent":["/**\n * Return the descriptor for a given class and propertyKey\n * @param target\n * @param {string} propertyKey\n * @returns {PropertyDescriptor}\n */\nexport function descriptorOf(target: any, propertyKey: string | symbol): PropertyDescriptor {\n return Object.getOwnPropertyDescriptor((target && target.prototype) || target, propertyKey)!;\n}\n\nexport function isMethodDescriptor(target: any, propertyKey: string | symbol) {\n return descriptorOf(target, propertyKey)?.value;\n}\n"]}
@@ -3,7 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getConstructorArgNames = void 0;
4
4
  const toStringConstructor_1 = require("./toStringConstructor");
5
5
  function getConstructorArgNames(target) {
6
- return (0, toStringConstructor_1.toStringConstructor)(target).replace("constructor(", "").replace(")", "").split(", ").filter(Boolean);
6
+ return (0, toStringConstructor_1.toStringConstructor)(target)
7
+ .split("constructor(")[1]
8
+ .split(")")[0]
9
+ .split(", ")
10
+ .filter(Boolean)
11
+ .map((s) => s.trim());
7
12
  }
8
13
  exports.getConstructorArgNames = getConstructorArgNames;
9
14
  //# sourceMappingURL=getConstructorArgNames.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getConstructorArgNames.js","sourceRoot":"","sources":["../../../../src/utils/objects/getConstructorArgNames.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAE1D,SAAgB,sBAAsB,CAAC,MAAW;IAChD,OAAO,IAAA,yCAAmB,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9G,CAAC;AAFD,wDAEC","sourcesContent":["import {toStringConstructor} from \"./toStringConstructor\";\n\nexport function getConstructorArgNames(target: any) {\n return toStringConstructor(target).replace(\"constructor(\", \"\").replace(\")\", \"\").split(\", \").filter(Boolean);\n}\n"]}
1
+ {"version":3,"file":"getConstructorArgNames.js","sourceRoot":"","sources":["../../../../src/utils/objects/getConstructorArgNames.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAE1D,SAAgB,sBAAsB,CAAC,MAAW;IAChD,OAAO,IAAA,yCAAmB,EAAC,MAAM,CAAC;SAC/B,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SACxB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACb,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC1B,CAAC;AAPD,wDAOC","sourcesContent":["import {toStringConstructor} from \"./toStringConstructor\";\n\nexport function getConstructorArgNames(target: any) {\n return toStringConstructor(target)\n .split(\"constructor(\")[1]\n .split(\")\")[0]\n .split(\", \")\n .filter(Boolean)\n .map((s) => s.trim());\n}\n"]}
@@ -34,7 +34,7 @@ function getValue(...args) {
34
34
  const keys = expression.split(separator);
35
35
  const getValue = (key) => {
36
36
  if (scope) {
37
- if (scope[key] !== undefined || key in scope) {
37
+ if (scope[key] !== undefined || ((0, isObject_1.isObject)(scope) && key in scope)) {
38
38
  return scope[key];
39
39
  }
40
40
  if ((0, isFunction_1.isFunction)(scope.get)) {
@@ -1 +1 @@
1
- {"version":3,"file":"getValue.js","sourceRoot":"","sources":["../../../../src/utils/objects/getValue.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,yCAAoC;AACpC,yCAAoC;AAEpC,MAAM,UAAU,GAAG,CAAC,IAAW,EAAE,EAAE;IACjC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAEhE,IAAI,IAAA,mBAAQ,EAAC,KAAK,CAAC,IAAI,IAAA,mBAAQ,EAAC,UAAU,CAAC,EAAE;QAC3C,OAAO;YACL,UAAU;YACV,KAAK;YACL,YAAY;YACZ,SAAS;SACV,CAAC;KACH;IAED,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,UAAU;QACjB,YAAY;QACZ,SAAS;KACV,CAAC;AACJ,CAAC,CAAC;AAkCF,SAAgB,QAAQ,CAAC,GAAG,IAAW;IACrC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,MAAM,EAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAC,GAAG,OAAO,CAAC;IAEtD,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,IAAI,GAAa,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE;QAC/B,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,GAAG,IAAI,KAAK,EAAE;gBAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB;YAED,IAAI,IAAA,uBAAU,EAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACzB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACvB;SACF;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAE;IAE3D,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC;AA9BD,4BA8BC","sourcesContent":["import {isFunction} from \"./isFunction\";\nimport {isObject} from \"./isObject\";\nimport {isString} from \"./isString\";\n\nconst mapOptions = (args: any[]) => {\n const [expression, scope, defaultValue, separator = \".\"] = args;\n\n if (isObject(scope) || isString(expression)) {\n return {\n expression,\n scope,\n defaultValue,\n separator\n };\n }\n\n return {\n expression: scope,\n scope: expression,\n defaultValue,\n separator\n };\n};\n\n/**\n * Get value from scope\n * @param {string} expression\n * @param scope\n * @returns {any}\n */\nexport function getValue<T = any>(scope: any, expression: string | undefined): T | undefined;\n/**\n * Get value from scope\n * @param {string} expression\n * @param scope\n * @param defaultValue\n * @param separator\n * @returns {any}\n */\nexport function getValue<T = any>(scope: any, expression: string | undefined, defaultValue: T, separator?: string): T;\n/**\n * Get value from scope\n * @param {string} expression\n * @param scope\n * @returns {any}\n */\nexport function getValue<T = any>(expression: string | undefined, scope: any): T | undefined;\n/**\n * Get value from scope\n * @param {string} expression\n * @param scope\n * @param defaultValue\n * @param separator\n * @returns {any}\n */\nexport function getValue<T = any>(expression: string | undefined, scope: any, defaultValue: T, separator?: string): T;\nexport function getValue(...args: any[]) {\n const options = mapOptions(args);\n let scope = options.scope;\n const {expression, defaultValue, separator} = options;\n\n if (!expression) {\n return scope;\n }\n\n if (!scope) {\n return defaultValue;\n }\n\n const keys: string[] = expression.split(separator);\n\n const getValue = (key: string) => {\n if (scope) {\n if (scope[key] !== undefined || key in scope) {\n return scope[key];\n }\n\n if (isFunction(scope.get)) {\n return scope.get(key);\n }\n }\n };\n\n while ((scope = getValue(keys.shift()!)) && keys.length) {}\n\n return scope === undefined ? defaultValue : scope;\n}\n"]}
1
+ {"version":3,"file":"getValue.js","sourceRoot":"","sources":["../../../../src/utils/objects/getValue.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,yCAAoC;AACpC,yCAAoC;AAEpC,MAAM,UAAU,GAAG,CAAC,IAAW,EAAE,EAAE;IACjC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAEhE,IAAI,IAAA,mBAAQ,EAAC,KAAK,CAAC,IAAI,IAAA,mBAAQ,EAAC,UAAU,CAAC,EAAE;QAC3C,OAAO;YACL,UAAU;YACV,KAAK;YACL,YAAY;YACZ,SAAS;SACV,CAAC;KACH;IAED,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,UAAU;QACjB,YAAY;QACZ,SAAS;KACV,CAAC;AACJ,CAAC,CAAC;AAkCF,SAAgB,QAAQ,CAAC,GAAG,IAAW;IACrC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,MAAM,EAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAC,GAAG,OAAO,CAAC;IAEtD,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,IAAI,GAAa,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE;QAC/B,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,CAAC,IAAA,mBAAQ,EAAC,KAAK,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,EAAE;gBACjE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB;YAED,IAAI,IAAA,uBAAU,EAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACzB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACvB;SACF;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAE;IAE3D,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC;AA9BD,4BA8BC","sourcesContent":["import {isFunction} from \"./isFunction\";\nimport {isObject} from \"./isObject\";\nimport {isString} from \"./isString\";\n\nconst mapOptions = (args: any[]) => {\n const [expression, scope, defaultValue, separator = \".\"] = args;\n\n if (isObject(scope) || isString(expression)) {\n return {\n expression,\n scope,\n defaultValue,\n separator\n };\n }\n\n return {\n expression: scope,\n scope: expression,\n defaultValue,\n separator\n };\n};\n\n/**\n * Get value from scope\n * @param {string} expression\n * @param scope\n * @returns {any}\n */\nexport function getValue<T = any>(scope: any, expression: string | undefined): T | undefined;\n/**\n * Get value from scope\n * @param {string} expression\n * @param scope\n * @param defaultValue\n * @param separator\n * @returns {any}\n */\nexport function getValue<T = any>(scope: any, expression: string | undefined, defaultValue: T, separator?: string): T;\n/**\n * Get value from scope\n * @param {string} expression\n * @param scope\n * @returns {any}\n */\nexport function getValue<T = any>(expression: string | undefined, scope: any): T | undefined;\n/**\n * Get value from scope\n * @param {string} expression\n * @param scope\n * @param defaultValue\n * @param separator\n * @returns {any}\n */\nexport function getValue<T = any>(expression: string | undefined, scope: any, defaultValue: T, separator?: string): T;\nexport function getValue(...args: any[]) {\n const options = mapOptions(args);\n let scope = options.scope;\n const {expression, defaultValue, separator} = options;\n\n if (!expression) {\n return scope;\n }\n\n if (!scope) {\n return defaultValue;\n }\n\n const keys: string[] = expression.split(separator);\n\n const getValue = (key: string) => {\n if (scope) {\n if (scope[key] !== undefined || (isObject(scope) && key in scope)) {\n return scope[key];\n }\n\n if (isFunction(scope.get)) {\n return scope.get(key);\n }\n }\n };\n\n while ((scope = getValue(keys.shift()!)) && keys.length) {}\n\n return scope === undefined ? defaultValue : scope;\n}\n"]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBuffer = void 0;
4
+ /**
5
+ * Tests to see if the object is Buffer
6
+ * @param target
7
+ * @returns {boolean}
8
+ */
9
+ function isBuffer(target) {
10
+ return target === Buffer || target instanceof Buffer;
11
+ }
12
+ exports.isBuffer = isBuffer;
13
+ //# sourceMappingURL=isBuffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBuffer.js","sourceRoot":"","sources":["../../../../src/utils/objects/isBuffer.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,MAAW;IAClC,OAAO,MAAM,KAAK,MAAM,IAAI,MAAM,YAAY,MAAM,CAAC;AACvD,CAAC;AAFD,4BAEC","sourcesContent":["/**\n * Tests to see if the object is Buffer\n * @param target\n * @returns {boolean}\n */\nexport function isBuffer(target: any): target is Buffer {\n return target === Buffer || target instanceof Buffer;\n}\n"]}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isClass = void 0;
4
4
  const isArray_1 = require("./isArray");
5
5
  const isArrowFn_1 = require("./isArrowFn");
6
+ const isBuffer_1 = require("./isBuffer");
6
7
  const isDate_1 = require("./isDate");
7
8
  const isPlainObject_1 = require("./isPlainObject");
8
9
  const isPrimitive_1 = require("./isPrimitive");
@@ -20,7 +21,8 @@ function isClass(target) {
20
21
  (0, isPlainObject_1.isClassObject)(target) ||
21
22
  (0, isDate_1.isDate)(target) ||
22
23
  (0, isPromise_1.isPromise)(target) ||
23
- (0, isArray_1.isArrayOrArrayClass)(target));
24
+ (0, isArray_1.isArrayOrArrayClass)(target) ||
25
+ (0, isBuffer_1.isBuffer)(target));
24
26
  }
25
27
  exports.isClass = isClass;
26
28
  //# sourceMappingURL=isClass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isClass.js","sourceRoot":"","sources":["../../../../src/utils/objects/isClass.ts"],"names":[],"mappings":";;;AAAA,uCAA8C;AAC9C,2CAAsC;AACtC,qCAAgC;AAChC,mDAA8C;AAC9C,+CAA0D;AAC1D,2CAAsC;AACtC,yCAAoC;AAEpC,SAAgB,OAAO,CAAC,MAAW;IACjC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,KAAK,CAAC;KACd;IAED,IAAI,IAAA,qBAAS,EAAC,MAAM,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC;KACd;IAED,OAAO,CAAC,CACN,IAAA,mBAAQ,EAAC,MAAM,CAAC;QAChB,IAAA,yCAA2B,EAAC,MAAM,CAAC;QACnC,IAAA,6BAAa,EAAC,MAAM,CAAC;QACrB,IAAA,eAAM,EAAC,MAAM,CAAC;QACd,IAAA,qBAAS,EAAC,MAAM,CAAC;QACjB,IAAA,6BAAmB,EAAC,MAAM,CAAC,CAC5B,CAAC;AACJ,CAAC;AAjBD,0BAiBC","sourcesContent":["import {isArrayOrArrayClass} from \"./isArray\";\nimport {isArrowFn} from \"./isArrowFn\";\nimport {isDate} from \"./isDate\";\nimport {isClassObject} from \"./isPlainObject\";\nimport {isPrimitiveOrPrimitiveClass} from \"./isPrimitive\";\nimport {isPromise} from \"./isPromise\";\nimport {isSymbol} from \"./isSymbol\";\n\nexport function isClass(target: any) {\n if (!target) {\n return false;\n }\n\n if (isArrowFn(target)) {\n return false;\n }\n\n return !(\n isSymbol(target) ||\n isPrimitiveOrPrimitiveClass(target) ||\n isClassObject(target) ||\n isDate(target) ||\n isPromise(target) ||\n isArrayOrArrayClass(target)\n );\n}\n"]}
1
+ {"version":3,"file":"isClass.js","sourceRoot":"","sources":["../../../../src/utils/objects/isClass.ts"],"names":[],"mappings":";;;AAAA,uCAA8C;AAC9C,2CAAsC;AACtC,yCAAoC;AACpC,qCAAgC;AAChC,mDAA8C;AAC9C,+CAA0D;AAC1D,2CAAsC;AACtC,yCAAoC;AAEpC,SAAgB,OAAO,CAAC,MAAW;IACjC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,KAAK,CAAC;KACd;IAED,IAAI,IAAA,qBAAS,EAAC,MAAM,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC;KACd;IAED,OAAO,CAAC,CACN,IAAA,mBAAQ,EAAC,MAAM,CAAC;QAChB,IAAA,yCAA2B,EAAC,MAAM,CAAC;QACnC,IAAA,6BAAa,EAAC,MAAM,CAAC;QACrB,IAAA,eAAM,EAAC,MAAM,CAAC;QACd,IAAA,qBAAS,EAAC,MAAM,CAAC;QACjB,IAAA,6BAAmB,EAAC,MAAM,CAAC;QAC3B,IAAA,mBAAQ,EAAC,MAAM,CAAC,CACjB,CAAC;AACJ,CAAC;AAlBD,0BAkBC","sourcesContent":["import {isArrayOrArrayClass} from \"./isArray\";\nimport {isArrowFn} from \"./isArrowFn\";\nimport {isBuffer} from \"./isBuffer\";\nimport {isDate} from \"./isDate\";\nimport {isClassObject} from \"./isPlainObject\";\nimport {isPrimitiveOrPrimitiveClass} from \"./isPrimitive\";\nimport {isPromise} from \"./isPromise\";\nimport {isSymbol} from \"./isSymbol\";\n\nexport function isClass(target: any) {\n if (!target) {\n return false;\n }\n\n if (isArrowFn(target)) {\n return false;\n }\n\n return !(\n isSymbol(target) ||\n isPrimitiveOrPrimitiveClass(target) ||\n isClassObject(target) ||\n isDate(target) ||\n isPromise(target) ||\n isArrayOrArrayClass(target) ||\n isBuffer(target)\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"methodsOf.js","sourceRoot":"","sources":["../../../../src/utils/objects/methodsOf.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAClC,+CAA0C;AAC1C,+CAA0C;AAE1C;;;GAGG;AACH,SAAgB,SAAS,CAAC,MAAW;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1B,MAAM,GAAG,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC;IAEzB,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC,CAAC;QAElD,IAAI,CAAC,OAAO,CAAC,CAAC,WAAmB,EAAE,EAAE;YACnC,IAAI,WAAW,KAAK,aAAa,EAAE;gBACjC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAC,MAAM,EAAE,WAAW,EAAC,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,CAAC;AAfD,8BAeC","sourcesContent":["import {classOf} from \"./classOf\";\nimport {ancestorsOf} from \"./ancestorsOf\";\nimport {prototypeOf} from \"./prototypeOf\";\n\n/**\n * Return all methods for a given class.\n * @param target\n */\nexport function methodsOf(target: any) {\n const methods = new Map();\n target = classOf(target);\n\n ancestorsOf(target).forEach((target) => {\n const keys = Reflect.ownKeys(prototypeOf(target));\n\n keys.forEach((propertyKey: string) => {\n if (propertyKey !== \"constructor\") {\n methods.set(propertyKey, {target, propertyKey});\n }\n });\n });\n\n return Array.from(methods.values());\n}\n"]}
1
+ {"version":3,"file":"methodsOf.js","sourceRoot":"","sources":["../../../../src/utils/objects/methodsOf.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAClC,+CAA0C;AAC1C,+CAA0C;AAG1C;;;GAGG;AACH,SAAgB,SAAS,CAAC,MAAW;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1B,MAAM,GAAG,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC;IAEzB,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC,CAAC;QAElD,IAAI,CAAC,OAAO,CAAC,CAAC,WAAmB,EAAE,EAAE;YACnC,IAAI,WAAW,KAAK,aAAa,EAAE;gBACjC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAC,MAAM,EAAE,WAAW,EAAC,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,CAAC;AAfD,8BAeC","sourcesContent":["import {classOf} from \"./classOf\";\nimport {ancestorsOf} from \"./ancestorsOf\";\nimport {prototypeOf} from \"./prototypeOf\";\nimport {Type} from \"../../domain/Type\";\n\n/**\n * Return all methods for a given class.\n * @param target\n */\nexport function methodsOf(target: any): {target: Type; propertyKey: string}[] {\n const methods = new Map();\n target = classOf(target);\n\n ancestorsOf(target).forEach((target) => {\n const keys = Reflect.ownKeys(prototypeOf(target));\n\n keys.forEach((propertyKey: string) => {\n if (propertyKey !== \"constructor\") {\n methods.set(propertyKey, {target, propertyKey});\n }\n });\n });\n\n return Array.from(methods.values());\n}\n"]}
@@ -1,8 +1,4 @@
1
- /**
2
- * @module common/core
3
- */
4
- import { descriptorOf } from "../utils";
5
- /** */
1
+ import { descriptorOf } from "../utils/objects/descriptorOf.js";
6
2
  export function Configurable(value = true) {
7
3
  return (target, propertyKey) => {
8
4
  const descriptor = descriptorOf(target, propertyKey) || { writable: true, enumerable: true };
@@ -1 +1 @@
1
- {"version":3,"file":"configurable.js","sourceRoot":"","sources":["../../../src/decorators/configurable.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAEtC,MAAM;AAEN,MAAM,UAAU,YAAY,CAAC,QAAiB,IAAI;IAChD,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC1C,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC;QAC3F,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;QAChC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAEvF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/**\n * @module common/core\n */\nimport {descriptorOf} from \"../utils\";\n\n/** */\n\nexport function Configurable(value: boolean = true): Function {\n return (target: any, propertyKey: string) => {\n const descriptor = descriptorOf(target, propertyKey) || {writable: true, enumerable: true};\n descriptor.configurable = value;\n Object.defineProperty((target && target.prototype) || target, propertyKey, descriptor);\n\n return descriptor;\n };\n}\n"]}
1
+ {"version":3,"file":"configurable.js","sourceRoot":"","sources":["../../../src/decorators/configurable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAE3D,MAAM,UAAU,YAAY,CAAC,QAAiB,IAAI;IAChD,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC1C,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC;QAC3F,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;QAChC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAEvF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import {descriptorOf} from \"../utils/objects/descriptorOf\";\n\nexport function Configurable(value: boolean = true): Function {\n return (target: any, propertyKey: string) => {\n const descriptor = descriptorOf(target, propertyKey) || {writable: true, enumerable: true};\n descriptor.configurable = value;\n Object.defineProperty((target && target.prototype) || target, propertyKey, descriptor);\n\n return descriptor;\n };\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import { deprecate } from "util";
1
2
  /**
2
3
  * The `@Deprecated()` decorators wraps the given method in such a way that it is marked as deprecated.
3
4
  *
@@ -32,7 +33,7 @@
32
33
  export function Deprecated(message) {
33
34
  return (target, targetKey, descriptor) => {
34
35
  const originalMethod = descriptor.value;
35
- descriptor.value = require("util").deprecate(originalMethod, message);
36
+ descriptor.value = deprecate(originalMethod, message);
36
37
  return descriptor;
37
38
  };
38
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../../../src/decorators/deprecated.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,MAAiB,EAAE,SAAiB,EAAE,UAAwC,EAAE,EAAE;QACxF,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAEtE,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import {Type} from \"../domain/Type\";\n\n/**\n * The `@Deprecated()` decorators wraps the given method in such a way that it is marked as deprecated.\n *\n * ```typescript\n * provide Foo {\n *\n * @Deprecated(\"Foo.method: Use Foo.method2 instead\")\n * public method() {\n *\n * }\n * ```\n *\n * When called, @Deprecated() will return a function that will emit a `DeprecationWarning` using the `process.on('warning')` event.\n * By default, this warning will be emitted and printed to `stderr` exactly once, the first time it is called. After the warning is emitted, the wrapped method is called.\n *\n * If either the `--no-deprecation` or `--no-warnings` command line flags are used, or if the `process.noDeprecation`\n * property is set to `true` prior to the first deprecation warning, the `@Deprecated()` decorators does nothing.\n *\n * If the `--trace-deprecation` or `--trace-warnings` command line flags are set, or the `process.traceDeprecation`\n * property is set to `true`, a warning and a stack trace are printed to stderr the first time the deprecated function is called.\n *\n * If the `--throw-deprecation` command line flag is set, or the `process.throwDeprecation` property is set to `true`,\n * then an exception will be thrown when the deprecated function is called.\n *\n * The `--throw-deprecation` command line flag and `process.throwDeprecation` property take precedence over `--trace-deprecation`\n * and `process.traceDeprecation`.\n *\n * @param message\n * @returns {Function}\n * @decorator\n */\nexport function Deprecated(message: string): Function {\n return (target: Type<any>, targetKey: string, descriptor: TypedPropertyDescriptor<any>) => {\n const originalMethod = descriptor.value;\n\n descriptor.value = require(\"util\").deprecate(originalMethod, message);\n\n return descriptor;\n };\n}\n"]}
1
+ {"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../../../src/decorators/deprecated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,MAAM,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,MAAiB,EAAE,SAAiB,EAAE,UAAwC,EAAE,EAAE;QACxF,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAEtD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import {deprecate} from \"util\";\nimport {Type} from \"../domain/Type\";\n/**\n * The `@Deprecated()` decorators wraps the given method in such a way that it is marked as deprecated.\n *\n * ```typescript\n * provide Foo {\n *\n * @Deprecated(\"Foo.method: Use Foo.method2 instead\")\n * public method() {\n *\n * }\n * ```\n *\n * When called, @Deprecated() will return a function that will emit a `DeprecationWarning` using the `process.on('warning')` event.\n * By default, this warning will be emitted and printed to `stderr` exactly once, the first time it is called. After the warning is emitted, the wrapped method is called.\n *\n * If either the `--no-deprecation` or `--no-warnings` command line flags are used, or if the `process.noDeprecation`\n * property is set to `true` prior to the first deprecation warning, the `@Deprecated()` decorators does nothing.\n *\n * If the `--trace-deprecation` or `--trace-warnings` command line flags are set, or the `process.traceDeprecation`\n * property is set to `true`, a warning and a stack trace are printed to stderr the first time the deprecated function is called.\n *\n * If the `--throw-deprecation` command line flag is set, or the `process.throwDeprecation` property is set to `true`,\n * then an exception will be thrown when the deprecated function is called.\n *\n * The `--throw-deprecation` command line flag and `process.throwDeprecation` property take precedence over `--trace-deprecation`\n * and `process.traceDeprecation`.\n *\n * @param message\n * @returns {Function}\n * @decorator\n */\nexport function Deprecated(message: string): Function {\n return (target: Type<any>, targetKey: string, descriptor: TypedPropertyDescriptor<any>) => {\n const originalMethod = descriptor.value;\n\n descriptor.value = deprecate(originalMethod, message);\n\n return descriptor;\n };\n}\n"]}
@@ -1,8 +1,4 @@
1
- /**
2
- * @module common/core
3
- */
4
- import { descriptorOf } from "../utils";
5
- /** */
1
+ import { descriptorOf } from "../utils/objects/descriptorOf.js";
6
2
  export function Enumerable(value = true) {
7
3
  return (target, propertyKey) => {
8
4
  const descriptor = descriptorOf(target, propertyKey) || { writable: true, configurable: true };
@@ -1 +1 @@
1
- {"version":3,"file":"enumerable.js","sourceRoot":"","sources":["../../../src/decorators/enumerable.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAEtC,MAAM;AAEN,MAAM,UAAU,UAAU,CAAC,QAAiB,IAAI;IAC9C,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC1C,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAC,CAAC;QAC7F,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;QAC9B,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAEvF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/**\n * @module common/core\n */\nimport {descriptorOf} from \"../utils\";\n\n/** */\n\nexport function Enumerable(value: boolean = true): Function {\n return (target: any, propertyKey: string) => {\n const descriptor = descriptorOf(target, propertyKey) || {writable: true, configurable: true};\n descriptor.enumerable = value;\n Object.defineProperty((target && target.prototype) || target, propertyKey, descriptor);\n\n return descriptor;\n };\n}\n"]}
1
+ {"version":3,"file":"enumerable.js","sourceRoot":"","sources":["../../../src/decorators/enumerable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAE3D,MAAM,UAAU,UAAU,CAAC,QAAiB,IAAI;IAC9C,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC1C,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAC,CAAC;QAC7F,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;QAC9B,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAEvF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import {descriptorOf} from \"../utils/objects/descriptorOf\";\n\nexport function Enumerable(value: boolean = true): Function {\n return (target: any, propertyKey: string) => {\n const descriptor = descriptorOf(target, propertyKey) || {writable: true, configurable: true};\n descriptor.enumerable = value;\n Object.defineProperty((target && target.prototype) || target, propertyKey, descriptor);\n\n return descriptor;\n };\n}\n"]}
@@ -1,8 +1,4 @@
1
- /**
2
- * @module common/core
3
- */
4
- import { Configurable } from "./configurable";
5
- /** */
1
+ import { Configurable } from "./configurable.js";
6
2
  export function NotConfigurable() {
7
3
  return Configurable(false);
8
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"notConfigurable.js","sourceRoot":"","sources":["../../../src/decorators/notConfigurable.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,MAAM;AACN,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC","sourcesContent":["/**\n * @module common/core\n */\nimport {Configurable} from \"./configurable\";\n/** */\nexport function NotConfigurable(): Function {\n return Configurable(false);\n}\n"]}
1
+ {"version":3,"file":"notConfigurable.js","sourceRoot":"","sources":["../../../src/decorators/notConfigurable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC","sourcesContent":["import {Configurable} from \"./configurable\";\n\nexport function NotConfigurable(): Function {\n return Configurable(false);\n}\n"]}
@@ -1,8 +1,4 @@
1
- /**
2
- * @module common/core
3
- */
4
- import { Enumerable } from "./enumerable";
5
- /** */
1
+ import { Enumerable } from "./enumerable.js";
6
2
  export function NotEnumerable() {
7
3
  return Enumerable(false);
8
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"notEnumerable.js","sourceRoot":"","sources":["../../../src/decorators/notEnumerable.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,MAAM;AACN,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC","sourcesContent":["/**\n * @module common/core\n */\nimport {Enumerable} from \"./enumerable\";\n/** */\nexport function NotEnumerable(): Function {\n return Enumerable(false);\n}\n"]}
1
+ {"version":3,"file":"notEnumerable.js","sourceRoot":"","sources":["../../../src/decorators/notEnumerable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC","sourcesContent":["import {Enumerable} from \"./enumerable\";\n\nexport function NotEnumerable(): Function {\n return Enumerable(false);\n}\n"]}
@@ -1,8 +1,4 @@
1
- /**
2
- * @module common/core
3
- */
4
- import { Writable } from "./writable";
5
- /** */
1
+ import { Writable } from "./writable.js";
6
2
  export function Readonly() {
7
3
  return Writable(false);
8
4
  }