@decaf-ts/for-nest 0.0.2 → 0.0.3

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 (47) hide show
  1. package/dist/for-nest.cjs +468 -15
  2. package/dist/for-nest.esm.cjs +468 -14
  3. package/lib/RepoFactory.cjs +27 -0
  4. package/lib/RepoFactory.d.ts +6 -0
  5. package/lib/core-module.cjs +27 -7
  6. package/lib/core-module.d.ts +7 -2
  7. package/lib/decoration.cjs +123 -0
  8. package/lib/decoration.d.ts +1 -0
  9. package/lib/decorators/ApiProperty.cjs +63 -0
  10. package/lib/decorators/ApiProperty.d.ts +27 -0
  11. package/lib/decorators/helpers.cjs +140 -0
  12. package/lib/decorators/helpers.d.ts +8 -0
  13. package/lib/decorators/index.cjs +19 -0
  14. package/lib/decorators/index.d.ts +2 -0
  15. package/lib/esm/RepoFactory.d.ts +6 -0
  16. package/lib/esm/RepoFactory.js +24 -0
  17. package/lib/esm/core-module.d.ts +7 -2
  18. package/lib/esm/core-module.js +27 -7
  19. package/lib/esm/decoration.d.ts +1 -0
  20. package/lib/esm/decoration.js +121 -0
  21. package/lib/esm/decorators/ApiProperty.d.ts +27 -0
  22. package/lib/esm/decorators/ApiProperty.js +57 -0
  23. package/lib/esm/decorators/helpers.d.ts +8 -0
  24. package/lib/esm/decorators/helpers.js +132 -0
  25. package/lib/esm/decorators/index.d.ts +2 -0
  26. package/lib/esm/decorators/index.js +3 -0
  27. package/lib/esm/index.d.ts +7 -2
  28. package/lib/esm/index.js +8 -3
  29. package/lib/esm/model-module.d.ts +8 -0
  30. package/lib/esm/model-module.js +119 -0
  31. package/lib/esm/module.d.ts +1 -1
  32. package/lib/esm/module.js +11 -3
  33. package/lib/esm/types.d.ts +1 -0
  34. package/lib/esm/types.js +1 -1
  35. package/lib/esm/utils.d.ts +2 -0
  36. package/lib/esm/utils.js +11 -0
  37. package/lib/index.cjs +8 -3
  38. package/lib/index.d.ts +7 -2
  39. package/lib/model-module.cjs +122 -0
  40. package/lib/model-module.d.ts +8 -0
  41. package/lib/module.cjs +11 -3
  42. package/lib/module.d.ts +1 -1
  43. package/lib/types.cjs +1 -1
  44. package/lib/types.d.ts +1 -0
  45. package/lib/utils.cjs +14 -0
  46. package/lib/utils.d.ts +2 -0
  47. package/package.json +4 -2
@@ -2,11 +2,16 @@ import { DynamicModule, OnApplicationShutdown } from "@nestjs/common";
2
2
  import { ModuleRef } from "@nestjs/core";
3
3
  import type { DecafModuleOptions } from "./types";
4
4
  import { Adapter } from "@decaf-ts/core";
