@tstdl/base 0.71.69 → 0.71.71

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 (63) hide show
  1. package/container/container.d.ts +1 -0
  2. package/container/container.js +65 -54
  3. package/container/container.js.map +1 -1
  4. package/container/decorators.d.ts +11 -8
  5. package/container/decorators.js +48 -69
  6. package/container/decorators.js.map +1 -1
  7. package/container/resolve-chain.js +4 -3
  8. package/container/resolve-chain.js.map +1 -1
  9. package/container/type-info.d.ts +1 -21
  10. package/container/type-info.js +0 -42
  11. package/container/type-info.js.map +1 -1
  12. package/container/utils.d.ts +1 -1
  13. package/container/utils.js +17 -28
  14. package/container/utils.js.map +1 -1
  15. package/css/theme/theme.service.js +3 -2
  16. package/css/theme/theme.service.js.map +1 -1
  17. package/database/mongo/mongo-entity-repository.js.map +1 -1
  18. package/examples/pdf/basic.js +2 -1
  19. package/examples/pdf/basic.js.map +1 -1
  20. package/examples/reflection/basic.js +4 -1
  21. package/examples/reflection/basic.js.map +1 -1
  22. package/http/cookie-parser.js +2 -2
  23. package/http/cookie-parser.js.map +1 -1
  24. package/http/server/node/node-http-server.js.map +1 -1
  25. package/package.json +5 -5
  26. package/reflection/decorator-data.d.ts +1 -46
  27. package/reflection/decorator-data.js.map +1 -1
  28. package/reflection/decorators.d.ts +13 -11
  29. package/reflection/decorators.js +27 -18
  30. package/reflection/decorators.js.map +1 -1
  31. package/reflection/index.d.ts +1 -0
  32. package/reflection/index.js +1 -0
  33. package/reflection/index.js.map +1 -1
  34. package/reflection/registry.d.ts +30 -14
  35. package/reflection/registry.js +23 -15
  36. package/reflection/registry.js.map +1 -1
  37. package/reflection/types.d.ts +88 -0
  38. package/reflection/types.js +3 -0
  39. package/reflection/types.js.map +1 -0
  40. package/reflection/utils.d.ts +21 -21
  41. package/reflection/utils.js +64 -50
  42. package/reflection/utils.js.map +1 -1
  43. package/schema/schemas/object.js +4 -3
  44. package/schema/schemas/object.js.map +1 -1
  45. package/search-index/elastic/search-index.js +1 -1
  46. package/search-index/elastic/search-index.js.map +1 -1
  47. package/serializer/serializer.js +5 -4
  48. package/serializer/serializer.js.map +1 -1
  49. package/templates/module.js +1 -0
  50. package/templates/module.js.map +1 -1
  51. package/templates/template.service.d.ts +2 -2
  52. package/templates/template.service.js +3 -3
  53. package/templates/template.service.js.map +1 -1
  54. package/types.d.ts +2 -2
  55. package/utils/helpers.js +11 -7
  56. package/utils/helpers.js.map +1 -1
  57. package/utils/object/lazy-property.js +1 -1
  58. package/utils/object/lazy-property.js.map +1 -1
  59. package/utils/object/merge.js +1 -1
  60. package/utils/object/merge.js.map +1 -1
  61. package/utils/object/object.d.ts +5 -1
  62. package/utils/object/object.js +22 -8
  63. package/utils/object/object.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/reflection/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B;AAC3B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/reflection/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB"}
@@ -1,32 +1,48 @@
1
1
  import type { Constructor, Type } from "../types";
2
- import type { DecoratorData } from './decorator-data';
2
+ import type { DecoratorData } from './types';
3
3
  declare type Data = Map<string | symbol, any>;
