@decaf-ts/for-nest 0.0.2 → 0.0.4

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 +549 -15
  2. package/dist/for-nest.esm.cjs +549 -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 +199 -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 +202 -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
package/lib/module.cjs CHANGED
@@ -10,14 +10,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.DecafModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
12
  const core_module_1 = require("./core-module.cjs");
13
+ const model_module_1 = require("./model-module.cjs");
13
14
  /**
14
15
  * @publicApi
15
16
  */
16
17
  let DecafModule = DecafModule_1 = class DecafModule {
17
- static forRoot(options) {
18
+ static async forRootAsync(options) {
19
+ const { autoControllers } = options;
20
+ const adapter = await core_module_1.DecafCoreModule.createAdapter(options);
21
+ const flavour = adapter.flavour;
22
+ const imports = [core_module_1.DecafCoreModule.forRoot(options)];
23
+ if (autoControllers) {
24
+ imports.push(model_module_1.DecafModelModule.forRoot(flavour));
25
+ }
18
26
  return {
19
27
  module: DecafModule_1,
20
- imports: [core_module_1.DecafCoreModule.forRoot(options)],
28
+ imports: imports,
21
29
  };
22
30
  }
23
31
  };
@@ -25,4 +33,4 @@ exports.DecafModule = DecafModule;
25
33
  exports.DecafModule = DecafModule = DecafModule_1 = __decorate([
26
34
  (0, common_1.Module)({})
27
35
  ], DecafModule);
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsMkNBQXVEO0FBRXZELG1EQUFnRDtBQUVoRDs7R0FFRztBQUVJLElBQU0sV0FBVyxtQkFBakIsTUFBTSxXQUFXO0lBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDeEMsT0FBTztZQUNMLE1BQU0sRUFBRSxhQUFXO1lBQ25CLE9BQU8sRUFBRSxDQUFDLDZCQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQVBZLGtDQUFXO3NCQUFYLFdBQVc7SUFEdkIsSUFBQSxlQUFNLEVBQUMsRUFBRSxDQUFDO0dBQ0UsV0FBVyxDQU92QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNNb2R1bGUsIE1vZHVsZSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgRGVjYWZNb2R1bGVPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IERlY2FmQ29yZU1vZHVsZSB9IGZyb20gXCIuL2NvcmUtbW9kdWxlXCI7XG5cbi8qKlxuICogQHB1YmxpY0FwaVxuICovXG5ATW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIERlY2FmTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczogRGVjYWZNb2R1bGVPcHRpb25zKTogRHluYW1pY01vZHVsZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vZHVsZTogRGVjYWZNb2R1bGUsXG4gICAgICBpbXBvcnRzOiBbRGVjYWZDb3JlTW9kdWxlLmZvclJvb3Qob3B0aW9ucyldLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsMkNBQStFO0FBRS9FLG1EQUFnRDtBQUNoRCxxREFBa0Q7QUFFbEQ7O0dBRUc7QUFFSSxJQUFNLFdBQVcsbUJBQWpCLE1BQU0sV0FBVztJQUN0QixNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FDdkIsT0FBMkI7UUFFM0IsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVwQyxNQUFNLE9BQU8sR0FBRyxNQUFNLDZCQUFlLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFFaEMsTUFBTSxPQUFPLEdBT0csQ0FBQyw2QkFBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRW5ELElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQywrQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBRUQsT0FBTztZQUNMLE1BQU0sRUFBRSxhQUFXO1lBQ25CLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQTNCWSxrQ0FBVztzQkFBWCxXQUFXO0lBRHZCLElBQUEsZUFBTSxFQUFDLEVBQUUsQ0FBQztHQUNFLFdBQVcsQ0EyQnZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1pY01vZHVsZSwgRm9yd2FyZFJlZmVyZW5jZSwgTW9kdWxlLCBUeXBlIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBEZWNhZk1vZHVsZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgRGVjYWZDb3JlTW9kdWxlIH0gZnJvbSBcIi4vY29yZS1tb2R1bGVcIjtcbmltcG9ydCB7IERlY2FmTW9kZWxNb2R1bGUgfSBmcm9tIFwiLi9tb2RlbC1tb2R1bGVcIjtcblxuLyoqXG4gKiBAcHVibGljQXBpXG4gKi9cbkBNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgRGVjYWZNb2R1bGUge1xuICBzdGF0aWMgYXN5bmMgZm9yUm9vdEFzeW5jKFxuICAgIG9wdGlvbnM6IERlY2FmTW9kdWxlT3B0aW9uc1xuICApOiBQcm9taXNlPER5bmFtaWNNb2R1bGU+IHtcbiAgICBjb25zdCB7IGF1dG9Db250cm9sbGVycyB9ID0gb3B0aW9ucztcblxuICAgIGNvbnN0IGFkYXB0ZXIgPSBhd2FpdCBEZWNhZkNvcmVNb2R1bGUuY3JlYXRlQWRhcHRlcihvcHRpb25zKTtcbiAgICBjb25zdCBmbGF2b3VyID0gYWRhcHRlci5mbGF2b3VyO1xuXG4gICAgY29uc3QgaW1wb3J0czpcbiAgICAgIHwgKFxuICAgICAgICAgIHwgRHluYW1pY01vZHVsZVxuICAgICAgICAgIHwgVHlwZTxhbnk+XG4gICAgICAgICAgfCBQcm9taXNlPER5bmFtaWNNb2R1bGU+XG4gICAgICAgICAgfCBGb3J3YXJkUmVmZXJlbmNlPGFueT5cbiAgICAgICAgKVtdXG4gICAgICB8IHVuZGVmaW5lZCA9IFtEZWNhZkNvcmVNb2R1bGUuZm9yUm9vdChvcHRpb25zKV07XG5cbiAgICBpZiAoYXV0b0NvbnRyb2xsZXJzKSB7XG4gICAgICBpbXBvcnRzLnB1c2goRGVjYWZNb2RlbE1vZHVsZS5mb3JSb290KGZsYXZvdXIpKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlOiBEZWNhZk1vZHVsZSxcbiAgICAgIGltcG9ydHM6IGltcG9ydHMsXG4gICAgfTtcbiAgfVxufVxuIl19
package/lib/module.d.ts CHANGED
@@ -4,5 +4,5 @@ import { DecafModuleOptions } from "./types";
4
4
  * @publicApi
5
5
  */
6
6
  export declare class DecafModule {
7
- static forRoot(options: DecafModuleOptions): DynamicModule;
7
+ static forRootAsync(options: DecafModuleOptions): Promise<DynamicModule>;
8
8
  }
package/lib/types.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkYXB0ZXIgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5cbi8qKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgdHlwZSBEZWNhZk1vZHVsZU9wdGlvbnM8XG4gIENPTkYgPSBhbnksXG4gIEEgZXh0ZW5kcyBBZGFwdGVyPENPTkYsIGFueSwgYW55LCBhbnksIGFueT4gPSBBZGFwdGVyPENPTkYsIGFueSwgYW55Pixcbj4gPSB7XG4gIGFkYXB0ZXI6IENvbnN0cnVjdG9yPEE+O1xuICBjb25mOiBDT05GO1xuICBhbGlhcz86IHN0cmluZztcbn07XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkYXB0ZXIgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5cbi8qKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgdHlwZSBEZWNhZk1vZHVsZU9wdGlvbnM8XG4gIENPTkYgPSBhbnksXG4gIEEgZXh0ZW5kcyBBZGFwdGVyPENPTkYsIGFueSwgYW55LCBhbnksIGFueT4gPSBBZGFwdGVyPENPTkYsIGFueSwgYW55Pixcbj4gPSB7XG4gIGFkYXB0ZXI6IENvbnN0cnVjdG9yPEE+O1xuICBjb25mOiBDT05GO1xuICBhbGlhcz86IHN0cmluZztcbiAgYXV0b0NvbnRyb2xsZXJzOiBib29sZWFuO1xufTtcbiJdfQ==
package/lib/types.d.ts CHANGED
@@ -7,4 +7,5 @@ export type DecafModuleOptions<CONF = any, A extends Adapter<CONF, any, any, any
7
7
  adapter: Constructor<A>;
8
8
  conf: CONF;
9
9
  alias?: string;
10
+ autoControllers: boolean;
10
11
  };