5
- import { LoggedClass } from "@decaf-ts/logging/lib/LoggedClass";
6
- export declare class DecafCoreModule<CONF, ADAPTER extends Adapter<CONF, any, any, any, any>> extends LoggedClass implements OnApplicationShutdown {
5
+ import { Logger } from "@decaf-ts/logging";
6
+ export declare class DecafCoreModule<CONF, ADAPTER extends Adapter<CONF, any, any, any, any>> implements OnApplicationShutdown {
7
7
  private readonly options;
8
8
  private readonly moduleRef;
9
+ private static _logger;
10
+ private static _adapterInstance;
11
+ protected static get log(): Logger;
9
12
  constructor(options: DecafModuleOptions<CONF, ADAPTER>, moduleRef: ModuleRef);
13
+ static createAdapter(options: DecafModuleOptions): Promise<Adapter<any, any, any, any, any>>;
14
+ static getAdapterInstance(): Adapter<any, any, any, any, any> | null;
10
15
  static forRoot(options: DecafModuleOptions): DynamicModule;
11
16
  onApplicationShutdown(): Promise<void>;
12
17
  }
@@ -14,13 +14,31 @@ var DecafCoreModule_1;
14
14
  import { Global, Inject, Module, Scope, } from "@nestjs/common";
15
15
  import { ModuleRef } from "@nestjs/core";
16
16
  import { DECAF_ADAPTER_ID, DECAF_MODULE_OPTIONS } from "./constants.js";
17
- import { LoggedClass } from "@decaf-ts/logging/lib/LoggedClass";
18
- let DecafCoreModule = DecafCoreModule_1 = class DecafCoreModule extends LoggedClass {
17
+ import { Logging } from "@decaf-ts/logging";
18
+ let DecafCoreModule = class DecafCoreModule {
19
+ static { DecafCoreModule_1 = this; }
20
+ static { this._adapterInstance = null; }
21
+ static get log() {
22
+ if (!this._logger)
23
+ this._logger = Logging.for(DecafCoreModule_1);
24
+ return this._logger;
25
+ }
19
26
  constructor(options, moduleRef) {
20
- super();
21
27
  this.options = options;
22
28
  this.moduleRef = moduleRef;
23
29
  }
30
+ static async createAdapter(options) {
31
+ if (!this._adapterInstance) {
32
+ const log = this.log.for(this.createAdapter);
33
+ log.info("Creating adapter instance...");
34
+ this._adapterInstance = new options.adapter(options.conf, options.alias);
35
+ log.info("Adapter instance created successfully!");
36
+ }
37
+ return this._adapterInstance;
38
+ }
39
+ static getAdapterInstance() {
40
+ return this._adapterInstance;
41
+ }
24
42
  static forRoot(options) {
25
43
  const typeOrmModuleOptions = {
26
44
  provide: DECAF_MODULE_OPTIONS,
@@ -28,7 +46,7 @@ let DecafCoreModule = DecafCoreModule_1 = class DecafCoreModule extends LoggedCl
28
46
  };
29
47
  const adapter = {
30
48
  useFactory: async (opts) => {
31
- return new opts.adapter(opts.conf, opts.alias);
49
+ return DecafCoreModule_1.createAdapter(opts);
32
50
  },
33
51
  provide: DECAF_ADAPTER_ID,
34
52
  durable: true,
@@ -44,15 +62,17 @@ let DecafCoreModule = DecafCoreModule_1 = class DecafCoreModule extends LoggedCl
44
62
  };
45
63
  }
46
64
  async onApplicationShutdown() {
65
+ const log = DecafCoreModule_1.log.for(this.onApplicationShutdown);
47
66
  const adapter = this.moduleRef.get(DECAF_ADAPTER_ID);
48
67
  try {
49
68
  if (adapter) {
50
- this.log.info("Shutting down");
69
+ log.info("Shutting down");
51
70
  await adapter.shutdown();
71
+ DecafCoreModule_1._adapterInstance = null;
52
72
  }
53
73
  }
54
74
  catch (e) {
55
- this.log.error(`Failed to shutdown application`, e);
75
+ log.error(`Failed to shutdown application`, e);
56
76
  }
57
77
  }
58
78
  };
@@ -63,4 +83,4 @@ DecafCoreModule = DecafCoreModule_1 = __decorate([
63
83
  __metadata("design:paramtypes", [Object, ModuleRef])
64
84
  ], DecafCoreModule);
65
85
  export { DecafCoreModule };
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFFTixLQUFLLEdBQ04sTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSx1QkFBb0I7QUFHckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSXpELElBQU0sZUFBZSx1QkFBckIsTUFBTSxlQUlYLFNBQVEsV0FBVztJQUduQixZQUVtQixPQUEwQyxFQUMxQyxTQUFvQjtRQUVyQyxLQUFLLEVBQUUsQ0FBQztRQUhTLFlBQU8sR0FBUCxPQUFPLENBQW1DO1FBQzFDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFHdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDeEMsTUFBTSxvQkFBb0IsR0FBRztZQUMzQixPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRSxPQUFPO1NBQ2xCLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBeUI7WUFDcEMsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUF3QixFQUFFLEVBQUU7Z0JBQzdDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pELENBQUM7WUFDRCxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3BCLE1BQU0sRUFBRSxDQUFDLG9CQUFvQixDQUFDO1NBQy9CLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxDQUFDLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUIsT0FBTztZQUNMLE1BQU0sRUFBRSxpQkFBZTtZQUN2QixTQUFTO1lBQ1QsT0FBTztTQUNSLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQjtRQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBVSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQztZQUNILElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQy9CLE1BQU0sT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFwRFksZUFBZTtJQUYzQixNQUFNLEVBQUU7SUFDUixNQUFNLENBQUMsRUFBRSxDQUFDO0lBU04sV0FBQSxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTs2Q0FFRCxTQUFTO0dBVjVCLGVBQWUsQ0FvRDNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRHluYW1pY01vZHVsZSxcbiAgR2xvYmFsLFxuICBJbmplY3QsXG4gIE1vZHVsZSxcbiAgT25BcHBsaWNhdGlvblNodXRkb3duLFxuICBTY29wZSxcbn0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBNb2R1bGVSZWYgfSBmcm9tIFwiQG5lc3Rqcy9jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IERlY2FmTW9kdWxlT3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBERUNBRl9BREFQVEVSX0lELCBERUNBRl9NT0RVTEVfT1BUSU9OUyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgRmFjdG9yeVByb3ZpZGVyIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uL2ludGVyZmFjZXMvbW9kdWxlcy9wcm92aWRlci5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEFkYXB0ZXIgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IExvZ2dlZENsYXNzIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nL2xpYi9Mb2dnZWRDbGFzc1wiO1xuXG5AR2xvYmFsKClcbkBNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgRGVjYWZDb3JlTW9kdWxlPFxuICAgIENPTkYsXG4gICAgQURBUFRFUiBleHRlbmRzIEFkYXB0ZXI8Q09ORiwgYW55LCBhbnksIGFueSwgYW55PixcbiAgPlxuICBleHRlbmRzIExvZ2dlZENsYXNzXG4gIGltcGxlbWVudHMgT25BcHBsaWNhdGlvblNodXRkb3duXG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoREVDQUZfTU9EVUxFX09QVElPTlMpXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBEZWNhZk1vZHVsZU9wdGlvbnM8Q09ORiwgQURBUFRFUj4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2R1bGVSZWY6IE1vZHVsZVJlZlxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczogRGVjYWZNb2R1bGVPcHRpb25zKTogRHluYW1pY01vZHVsZSB7XG4gICAgY29uc3QgdHlwZU9ybU1vZHVsZU9wdGlvbnMgPSB7XG4gICAgICBwcm92aWRlOiBERUNBRl9NT0RVTEVfT1BUSU9OUyxcbiAgICAgIHVzZVZhbHVlOiBvcHRpb25zLFxuICAgIH07XG5cbiAgICBjb25zdCBhZGFwdGVyOiBGYWN0b3J5UHJvdmlkZXI8YW55PiA9IHtcbiAgICAgIHVzZUZhY3Rvcnk6IGFzeW5jIChvcHRzOiBEZWNhZk1vZHVsZU9wdGlvbnMpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBvcHRzLmFkYXB0ZXIob3B0cy5jb25mLCBvcHRzLmFsaWFzKTtcbiAgICAgIH0sXG4gICAgICBwcm92aWRlOiBERUNBRl9BREFQVEVSX0lELFxuICAgICAgZHVyYWJsZTogdHJ1ZSxcbiAgICAgIHNjb3BlOiBTY29wZS5ERUZBVUxULFxuICAgICAgaW5qZWN0OiBbREVDQUZfTU9EVUxFX09QVElPTlNdLFxuICAgIH07XG5cbiAgICBjb25zdCBwcm92aWRlcnMgPSBbYWRhcHRlciwgdHlwZU9ybU1vZHVsZU9wdGlvbnNdO1xuICAgIGNvbnN0IGV4cG9ydHMgPSBbYWRhcHRlcl07XG5cbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlOiBEZWNhZkNvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnMsXG4gICAgICBleHBvcnRzLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBvbkFwcGxpY2F0aW9uU2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYWRhcHRlciA9IHRoaXMubW9kdWxlUmVmLmdldDxBREFQVEVSPihERUNBRl9BREFQVEVSX0lEKTtcbiAgICB0cnkge1xuICAgICAgaWYgKGFkYXB0ZXIpIHtcbiAgICAgICAgdGhpcy5sb2cuaW5mbyhcIlNodXR0aW5nIGRvd25cIik7XG4gICAgICAgIGF3YWl0IGFkYXB0ZXIuc2h1dGRvd24oKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aGlzLmxvZy5lcnJvcihgRmFpbGVkIHRvIHNodXRkb3duIGFwcGxpY2F0aW9uYCwgZSBhcyBFcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFFTixLQUFLLEdBQ04sTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSx1QkFBb0I7QUFHckUsT0FBTyxFQUFVLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTdDLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7O2FBTVgscUJBQWdCLEdBQzdCLElBQUksQUFEeUIsQ0FDeEI7SUFFRyxNQUFNLEtBQUssR0FBRztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFFbUIsT0FBMEMsRUFDMUMsU0FBb0I7UUFEcEIsWUFBTyxHQUFQLE9BQU8sQ0FBbUM7UUFDMUMsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUNwQyxDQUFDO0lBRUosTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQ3hCLE9BQTJCO1FBRTNCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDN0MsR0FBRyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekUsR0FBRyxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUN4QyxNQUFNLG9CQUFvQixHQUFHO1lBQzNCLE9BQU8sRUFBRSxvQkFBb0I7WUFDN0IsUUFBUSxFQUFFLE9BQU87U0FDbEIsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUF5QjtZQUNwQyxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQXdCLEVBQUUsRUFBRTtnQkFDN0MsT0FBTyxpQkFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBQ0QsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixPQUFPLEVBQUUsSUFBSTtZQUNiLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTztZQUNwQixNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztTQUMvQixDQUFDO1FBRUYsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLE9BQU87WUFDTCxNQUFNLEVBQUUsaUJBQWU7WUFDdkIsU0FBUztZQUNULE9BQU87U0FDUixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUI7UUFDekIsTUFBTSxHQUFHLEdBQUcsaUJBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFVLGdCQUFnQixDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDO1lBQ0gsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUMxQixNQUFNLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDekIsaUJBQWUsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1lBQ3BCLEdBQUcsQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsQ0FBVSxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7O0FBMUVVLGVBQWU7SUFGM0IsTUFBTSxFQUFFO0lBQ1IsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQWdCTixXQUFBLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBOzZDQUVELFNBQVM7R0FqQjVCLGVBQWUsQ0EyRTNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRHluYW1pY01vZHVsZSxcbiAgR2xvYmFsLFxuICBJbmplY3QsXG4gIE1vZHVsZSxcbiAgT25BcHBsaWNhdGlvblNodXRkb3duLFxuICBTY29wZSxcbn0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBNb2R1bGVSZWYgfSBmcm9tIFwiQG5lc3Rqcy9jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IERlY2FmTW9kdWxlT3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBERUNBRl9BREFQVEVSX0lELCBERUNBRl9NT0RVTEVfT1BUSU9OUyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgRmFjdG9yeVByb3ZpZGVyIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uL2ludGVyZmFjZXMvbW9kdWxlcy9wcm92aWRlci5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEFkYXB0ZXIgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IExvZ2dlciwgTG9nZ2luZyB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuXG5AR2xvYmFsKClcbkBNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgRGVjYWZDb3JlTW9kdWxlPFxuICBDT05GLFxuICBBREFQVEVSIGV4dGVuZHMgQWRhcHRlcjxDT05GLCBhbnksIGFueSwgYW55LCBhbnk+LFxuPiBpbXBsZW1lbnRzIE9uQXBwbGljYXRpb25TaHV0ZG93blxue1xuICBwcml2YXRlIHN0YXRpYyBfbG9nZ2VyOiBMb2dnZXI7XG4gIHByaXZhdGUgc3RhdGljIF9hZGFwdGVySW5zdGFuY2U6IEFkYXB0ZXI8YW55LCBhbnksIGFueSwgYW55LCBhbnk+IHwgbnVsbCA9XG4gICAgbnVsbDtcblxuICBwcm90ZWN0ZWQgc3RhdGljIGdldCBsb2coKTogTG9nZ2VyIHtcbiAgICBpZiAoIXRoaXMuX2xvZ2dlcikgdGhpcy5fbG9nZ2VyID0gTG9nZ2luZy5mb3IoRGVjYWZDb3JlTW9kdWxlKTtcbiAgICByZXR1cm4gdGhpcy5fbG9nZ2VyO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChERUNBRl9NT0RVTEVfT1BUSU9OUylcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IERlY2FmTW9kdWxlT3B0aW9uczxDT05GLCBBREFQVEVSPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZHVsZVJlZjogTW9kdWxlUmVmXG4gICkge31cblxuICBzdGF0aWMgYXN5bmMgY3JlYXRlQWRhcHRlcihcbiAgICBvcHRpb25zOiBEZWNhZk1vZHVsZU9wdGlvbnNcbiAgKTogUHJvbWlzZTxBZGFwdGVyPGFueSwgYW55LCBhbnksIGFueSwgYW55Pj4ge1xuICAgIGlmICghdGhpcy5fYWRhcHRlckluc3RhbmNlKSB7XG4gICAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5jcmVhdGVBZGFwdGVyKTtcbiAgICAgIGxvZy5pbmZvKFwiQ3JlYXRpbmcgYWRhcHRlciBpbnN0YW5jZS4uLlwiKTtcbiAgICAgIHRoaXMuX2FkYXB0ZXJJbnN0YW5jZSA9IG5ldyBvcHRpb25zLmFkYXB0ZXIob3B0aW9ucy5jb25mLCBvcHRpb25zLmFsaWFzKTtcbiAgICAgIGxvZy5pbmZvKFwiQWRhcHRlciBpbnN0YW5jZSBjcmVhdGVkIHN1Y2Nlc3NmdWxseSFcIik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hZGFwdGVySW5zdGFuY2U7XG4gIH1cblxuICBzdGF0aWMgZ2V0QWRhcHRlckluc3RhbmNlKCk6IEFkYXB0ZXI8YW55LCBhbnksIGFueSwgYW55LCBhbnk+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2FkYXB0ZXJJbnN0YW5jZTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JSb290KG9wdGlvbnM6IERlY2FmTW9kdWxlT3B0aW9ucyk6IER5bmFtaWNNb2R1bGUge1xuICAgIGNvbnN0IHR5cGVPcm1Nb2R1bGVPcHRpb25zID0ge1xuICAgICAgcHJvdmlkZTogREVDQUZfTU9EVUxFX09QVElPTlMsXG4gICAgICB1c2VWYWx1ZTogb3B0aW9ucyxcbiAgICB9O1xuXG4gICAgY29uc3QgYWRhcHRlcjogRmFjdG9yeVByb3ZpZGVyPGFueT4gPSB7XG4gICAgICB1c2VGYWN0b3J5OiBhc3luYyAob3B0czogRGVjYWZNb2R1bGVPcHRpb25zKSA9PiB7XG4gICAgICAgIHJldHVybiBEZWNhZkNvcmVNb2R1bGUuY3JlYXRlQWRhcHRlcihvcHRzKTtcbiAgICAgIH0sXG4gICAgICBwcm92aWRlOiBERUNBRl9BREFQVEVSX0lELFxuICAgICAgZHVyYWJsZTogdHJ1ZSxcbiAgICAgIHNjb3BlOiBTY29wZS5ERUZBVUxULFxuICAgICAgaW5qZWN0OiBbREVDQUZfTU9EVUxFX09QVElPTlNdLFxuICAgIH07XG5cbiAgICBjb25zdCBwcm92aWRlcnMgPSBbYWRhcHRlciwgdHlwZU9ybU1vZHVsZU9wdGlvbnNdO1xuICAgIGNvbnN0IGV4cG9ydHMgPSBbYWRhcHRlcl07XG5cbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlOiBEZWNhZkNvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnMsXG4gICAgICBleHBvcnRzLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBvbkFwcGxpY2F0aW9uU2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbG9nID0gRGVjYWZDb3JlTW9kdWxlLmxvZy5mb3IodGhpcy5vbkFwcGxpY2F0aW9uU2h1dGRvd24pO1xuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLm1vZHVsZVJlZi5nZXQ8QURBUFRFUj4oREVDQUZfQURBUFRFUl9JRCk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChhZGFwdGVyKSB7XG4gICAgICAgIGxvZy5pbmZvKFwiU2h1dHRpbmcgZG93blwiKTtcbiAgICAgICAgYXdhaXQgYWRhcHRlci5zaHV0ZG93bigpO1xuICAgICAgICBEZWNhZkNvcmVNb2R1bGUuX2FkYXB0ZXJJbnN0YW5jZSA9IG51bGw7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgbG9nLmVycm9yKGBGYWlsZWQgdG8gc2h1dGRvd24gYXBwbGljYXRpb25gLCBlIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,121 @@
1
+ import { InjectablesKeys, } from "@decaf-ts/injectable-decorators";
2
+ import { Inject, Injectable, Scope } from "@nestjs/common";
3
+ import { Decoration, DecorationKeys } from "@decaf-ts/decoration";
4
+ import { ValidationKeys } from "@decaf-ts/decorator-validation";
5
+ import { ApiProperty } from "./decorators/ApiProperty.js";
6
+ import { PersistenceKeys } from "@decaf-ts/core";
7
+ Decoration.for(InjectablesKeys.INJECTABLE)
8
+ .extend({
9
+ decorator: function nestInjectable(category, cfg) {
10
+ return Injectable({
11
+ scope: cfg.singleton ? Scope.DEFAULT : Scope.REQUEST,
12
+ durable: cfg.singleton ? undefined : true,
13
+ });
14
+ },
15
+ })
16
+ .apply();
17
+ Decoration.for(InjectablesKeys.INJECT)
18
+ .extend({
19
+ decorator: function nestInject(category,
20
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
+ cfg) {
22
+ return function innerNestInject(target, propertyKey, descriptor) {
23
+ return Inject(category || target)(target, propertyKey, descriptor);
24
+ };
25
+ },
26
+ })
27
+ .apply();
28
+ Decoration.for(ValidationKeys.REQUIRED)
29
+ .extend(ApiProperty({
30
+ required: true,
31
+ }))
32
+ .apply();
33
+ Decoration.for(ValidationKeys.MAX)
34
+ .extend({
35
+ decorator: function maxDec(max) {
36
+ return ApiProperty({ maximum: max });
37
+ },
38
+ })
39
+ .apply();
40
+ Decoration.for(ValidationKeys.MIN)
41
+ .extend({
42
+ decorator: function minDec(min) {
43
+ return ApiProperty({ minimum: min });
44
+ },
45
+ })
46
+ .apply();
47
+ Decoration.for(ValidationKeys.MAX_LENGTH)
48
+ .extend({
49
+ decorator: function maxLengthDec(max) {
50
+ return ApiProperty({ maxLength: max });
51
+ },
52
+ })
53
+ .apply();
54
+ Decoration.for(ValidationKeys.MIN_LENGTH)
55
+ .extend({
56
+ decorator: function minLengthDec(min) {
57
+ return ApiProperty({ minLength: min });
58
+ },
59
+ })
60
+ .apply();
61
+ //
62
+ // Decoration.for(ValidationKeys.TYPE)
63
+ // .extend({
64
+ // decorator: function typeDec(type: (string | (() => string))[] | string | (() => string)) {
65
+ // return ApiProperty({ type: type as any });
66
+ // },
67
+ // })
68
+ // .apply();
69
+ //
70
+ // Decoration.for(ValidationKeys.DATE)
71
+ // .extend({
72
+ // decorator: function dateDec() {
73
+ // return ApiProperty({ type: Date });
74
+ // },
75
+ // })
76
+ // .apply();
77
+ Decoration.for(ValidationKeys.LIST)
78
+ .extend({
79
+ decorator: function listDec(clazz) {
80
+ const c = Array.isArray(clazz) ? clazz[0] : clazz;
81
+ return ApiProperty({ type: [c] });
82
+ },
83
+ })
84
+ .apply();
85
+ //
86
+ // Decoration.for(ValidationKeys.OPTION)
87
+ // .extend({
88
+ // decorator: function optionDec(options: string[] | Record<string, any>) {
89
+ // const opts = Array.isArray(options) ? options : Object.values(options);
90
+ // return ApiProperty({ enum: opts });
91
+ // },
92
+ // })
93
+ // .apply();
94
+ Decoration.for(ValidationKeys.PATTERN)
95
+ .extend({
96
+ decorator: function patternDec(pat) {
97
+ return ApiProperty({
98
+ pattern: typeof pat === "string" ? pat : pat.source,
99
+ });
100
+ },
101
+ })
102
+ .apply();
103
+ Decoration.for(PersistenceKeys.COLUMN)
104
+ .extend({
105
+ decorator: function columnDec(name) {
106
+ return ApiProperty({
107
+ name: name,
108
+ });
109
+ },
110
+ })
111
+ .apply();
112
+ Decoration.for(DecorationKeys.DESCRIPTION)
113
+ .extend({
114
+ decorator: function descriptionDec(description) {
115
+ return ApiProperty({
116
+ description: description,
117
+ });
118
+ },
119
+ })
120
+ .apply();
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxlQUFlLEdBRWhCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFlLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxvQ0FBaUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELFVBQVUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztLQUN2QyxNQUFNLENBQUM7SUFDTixTQUFTLEVBQUUsU0FBUyxjQUFjLENBQ2hDLFFBQThCLEVBQzlCLEdBQXFCO1FBRXJCLE9BQU8sVUFBVSxDQUFDO1lBQ2hCLEtBQUssRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTztZQUNwRCxPQUFPLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQzFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFDO0tBQ0QsS0FBSyxFQUFFLENBQUM7QUFFWCxVQUFVLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7S0FDbkMsTUFBTSxDQUFDO0lBQ04sU0FBUyxFQUFFLFNBQVMsVUFBVSxDQUM1QixRQUF1QztJQUN2Qyw2REFBNkQ7SUFDN0QsR0FBa0I7UUFFbEIsT0FBTyxTQUFTLGVBQWUsQ0FDN0IsTUFBYyxFQUNk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UUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1NBQ3BELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFDO0tBQ0QsS0FBSyxFQUFFLENBQUM7QUFFWCxVQUFVLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7S0FDbkMsTUFBTSxDQUFDO0lBQ04sU0FBUyxFQUFFLFNBQVMsU0FBUyxDQUFDLElBQVk7UUFDeEMsT0FBTyxXQUFXLENBQUM7WUFDakIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRVgsVUFBVSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO0tBQ3ZDLE1BQU0sQ0FBQztJQUNOLFNBQVMsRUFBRSxTQUFTLGNBQWMsQ0FBQyxXQUFtQjtRQUNwRCxPQUFPLFdBQVcsQ0FBQztZQUNqQixXQUFXLEVBQUUsV0FBVztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZUNvbmZpZyxcbiAgSW5qZWN0YWJsZXNLZXlzLFxuICBJbmplY3RPcHRpb25zLFxufSBmcm9tIFwiQGRlY2FmLXRzL2luamVjdGFibGUtZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBTY29wZSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IsIERlY29yYXRpb24sIERlY29yYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEFwaVByb3BlcnR5IH0gZnJvbSBcIi4vZGVjb3JhdG9ycy9BcGlQcm9wZXJ0eVwiO1xuaW1wb3J0IHsgUGVyc2lzdGVuY2VLZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5cbkRlY29yYXRpb24uZm9yKEluamVjdGFibGVzS2V5cy5JTkpFQ1RBQkxFKVxuICAuZXh0ZW5kKHtcbiAgICBkZWNvcmF0b3I6IGZ1bmN0aW9uIG5lc3RJbmplY3RhYmxlKFxuICAgICAgY2F0ZWdvcnk6IHN0cmluZyB8IENvbnN0cnVjdG9yLFxuICAgICAgY2ZnOiBJbmplY3RhYmxlQ29uZmlnXG4gICAgKSB7XG4gICAgICByZXR1cm4gSW5qZWN0YWJsZSh7XG4gICAgICAgIHNjb3BlOiBjZmcuc2luZ2xldG9uID8gU2NvcGUuREVGQVVMVCA6IFNjb3BlLlJFUVVFU1QsXG4gICAgICAgIGR1cmFibGU6IGNmZy5zaW5nbGV0b24gPyB1bmRlZmluZWQgOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfSxcbiAgfSlcbiAgLmFwcGx5KCk7XG5cbkRlY29yYXRpb24uZm9yKEluamVjdGFibGVzS2V5cy5JTkpFQ1QpXG4gIC5leHRlbmQoe1xuICAgIGRlY29yYXRvcjogZnVuY3Rpb24gbmVzdEluamVjdChcbiAgICAgIGNhdGVnb3J5OiBzeW1ib2wgfCBzdHJpbmcgfCBDb25zdHJ1Y3RvcixcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgIGNmZzogSW5qZWN0T3B0aW9uc1xuICAgICkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIGlubmVyTmVzdEluamVjdChcbiAgICAgICAgdGFyZ2V0OiBvYmplY3QsXG4gICAgICAgIHByb3BlcnR5S2V5PzogYW55LFxuICAgICAgICBkZXNjcmlwdG9yPzogYW55XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIEluamVjdChjYXRlZ29yeSB8fCAodGFyZ2V0IGFzIENvbnN0cnVjdG9yKSkoXG4gICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgIHByb3BlcnR5S2V5LFxuICAgICAgICAgIGRlc2NyaXB0b3JcbiAgICAgICAgKTtcbiAgICAgIH07XG4gICAgfSxcbiAgfSlcbiAgLmFwcGx5KCk7XG5cbkRlY29yYXRpb24uZm9yKFZhbGlkYXRpb25LZXlzLlJFUVVJUkVEKVxuICAuZXh0ZW5kKFxuICAgIEFwaVByb3BlcnR5KHtcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pXG4gIClcbiAgLmFwcGx5KCk7XG5cbkRlY29yYXRpb24uZm9yKFZhbGlkYXRpb25LZXlzLk1BWClcbiAgLmV4dGVuZCh7XG4gICAgZGVjb3JhdG9yOiBmdW5jdGlvbiBtYXhEZWMobWF4OiBudW1iZXIpIHtcbiAgICAgIHJldHVybiBBcGlQcm9wZXJ0eSh7IG1heGltdW06IG1heCB9KTtcbiAgICB9LFxuICB9KVxuICAuYXBwbHkoKTtcblxuRGVjb3JhdGlvbi5mb3IoVmFsaWRhdGlvbktleXMuTUlOKVxuICAuZXh0ZW5kKHtcbiAgICBkZWNvcmF0b3I6IGZ1bmN0aW9uIG1pbkRlYyhtaW46IG51bWJlcikge1xuICAgICAgcmV0dXJuIEFwaVByb3BlcnR5KHsgbWluaW11bTogbWluIH0pO1xuICAgIH0sXG4gIH0pXG4gIC5hcHBseSgpO1xuXG5EZWNvcmF0aW9uLmZvcihWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIKVxuICAuZXh0ZW5kKHtcbiAgICBkZWNvcmF0b3I6IGZ1bmN0aW9uIG1heExlbmd0aERlYyhtYXg6IG51bWJlcikge1xuICAgICAgcmV0dXJuIEFwaVByb3BlcnR5KHsgbWF4TGVuZ3RoOiBtYXggfSk7XG4gICAgfSxcbiAgfSlcbiAgLmFwcGx5KCk7XG5cbkRlY29yYXRpb24uZm9yKFZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEgpXG4gIC5leHRlbmQoe1xuICAgIGRlY29yYXRvcjogZnVuY3Rpb24gbWluTGVuZ3RoRGVjKG1pbjogbnVtYmVyKSB7XG4gICAgICByZXR1cm4gQXBpUHJvcGVydHkoeyBtaW5MZW5ndGg6IG1pbiB9KTtcbiAgICB9LFxuICB9KVxuICAuYXBwbHkoKTtcbi8vXG4vLyBEZWNvcmF0aW9uLmZvcihWYWxpZGF0aW9uS2V5cy5UWVBFKVxuLy8gICAuZXh0ZW5kKHtcbi8vICAgICBkZWNvcmF0b3I6IGZ1bmN0aW9uIHR5cGVEZWModHlwZTogKHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpKVtdIHwgc3RyaW5nIHwgKCgpID0+IHN0cmluZykpIHtcbi8vICAgICAgIHJldHVybiBBcGlQcm9wZXJ0eSh7IHR5cGU6IHR5cGUgYXMgYW55IH0pO1xuLy8gICAgIH0sXG4vLyAgIH0pXG4vLyAgIC5hcHBseSgpO1xuLy9cbi8vIERlY29yYXRpb24uZm9yKFZhbGlkYXRpb25LZXlzLkRBVEUpXG4vLyAgIC5leHRlbmQoe1xuLy8gICAgIGRlY29yYXRvcjogZnVuY3Rpb24gZGF0ZURlYygpIHtcbi8vICAgICAgIHJldHVybiBBcGlQcm9wZXJ0eSh7IHR5cGU6IERhdGUgfSk7XG4vLyAgICAgfSxcbi8vICAgfSlcbi8vICAgLmFwcGx5KCk7XG5cbkRlY29yYXRpb24uZm9yKFZhbGlkYXRpb25LZXlzLkxJU1QpXG4gIC5leHRlbmQoe1xuICAgIGRlY29yYXRvcjogZnVuY3Rpb24gbGlzdERlYyhcbiAgICAgIGNsYXp6OlxuICAgICAgICB8IENvbnN0cnVjdG9yPGFueT5cbiAgICAgICAgfCAoKCkgPT4gQ29uc3RydWN0b3I8YW55PilcbiAgICAgICAgfCAoQ29uc3RydWN0b3I8YW55PiB8ICgoKSA9PiBDb25zdHJ1Y3Rvcjxhbnk+KSlbXVxuICAgICkge1xuICAgICAgY29uc3QgYyA9IEFycmF5LmlzQXJyYXkoY2xhenopID8gY2xhenpbMF0gOiBjbGF6ejtcbiAgICAgIHJldHVybiBBcGlQcm9wZXJ0eSh7IHR5cGU6IFtjXSB9KTtcbiAgICB9LFxuICB9KVxuICAuYXBwbHkoKTtcblxuLy9cbi8vIERlY29yYXRpb24uZm9yKFZhbGlkYXRpb25LZXlzLk9QVElPTilcbi8vICAgLmV4dGVuZCh7XG4vLyAgICAgZGVjb3JhdG9yOiBmdW5jdGlvbiBvcHRpb25EZWMob3B0aW9uczogc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4vLyAgICAgICBjb25zdCBvcHRzID0gQXJyYXkuaXNBcnJheShvcHRpb25zKSA/IG9wdGlvbnMgOiBPYmplY3QudmFsdWVzKG9wdGlvbnMpO1xuLy8gICAgICAgcmV0dXJuIEFwaVByb3BlcnR5KHsgZW51bTogb3B0cyB9KTtcbi8vICAgICB9LFxuLy8gICB9KVxuLy8gICAuYXBwbHkoKTtcblxuRGVjb3JhdGlvbi5mb3IoVmFsaWRhdGlvbktleXMuUEFUVEVSTilcbiAgLmV4dGVuZCh7XG4gICAgZGVjb3JhdG9yOiBmdW5jdGlvbiBwYXR0ZXJuRGVjKHBhdDogUmVnRXhwIHwgc3RyaW5nKSB7XG4gICAgICByZXR1cm4gQXBpUHJvcGVydHkoe1xuICAgICAgICBwYXR0ZXJuOiB0eXBlb2YgcGF0ID09PSBcInN0cmluZ1wiID8gcGF0IDogcGF0LnNvdXJjZSxcbiAgICAgIH0pO1xuICAgIH0sXG4gIH0pXG4gIC5hcHBseSgpO1xuXG5EZWNvcmF0aW9uLmZvcihQZXJzaXN0ZW5jZUtleXMuQ09MVU1OKVxuICAuZXh0ZW5kKHtcbiAgICBkZWNvcmF0b3I6IGZ1bmN0aW9uIGNvbHVtbkRlYyhuYW1lOiBzdHJpbmcpIHtcbiAgICAgIHJldHVybiBBcGlQcm9wZXJ0eSh7XG4gICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICB9KTtcbiAgICB9LFxuICB9KVxuICAuYXBwbHkoKTtcblxuRGVjb3JhdGlvbi5mb3IoRGVjb3JhdGlvbktleXMuREVTQ1JJUFRJT04pXG4gIC5leHRlbmQoe1xuICAgIGRlY29yYXRvcjogZnVuY3Rpb24gZGVzY3JpcHRpb25EZWMoZGVzY3JpcHRpb246IHN0cmluZykge1xuICAgICAgcmV0dXJuIEFwaVByb3BlcnR5KHtcbiAgICAgICAgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLFxuICAgICAgfSk7XG4gICAgfSxcbiAgfSlcbiAgLmFwcGx5KCk7XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Type } from "@nestjs/common";
2
+ import { SchemaObjectMetadata } from "@nestjs/swagger/dist/interfaces/schema-object-metadata.interface";
3
+ import { EnumSchemaAttributes } from "@nestjs/swagger/dist/interfaces/enum-schema-attributes.interface";
4
+ export type ApiPropertyCommonOptions = SchemaObjectMetadata & {
5
+ "x-enumNames"?: string[];
6
+ /**
7
+ * Lazy function returning the type for which the decorated property
8
+ * can be used as an id
9
+ *
10
+ * Use together with @ApiDefaultGetter on the getter route of the type
11
+ * to generate OpenAPI link objects
12
+ *
13
+ * @see [Swagger link objects](https://swagger.io/docs/specification/links/)
14
+ */
15
+ link?: () => Type<unknown> | Function;
16
+ };
17
+ export type ApiPropertyOptions = ApiPropertyCommonOptions | (ApiPropertyCommonOptions & {
18
+ enumName: string;
19
+ enumSchema?: EnumSchemaAttributes;
20
+ });
21
+ /**
22
+ * @publicApi
23
+ */
24
+ export declare function ApiProperty(options?: ApiPropertyOptions): PropertyDecorator;
25
+ export declare function createApiPropertyDecorator(options?: ApiPropertyOptions, overrideExisting?: boolean): PropertyDecorator;
26
+ export declare function ApiPropertyOptional(options?: ApiPropertyOptions): PropertyDecorator;
27
+ export declare function ApiResponseProperty(options?: Pick<ApiPropertyOptions, "type" | "example" | "format" | "deprecated" | "enum">): PropertyDecorator;
@@ -0,0 +1,57 @@
1
+ import { getTypeIsArrayTuple } from "@nestjs/swagger/dist/decorators/helpers";
2
+ import { getEnumType, getEnumValues, } from "@nestjs/swagger/dist/utils/enum.utils";
3
+ import { DECORATORS } from "@nestjs/swagger/dist/constants";
4
+ import { createPropertyDecorator } from "./helpers.js";
5
+ const isEnumArray = (opts) => (opts.isArray && "enum" in opts && opts.enum !== undefined);
6
+ /**
7
+ * @publicApi
8
+ */
9
+ export function ApiProperty(options = {}) {
10
+ return createApiPropertyDecorator(options);
11
+ }
12
+ export function createApiPropertyDecorator(options = {}, overrideExisting = true) {
13
+ const [type, isArray] = getTypeIsArrayTuple(options.type, options.isArray);
14
+ options = {
15
+ ...options,
16
+ type,
17
+ isArray,
18
+ };
19
+ if (isEnumArray(options)) {
20
+ options.type = "array";
21
+ const enumValues = getEnumValues(options.enum);
22
+ options.items = {
23
+ type: getEnumType(enumValues),
24
+ enum: enumValues,
25
+ };
26
+ // @ts-expect-error nest swagger override
27
+ delete options.enum;
28
+ }
29
+ else if ("enum" in options && options.enum !== undefined) {
30
+ const enumValues = getEnumValues(options.enum);
31
+ options.enum = enumValues;
32
+ options.type = getEnumType(enumValues);
33
+ }
34
+ if (Array.isArray(options.type)) {
35
+ options.type = "array";
36
+ options.items = {
37
+ type: "array",
38
+ items: {
39
+ type: options.type[0],
40
+ },
41
+ };
42
+ }
43
+ return createPropertyDecorator(DECORATORS.API_MODEL_PROPERTIES, options, overrideExisting);
44
+ }
45
+ export function ApiPropertyOptional(options = {}) {
46
+ return ApiProperty({
47
+ ...options,
48
+ required: false,
49
+ });
50
+ }
51
+ export function ApiResponseProperty(options = {}) {
52
+ return ApiProperty({
53
+ readOnly: true,
54
+ ...options,
55
+ });
56
+ }
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpUHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVjb3JhdG9ycy9BcGlQcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsR0FDZCxNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUscUJBQWtCO0FBd0JwRCxNQUFNLFdBQVcsR0FBRyxDQUNsQixJQUF3QixFQU14QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQVksQ0FBQztBQUU1RTs7R0FFRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQ3pCLFVBQThCLEVBQUU7SUFFaEMsT0FBTywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxVQUE4QixFQUFFLEVBQ2hDLGdCQUFnQixHQUFHLElBQUk7SUFFdkIsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxtQkFBbUIsQ0FDekMsT0FBTyxDQUFDLElBQUksRUFDWixPQUFPLENBQUMsT0FBa0IsQ0FDM0IsQ0FBQztJQUNGLE9BQU8sR0FBRztRQUNSLEdBQUcsT0FBTztRQUNWLElBQUk7UUFDSixPQUFPO0tBQ2MsQ0FBQztJQUV4QixJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBRXZCLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLEtBQUssR0FBRztZQUNkLElBQUksRUFBRSxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQzdCLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUM7UUFDRix5Q0FBeUM7UUFDekMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQ3RCLENBQUM7U0FBTSxJQUFJLE1BQU0sSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMzRCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9DLE9BQU8sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDaEMsT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDdkIsT0FBTyxDQUFDLEtBQUssR0FBRztZQUNkLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUN0QjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyx1QkFBdUIsQ0FDNUIsVUFBVSxDQUFDLG9CQUFvQixFQUMvQixPQUFPLEVBQ1AsZ0JBQWdCLENBQ2pCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxVQUE4QixFQUFFO0lBRWhDLE9BQU8sV0FBVyxDQUFDO1FBQ2pCLEdBQUcsT0FBTztRQUNWLFFBQVEsRUFBRSxLQUFLO0tBQ00sQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLFVBR0ksRUFBRTtJQUVOLE9BQU8sV0FBVyxDQUFDO1FBQ2pCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsR0FBRyxPQUFPO0tBQ1csQ0FBQyxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQge1xuICBFbnVtQWxsb3dlZFR5cGVzLFxuICBTY2hlbWFPYmplY3RNZXRhZGF0YSxcbn0gZnJvbSBcIkBuZXN0anMvc3dhZ2dlci9kaXN0L2ludGVyZmFjZXMvc2NoZW1hLW9iamVjdC1tZXRhZGF0YS5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEVudW1TY2hlbWFBdHRyaWJ1dGVzIH0gZnJvbSBcIkBuZXN0anMvc3dhZ2dlci9kaXN0L2ludGVyZmFjZXMvZW51bS1zY2hlbWEtYXR0cmlidXRlcy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IGdldFR5cGVJc0FycmF5VHVwbGUgfSBmcm9tIFwiQG5lc3Rqcy9zd2FnZ2VyL2Rpc3QvZGVjb3JhdG9ycy9oZWxwZXJzXCI7XG5pbXBvcnQge1xuICBnZXRFbnVtVHlwZSxcbiAgZ2V0RW51bVZhbHVlcyxcbn0gZnJvbSBcIkBuZXN0anMvc3dhZ2dlci9kaXN0L3V0aWxzL2VudW0udXRpbHNcIjtcbmltcG9ydCB7IERFQ09SQVRPUlMgfSBmcm9tIFwiQG5lc3Rqcy9zd2FnZ2VyL2Rpc3QvY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBjcmVhdGVQcm9wZXJ0eURlY29yYXRvciB9IGZyb20gXCIuL2hlbHBlcnNcIjtcblxuZXhwb3J0IHR5cGUgQXBpUHJvcGVydHlDb21tb25PcHRpb25zID0gU2NoZW1hT2JqZWN0TWV0YWRhdGEgJiB7XG4gIFwieC1lbnVtTmFtZXNcIj86IHN0cmluZ1tdO1xuICAvKipcbiAgICogTGF6eSBmdW5jdGlvbiByZXR1cm5pbmcgdGhlIHR5cGUgZm9yIHdoaWNoIHRoZSBkZWNvcmF0ZWQgcHJvcGVydHlcbiAgICogY2FuIGJlIHVzZWQgYXMgYW4gaWRcbiAgICpcbiAgICogVXNlIHRvZ2V0aGVyIHdpdGggQEFwaURlZmF1bHRHZXR0ZXIgb24gdGhlIGdldHRlciByb3V0ZSBvZiB0aGUgdHlwZVxuICAgKiB0byBnZW5lcmF0ZSBPcGVuQVBJIGxpbmsgb2JqZWN0c1xuICAgKlxuICAgKiBAc2VlIFtTd2FnZ2VyIGxpbmsgb2JqZWN0c10oaHR0cHM6Ly9zd2FnZ2VyLmlvL2RvY3Mvc3BlY2lmaWNhdGlvbi9saW5rcy8pXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlXG4gIGxpbms/OiAoKSA9PiBUeXBlPHVua25vd24+IHwgRnVuY3Rpb247XG59O1xuXG5leHBvcnQgdHlwZSBBcGlQcm9wZXJ0eU9wdGlvbnMgPVxuICB8IEFwaVByb3BlcnR5Q29tbW9uT3B0aW9uc1xuICB8IChBcGlQcm9wZXJ0eUNvbW1vbk9wdGlvbnMgJiB7XG4gICAgICBlbnVtTmFtZTogc3RyaW5nO1xuICAgICAgZW51bVNjaGVtYT86IEVudW1TY2hlbWFBdHRyaWJ1dGVzO1xuICAgIH0pO1xuXG5jb25zdCBpc0VudW1BcnJheSA9IChcbiAgb3B0czogQXBpUHJvcGVydHlPcHRpb25zXG4pOiBvcHRzIGlzIHtcbiAgaXNBcnJheTogdHJ1ZTtcbiAgZW51bTogRW51bUFsbG93ZWRUeXBlcztcbiAgdHlwZTogYW55O1xuICBpdGVtczogYW55O1xufSA9PiAob3B0cy5pc0FycmF5ICYmIFwiZW51bVwiIGluIG9wdHMgJiYgb3B0cy5lbnVtICE9PSB1bmRlZmluZWQpIGFzIGJvb2xlYW47XG5cbi8qKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgZnVuY3Rpb24gQXBpUHJvcGVydHkoXG4gIG9wdGlvbnM6IEFwaVByb3BlcnR5T3B0aW9ucyA9IHt9XG4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIHJldHVybiBjcmVhdGVBcGlQcm9wZXJ0eURlY29yYXRvcihvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFwaVByb3BlcnR5RGVjb3JhdG9yKFxuICBvcHRpb25zOiBBcGlQcm9wZXJ0eU9wdGlvbnMgPSB7fSxcbiAgb3ZlcnJpZGVFeGlzdGluZyA9IHRydWVcbik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgY29uc3QgW3R5cGUsIGlzQXJyYXldID0gZ2V0VHlwZUlzQXJyYXlUdXBsZShcbiAgICBvcHRpb25zLnR5cGUsXG4gICAgb3B0aW9ucy5pc0FycmF5IGFzIGJvb2xlYW5cbiAgKTtcbiAgb3B0aW9ucyA9IHtcbiAgICAuLi5vcHRpb25zLFxuICAgIHR5cGUsXG4gICAgaXNBcnJheSxcbiAgfSBhcyBBcGlQcm9wZXJ0eU9wdGlvbnM7XG5cbiAgaWYgKGlzRW51bUFycmF5KG9wdGlvbnMpKSB7XG4gICAgb3B0aW9ucy50eXBlID0gXCJhcnJheVwiO1xuXG4gICAgY29uc3QgZW51bVZhbHVlcyA9IGdldEVudW1WYWx1ZXMob3B0aW9ucy5lbnVtKTtcbiAgICBvcHRpb25zLml0ZW1zID0ge1xuICAgICAgdHlwZTogZ2V0RW51bVR5cGUoZW51bVZhbHVlcyksXG4gICAgICBlbnVtOiBlbnVtVmFsdWVzLFxuICAgIH07XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBuZXN0IHN3YWdnZXIgb3ZlcnJpZGVcbiAgICBkZWxldGUgb3B0aW9ucy5lbnVtO1xuICB9IGVsc2UgaWYgKFwiZW51bVwiIGluIG9wdGlvbnMgJiYgb3B0aW9ucy5lbnVtICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBlbnVtVmFsdWVzID0gZ2V0RW51bVZhbHVlcyhvcHRpb25zLmVudW0pO1xuXG4gICAgb3B0aW9ucy5lbnVtID0gZW51bVZhbHVlcztcbiAgICBvcHRpb25zLnR5cGUgPSBnZXRFbnVtVHlwZShlbnVtVmFsdWVzKTtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMudHlwZSkpIHtcbiAgICBvcHRpb25zLnR5cGUgPSBcImFycmF5XCI7XG4gICAgb3B0aW9ucy5pdGVtcyA9IHtcbiAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgIGl0ZW1zOiB7XG4gICAgICAgIHR5cGU6IG9wdGlvbnMudHlwZVswXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVQcm9wZXJ0eURlY29yYXRvcihcbiAgICBERUNPUkFUT1JTLkFQSV9NT0RFTF9QUk9QRVJUSUVTLFxuICAgIG9wdGlvbnMsXG4gICAgb3ZlcnJpZGVFeGlzdGluZ1xuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpUHJvcGVydHlPcHRpb25hbChcbiAgb3B0aW9uczogQXBpUHJvcGVydHlPcHRpb25zID0ge31cbik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgcmV0dXJuIEFwaVByb3BlcnR5KHtcbiAgICAuLi5vcHRpb25zLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgfSBhcyBBcGlQcm9wZXJ0eU9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpUmVzcG9uc2VQcm9wZXJ0eShcbiAgb3B0aW9uczogUGljazxcbiAgICBBcGlQcm9wZXJ0eU9wdGlvbnMsXG4gICAgXCJ0eXBlXCIgfCBcImV4YW1wbGVcIiB8IFwiZm9ybWF0XCIgfCBcImRlcHJlY2F0ZWRcIiB8IFwiZW51bVwiXG4gID4gPSB7fVxuKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICByZXR1cm4gQXBpUHJvcGVydHkoe1xuICAgIHJlYWRPbmx5OiB0cnVlLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0gYXMgQXBpUHJvcGVydHlPcHRpb25zKTtcbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export declare function createMethodDecorator<T = any>(metakey: string, metadata: T, { overrideExisting }?: {
2
+ overrideExisting: boolean;
3
+ }): MethodDecorator;
4
+ export declare function createClassDecorator<T extends Array<any> = any>(metakey: string, metadata?: T): ClassDecorator;
5
+ export declare function createPropertyDecorator<T extends Record<string, any> = any>(metakey: string, metadata: T, overrideExisting?: boolean): PropertyDecorator;
6
+ export declare function createMixedDecorator<T = any>(metakey: string, metadata: T): MethodDecorator & ClassDecorator;
7
+ export declare function createParamDecorator<T extends Record<string, any> = any>(metadata: T, initial: Partial<T>): MethodDecorator & ClassDecorator;
8
+ export declare function getTypeIsArrayTuple(input: Function | [Function] | undefined | string | Record<string, any>, isArrayFlag: boolean): [Function | undefined, boolean];
@@ -0,0 +1,132 @@
1
+ /* eslint-disable @typescript-eslint/no-unsafe-function-type */
2
+ import { METHOD_METADATA } from "@nestjs/common/constants";
3
+ import { isConstructor } from "@nestjs/common/utils/shared.utils";
4
+ import { isArray, isUndefined, negate, pickBy } from "lodash";
5
+ import { METADATA_FACTORY_NAME } from "@nestjs/swagger/dist/plugin/plugin-constants";
6
+ import { DECORATORS } from "@nestjs/swagger/dist/constants";
7
+ export function createMethodDecorator(metakey, metadata, { overrideExisting } = { overrideExisting: true }) {
8
+ return (target, key, descriptor) => {
9
+ if (typeof metadata === "object") {
10
+ const prevValue = Reflect.getMetadata(metakey, descriptor.value);
11
+ if (prevValue && !overrideExisting) {
12
+ return descriptor;
13
+ }
14
+ Reflect.defineMetadata(metakey, { ...prevValue, ...metadata }, descriptor.value);
15
+ return descriptor;
16
+ }
17
+ Reflect.defineMetadata(metakey, metadata, descriptor.value);
18
+ return descriptor;
19
+ };
20
+ }
21
+ export function createClassDecorator(metakey, metadata = []) {
22
+ return (target) => {
23
+ const prevValue = Reflect.getMetadata(metakey, target) || [];
24
+ Reflect.defineMetadata(metakey, [...prevValue, ...metadata], target);
25
+ return target;
26
+ };
27
+ }
28
+ export function createPropertyDecorator(metakey, metadata, overrideExisting = true) {
29
+ return (target, propertyKey) => {
30
+ const properties = Reflect.getMetadata(DECORATORS.API_MODEL_PROPERTIES_ARRAY, target) || [];
31
+ const key = `:${propertyKey}`;
32
+ if (!properties.includes(key)) {
33
+ Reflect.defineMetadata(DECORATORS.API_MODEL_PROPERTIES_ARRAY, [...properties, `:${propertyKey}`], target);
34
+ }
35
+ const existingMetadata = Reflect.getMetadata(metakey, target, propertyKey);
36
+ if (existingMetadata) {
37
+ const newMetadata = pickBy(metadata, negate(isUndefined));
38
+ const metadataToSave = overrideExisting
39
+ ? {
40
+ ...existingMetadata,
41
+ ...newMetadata,
42
+ }
43
+ : {
44
+ ...newMetadata,
45
+ ...existingMetadata,
46
+ };
47
+ Reflect.defineMetadata(metakey, metadataToSave, target, propertyKey);
48
+ }
49
+ else {
50
+ const type =
51
+ // @ts-expect-error nest js override
52
+ target?.constructor?.[METADATA_FACTORY_NAME]?.()[propertyKey]?.type ??
53
+ Reflect.getMetadata("design:type", target, propertyKey);
54
+ Reflect.defineMetadata(metakey, {
55
+ type,
56
+ ...pickBy(metadata, negate(isUndefined)),
57
+ }, target, propertyKey);
58
+ }
59
+ };
60
+ }
61
+ export function createMixedDecorator(metakey, metadata) {
62
+ return (target, key, descriptor) => {
63
+ if (descriptor) {
64
+ let metadatas;
65
+ if (Array.isArray(metadata)) {
66
+ const previousMetadata = Reflect.getMetadata(metakey, descriptor.value) || [];
67
+ metadatas = [...previousMetadata, ...metadata];
68
+ }
69
+ else {
70
+ const previousMetadata = Reflect.getMetadata(metakey, descriptor.value) || {};
71
+ metadatas = { ...previousMetadata, ...metadata };
72
+ }
73
+ Reflect.defineMetadata(metakey, metadatas, descriptor.value);
74
+ return descriptor;
75
+ }
76
+ let metadatas;
77
+ if (Array.isArray(metadata)) {
78
+ const previousMetadata = Reflect.getMetadata(metakey, target) || [];
79
+ metadatas = [...previousMetadata, ...metadata];
80
+ }
81
+ else {
82
+ const previousMetadata = Reflect.getMetadata(metakey, target) || {};
83
+ metadatas = Object.assign(Object.assign({}, previousMetadata), metadata);
84
+ }
85
+ Reflect.defineMetadata(metakey, metadatas, target);
86
+ return target;
87
+ };
88
+ }
89
+ export function createParamDecorator(metadata, initial) {
90
+ return (target, key, descriptor) => {
91
+ const paramOptions = {
92
+ ...initial,
93
+ ...pickBy(metadata, negate(isUndefined)),
94
+ };
95
+ if (descriptor) {
96
+ const parameters = Reflect.getMetadata(DECORATORS.API_PARAMETERS, descriptor.value) || [];
97
+ Reflect.defineMetadata(DECORATORS.API_PARAMETERS, [...parameters, paramOptions], descriptor.value);
98
+ return descriptor;
99
+ }
100
+ if (typeof target === "object") {
101
+ return target;
102
+ }
103
+ const propertyKeys = Object.getOwnPropertyNames(target.prototype);
104
+ for (const propertyKey of propertyKeys) {
105
+ if (isConstructor(propertyKey)) {
106
+ continue;
107
+ }
108
+ const methodDescriptor = Object.getOwnPropertyDescriptor(target.prototype, propertyKey);
109
+ if (!methodDescriptor) {
110
+ continue;
111
+ }
112
+ const isApiMethod = Reflect.hasMetadata(METHOD_METADATA, methodDescriptor.value);
113
+ if (!isApiMethod) {
114
+ continue;
115
+ }
116
+ const parameters = Reflect.getMetadata(DECORATORS.API_PARAMETERS, methodDescriptor.value) || [];
117
+ Reflect.defineMetadata(DECORATORS.API_PARAMETERS, [...parameters, paramOptions], methodDescriptor.value);
118
+ }
119
+ };
120
+ }
121
+ export function getTypeIsArrayTuple(input, isArrayFlag) {
122
+ if (!input) {
123
+ return [input, isArrayFlag];
124
+ }
125
+ if (isArrayFlag) {
126
+ return [input, isArrayFlag];
127
+ }
128
+ const isInputArray = isArray(input);
129
+ const type = isInputArray ? input[0] : input;
130
+ return [type, isInputArray];
131
+ }
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3JzL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0RBQStEO0FBRS9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFNUQsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxPQUFlLEVBQ2YsUUFBVyxFQUNYLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRTtJQUVqRCxPQUFPLENBQ0wsTUFBYyxFQUNkLEdBQW9CLEVBQ3BCLFVBQThCLEVBQzlCLEVBQUU7UUFDRixJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRSxJQUFJLFNBQVMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25DLE9BQU8sVUFBVSxDQUFDO1lBQ3BCLENBQUM7WUFDRCxPQUFPLENBQUMsY0FBYyxDQUNwQixPQUFPLEVBQ1AsRUFBRSxHQUFHLFNBQVMsRUFBRSxHQUFHLFFBQVEsRUFBRSxFQUM3QixVQUFVLENBQUMsS0FBSyxDQUNqQixDQUFDO1lBQ0YsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUNELE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFB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Q0FBQztZQUVGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDakIsU0FBUztZQUNYLENBQUM7WUFFRCxNQUFNLFVBQVUsR0FDZCxPQUFPLENBQUMsV0FBVyxDQUNqQixVQUFVLENBQUMsY0FBYyxFQUN6QixnQkFBZ0IsQ0FBQyxLQUFLLENBQ3ZCLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxDQUFDLGNBQWMsQ0FDcEIsVUFBVSxDQUFDLGNBQWMsRUFDekIsQ0FBQyxHQUFHLFVBQVUsRUFBRSxZQUFZLENBQUMsRUFDN0IsZ0JBQWdCLENBQUMsS0FBSyxDQUN2QixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLEtBQXVFLEVBQ3ZFLFdBQW9CO0lBRXBCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sQ0FBQyxLQUFrQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxLQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM3QyxPQUFPLENBQUMsSUFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlICovXG5cbmltcG9ydCB7IE1FVEhPRF9NRVRBREFUQSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vbi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGlzQ29uc3RydWN0b3IgfSBmcm9tIFwiQG5lc3Rqcy9jb21tb24vdXRpbHMvc2hhcmVkLnV0aWxzXCI7XG5pbXBvcnQgeyBpc0FycmF5LCBpc1VuZGVmaW5lZCwgbmVnYXRlLCBwaWNrQnkgfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBNRVRBREFUQV9GQUNUT1JZX05BTUUgfSBmcm9tIFwiQG5lc3Rqcy9zd2FnZ2VyL2Rpc3QvcGx1Z2luL3BsdWdpbi1jb25zdGFudHNcIjtcbmltcG9ydCB7IERFQ09SQVRPUlMgfSBmcm9tIFwiQG5lc3Rqcy9zd2FnZ2VyL2Rpc3QvY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNZXRob2REZWNvcmF0b3I8VCA9IGFueT4oXG4gIG1ldGFrZXk6IHN0cmluZyxcbiAgbWV0YWRhdGE6IFQsXG4gIHsgb3ZlcnJpZGVFeGlzdGluZyB9ID0geyBvdmVycmlkZUV4aXN0aW5nOiB0cnVlIH1cbik6IE1ldGhvZERlY29yYXRvciB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0OiBvYmplY3QsXG4gICAga2V5OiBzdHJpbmcgfCBzeW1ib2wsXG4gICAgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yXG4gICkgPT4ge1xuICAgIGlmICh0eXBlb2YgbWV0YWRhdGEgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGNvbnN0IHByZXZWYWx1ZSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEobWV0YWtleSwgZGVzY3JpcHRvci52YWx1ZSk7XG4gICAgICBpZiAocHJldlZhbHVlICYmICFvdmVycmlkZUV4aXN0aW5nKSB7XG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICAgICAgfVxuICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShcbiAgICAgICAgbWV0YWtleSxcbiAgICAgICAgeyAuLi5wcmV2VmFsdWUsIC4uLm1ldGFkYXRhIH0sXG4gICAgICAgIGRlc2NyaXB0b3IudmFsdWVcbiAgICAgICk7XG4gICAgICByZXR1cm4gZGVzY3JpcHRvcjtcbiAgICB9XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShtZXRha2V5LCBtZXRhZGF0YSwgZGVzY3JpcHRvci52YWx1ZSk7XG4gICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDbGFzc0RlY29yYXRvcjxUIGV4dGVuZHMgQXJyYXk8YW55PiA9IGFueT4oXG4gIG1ldGFrZXk6IHN0cmluZyxcbiAgbWV0YWRhdGE6IFQgPSBbXSBhcyB1bmtub3duIGFzIFRcbik6IENsYXNzRGVjb3JhdG9yIHtcbiAgcmV0dXJuICh0YXJnZXQpID0+IHtcbiAgICBjb25zdCBwcmV2VmFsdWUgPSBSZWZsZWN0LmdldE1ldGFkYXRhKG1ldGFrZXksIHRhcmdldCkgfHwgW107XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShtZXRha2V5LCBbLi4ucHJldlZhbHVlLCAuLi5tZXRhZGF0YV0sIHRhcmdldCk7XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb3BlcnR5RGVjb3JhdG9yPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gYW55PihcbiAgbWV0YWtleTogc3RyaW5nLFxuICBtZXRhZGF0YTogVCxcbiAgb3ZlcnJpZGVFeGlzdGluZyA9IHRydWVcbik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgcmV0dXJuICh0YXJnZXQ6IG9iamVjdCwgcHJvcGVydHlLZXk/OiBhbnkpID0+IHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID1cbiAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoREVDT1JBVE9SUy5BUElfTU9ERUxfUFJPUEVSVElFU19BUlJBWSwgdGFyZ2V0KSB8fCBbXTtcblxuICAgIGNvbnN0IGtleSA9IGA6JHtwcm9wZXJ0eUtleX1gO1xuICAgIGlmICghcHJvcGVydGllcy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFxuICAgICAgICBERUNPUkFUT1JTLkFQSV9NT0RFTF9QUk9QRVJUSUVTX0FSUkFZLFxuICAgICAgICBbLi4ucHJvcGVydGllcywgYDoke3Byb3BlcnR5S2V5fWBdLFxuICAgICAgICB0YXJnZXRcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGV4aXN0aW5nTWV0YWRhdGEgPSBSZWZsZWN0LmdldE1ldGFkYXRhKG1ldGFrZXksIHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIGlmIChleGlzdGluZ01ldGFkYXRhKSB7XG4gICAgICBjb25zdCBuZXdNZXRhZGF0YSA9IHBpY2tCeShtZXRhZGF0YSwgbmVnYXRlKGlzVW5kZWZpbmVkKSk7XG4gICAgICBjb25zdCBtZXRhZGF0YVRvU2F2ZSA9IG92ZXJyaWRlRXhpc3RpbmdcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAuLi5leGlzdGluZ01ldGFkYXRhLFxuICAgICAgICAgICAgLi4ubmV3TWV0YWRhdGEsXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIC4uLm5ld01ldGFkYXRhLFxuICAgICAgICAgICAgLi4uZXhpc3RpbmdNZXRhZGF0YSxcbiAgICAgICAgICB9O1xuXG4gICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKG1ldGFrZXksIG1ldGFkYXRhVG9TYXZlLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHlwZSA9XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbmVzdCBqcyBvdmVycmlkZVxuICAgICAgICB0YXJnZXQ/LmNvbnN0cnVjdG9yPy5bTUVUQURBVEFfRkFDVE9SWV9OQU1FXT8uKClbcHJvcGVydHlLZXldPy50eXBlID8/XG4gICAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcblxuICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShcbiAgICAgICAgbWV0YWtleSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgLi4ucGlja0J5KG1ldGFkYXRhLCBuZWdhdGUoaXNVbmRlZmluZWQpKSxcbiAgICAgICAgfSxcbiAgICAgICAgdGFyZ2V0LFxuICAgICAgICBwcm9wZXJ0eUtleVxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNaXhlZERlY29yYXRvcjxUID0gYW55PihcbiAgbWV0YWtleTogc3RyaW5nLFxuICBtZXRhZGF0YTogVFxuKTogTWV0aG9kRGVjb3JhdG9yICYgQ2xhc3NEZWNvcmF0b3Ige1xuICByZXR1cm4gKFxuICAgIHRhcmdldDogb2JqZWN0LFxuICAgIGtleT86IHN0cmluZyB8IHN5bWJvbCxcbiAgICBkZXNjcmlwdG9yPzogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8YW55PlxuICApOiBhbnkgPT4ge1xuICAgIGlmIChkZXNjcmlwdG9yKSB7XG4gICAgICBsZXQgbWV0YWRhdGFzOiBhbnk7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShtZXRhZGF0YSkpIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNNZXRhZGF0YSA9XG4gICAgICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShtZXRha2V5LCBkZXNjcmlwdG9yLnZhbHVlKSB8fCBbXTtcbiAgICAgICAgbWV0YWRhdGFzID0gWy4uLnByZXZpb3VzTWV0YWRhdGEsIC4uLm1ldGFkYXRhXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzTWV0YWRhdGEgPVxuICAgICAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEobWV0YWtleSwgZGVzY3JpcHRvci52YWx1ZSkgfHwge307XG4gICAgICAgIG1ldGFkYXRhcyA9IHsgLi4ucHJldmlvdXNNZXRhZGF0YSwgLi4ubWV0YWRhdGEgfTtcbiAgICAgIH1cbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEobWV0YWtleSwgbWV0YWRhdGFzLCBkZXNjcmlwdG9yLnZhbHVlKTtcbiAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICAgIH1cblxuICAgIGxldCBtZXRhZGF0YXM6IGFueTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShtZXRhZGF0YSkpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzTWV0YWRhdGEgPSBSZWZsZWN0LmdldE1ldGFkYXRhKG1ldGFrZXksIHRhcmdldCkgfHwgW107XG4gICAgICBtZXRhZGF0YXMgPSBbLi4ucHJldmlvdXNNZXRhZGF0YSwgLi4ubWV0YWRhdGFdO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcmV2aW91c01ldGFkYXRhID0gUmVmbGVjdC5nZXRNZXRhZGF0YShtZXRha2V5LCB0YXJnZXQpIHx8IHt9O1xuICAgICAgbWV0YWRhdGFzID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBwcmV2aW91c01ldGFkYXRhKSwgbWV0YWRhdGEpO1xuICAgIH1cbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKG1ldGFrZXksIG1ldGFkYXRhcywgdGFyZ2V0KTtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGFyYW1EZWNvcmF0b3I8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBhbnk+KFxuICBtZXRhZGF0YTogVCxcbiAgaW5pdGlhbDogUGFydGlhbDxUPlxuKTogTWV0aG9kRGVjb3JhdG9yICYgQ2xhc3NEZWNvcmF0b3Ige1xuICByZXR1cm4gKFxuICAgIHRhcmdldDogb2JqZWN0IHwgRnVuY3Rpb24sXG4gICAga2V5Pzogc3RyaW5nIHwgc3ltYm9sLFxuICAgIGRlc2NyaXB0b3I/OiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+XG4gICk6IGFueSA9PiB7XG4gICAgY29uc3QgcGFyYW1PcHRpb25zID0ge1xuICAgICAgLi4uaW5pdGlhbCxcbiAgICAgIC4uLnBpY2tCeShtZXRhZGF0YSwgbmVnYXRlKGlzVW5kZWZpbmVkKSksXG4gICAgfTtcblxuICAgIGlmIChkZXNjcmlwdG9yKSB7XG4gICAgICBjb25zdCBwYXJhbWV0ZXJzID1cbiAgICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShERUNPUkFUT1JTLkFQSV9QQVJBTUVURVJTLCBkZXNjcmlwdG9yLnZhbHVlKSB8fCBbXTtcbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoXG4gICAgICAgIERFQ09SQVRPUlMuQVBJX1BBUkFNRVRFUlMsXG4gICAgICAgIFsuLi5wYXJhbWV0ZXJzLCBwYXJhbU9wdGlvbnNdLFxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlXG4gICAgICApO1xuICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0YXJnZXQgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvcGVydHlLZXlzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0LnByb3RvdHlwZSk7XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5S2V5IG9mIHByb3BlcnR5S2V5cykge1xuICAgICAgaWYgKGlzQ29uc3RydWN0b3IocHJvcGVydHlLZXkpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBtZXRob2REZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgICAgICAgdGFyZ2V0LnByb3RvdHlwZSxcbiAgICAgICAgcHJvcGVydHlLZXlcbiAgICAgICk7XG5cbiAgICAgIGlmICghbWV0aG9kRGVzY3JpcHRvcikge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaXNBcGlNZXRob2QgPSBSZWZsZWN0Lmhhc01ldGFkYXRhKFxuICAgICAgICBNRVRIT0RfTUVUQURBVEEsXG4gICAgICAgIG1ldGhvZERlc2NyaXB0b3IudmFsdWVcbiAgICAgICk7XG5cbiAgICAgIGlmICghaXNBcGlNZXRob2QpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPVxuICAgICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKFxuICAgICAgICAgIERFQ09SQVRPUlMuQVBJX1BBUkFNRVRFUlMsXG4gICAgICAgICAgbWV0aG9kRGVzY3JpcHRvci52YWx1ZVxuICAgICAgICApIHx8IFtdO1xuICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShcbiAgICAgICAgREVDT1JBVE9SUy5BUElfUEFSQU1FVEVSUyxcbiAgICAgICAgWy4uLnBhcmFtZXRlcnMsIHBhcmFtT3B0aW9uc10sXG4gICAgICAgIG1ldGhvZERlc2NyaXB0b3IudmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZUlzQXJyYXlUdXBsZShcbiAgaW5wdXQ6IEZ1bmN0aW9uIHwgW0Z1bmN0aW9uXSB8IHVuZGVmaW5lZCB8IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIGlzQXJyYXlGbGFnOiBib29sZWFuXG4pOiBbRnVuY3Rpb24gfCB1bmRlZmluZWQsIGJvb2xlYW5dIHtcbiAgaWYgKCFpbnB1dCkge1xuICAgIHJldHVybiBbaW5wdXQgYXMgdW5kZWZpbmVkLCBpc0FycmF5RmxhZ107XG4gIH1cbiAgaWYgKGlzQXJyYXlGbGFnKSB7XG4gICAgcmV0dXJuIFtpbnB1dCBhcyBGdW5jdGlvbiwgaXNBcnJheUZsYWddO1xuICB9XG4gIGNvbnN0IGlzSW5wdXRBcnJheSA9IGlzQXJyYXkoaW5wdXQpO1xuICBjb25zdCB0eXBlID0gaXNJbnB1dEFycmF5ID8gaW5wdXRbMF0gOiBpbnB1dDtcbiAgcmV0dXJuIFt0eXBlIGFzIEZ1bmN0aW9uLCBpc0lucHV0QXJyYXldO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from "./ApiProperty";
2
+ export * from "./helpers";
@@ -0,0 +1,3 @@
1
+ export * from "./ApiProperty.js";
2
+ export * from "./helpers.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVjb3JhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBOEI7QUFDOUIsNkJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vQXBpUHJvcGVydHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2hlbHBlcnNcIjtcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module ts-workspace
2
+ * @module for-nest
3
3
  * @description This module serves as the main entry point for the ts-workspace library. It aggregates and exports
4
4
  * functionality from various submodules and utilities within the project.
5
5
  *
@@ -19,14 +19,19 @@
19
19
  * This structure provides a clean and organized export of the module's functionality, allowing consumers
20
20
  * to easily import and use specific parts of the library as needed.
21
21
  */
22
+ import "./decoration";
23
+ export * from "./decorators";
22
24
  export * from "./constants";
25
+ export * from "./decoration";
23
26
  export * from "./module";
27
+ export * from "./RepoFactory";
24
28
  export * from "./types";
29
+ export * from "./utils";
25
30
  /**
26
31
  * Represents the current version of the ts-workspace module.
27
32
  * The actual version number is replaced during the build process.
28
33
  * @constant
29
34
  * @type {string}
30
35
  */
31
- export declare const VERSION = "0.0.1";
36
+ export declare const VERSION = "0.0.2";
32
37
  export declare const PACKAGE_NAME = "##PACKAGE_NAME##";
package/lib/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module ts-workspace
2
+ * @module for-nest
3
3
  * @description This module serves as the main entry point for the ts-workspace library. It aggregates and exports
4
4
  * functionality from various submodules and utilities within the project.
5
5
  *
@@ -20,16 +20,21 @@
20
20
  * to easily import and use specific parts of the library as needed.
21
21
  */
22
22
  import { Metadata } from "@decaf-ts/decoration";
23
+ import "./decoration.js";
24
+ export * from "./decorators/index.js";
23
25
  export * from "./constants.js";
26
+ export * from "./decoration.js";
24
27
  export * from "./module.js";
28
+ export * from "./RepoFactory.js";
25
29
  export * from "./types.js";
30
+ export * from "./utils.js";
26
31
  /**
27
32
  * Represents the current version of the ts-workspace module.
28
33
  * The actual version number is replaced during the build process.
29
34
  * @constant
30
35
  * @type {string}
31
36
  */
32
- export const VERSION = "0.0.1";
37
+ export const VERSION = "0.0.2";
33
38
  export const PACKAGE_NAME = "##PACKAGE_NAME##";
34
39
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWhELCtCQUE0QjtBQUM1Qiw0QkFBeUI7QUFDekIsMkJBQXdCO0FBRXhCOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUM7QUFFL0MsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgdHMtd29ya3NwYWNlXG4gKiBAZGVzY3JpcHRpb24gVGhpcyBtb2R1bGUgc2VydmVzIGFzIHRoZSBtYWluIGVudHJ5IHBvaW50IGZvciB0aGUgdHMtd29ya3NwYWNlIGxpYnJhcnkuIEl0IGFnZ3JlZ2F0ZXMgYW5kIGV4cG9ydHNcbiAqIGZ1bmN0aW9uYWxpdHkgZnJvbSB2YXJpb3VzIHN1Ym1vZHVsZXMgYW5kIHV0aWxpdGllcyB3aXRoaW4gdGhlIHByb2plY3QuXG4gKlxuICogVGhlIG1vZHVsZSBpbmNsdWRlczpcbiAqIDEuIFV0aWxpdHkgZnVuY3Rpb25zIGFuZCB0eXBlcyBmcm9tIHRoZSBcIi4vdXRpbHNcIiBkaXJlY3Rvcnk6XG4gKiAgICAtIFRoZXNlIGxpa2VseSBjb250YWluIGhlbHBlciBmdW5jdGlvbnMsIGNvbW1vbiB0eXBlcywgYW5kIHNoYXJlZCBmdW5jdGlvbmFsaXR5IHVzZWQgdGhyb3VnaG91dCB0aGUgcHJvamVjdC5cbiAqICAgIC0gTWF5IGluY2x1ZGUgb3BlcmF0aW9ucyBmb3IgZGF0YSBtYW5pcHVsYXRpb24sIHR5cGUgY2hlY2tpbmcsIG9yIG90aGVyIGdlbmVyYWwtcHVycG9zZSB1dGlsaXRpZXMuXG4gKlxuICogMi4gQSBuYW1lc3BhY2UgYW5kIHJlbGF0ZWQgdHlwZXMgZnJvbSB0aGUgXCIuL25hbWVzcGFjZVwiIGRpcmVjdG9yeTpcbiAqICAgIC0gVGhpcyBjb3VsZCBjb250YWluIGRvbWFpbi1zcGVjaWZpYyBjb2RlIG9yIGEgY29sbGVjdGlvbiBvZiByZWxhdGVkIGZ1bmN0aW9uYWxpdHkuXG4gKiAgICAtIE1pZ2h0IGluY2x1ZGUgaW50ZXJmYWNlcywgdHlwZXMsIG9yIGNsYXNzZXMgdGhhdCByZXByZXNlbnQgY29yZSBjb25jZXB0cyBpbiB0aGUgbGlicmFyeS5cbiAqXG4gKiAzLiBBIFZFUlNJT04gY29uc3RhbnQ6XG4gKiAgICAtIFJlcHJlc2VudHMgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgbW9kdWxlLlxuICogICAgLSBVc2VmdWwgZm9yIHZlcnNpb24gY2hlY2tpbmcgYW5kIGNvbXBhdGliaWxpdHkgcHVycG9zZXMuXG4gKlxuICogVGhpcyBzdHJ1Y3R1cmUgcHJvdmlkZXMgYSBjbGVhbiBhbmQgb3JnYW5pemVkIGV4cG9ydCBvZiB0aGUgbW9kdWxlJ3MgZnVuY3Rpb25hbGl0eSwgYWxsb3dpbmcgY29uc3VtZXJzXG4gKiB0byBlYXNpbHkgaW1wb3J0IGFuZCB1c2Ugc3BlY2lmaWMgcGFydHMgb2YgdGhlIGxpYnJhcnkgYXMgbmVlZGVkLlxuICovXG5cbmltcG9ydCB7IE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgdHMtd29ya3NwYWNlIG1vZHVsZS5cbiAqIFRoZSBhY3R1YWwgdmVyc2lvbiBudW1iZXIgaXMgcmVwbGFjZWQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLlxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiIyNWRVJTSU9OIyNcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX05BTUUgPSBcIiMjUEFDS0FHRV9OQU1FIyNcIjtcblxuTWV0YWRhdGEucmVnaXN0ZXJMaWJyYXJ5KFBBQ0tBR0VfTkFNRSwgVkVSU0lPTik7XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELHlCQUFzQjtBQUV0QixzQ0FBNkI7QUFDN0IsK0JBQTRCO0FBQzVCLGdDQUE2QjtBQUM3Qiw0QkFBeUI7QUFDekIsaUNBQThCO0FBQzlCLDJCQUF3QjtBQUN4QiwyQkFBd0I7QUFFeEI7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQztBQUUvQyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBmb3ItbmVzdFxuICogQGRlc2NyaXB0aW9uIFRoaXMgbW9kdWxlIHNlcnZlcyBhcyB0aGUgbWFpbiBlbnRyeSBwb2ludCBmb3IgdGhlIHRzLXdvcmtzcGFjZSBsaWJyYXJ5LiBJdCBhZ2dyZWdhdGVzIGFuZCBleHBvcnRzXG4gKiBmdW5jdGlvbmFsaXR5IGZyb20gdmFyaW91cyBzdWJtb2R1bGVzIGFuZCB1dGlsaXRpZXMgd2l0aGluIHRoZSBwcm9qZWN0LlxuICpcbiAqIFRoZSBtb2R1bGUgaW5jbHVkZXM6XG4gKiAxLiBVdGlsaXR5IGZ1bmN0aW9ucyBhbmQgdHlwZXMgZnJvbSB0aGUgXCIuL3V0aWxzXCIgZGlyZWN0b3J5OlxuICogICAgLSBUaGVzZSBsaWtlbHkgY29udGFpbiBoZWxwZXIgZnVuY3Rpb25zLCBjb21tb24gdHlwZXMsIGFuZCBzaGFyZWQgZnVuY3Rpb25hbGl0eSB1c2VkIHRocm91Z2hvdXQgdGhlIHByb2plY3QuXG4gKiAgICAtIE1heSBpbmNsdWRlIG9wZXJhdGlvbnMgZm9yIGRhdGEgbWFuaXB1bGF0aW9uLCB0eXBlIGNoZWNraW5nLCBvciBvdGhlciBnZW5lcmFsLXB1cnBvc2UgdXRpbGl0aWVzLlxuICpcbiAqIDIuIEEgbmFtZXNwYWNlIGFuZCByZWxhdGVkIHR5cGVzIGZyb20gdGhlIFwiLi9uYW1lc3BhY2VcIiBkaXJlY3Rvcnk6XG4gKiAgICAtIFRoaXMgY291bGQgY29udGFpbiBkb21haW4tc3BlY2lmaWMgY29kZSBvciBhIGNvbGxlY3Rpb24gb2YgcmVsYXRlZCBmdW5jdGlvbmFsaXR5LlxuICogICAgLSBNaWdodCBpbmNsdWRlIGludGVyZmFjZXMsIHR5cGVzLCBvciBjbGFzc2VzIHRoYXQgcmVwcmVzZW50IGNvcmUgY29uY2VwdHMgaW4gdGhlIGxpYnJhcnkuXG4gKlxuICogMy4gQSBWRVJTSU9OIGNvbnN0YW50OlxuICogICAgLSBSZXByZXNlbnRzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIG1vZHVsZS5cbiAqICAgIC0gVXNlZnVsIGZvciB2ZXJzaW9uIGNoZWNraW5nIGFuZCBjb21wYXRpYmlsaXR5IHB1cnBvc2VzLlxuICpcbiAqIFRoaXMgc3RydWN0dXJlIHByb3ZpZGVzIGEgY2xlYW4gYW5kIG9yZ2FuaXplZCBleHBvcnQgb2YgdGhlIG1vZHVsZSdzIGZ1bmN0aW9uYWxpdHksIGFsbG93aW5nIGNvbnN1bWVyc1xuICogdG8gZWFzaWx5IGltcG9ydCBhbmQgdXNlIHNwZWNpZmljIHBhcnRzIG9mIHRoZSBsaWJyYXJ5IGFzIG5lZWRlZC5cbiAqL1xuXG5pbXBvcnQgeyBNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IFwiLi9kZWNvcmF0aW9uXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SZXBvRmFjdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzXCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSB0cy13b3Jrc3BhY2UgbW9kdWxlLlxuICogVGhlIGFjdHVhbCB2ZXJzaW9uIG51bWJlciBpcyByZXBsYWNlZCBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gXCIjI1ZFUlNJT04jI1wiO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfTkFNRSA9IFwiIyNQQUNLQUdFX05BTUUjI1wiO1xuXG5NZXRhZGF0YS5yZWdpc3RlckxpYnJhcnkoUEFDS0FHRV9OQU1FLCBWRVJTSU9OKTtcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { Logger } from "@decaf-ts/logging";
2
+ import { DynamicModule } from "@nestjs/common";
3
+ export declare class DecafModelModule {
4
+ private static _logger;
5
+ protected static get log(): Logger;
6
+ private static toModelController;
7
+ static forRoot(flavour: string): DynamicModule;
8
+ }