4
- export declare type ReflectionMetadata = TypeMetadata | PropertyMetadata | MethodMetadata | ParameterMetadata;
5
- export declare type TypeMetadata = {
6
- constructor: Constructor;
7
- parameters: ParameterMetadata[];
8
- properties: Map<string | symbol, PropertyMetadata>;
9
- staticProperties: Map<string | symbol, PropertyMetadata>;
10
- methods: Map<string | symbol, MethodMetadata>;
11
- staticMethods: Map<string | symbol, MethodMetadata>;
12
- data: Data;
4
+ export declare type ReflectionMetadata = TypeMetadata | PropertyMetadata | MethodMetadata | ConstructorParameterMetadata | MethodParameterMetadata;
5
+ export declare type MetadataType = 'type' | 'property' | 'method' | 'method-parameter' | 'constructor-parameter';
6
+ export declare type MetadataBase<T extends MetadataType> = {
7
+ metadataType: T;
8
+ };
9
+ export declare type TypeMetadata = MetadataBase<'type'> & {
10
+ readonly constructor: Constructor;
11
+ /** may be undefined if class has no constructor */
12
+ readonly parameters: ConstructorParameterMetadata[] | undefined;
13
+ readonly properties: Map<string | symbol, PropertyMetadata>;
14
+ readonly staticProperties: Map<string | symbol, PropertyMetadata>;
15
+ readonly methods: Map<string | symbol, MethodMetadata>;
16
+ readonly staticMethods: Map<string | symbol, MethodMetadata>;
17
+ readonly data: Data;
18
+ readonly registered: boolean;
13
19
  };
14
- export declare type PropertyMetadata = {
20
+ export declare type PropertyMetadata = MetadataBase<'property'> & {
21
+ key: string | symbol;
15
22
  type: Type;
23
+ isAccessor: boolean;
16
24
  data: Data;
17
25
  };
18
- export declare type MethodMetadata = {
19
- parameters: ParameterMetadata[];
26
+ export declare type MethodMetadata = MetadataBase<'method'> & {
27
+ parameters: MethodParameterMetadata[];
20
28
  returnType: Type | undefined;
21
29
  data: Data;
22
30
  };
23
- export declare type ParameterMetadata = {
31
+ export declare type ConstructorParameterMetadata = MetadataBase<'constructor-parameter'> & {
32
+ type: Type | undefined;
33
+ index: number;
34
+ data: Data;
35
+ };
36
+ export declare type MethodParameterMetadata = MetadataBase<'method-parameter'> & {
24
37
  type: Type;
38
+ index: number;
25
39
  data: Data;
26
40
  };
41
+ export declare type ParameterMetadata = ConstructorParameterMetadata | MethodParameterMetadata;
27
42
  export declare class ReflectionRegistry {
28
43
  private readonly metadataMap;
29
44
  constructor();
45
+ hasType(type: Constructor): boolean;
30
46
  getMetadata(type: Constructor): TypeMetadata;
31
47
  register(target: object, propertyKey?: string | symbol, descriptorOrParameterIndex?: PropertyDescriptor | number): DecoratorData;
32
48
  registerDecoratorData(data: DecoratorData): ReflectionMetadata;
@@ -4,7 +4,7 @@ exports.reflectionRegistry = exports.ReflectionRegistry = void 0;
4
4
  /* eslint-disable max-classes-per-file */
5
5
  const data_structures_1 = require("../data-structures");
6
6
  const factory_map_1 = require("../utils/factory-map");
7
- const object_1 = require("../utils/object");
7
+ const lazy_property_1 = require("../utils/object/lazy-property");
8
8
  const reflection_1 = require("../utils/reflection");
9
9
  const type_guards_1 = require("../utils/type-guards");
10
10
  const decorator_data_1 = require("./decorator-data");
@@ -12,6 +12,9 @@ class ReflectionRegistry {
12
12
  constructor() {
13
13
  this.metadataMap = new factory_map_1.FactoryMap((type) => this.initializeType(type), new data_structures_1.WeakRefMap());
14
14
  }
15
+ hasType(type) {
16
+ return this.metadataMap.has(type) && this.getMetadata(type).registered;
17
+ }
15
18
  getMetadata(type) {
16
19
  return this.metadataMap.get(type);
17
20
  }
@@ -22,11 +25,14 @@ class ReflectionRegistry {
22
25
  }
23
26
  registerDecoratorData(data) {
24
27
  const metadata = this.metadataMap.get(data.constructor);
28
+ metadata.registered = true;
25
29
  if (data.type == 'class') {
26
30
  return metadata;
27
31
  }
28
32
  else if ((data.type == 'property') || (data.type == 'accessor')) {
29
- return (data.static ? metadata.staticProperties : metadata.properties).get(data.propertyKey);
33
+ const propertyMetadata = (data.static ? metadata.staticProperties : metadata.properties).get(data.propertyKey);
34
+ propertyMetadata.isAccessor = data.type == 'accessor';
35
+ return propertyMetadata;
30
36
  }
31
37
  else if (data.type == 'method') {
32
38
  return (data.static ? metadata.staticMethods : metadata.methods).get(data.methodKey);
@@ -35,11 +41,12 @@ class ReflectionRegistry {
35
41
  return (data.static ? metadata.staticMethods : metadata.methods).get(data.methodKey);
36
42
  }
37
43
  else if (data.type == 'constructor-parameter') { // eslint-disable-line @typescript-eslint/no-unnecessary-condition
44
+ if ((0, type_guards_1.isUndefined)(metadata.parameters)) {
45
+ throw new Error('Constructor parameters are not available. (missing decoration?)');
46
+ }
38
47
  return metadata.parameters[data.index];
39
48
  }
40
- else {
41
- throw new Error(`Unknown DecoratorData type ${data.type}`);
42
- }
49
+ throw new Error(`Unknown DecoratorData type ${data.type}`);
43
50
  }
44
51
  /**
45
52
  * Unregister a type. Can be useful if you replace a class with an decorator.
@@ -51,20 +58,20 @@ class ReflectionRegistry {
51
58
  }
52
59
  // eslint-disable-next-line max-lines-per-function
53
60
  initializeType(type) {
54
- return (0, object_1.lazyObject)({
55
- constructor: (0, object_1.lazyObjectValue)(type),
61
+ return (0, lazy_property_1.lazyObject)({
62
+ metadataType: 'type',
63
+ constructor: (0, lazy_property_1.lazyObjectValue)(type),
56
64
  parameters: {
57
65
  initializer() {
58
- const parameters = (0, reflection_1.getParameterTypes)(type);
59
- (0, type_guards_1.assertDefined)(parameters, 'missing constructor parameters');
60
- return parameters.map((parameter) => ({ type: parameter, data: new Map() }));
66
+ const parametersTypes = (0, reflection_1.getParameterTypes)(type);
67
+ return parametersTypes?.map((parameterType, index) => ({ metadataType: 'constructor-parameter', index, type: parameterType, data: new Map() }));
61
68
  }
62
69
  },
63
70
  properties: {
64
- initializer: () => new factory_map_1.FactoryMap((key) => ({ type: (0, reflection_1.getDesignType)(type.prototype, key), data: new Map() }))
71
+ initializer: () => new factory_map_1.FactoryMap((key) => ({ metadataType: 'property', key, type: (0, reflection_1.getDesignType)(type.prototype, key), isAccessor: false, data: new Map() }))
65
72
  },
66
73
  staticProperties: {
67
- initializer: () => new factory_map_1.FactoryMap((key) => ({ type: (0, reflection_1.getDesignType)(type, key), data: new Map() }))
74
+ initializer: () => new factory_map_1.FactoryMap((key) => ({ metadataType: 'property', key, type: (0, reflection_1.getDesignType)(type, key), isAccessor: false, data: new Map() }))
68
75
  },
69
76
  methods: {
70
77
  initializer: () => new factory_map_1.FactoryMap((key) => {
@@ -73,7 +80,7 @@ class ReflectionRegistry {
73
80
  if ((0, type_guards_1.isUndefined)(parameters)) {
74
81
  throw new Error(`Could not get parameters for method ${key.toString()} of type ${type.name}`);
75
82
  }
76
- return { parameters: parameters.map((parameter) => ({ type: parameter, data: new Map() })), returnType, data: new Map() };
83
+ return { metadataType: 'method', parameters: parameters.map((parameter, index) => ({ metadataType: 'method-parameter', index, type: parameter, data: new Map() })), returnType, data: new Map() };
77
84
  })
78
85
  },
79
86
  staticMethods: {
@@ -83,10 +90,11 @@ class ReflectionRegistry {
83
90
  if ((0, type_guards_1.isUndefined)(parameters)) {
84
91
  throw new Error(`Could not get parameters for static method ${key.toString()} of type ${type.name}`);
85
92
  }
86
- return { parameters: parameters.map((parameter) => ({ type: parameter, data: new Map() })), returnType, data: new Map() };
93
+ return { metadataType: 'method', parameters: parameters.map((parameter, index) => ({ metadataType: 'method-parameter', index, type: parameter, data: new Map() })), returnType, data: new Map() };
87
94
  })
88
95
  },
89
- data: { initializer: () => new Map() }
96
+ data: { initializer: () => new Map() },
97
+ registered: false
90
98
  });
91
99
  }
92
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../source/reflection/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../source/reflection/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import type { Constructor, Record } from "../types";
2
+ import type { UnionToIntersection } from 'type-fest';
3
+ import type { ConstructorParameterMetadata, MethodMetadata, MethodParameterMetadata, ParameterMetadata, PropertyMetadata, TypeMetadata } from './registry';
4
+ export declare type DecoratorType = 'class' | 'property' | 'accessor' | 'method' | 'parameter' | 'methodParameter' | 'constructorParameter';
5
+ export declare type DecoratorHandler<T extends DecoratorType = DecoratorType> = (data: DecoratorData<T>, metadata: DecoratorMetadata<T>) => DecoratorHandlerReturnType<T>;
6
+ export declare type DecoratorHandlerReturnType<T extends DecoratorType = DecoratorType> = DecoratorOptionsTypeMap<DecoratorHandlerReturnTypeMap, T>;
7
+ export declare type Decorator<T extends DecoratorType = DecoratorType> = DecoratorOptionsTypeMapIntersection<DecoratorMap, T>;
8
+ export declare type DecoratorData<T extends DecoratorType = DecoratorType> = DecoratorOptionsTypeMap<DecoratorDataMap, T>;
9
+ export declare type DecoratorMetadata<T extends DecoratorType = DecoratorType> = DecoratorOptionsTypeMap<DecoratorMetadataMap, T>;
10
+ export declare type DecoratorTypeMap<T extends Record<DecoratorType> = Record<DecoratorType>> = T;
11
+ export declare type DecoratorOptionsTypeMap<T extends DecoratorTypeMap, U extends DecoratorType> = {
12
+ [D in U]: T[D];
13
+ }[U];
14
+ export declare type DecoratorOptionsTypeMapIntersection<T extends DecoratorTypeMap, U extends DecoratorType> = UnionToIntersection<DecoratorOptionsTypeMap<T, U>>;
15
+ export declare type DecoratorDataMap = DecoratorTypeMap<{
16
+ class: ClassDecoratorData;
17
+ property: PropertyDecoratorData;
18
+ accessor: AccessorDecoratorData;
19
+ method: MethodDecoratorData;
20
+ parameter: ParameterDecoratorData;
21
+ methodParameter: MethodParameterDecoratorData;
22
+ constructorParameter: ConstructorParameterDecoratorData;
23
+ }>;
24
+ export declare type DecoratorMetadataMap = DecoratorTypeMap<{
25
+ class: TypeMetadata;
26
+ property: PropertyMetadata;
27
+ accessor: PropertyMetadata;
28
+ method: MethodMetadata;
29
+ parameter: ParameterMetadata;
30
+ methodParameter: MethodParameterMetadata;
31
+ constructorParameter: ConstructorParameterMetadata;
32
+ }>;
33
+ export declare type DecoratorHandlerReturnTypeMap = DecoratorTypeMap<{
34
+ class: void | undefined | Constructor;
35
+ property: void;
36
+ accessor: void;
37
+ method: void | PropertyDescriptor;
38
+ parameter: void;
39
+ methodParameter: void;
40
+ constructorParameter: void;
41
+ }>;
42
+ export declare type DecoratorMap = DecoratorTypeMap<{
43
+ class: ClassDecorator;
44
+ property: PropertyDecorator;
45
+ accessor: MethodDecorator;
46
+ method: MethodDecorator;
47
+ parameter: ParameterDecorator;
48
+ methodParameter: ParameterDecorator;
49
+ constructorParameter: ParameterDecorator;
50
+ }>;
51
+ export declare type DecoratorDataBase<Type extends string> = {
52
+ type: Type;
53
+ constructor: Constructor;
54
+ prototype: object;
55
+ };
56
+ export declare type ClassDecoratorData = DecoratorDataBase<'class'>;
57
+ export declare type PropertyDecoratorData = DecoratorDataBase<'property'> & {
58
+ static: boolean;
59
+ propertyKey: string | symbol;
60
+ };
61
+ export declare type AccessorDecoratorData = DecoratorDataBase<'accessor'> & {
62
+ static: boolean;
63
+ propertyKey: string | symbol;
64
+ descriptor: PropertyDescriptor;
65
+ };
66
+ export declare type PropertyOrAccessorDecoratorData = PropertyDecoratorData | AccessorDecoratorData;
67
+ export declare type MethodDecoratorData = DecoratorDataBase<'method'> & {
68
+ static: boolean;
69
+ methodKey: string | symbol;
70
+ descriptor: PropertyDescriptor;
71
+ };
72
+ export declare type MethodParameterDecoratorData = DecoratorDataBase<'parameter'> & {
73
+ static: boolean;
74
+ methodKey: string | symbol;
75
+ index: number;
76
+ };
77
+ export declare type ConstructorParameterDecoratorData = DecoratorDataBase<'constructor-parameter'> & {
78
+ index: number;
79
+ };
80
+ export declare type ParameterDecoratorData = MethodParameterDecoratorData | ConstructorParameterDecoratorData;
81
+ export declare type ClassDecoratorHandler = DecoratorHandler<'class'>;
82
+ export declare type PropertyDecoratorHandler = DecoratorHandler<'property'>;
83
+ export declare type AccessorDecoratorHandler = DecoratorHandler<'accessor'>;
84
+ export declare type PropertyOrAccessorDecoratorHandler = DecoratorHandler<'property' | 'accessor'>;
85
+ export declare type MethodDecoratorHandler = DecoratorHandler<'method'>;
86
+ export declare type ParameterDecoratorHandler = DecoratorHandler<'parameter'>;
87
+ export declare type ConstructorParameterDecoratorHandler = DecoratorHandler<'constructorParameter'>;
88
+ export declare type MethodParameterDecoratorHandler = DecoratorHandler<'methodParameter'>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/reflection/types.ts"],"names":[],"mappings":""}
@@ -1,27 +1,27 @@
1
- import type { Constructor, Record } from "../types";
2
- import type { AccessorDecoratorData, ClassDecoratorData, ConstructorParameterDecoratorData, DecoratorData, MethodDecoratorData, MethodParameterDecoratorData, ParameterDecoratorData, PropertyDecoratorData, PropertyOrAccessorDecoratorData } from './decorator-data';
3
- export declare type Decorator = ClassDecorator | PropertyDecorator | MethodDecorator | ParameterDecorator;
4
- export declare type DecoratorHandler = (data: DecoratorData) => ReturnType<Decorator>;
5
- export declare type ClassDecoratorHandler<T extends Constructor> = (data: ClassDecoratorData) => void | undefined | T;
6
- export declare type PropertyDecoratorHandler = (data: PropertyDecoratorData) => void;
7
- export declare type AccessorDecoratorHandler = (data: AccessorDecoratorData) => void;
8
- export declare type PropertyOrAccessorDecoratorHandler = <T>(data: PropertyOrAccessorDecoratorData) => void | TypedPropertyDescriptor<T>;
9
- export declare type MethodDecoratorHandler = <T>(data: MethodDecoratorData) => void | TypedPropertyDescriptor<T>;
10
- export declare type ParameterDecoratorHandler = (data: ParameterDecoratorData) => void;
11
- export declare type ConstructorParameterDecoratorHandler = (data: ConstructorParameterDecoratorData) => void;
12
- export declare type MethodParameterDecoratorHandler = (data: MethodParameterDecoratorData) => void;
1
+ import type { Constructor, PropertiesOfType, Record } from "../types";
2
+ import type { Decorator, DecoratorHandler, DecoratorType } from './types';
3
+ export declare type CreateDecoratorTypeOptions = {
4
+ [P in DecoratorType]?: boolean;
5
+ };
13
6
  export declare type CreateDecoratorOptions = {
14
7
  data?: Record<string | symbol>;
8
+ /** merge data values instead of replacing them (requires them to be objects, arrays, maps or sets) */
9
+ mergeData?: boolean;
10
+ };
11
+ export declare type SpecificCreateDecoratorOptions<T extends DecoratorType> = CreateDecoratorOptions & {
12
+ handler?: DecoratorHandler<T>;
15
13
  };
16
- export declare function createDecorator(decorator: DecoratorHandler, options?: CreateDecoratorOptions): Decorator;
17
- export declare function createClassDecorator<T extends Constructor>(decorator: ClassDecoratorHandler<T>, options?: CreateDecoratorOptions): ClassDecorator;
18
- export declare function createPropertyDecorator(decorator: PropertyDecoratorHandler, options?: CreateDecoratorOptions): PropertyDecorator;
19
- export declare function createAccessorDecorator(decorator: AccessorDecoratorHandler, options?: CreateDecoratorOptions): MethodDecorator;
20
- export declare function createPropertyOrAccessorDecorator(decorator: PropertyOrAccessorDecoratorHandler, options?: CreateDecoratorOptions): MethodDecorator;
21
- export declare function createMethodDecorator(decorator: MethodDecoratorHandler, options?: CreateDecoratorOptions): MethodDecorator;
22
- export declare function createParameterDecorator(decorator: ParameterDecoratorHandler, options?: CreateDecoratorOptions): ParameterDecorator;
23
- export declare function createConstructorParameterDecorator(decorator: ConstructorParameterDecoratorHandler, options?: CreateDecoratorOptions): ParameterDecorator;
24
- export declare function createMethodParameterDecorator(decorator: MethodParameterDecoratorHandler, options?: CreateDecoratorOptions): ParameterDecorator;
14
+ declare type CreateDecoratorType<T extends CreateDecoratorOptions> = Extract<PropertiesOfType<T, true>, DecoratorType>;
15
+ export declare function createDecorator<T extends CreateDecoratorTypeOptions & CreateDecoratorOptions>(options: T, handler?: DecoratorHandler<CreateDecoratorType<T>>): Decorator<CreateDecoratorType<T>>;
16
+ export declare function createClassDecorator(options?: SpecificCreateDecoratorOptions<'class'>): ClassDecorator;
17
+ export declare function createPropertyDecorator(options?: SpecificCreateDecoratorOptions<'property'>): PropertyDecorator;
18
+ export declare function createAccessorDecorator(options?: SpecificCreateDecoratorOptions<'accessor'>): MethodDecorator;
19
+ export declare function createPropertyOrAccessorDecorator(options?: SpecificCreateDecoratorOptions<'property' | 'accessor'>): Decorator<'property' | 'accessor'>;
20
+ export declare function createMethodDecorator(options?: SpecificCreateDecoratorOptions<'method'>): MethodDecorator;
21
+ export declare function createParameterDecorator(options?: SpecificCreateDecoratorOptions<'parameter'>): ParameterDecorator;
22
+ export declare function createMethodParameterDecorator(options?: SpecificCreateDecoratorOptions<'methodParameter'>): ParameterDecorator;
23
+ export declare function createConstructorParameterDecorator(options?: SpecificCreateDecoratorOptions<'constructorParameter'>): ParameterDecorator;
25
24
  export declare function getConstructor<T extends Constructor = Constructor>(constructorOrTarget: object): T;
26
25
  export declare function getTypeInfoString(type: Constructor): string;
27
26
  export declare function printType(type: Constructor): void;
27
+ export {};
@@ -1,79 +1,93 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.printType = exports.getTypeInfoString = exports.getConstructor = exports.createMethodParameterDecorator = exports.createConstructorParameterDecorator = exports.createParameterDecorator = exports.createMethodDecorator = exports.createPropertyOrAccessorDecorator = exports.createAccessorDecorator = exports.createPropertyDecorator = exports.createClassDecorator = exports.createDecorator = void 0;
3
+ exports.printType = exports.getTypeInfoString = exports.getConstructor = exports.createConstructorParameterDecorator = exports.createMethodParameterDecorator = exports.createParameterDecorator = exports.createMethodDecorator = exports.createPropertyOrAccessorDecorator = exports.createAccessorDecorator = exports.createPropertyDecorator = exports.createClassDecorator = exports.createDecorator = void 0;
4
+ const noop_1 = require("../utils/noop");
5
+ const object_1 = require("../utils/object/object");
4
6
  const type_guards_1 = require("../utils/type-guards");
5
7
  const decorator_data_1 = require("./decorator-data");
6
8
  const registry_1 = require("./registry");
7
- function createDecorator(decorator, options = {}) {
9
+ // eslint-disable-next-line max-lines-per-function
10
+ function createDecorator(options, handler = noop_1.noop) {
11
+ // eslint-disable-next-line max-statements, max-lines-per-function
8
12
  function decoratorWrapper(target, propertyKey, descriptorOrParameterIndex) {
9
13
  const data = (0, decorator_data_1.getDecoratorData)(target, propertyKey, descriptorOrParameterIndex);
14
+ const optionsType = (data.type == 'constructor-parameter') ? 'constructorParameter' : data.type;
15
+ const valid = (options[optionsType] == true)
16
+ || (optionsType == 'parameter' && ((options.constructorParameter == true) || (options.methodParameter == true)))
17
+ || (((optionsType == 'constructorParameter') || (optionsType == 'methodParameter')) && (options.parameter == true));
18
+ (0, type_guards_1.assert)(valid, () => `Decorator cannot be used for ${data.type}.`);
10
19
  const metadata = registry_1.reflectionRegistry.registerDecoratorData(data);
11
20
  if ((0, type_guards_1.isDefined)(options.data)) {
12
- for (const [key, value] of Object.entries(options.data)) {
13
- metadata.data.set(key, value);
21
+ for (const [key, value] of (0, object_1.objectEntries)(options.data)) {
22
+ if (options.mergeData != true) {
23
+ metadata.data.set(key, value);
24
+ }
25
+ else {
26
+ let newData;
27
+ if ((0, type_guards_1.isObject)(value)) {
28
+ const existing = metadata.data.get(key) ?? {};
29
+ (0, type_guards_1.assertObject)(existing, 'Cannot merge object into non-object.');
30
+ newData = { ...existing, ...value };
31
+ }
32
+ else if ((0, type_guards_1.isArray)(value)) {
33
+ const existing = metadata.data.get(key) ?? [];
34
+ (0, type_guards_1.assertArray)(existing, 'Cannot merge array into non-array.');
35
+ newData = [...existing, ...value];
36
+ }
37
+ else if ((0, type_guards_1.isMap)(value)) {
38
+ const existing = metadata.data.get(key) ?? new Map();
39
+ (0, type_guards_1.assertMap)(existing, 'Cannot merge map into non-map.');
40
+ newData = new Map([...existing, ...value]);
41
+ }
42
+ else if ((0, type_guards_1.isSet)(value)) {
43
+ const existing = metadata.data.get(key) ?? new Set();
44
+ (0, type_guards_1.assertSet)(existing, 'Cannot merge set into non-set.');
45
+ newData = new Set([...existing, ...value]);
46
+ }
47
+ else {
48
+ throw new Error('Merging of data can only be done with objects, arrays, maps and sets.');
49
+ }
50
+ metadata.data.set(key, newData);
51
+ }
14
52
  }
15
53
  }
16
- return decorator(data);
54
+ return handler(data, metadata);
17
55
  }
18
56
  return decoratorWrapper;
19
57
  }
20
58
  exports.createDecorator = createDecorator;
21
- function createClassDecorator(decorator, options = {}) {
22
- return createDecorator((data) => {
23
- (0, type_guards_1.assert)(data.type == 'class', `Class decorator cannot be used for ${data.type}.`);
24
- return decorator(data);
25
- }, options);
59
+ function createClassDecorator(options = {}) {
60
+ return createDecorator({ ...options, class: true }, options.handler);
26
61
  }
27
62
  exports.createClassDecorator = createClassDecorator;
28
- function createPropertyDecorator(decorator, options = {}) {
29
- return createDecorator((data) => {
30
- (0, type_guards_1.assert)(data.type == 'property', `Property decorator cannot be used for ${data.type}.`);
31
- decorator(data);
32
- }, options);
63
+ function createPropertyDecorator(options = {}) {
64
+ return createDecorator({ ...options, property: true }, options.handler);
33
65
  }
34
66
  exports.createPropertyDecorator = createPropertyDecorator;
35
- function createAccessorDecorator(decorator, options = {}) {
36
- return createDecorator((data) => {
37
- (0, type_guards_1.assert)(data.type == 'accessor', `Accessor decorator cannot be used for ${data.type}.`);
38
- decorator(data);
39
- }, options);
67
+ function createAccessorDecorator(options = {}) {
68
+ return createDecorator({ ...options, accessor: true }, options.handler);
40
69
  }
41
70
  exports.createAccessorDecorator = createAccessorDecorator;
42
- function createPropertyOrAccessorDecorator(decorator, options = {}) {
43
- return createDecorator((data) => {
44
- (0, type_guards_1.assert)((data.type == 'property') || (data.type == 'accessor'), `Property or accessor decorator cannot be used for ${data.type}.`);
45
- decorator(data);
46
- }, options);
71
+ function createPropertyOrAccessorDecorator(options = {}) {
72
+ return createDecorator({ ...options, property: true, accessor: true }, options.handler);
47
73
  }
48
74
  exports.createPropertyOrAccessorDecorator = createPropertyOrAccessorDecorator;
49
- function createMethodDecorator(decorator, options = {}) {
50
- return createDecorator((data) => {
51
- (0, type_guards_1.assert)(data.type == 'method', `Method decorator cannot be used for ${data.type}.`);
52
- return decorator(data);
53
- }, options);
75
+ function createMethodDecorator(options = {}) {
76
+ return createDecorator({ ...options, method: true }, options.handler);
54
77
  }
55
78
  exports.createMethodDecorator = createMethodDecorator;
56
- function createParameterDecorator(decorator, options = {}) {
57
- return createDecorator((data) => {
58
- (0, type_guards_1.assert)((data.type == 'parameter') || (data.type == 'constructor-parameter'), `Parameter decorator cannot be used for ${data.type}.`);
59
- decorator(data);
60
- }, options);
79
+ function createParameterDecorator(options = {}) {
80
+ return createDecorator({ ...options, parameter: true }, options.handler);
61
81
  }
62
82
  exports.createParameterDecorator = createParameterDecorator;
63
- function createConstructorParameterDecorator(decorator, options = {}) {
64
- return createDecorator((data) => {
65
- (0, type_guards_1.assert)((data.type == 'constructor-parameter'), `Constructor-Parameter decorator cannot be used for ${data.type}.`);
66
- decorator(data);
67
- }, options);
68
- }
69
- exports.createConstructorParameterDecorator = createConstructorParameterDecorator;
70
- function createMethodParameterDecorator(decorator, options = {}) {
71
- return createDecorator((data) => {
72
- (0, type_guards_1.assert)((data.type == 'parameter'), `Method-Parameter decorator cannot be used for ${data.type}.`);
73
- decorator(data);
74
- }, options);
83
+ function createMethodParameterDecorator(options = {}) {
84
+ return createDecorator({ ...options, methodParameter: true }, options.handler);
75
85
  }
76
86
  exports.createMethodParameterDecorator = createMethodParameterDecorator;
87
+ function createConstructorParameterDecorator(options = {}) {
88
+ return createDecorator({ ...options, constructorParameter: true }, options.handler);
89
+ }
90
+ exports.createConstructorParameterDecorator = createConstructorParameterDecorator;
77
91
  function getConstructor(constructorOrTarget) {
78
92
  return (0, type_guards_1.isFunction)(constructorOrTarget)
79
93
  ? constructorOrTarget
@@ -83,7 +97,7 @@ exports.getConstructor = getConstructor;
83
97
  function getTypeInfoString(type) {
84
98
  const lines = [];
85
99
  const metadata = registry_1.reflectionRegistry.getMetadata(type);
86
- const constructorParameters = metadata.parameters.map((parameter) => parameter.type.name).join(', ');
100
+ const constructorParameters = metadata.parameters?.map((parameter) => parameter.type?.name ?? '<unknown>').join(', ') ?? '?';
87
101
  lines.push(`${metadata.constructor.name}(${constructorParameters})`);
88
102
  for (const [key, propertyMetadata] of metadata.staticProperties) {
89
103
  const propertyKey = (0, type_guards_1.isSymbol)(key) ? `[${key.toString()}]` : key;
@@ -91,7 +105,7 @@ function getTypeInfoString(type) {
91
105
  }
92
106
  for (const [key, methodMetadata] of metadata.staticMethods) {
93
107
  const propertyKey = (0, type_guards_1.isSymbol)(key) ? `[${key.toString()}]` : key;
94
- const parameters = metadata.parameters.map((parameter) => parameter.type.name).join(', ');
108
+ const parameters = methodMetadata.parameters.map((parameter) => parameter.type.name).join(', ');
95
109
  lines.push(` static ${propertyKey}(${parameters}): ${methodMetadata.returnType?.name ?? 'void'}`);
96
110
  }
97
111
  for (const [key, propertyMetadata] of metadata.properties) {
@@ -100,7 +114,7 @@ function getTypeInfoString(type) {
100
114
  }
101
115
  for (const [key, methodMetadata] of metadata.methods) {
102
116
  const propertyKey = (0, type_guards_1.isSymbol)(key) ? `[${key.toString()}]` : key;
103
- const parameters = metadata.parameters.map((parameter) => parameter.type.name).join(', ');
117
+ const parameters = methodMetadata.parameters.map((parameter) => parameter.type.name).join(', ');
104
118
  lines.push(` ${propertyKey}(${parameters}): ${methodMetadata.returnType?.name ?? 'void'}`);
105
119
  }
106
120
  return lines.join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../source/reflection/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../source/reflection/utils.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assign = exports.object = exports.ObjectSchemaValidator = void 0;
4
4
  const map_1 = require("../../utils/map");
5
+ const object_1 = require("../../utils/object/object");
5
6
  const type_guards_1 = require("../../utils/type-guards");
6
7
  const schema_error_1 = require("../schema.error");
7
8
  const schema_validator_1 = require("../schema.validator");
@@ -9,7 +10,7 @@ const types_1 = require("../types");
9
10
  class ObjectSchemaValidator extends schema_validator_1.SchemaValidator {
10
11
  constructor(validators, schema) {
11
12
  super(schema);
12
- this.validatorEntries = new Map(Object.entries(validators));
13
+ this.validatorEntries = new Map((0, object_1.objectEntries)(validators));
13
14
  }
14
15
  static assign(a, b) {
15
16
  const validatorEntries = Object.fromEntries([...a.validatorEntries.entries(), ...b.validatorEntries.entries()]);
@@ -65,7 +66,7 @@ class ObjectSchemaValidator extends schema_validator_1.SchemaValidator {
65
66
  else if (value === null) {
66
67
  return { valid: false, error: schema_error_1.SchemaError.expectedButGot('object', 'null', path) };
67
68
  }
68
- const valueEntries = new Map(Object.entries(value));
69
+ const valueEntries = new Map((0, object_1.objectEntries)(value));
69
70
  const unknownKeys = (0, map_1.differenceMaps)(valueEntries, this.validatorEntries);
70
71
  if ((unknownKeys.length > 0) && (this.schema.mask != true) && ((0, type_guards_1.isBoolean)(this.schema.mask) || !options.mask) && (this.schema.keepUnknown != true)) {
71
72
  const keys = unknownKeys.map((entry) => entry[0]).join(', ');
@@ -76,7 +77,7 @@ class ObjectSchemaValidator extends schema_validator_1.SchemaValidator {
76
77
  }
77
78
  exports.ObjectSchemaValidator = ObjectSchemaValidator;
78
79
  function object(entries, options) {
79
- const validatorEntries = Object.entries(entries);
80
+ const validatorEntries = (0, object_1.objectEntries)(entries);
80
81
  const mappedValidatorEntries = validatorEntries.map(([key, value]) => [key, value.schema]);
81
82
  const schema = (0, types_1.schemaHelper)({
82
83
  type: 'object',
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../source/schema/schemas/object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../source/schema/schemas/object.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ const error_1 = require("../../error");
6
6
  const search_index_1 = require("..");
7
7
  const base64_1 = require("../../utils/base64");
8
8
  const encoding_1 = require("../../utils/encoding");
9
- const object_1 = require("../../utils/object");
9
+ const object_1 = require("../../utils/object/object");
10
10
  const type_guards_1 = require("../../utils/type-guards");
11
11
  const keyword_rewriter_1 = require("./keyword-rewriter");
12
12
  const query_converter_1 = require("./query-converter");