package/lib/utils.cjs ADDED
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.repoForModel = repoForModel;
4
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
5
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
6
+ const core_1 = require("@decaf-ts/core");
7
+ function repoForModel(model) {
8
+ const m = decorator_validation_1.Model.get(model);
9
+ if (!m)
10
+ throw new db_decorators_1.InternalError(`Failed to find repository for ${model}`);
11
+ const repo = core_1.Repository.forModel(m);
12
+ return repo;
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxvQ0FNQztBQVZELHlFQUFxRDtBQUNyRCwyREFBc0Q7QUFDdEQseUNBQTBDO0FBRTFDLFNBQWdCLFlBQVksQ0FBQyxLQUFhO0lBQ3pDLE1BQU0sQ0FBQyxHQUFHLDRCQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLElBQUksQ0FBQyxDQUFDO1FBQ0wsTUFBTSxJQUFJLDZCQUFhLENBQUMsaUNBQWlDLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDbEUsTUFBTSxJQUFJLEdBQUcsaUJBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsT0FBTyxJQUFJLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RlbH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtJbnRlcm5hbEVycm9yfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7UmVwb3NpdG9yeX0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBvRm9yTW9kZWwobW9kZWw6IHN0cmluZykge1xuXHRjb25zdCBtID0gTW9kZWwuZ2V0KG1vZGVsKTtcblx0aWYgKCFtKVxuXHRcdHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBGYWlsZWQgdG8gZmluZCByZXBvc2l0b3J5IGZvciAke21vZGVsfWApXG5cdGNvbnN0IHJlcG8gPSBSZXBvc2l0b3J5LmZvck1vZGVsKG0pO1xuXHRyZXR1cm4gcmVwbztcbn0iXX0=
package/lib/utils.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import { Model } from "@decaf-ts/decorator-validation";
2
+ export declare function repoForModel(model: string): import("@decaf-ts/core").Repo<Model<false>, any, any, any, any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/for-nest",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "NestJS decaf integration",
5
5
  "type": "module",
6
6
  "exports": {
@@ -99,6 +99,7 @@
99
99
  "@rollup/plugin-typescript": "^12.1.2",
100
100
  "@stylistic/eslint-plugin": "^4.2.0",
101
101
  "@types/jest": "^29.5.14",
102
+ "@types/lodash": "^4.17.20",
102
103
  "clean-publish": "^5.1.0",
103
104
  "dpdm": "^3.14.0",
104
105
  "eslint": "^9.25.1",
@@ -132,6 +133,7 @@
132
133
  "@decaf-ts/logging": "latest",
133
134
  "@decaf-ts/reflection": "latest",
134
135
  "@decaf-ts/transactional-decorators": "latest",
135
- "@nestjs/common": "^11.0.1"
136
+ "@nestjs/common": "^11.0.1",
137
+ "lodash": "^4.17.21"
136
138
  }
137
139
  }