@tsed/core 8.18.1 → 8.19.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 (139) hide show
  1. package/lib/esm/decorators/storeFn.js +8 -4
  2. package/lib/esm/decorators/storeMerge.js +10 -0
  3. package/lib/esm/decorators/storeSet.js +10 -0
  4. package/lib/esm/errors/UnsupportedDecoratorType.js +8 -0
  5. package/lib/esm/types/DecoratorTypes.js +16 -0
  6. package/lib/esm/types/Env.js +8 -2
  7. package/lib/esm/types/Metadata.js +9 -0
  8. package/lib/esm/types/Store.js +14 -0
  9. package/lib/esm/types/Type.js +4 -2
  10. package/lib/esm/utils/AnyToPromise.js +20 -0
  11. package/lib/esm/utils/ancestorOf.js +17 -0
  12. package/lib/esm/utils/ancestorsOf.js +8 -2
  13. package/lib/esm/utils/catchError.js +12 -0
  14. package/lib/esm/utils/classOf.js +14 -7
  15. package/lib/esm/utils/cleanObject.js +7 -3
  16. package/lib/esm/utils/constructorOf.js +15 -4
  17. package/lib/esm/utils/createInstance.js +11 -0
  18. package/lib/esm/utils/decorateMethodsOf.js +11 -0
  19. package/lib/esm/utils/decoratorArgs.js +10 -0
  20. package/lib/esm/utils/decoratorTypeOf.js +11 -1
  21. package/lib/esm/utils/deepClone.js +7 -3
  22. package/lib/esm/utils/deepMerge.js +15 -0
  23. package/lib/esm/utils/descriptorOf.js +15 -4
  24. package/lib/esm/utils/getClassOrSymbol.js +8 -0
  25. package/lib/esm/utils/getConstructorArgNames.js +10 -0
  26. package/lib/esm/utils/getRandomId.js +8 -0
  27. package/lib/esm/utils/hasJsonMethod.js +6 -0
  28. package/lib/esm/utils/http/getHostInfoFromPort.js +9 -0
  29. package/lib/esm/utils/inheritedDescriptorOf.js +6 -0
  30. package/lib/esm/utils/isArray.js +8 -7
  31. package/lib/esm/utils/isArrowFn.js +6 -0
  32. package/lib/esm/utils/isBoolean.js +9 -2
  33. package/lib/esm/utils/isBuffer.js +10 -3
  34. package/lib/esm/utils/isClass.js +9 -0
  35. package/lib/esm/utils/isCollection.js +6 -3
  36. package/lib/esm/utils/isDate.js +3 -2
  37. package/lib/esm/utils/isEmpty.js +4 -3
  38. package/lib/esm/utils/isEnumerable.js +3 -2
  39. package/lib/esm/utils/isFunction.js +6 -0
  40. package/lib/esm/utils/isInheritedFrom.js +6 -0
  41. package/lib/esm/utils/isMomentObject.js +6 -0
  42. package/lib/esm/utils/isMongooseObject.js +13 -1
  43. package/lib/esm/utils/isNil.js +6 -0
  44. package/lib/esm/utils/isNumber.js +9 -2
  45. package/lib/esm/utils/isObject.js +6 -0
  46. package/lib/esm/utils/isObservable.js +6 -0
  47. package/lib/esm/utils/isPlainObject.js +9 -2
  48. package/lib/esm/utils/isPrimitive.js +14 -7
  49. package/lib/esm/utils/isPromise.js +4 -3
  50. package/lib/esm/utils/isProtectedKey.js +4 -2
  51. package/lib/esm/utils/isRegExp.js +6 -0
  52. package/lib/esm/utils/isSerializable.js +6 -0
  53. package/lib/esm/utils/isStream.js +6 -0
  54. package/lib/esm/utils/isString.js +10 -2
  55. package/lib/esm/utils/isSymbol.js +9 -1
  56. package/lib/esm/utils/methodsOf.js +4 -2
  57. package/lib/esm/utils/nameOf.js +12 -5
  58. package/lib/esm/utils/objectKeys.js +6 -0
  59. package/lib/esm/utils/primitiveOf.js +6 -0
  60. package/lib/esm/utils/prototypeOf.js +4 -3
  61. package/lib/esm/utils/setValue.js +20 -0
  62. package/lib/esm/utils/toMap.js +6 -0
  63. package/lib/esm/utils/toStringConstructor.js +10 -0
  64. package/lib/esm/utils/uniq.js +10 -1
  65. package/lib/esm/utils/useDecorators.js +6 -0
  66. package/lib/esm/utils/useMethodDecorators.js +12 -0
  67. package/lib/types/decorators/storeFn.d.ts +8 -4
  68. package/lib/types/decorators/storeMerge.d.ts +10 -0
  69. package/lib/types/decorators/storeSet.d.ts +10 -0
  70. package/lib/types/errors/UnsupportedDecoratorType.d.ts +8 -0
  71. package/lib/types/types/AnyDecorator.d.ts +10 -0
  72. package/lib/types/types/DecoratorParameters.d.ts +21 -0
  73. package/lib/types/types/DecoratorTypes.d.ts +16 -0
  74. package/lib/types/types/Env.d.ts +8 -2
  75. package/lib/types/types/Metadata.d.ts +9 -0
  76. package/lib/types/types/MetadataTypes.d.ts +12 -0
  77. package/lib/types/types/Relation.d.ts +8 -0
  78. package/lib/types/types/Store.d.ts +14 -0
  79. package/lib/types/types/Type.d.ts +14 -4
  80. package/lib/types/types/ValueOf.d.ts +10 -0
  81. package/lib/types/utils/AnyToPromise.d.ts +28 -0
  82. package/lib/types/utils/ancestorOf.d.ts +17 -0
  83. package/lib/types/utils/ancestorsOf.d.ts +8 -2
  84. package/lib/types/utils/catchError.d.ts +12 -0
  85. package/lib/types/utils/classOf.d.ts +14 -7
  86. package/lib/types/utils/cleanObject.d.ts +7 -3
  87. package/lib/types/utils/constructorOf.d.ts +15 -4
  88. package/lib/types/utils/createInstance.d.ts +11 -0
  89. package/lib/types/utils/decorateMethodsOf.d.ts +11 -0
  90. package/lib/types/utils/decoratorArgs.d.ts +10 -0
  91. package/lib/types/utils/decoratorTypeOf.d.ts +10 -0
  92. package/lib/types/utils/deepClone.d.ts +7 -3
  93. package/lib/types/utils/deepMerge.d.ts +30 -0
  94. package/lib/types/utils/descriptorOf.d.ts +15 -4
  95. package/lib/types/utils/getClassOrSymbol.d.ts +8 -0
  96. package/lib/types/utils/getConstructorArgNames.d.ts +10 -0
  97. package/lib/types/utils/getRandomId.d.ts +8 -0
  98. package/lib/types/utils/getValue.d.ts +7 -26
  99. package/lib/types/utils/hasJsonMethod.d.ts +6 -0
  100. package/lib/types/utils/http/getHostInfoFromPort.d.ts +15 -0
  101. package/lib/types/utils/inheritedDescriptorOf.d.ts +6 -0
  102. package/lib/types/utils/isArray.d.ts +8 -7
  103. package/lib/types/utils/isArrowFn.d.ts +6 -0
  104. package/lib/types/utils/isBoolean.d.ts +9 -2
  105. package/lib/types/utils/isBuffer.d.ts +10 -5
  106. package/lib/types/utils/isClass.d.ts +9 -0
  107. package/lib/types/utils/isCollection.d.ts +6 -3
  108. package/lib/types/utils/isDate.d.ts +3 -2
  109. package/lib/types/utils/isEmpty.d.ts +4 -3
  110. package/lib/types/utils/isEnumerable.d.ts +3 -2
  111. package/lib/types/utils/isFunction.d.ts +6 -0
  112. package/lib/types/utils/isInheritedFrom.d.ts +6 -0
  113. package/lib/types/utils/isMomentObject.d.ts +6 -0
  114. package/lib/types/utils/isMongooseObject.d.ts +13 -1
  115. package/lib/types/utils/isNil.d.ts +6 -0
  116. package/lib/types/utils/isNumber.d.ts +9 -2
  117. package/lib/types/utils/isObject.d.ts +6 -0
  118. package/lib/types/utils/isObservable.d.ts +8 -1
  119. package/lib/types/utils/isPlainObject.d.ts +9 -2
  120. package/lib/types/utils/isPrimitive.d.ts +14 -7
  121. package/lib/types/utils/isPromise.d.ts +4 -3
  122. package/lib/types/utils/isProtectedKey.d.ts +4 -2
  123. package/lib/types/utils/isRegExp.d.ts +6 -0
  124. package/lib/types/utils/isSerializable.d.ts +6 -0
  125. package/lib/types/utils/isStream.d.ts +6 -0
  126. package/lib/types/utils/isString.d.ts +10 -2
  127. package/lib/types/utils/isSymbol.d.ts +9 -1
  128. package/lib/types/utils/methodsOf.d.ts +4 -2
  129. package/lib/types/utils/nameOf.d.ts +12 -5
  130. package/lib/types/utils/objectKeys.d.ts +6 -0
  131. package/lib/types/utils/primitiveOf.d.ts +6 -0
  132. package/lib/types/utils/prototypeOf.d.ts +4 -3
  133. package/lib/types/utils/setValue.d.ts +20 -0
  134. package/lib/types/utils/toMap.d.ts +18 -0
  135. package/lib/types/utils/toStringConstructor.d.ts +10 -0
  136. package/lib/types/utils/uniq.d.ts +10 -1
  137. package/lib/types/utils/useDecorators.d.ts +6 -0
  138. package/lib/types/utils/useMethodDecorators.d.ts +12 -0
  139. package/package.json +5 -5
@@ -1,7 +1,14 @@
1
1
  /**
2
+ * Checks if a value is a boolean primitive.
2
3
  *
3
- * @param target
4
- * @returns {boolean}
4
+ * @public
5
+ * @since v7.0.0
5
6
  */
6
7
  export declare function isBoolean(target: any): target is boolean;
8
+ /**
9
+ * Checks if a value is a boolean primitive, Boolean object, or the Boolean constructor.
10
+ *
11
+ * @public
12
+ * @since v7.0.0
13
+ */
7
14
  export declare function isBooleanOrBooleanClass(target: any): target is boolean;
@@ -1,9 +1,14 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
1
  /**
4
- * Tests to see if the object is Buffer
5
- * @param target
6
- * @returns {boolean}
2
+ * Checks if a value is a Buffer or Uint8Array instance.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
7
6
  */
8
7
  export declare function isBuffer(target: any): target is Buffer;
8
+ /**
9
+ * Checks if a value is the Uint8Array constructor or a Uint8Array instance.
10
+ *
11
+ * @public
12
+ * @since v7.0.0
13
+ */
9
14
  export declare function isUint8Array(target: any): target is Uint8Array;
@@ -1 +1,10 @@
1
+ /**
2
+ * Determines whether a given value represents a class (constructor function).
3
+ *
4
+ * This helper filters out common non-class values such as primitives, symbols,
5
+ * plain objects, dates, promises, arrays, buffers, and arrow functions.
6
+ *
7
+ * @public
8
+ * @since v7.0.0
9
+ */
1
10
  export declare function isClass(target: any): boolean;
@@ -1,6 +1,9 @@
1
1
  /**
2
- * Return true if the target.
3
- * @param target
4
- * @returns {boolean}
2
+ * Determines whether a value is a collection type (Array, Map, Set, WeakMap, WeakSet).
3
+ *
4
+ * Checks both the constructor itself and instances of these collection types.
5
+ *
6
+ * @public
7
+ * @since v7.0.0
5
8
  */
6
9
  export declare function isCollection(target: any): boolean;
@@ -1,6 +1,7 @@
1
1
  /**
2
+ * Checks if a value is the Date constructor or a valid Date instance.
2
3
  *
3
- * @param target
4
- * @returns {boolean}
4
+ * @public
5
+ * @since v7.0.0
5
6
  */
6
7
  export declare function isDate(target: any): target is Date;
@@ -1,6 +1,7 @@
1
1
  /**
2
- * Return true if the value is an empty string, null or undefined.
3
- * @param value
4
- * @returns {boolean}
2
+ * Checks if a value is an empty string, null, or undefined.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
5
6
  */
6
7
  export declare function isEmpty(value: any): boolean;
@@ -1,6 +1,7 @@
1
1
  /**
2
+ * Checks if a property is enumerable on an object, considering its prototype chain.
2
3
  *
3
- * @param obj
4
- * @param key
4
+ * @public
5
+ * @since v7.0.0
5
6
  */
6
7
  export declare function isEnumerable(obj: any, key: string): any;
@@ -1 +1,7 @@
1
+ /**
2
+ * Checks if a value is a function.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
+ */
1
7
  export declare function isFunction(target: any): target is Function;
@@ -1 +1,7 @@
1
+ /**
2
+ * Checks if a target class inherits from another class within a specified depth limit.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
+ */
1
7
  export declare function isInheritedFrom(target: any, from: any, deep?: number): boolean;
@@ -1 +1,7 @@
1
+ /**
2
+ * Checks if an object is a Moment.js object by verifying the _isAMomentObject property.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
+ */
1
7
  export declare function isMomentObject(obj: any): boolean;
@@ -1,2 +1,14 @@
1
- export declare function isObjectID(obj: any): any;
1
+ /**
2
+ * Checks if an object is a MongoDB ObjectID by verifying the _bsontype property.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
+ */
7
+ export declare function isObjectID(obj: any): boolean;
8
+ /**
9
+ * Checks if an object is a Mongoose model or MongoDB ObjectID.
10
+ *
11
+ * @public
12
+ * @since v7.0.0
13
+ */
2
14
  export declare function isMongooseObject(obj: any): boolean;
@@ -1 +1,7 @@
1
+ /**
2
+ * Checks if a value is null or undefined.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
+ */
1
7
  export declare function isNil(value: any): boolean;
@@ -1,7 +1,14 @@
1
1
  /**
2
+ * Checks if a value is a number primitive.
2
3
  *
3
- * @param target
4
- * @returns {boolean}
4
+ * @public
5
+ * @since v7.0.0
5
6
  */
6
7
  export declare function isNumber(target: any): target is number;
8
+ /**
9
+ * Checks if a value is a number primitive, Number object, or the Number constructor.
10
+ *
11
+ * @public
12
+ * @since v7.0.0
13
+ */
7
14
  export declare function isNumberOrNumberClass(target: any): target is number;
@@ -1 +1,7 @@
1
+ /**
2
+ * Checks if a value is an object type.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
+ */
1
7
  export declare function isObject(target: any): target is object;
@@ -1 +1,8 @@
1
- export declare function isObservable<T>(obj: any): boolean;
1
+ import type { Observable } from "rxjs";
2
+ /**
3
+ * Checks if an object is an RxJS Observable by verifying lift and subscribe methods.
4
+ *
5
+ * @public
6
+ * @since v7.0.0
7
+ */
8
+ export declare function isObservable<T>(obj: any): obj is Observable<T>;
@@ -1,7 +1,14 @@
1
1
  /**
2
+ * Checks if a value is the Object constructor.
2
3
  *
3
- * @param target
4
- * @returns {boolean}
4
+ * @public
5
+ * @since v7.0.0
5
6
  */
6
7
  export declare function isClassObject(target: any): target is Object;
8
+ /**
9
+ * Checks if a value is a plain object (not a class instance or constructor).
10
+ *
11
+ * @public
12
+ * @since v7.0.0
13
+ */
7
14
  export declare function isPlainObject(target: any): boolean;
@@ -1,14 +1,21 @@
1
1
  /**
2
- * Return true if the given obj is a primitive.
3
- * @param target
4
- * @returns {boolean}
5
- * @ignore
2
+ * Checks if a value is a primitive or primitive class constructor (String, Number, Boolean).
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
6
  */
7
7
  export declare function isPrimitiveOrPrimitiveClass(target: any): boolean;
8
8
  /**
9
- * Return true if the given obj is a primitive.
10
- * @param target
11
- * @returns {boolean}
9
+ * Checks if a value is a primitive type (string, number, or boolean).
10
+ *
11
+ * @public
12
+ * @since v7.0.0
12
13
  */
13
14
  export declare function isPrimitive(target: any): boolean;
15
+ /**
16
+ * Checks if a value is a primitive class constructor (String, Number, or Boolean).
17
+ *
18
+ * @public
19
+ * @since v7.0.0
20
+ */
14
21
  export declare function isPrimitiveClass(target: any): boolean;
@@ -1,7 +1,8 @@
1
1
  /**
2
- * Tests to see if the object is an ES2015 (ES6) Promise
2
+ * Checks if a value is a Promise by verifying the then method exists and it's not an Observable.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
3
6
  * @see {@link https://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects}
4
- * @param target
5
- * @returns {boolean}
6
7
  */
7
8
  export declare function isPromise<T = any>(target: any): target is Promise<T>;
@@ -1,5 +1,7 @@
1
1
  /**
2
- * Prevent prototype pollution vulnerability
3
- * @param key
2
+ * Checks if a key is a protected property name to prevent prototype pollution vulnerabilities.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
4
6
  */
5
7
  export declare function isProtectedKey(key: string): boolean;
@@ -1 +1,7 @@
1
+ /**
2
+ * Checks if a value is a RegExp instance.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
+ */
1
7
  export declare function isRegExp(target: any): target is RegExp;
@@ -1 +1,7 @@
1
+ /**
2
+ * Checks if data requires serialization by excluding buffers, streams, and primitive types.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
+ */
1
7
  export declare function isSerializable(data: any): boolean;
@@ -1 +1,7 @@
1
+ /**
2
+ * Checks if an object is a Node.js stream by verifying the pipe method exists.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
+ */
1
7
  export declare function isStream(obj: any): boolean;
@@ -1,6 +1,14 @@
1
1
  /**
2
- * @param target
3
- * @returns {boolean}
2
+ * Checks if a value is a string primitive.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
4
6
  */
5
7
  export declare function isString(target: any): target is string;
8
+ /**
9
+ * Checks if a value is a string primitive, String object, or the String constructor.
10
+ *
11
+ * @public
12
+ * @since v7.0.0
13
+ */
6
14
  export declare function isStringOrStringClass(target: any): target is string;
@@ -1,6 +1,14 @@
1
1
  /**
2
+ * Checks if a value is a symbol primitive.
2
3
  *
3
- * @param target
4
+ * @public
5
+ * @since v7.0.0
4
6
  */
5
7
  export declare function isSymbol(target: any): target is symbol;
8
+ /**
9
+ * Checks if a value is a symbol primitive, Symbol object, or the Symbol constructor.
10
+ *
11
+ * @public
12
+ * @since v7.0.0
13
+ */
6
14
  export declare function isSymbolOrSymbolClass(target: any): target is symbol;
@@ -1,7 +1,9 @@
1
1
  import type { Type } from "../types/Type.js";
2
2
  /**
3
- * Return all methods for a given class.
4
- * @param target
3
+ * Returns all methods for a given class by traversing its prototype chain.
4
+ *
5
+ * @public
6
+ * @since v7.0.0
5
7
  */
6
8
  export declare function methodsOf(target: any): {
7
9
  target: Type;
@@ -1,14 +1,21 @@
1
1
  /**
2
- * Get the provide name.
3
- * @param targetClass
2
+ * Gets the name of a class from a constructor function or instance.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
4
6
  */
5
7
  export declare function nameOfClass(targetClass: any): string;
6
8
  /**
7
- * Get symbol name.
8
- * @param sym
9
+ * Extracts the name from a symbol by removing the Symbol() wrapper.
10
+ *
11
+ * @public
12
+ * @since v7.0.0
9
13
  */
10
14
  export declare const nameOfSymbol: (sym: symbol) => string;
11
15
  /**
12
- * Get object name
16
+ * Gets the name of any object including symbols, functions, and classes.
17
+ *
18
+ * @public
19
+ * @since v7.0.0
13
20
  */
14
21
  export declare function nameOf(obj: any): string;
@@ -1 +1,7 @@
1
+ /**
2
+ * Returns object keys excluding protected keys like constructor and prototype.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
+ */
1
7
  export declare function objectKeys(obj: any): string[];
@@ -1 +1,7 @@
1
+ /**
2
+ * Determines the primitive type name for a given target value or class.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
+ */
1
7
  export declare function primitiveOf(target: any): "string" | "number" | "boolean" | "any";
@@ -1,6 +1,7 @@
1
1
  /**
2
- * Return the prototype of the given class.
3
- * @param target
4
- * @returns {any}
2
+ * Returns the prototype of a given class or instance.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
5
6
  */
6
7
  export declare function prototypeOf(target: any): any;
@@ -1 +1,21 @@
1
+ /**
2
+ * Sets a value on an object using a dot-notation expression path.
3
+ *
4
+ * Supports both plain objects and Map-like objects (with `.set()`, `.get()`, `.has()` methods).
5
+ * Automatically creates intermediate objects as needed. Protected keys (`__proto__`, `constructor`, `prototype`) are ignored for security.
6
+ *
7
+ * ```typescript
8
+ * const obj = {};
9
+ * setValue(obj, "user.name", "John");
10
+ * // obj is now { user: { name: "John" } }
11
+ * ```
12
+ *
13
+ * @param scope - The target object or Map to set the value on
14
+ * @param expression - Dot-notation path to the property (e.g., "user.profile.name")
15
+ * @param value - The value to set at the specified path
16
+ * @param separator - Path separator character (default: ".")
17
+ * @returns void
18
+ * @public
19
+ * @since v7.0.0
20
+ */
1
21
  export declare function setValue(scope: any, expression: string, value: any, separator?: string): void;
@@ -1,3 +1,21 @@
1
+ /**
2
+ * Callback function type for generating map keys from items.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
6
+ */
1
7
  export type ToMapIdentityCB<V> = (item: V, index: string | number) => string | string[];
8
+ /**
9
+ * Identity type for map key generation, either a property name or callback function.
10
+ *
11
+ * @public
12
+ * @since v7.0.0
13
+ */
2
14
  export type ToMapIdentity<V> = string | ToMapIdentityCB<V>;
15
+ /**
16
+ * Converts an array or object to a Map using a key extraction strategy.
17
+ *
18
+ * @public
19
+ * @since v7.0.0
20
+ */
3
21
  export declare function toMap<K extends keyof any = any, V = any>(input: Record<K, V> | V[], keyOrFn?: ToMapIdentity<V>): Map<K, V>;
@@ -1 +1,11 @@
1
+ /**
2
+ * Returns the textual signature of a class/instance constructor.
3
+ *
4
+ * Example output: `constructor(id: string, name?: string)`.
5
+ * Useful for debugging and documentation generation.
6
+ *
7
+ * @param target Instance or constructor.
8
+ * @returns The constructor signature as a string.
9
+ * @public
10
+ */
1
11
  export declare function toStringConstructor(target: any): string;
@@ -1,5 +1,14 @@
1
1
  /**
2
- * @param list
2
+ * Returns a new array with duplicate values removed.
3
+ *
4
+ * @public
5
+ * @since v7.0.0
3
6
  */
4
7
  export declare function uniq<T = any>(list: T[]): T[];
8
+ /**
9
+ * Returns a new array with duplicate objects removed based on a specified property key.
10
+ *
11
+ * @public
12
+ * @since v7.0.0
13
+ */
5
14
  export declare function uniqBy<T = any>(list: T[], key?: string): T[];
@@ -1,2 +1,8 @@
1
1
  import { AnyDecorator } from "../types/AnyDecorator.js";
2
+ /**
3
+ * Combines multiple decorators into a single decorator function.
4
+ *
5
+ * @public
6
+ * @since v7.0.0
7
+ */
2
8
  export declare function useDecorators(...decorators: AnyDecorator[]): any;
@@ -1,3 +1,15 @@
1
1
  import { AnyDecorator } from "../types/AnyDecorator.js";
2
+ /**
3
+ * Wraps a decorator to ensure it receives the proper method descriptor.
4
+ *
5
+ * @public
6
+ * @since v7.0.0
7
+ */
2
8
  export declare function useMethodDecorator(decorator: AnyDecorator): (target: any, propertyKey: string | symbol) => any;
9
+ /**
10
+ * Combines multiple method decorators into a single decorator with proper descriptor handling.
11
+ *
12
+ * @public
13
+ * @since v7.0.0
14
+ */
3
15
  export declare function useMethodDecorators(...decorators: AnyDecorator[]): (target: any, propertyKey: string | symbol) => void;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@tsed/core",
3
3
  "description": "Core module for Ts.ED Framework",
4
4
  "type": "module",
5
- "version": "8.18.1",
5
+ "version": "8.19.0",
6
6
  "source": "./src/index.ts",
7
7
  "main": "./lib/esm/index.js",
8
8
  "module": "./lib/esm/index.js",
@@ -39,11 +39,11 @@
39
39
  "tslib": "2.7.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@tsed/barrels": "8.18.1",
42
+ "@tsed/barrels": "8.19.0",
43
43
  "@tsed/monorepo-utils": "3.0.0",
44
- "@tsed/typescript": "8.18.1",
45
- "@tsed/vitest": "8.18.1",
46
- "typescript": "5.4.5",
44
+ "@tsed/typescript": "8.19.0",
45
+ "@tsed/vitest": "8.19.0",
46
+ "typescript": "5.9.3",
47
47
  "vitest": "3.2.4"
48
48
  },
49
49
  "peerDependencies": {},