@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.
- package/dist/for-nest.cjs +549 -15
- package/dist/for-nest.esm.cjs +549 -14
- package/lib/RepoFactory.cjs +27 -0
- package/lib/RepoFactory.d.ts +6 -0
- package/lib/core-module.cjs +27 -7
- package/lib/core-module.d.ts +7 -2
- package/lib/decoration.cjs +123 -0
- package/lib/decoration.d.ts +1 -0
- package/lib/decorators/ApiProperty.cjs +63 -0
- package/lib/decorators/ApiProperty.d.ts +27 -0
- package/lib/decorators/helpers.cjs +140 -0
- package/lib/decorators/helpers.d.ts +8 -0
- package/lib/decorators/index.cjs +19 -0
- package/lib/decorators/index.d.ts +2 -0
- package/lib/esm/RepoFactory.d.ts +6 -0
- package/lib/esm/RepoFactory.js +24 -0
- package/lib/esm/core-module.d.ts +7 -2
- package/lib/esm/core-module.js +27 -7
- package/lib/esm/decoration.d.ts +1 -0
- package/lib/esm/decoration.js +121 -0
- package/lib/esm/decorators/ApiProperty.d.ts +27 -0
- package/lib/esm/decorators/ApiProperty.js +57 -0
- package/lib/esm/decorators/helpers.d.ts +8 -0
- package/lib/esm/decorators/helpers.js +132 -0
- package/lib/esm/decorators/index.d.ts +2 -0
- package/lib/esm/decorators/index.js +3 -0
- package/lib/esm/index.d.ts +7 -2
- package/lib/esm/index.js +8 -3
- package/lib/esm/model-module.d.ts +8 -0
- package/lib/esm/model-module.js +199 -0
- package/lib/esm/module.d.ts +1 -1
- package/lib/esm/module.js +11 -3
- package/lib/esm/types.d.ts +1 -0
- package/lib/esm/types.js +1 -1
- package/lib/esm/utils.d.ts +2 -0
- package/lib/esm/utils.js +11 -0
- package/lib/index.cjs +8 -3
- package/lib/index.d.ts +7 -2
- package/lib/model-module.cjs +202 -0
- package/lib/model-module.d.ts +8 -0
- package/lib/module.cjs +11 -3
- package/lib/module.d.ts +1 -1
- package/lib/types.cjs +1 -1
- package/lib/types.d.ts +1 -0
- package/lib/utils.cjs +14 -0
- package/lib/utils.d.ts +2 -0
- package/package.json +4 -2
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.RepoFactory = void 0;
|
|
10
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
11
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
12
|
+
const core_1 = require("@decaf-ts/core");
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
let RepoFactory = class RepoFactory {
|
|
15
|
+
for(model) {
|
|
16
|
+
model = typeof model === "string" ? decorator_validation_1.Model.get(model) : model;
|
|
17
|
+
if (!model) {
|
|
18
|
+
throw new db_decorators_1.InternalError(`Failed to find repository for ${model}`);
|
|
19
|
+
}
|
|
20
|
+
return core_1.Repository.forModel(model);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.RepoFactory = RepoFactory;
|
|
24
|
+
exports.RepoFactory = RepoFactory = __decorate([
|
|
25
|
+
(0, common_1.Injectable)()
|
|
26
|
+
], RepoFactory);
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb0ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUmVwb0ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEseUVBQXVEO0FBQ3ZELDJEQUF3RDtBQUN4RCx5Q0FBa0Q7QUFFbEQsMkNBQTRDO0FBR3JDLElBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVc7SUFDdEIsR0FBRyxDQUFrQixLQUE4QjtRQUNqRCxLQUFLLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBRSw0QkFBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSw2QkFBYSxDQUFDLGlDQUFpQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFDRCxPQUFPLGlCQUFVLENBQUMsUUFBUSxDQUFDLEtBQXVCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YsQ0FBQTtBQVJZLGtDQUFXO3NCQUFYLFdBQVc7SUFEdkIsSUFBQSxtQkFBVSxHQUFFO0dBQ0EsV0FBVyxDQVF2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgUmVwbywgUmVwb3NpdG9yeSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQG5lc3Rqcy9jb21tb25cIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlcG9GYWN0b3J5IHtcbiAgZm9yPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IHN0cmluZyB8IENvbnN0cnVjdG9yPE0+KTogUmVwbzxNPiB7XG4gICAgbW9kZWwgPSB0eXBlb2YgbW9kZWwgPT09IFwic3RyaW5nXCIgPyAoTW9kZWwuZ2V0KG1vZGVsKSBhcyBhbnkpIDogbW9kZWw7XG4gICAgaWYgKCFtb2RlbCkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYEZhaWxlZCB0byBmaW5kIHJlcG9zaXRvcnkgZm9yICR7bW9kZWx9YCk7XG4gICAgfVxuICAgIHJldHVybiBSZXBvc2l0b3J5LmZvck1vZGVsKG1vZGVsIGFzIENvbnN0cnVjdG9yPE0+KTtcbiAgfVxufVxuIl19
|
package/lib/core-module.cjs
CHANGED
|
@@ -17,13 +17,31 @@ exports.DecafCoreModule = void 0;
|
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
18
|
const core_1 = require("@nestjs/core");
|
|
19
19
|
const constants_1 = require("./constants.cjs");
|
|
20
|
-
const
|
|
21
|
-
let DecafCoreModule =
|
|
20
|
+
const logging_1 = require("@decaf-ts/logging");
|
|
21
|
+
let DecafCoreModule = class DecafCoreModule {
|
|
22
|
+
static { DecafCoreModule_1 = this; }
|
|
23
|
+
static { this._adapterInstance = null; }
|
|
24
|
+
static get log() {
|
|
25
|
+
if (!this._logger)
|
|
26
|
+
this._logger = logging_1.Logging.for(DecafCoreModule_1);
|
|
27
|
+
return this._logger;
|
|
28
|
+
}
|
|
22
29
|
constructor(options, moduleRef) {
|
|
23
|
-
super();
|
|
24
30
|
this.options = options;
|
|
25
31
|
this.moduleRef = moduleRef;
|
|
26
32
|
}
|
|
33
|
+
static async createAdapter(options) {
|
|
34
|
+
if (!this._adapterInstance) {
|
|
35
|
+
const log = this.log.for(this.createAdapter);
|
|
36
|
+
log.info("Creating adapter instance...");
|
|
37
|
+
this._adapterInstance = new options.adapter(options.conf, options.alias);
|
|
38
|
+
log.info("Adapter instance created successfully!");
|
|
39
|
+
}
|
|
40
|
+
return this._adapterInstance;
|
|
41
|
+
}
|
|
42
|
+
static getAdapterInstance() {
|
|
43
|
+
return this._adapterInstance;
|
|
44
|
+
}
|
|
27
45
|
static forRoot(options) {
|
|
28
46
|
const typeOrmModuleOptions = {
|
|
29
47
|
provide: constants_1.DECAF_MODULE_OPTIONS,
|
|
@@ -31,7 +49,7 @@ let DecafCoreModule = DecafCoreModule_1 = class DecafCoreModule extends LoggedCl
|
|
|
31
49
|
};
|
|
32
50
|
const adapter = {
|
|
33
51
|
useFactory: async (opts) => {
|
|
34
|
-
return
|
|
52
|
+
return DecafCoreModule_1.createAdapter(opts);
|
|
35
53
|
},
|
|
36
54
|
provide: constants_1.DECAF_ADAPTER_ID,
|
|
37
55
|
durable: true,
|
|
@@ -47,15 +65,17 @@ let DecafCoreModule = DecafCoreModule_1 = class DecafCoreModule extends LoggedCl
|
|
|
47
65
|
};
|
|
48
66
|
}
|
|
49
67
|
async onApplicationShutdown() {
|
|
68
|
+
const log = DecafCoreModule_1.log.for(this.onApplicationShutdown);
|
|
50
69
|
const adapter = this.moduleRef.get(constants_1.DECAF_ADAPTER_ID);
|
|
51
70
|
try {
|
|
52
71
|
if (adapter) {
|
|
53
|
-
|
|
72
|
+
log.info("Shutting down");
|
|
54
73
|
await adapter.shutdown();
|
|
74
|
+
DecafCoreModule_1._adapterInstance = null;
|
|
55
75
|
}
|
|
56
76
|
}
|
|
57
77
|
catch (e) {
|
|
58
|
-
|
|
78
|
+
log.error(`Failed to shutdown application`, e);
|
|
59
79
|
}
|
|
60
80
|
}
|
|
61
81
|
};
|
|
@@ -66,4 +86,4 @@ exports.DecafCoreModule = DecafCoreModule = DecafCoreModule_1 = __decorate([
|
|
|
66
86
|
__param(0, (0, common_1.Inject)(constants_1.DECAF_MODULE_OPTIONS)),
|
|
67
87
|
__metadata("design:paramtypes", [Object, core_1.ModuleRef])
|
|
68
88
|
], DecafCoreModule);
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29yZS1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQU93QjtBQUN4Qix1Q0FBeUM7QUFFekMsK0NBQXFFO0FBR3JFLCtDQUFvRDtBQUk3QyxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlOzthQU1YLHFCQUFnQixHQUM3QixJQUFJLEFBRHlCLENBQ3hCO0lBRUcsTUFBTSxLQUFLLEdBQUc7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxpQkFBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBZSxDQUFDLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUVtQixPQUEwQyxFQUMxQyxTQUFvQjtRQURwQixZQUFPLEdBQVAsT0FBTyxDQUFtQztRQUMxQyxjQUFTLEdBQVQsU0FBUyxDQUFXO0lBQ3BDLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDeEIsT0FBMkI7UUFFM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzNCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3QyxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6RSxHQUFHLENBQUMsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQ3hDLE1BQU0sb0JBQW9CLEdBQUc7WUFDM0IsT0FBTyxFQUFFLGdDQUFvQjtZQUM3QixRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQXlCO1lBQ3BDLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBd0IsRUFBRSxFQUFFO2dCQUM3QyxPQUFPLGlCQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdDLENBQUM7WUFDRCxPQUFPLEVBQUUsNEJBQWdCO1lBQ3pCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsS0FBSyxFQUFFLGNBQUssQ0FBQyxPQUFPO1lBQ3BCLE1BQU0sRUFBRSxDQUFDLGdDQUFvQixDQUFDO1NBQy9CLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxDQUFDLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUIsT0FBTztZQUNMLE1BQU0sRUFBRSxpQkFBZTtZQUN2QixTQUFTO1lBQ1QsT0FBTztTQUNSLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQjtRQUN6QixNQUFNLEdBQUcsR0FBRyxpQkFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDaEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVUsNEJBQWdCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUM7WUFDSCxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzFCLE1BQU0sT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN6QixpQkFBZSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUMxQyxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7WUFDcEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFVLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0gsQ0FBQzs7QUExRVUsMENBQWU7MEJBQWYsZUFBZTtJQUYzQixJQUFBLGVBQU0sR0FBRTtJQUNSLElBQUEsZUFBTSxFQUFDLEVBQUUsQ0FBQztJQWdCTixXQUFBLElBQUEsZUFBTSxFQUFDLGdDQUFvQixDQUFDLENBQUE7NkNBRUQsZ0JBQVM7R0FqQjVCLGVBQWUsQ0EyRTNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRHluYW1pY01vZHVsZSxcbiAgR2xvYmFsLFxuICBJbmplY3QsXG4gIE1vZHVsZSxcbiAgT25BcHBsaWNhdGlvblNodXRkb3duLFxuICBTY29wZSxcbn0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBNb2R1bGVSZWYgfSBmcm9tIFwiQG5lc3Rqcy9jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IERlY2FmTW9kdWxlT3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBERUNBRl9BREFQVEVSX0lELCBERUNBRl9NT0RVTEVfT1BUSU9OUyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgRmFjdG9yeVByb3ZpZGVyIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uL2ludGVyZmFjZXMvbW9kdWxlcy9wcm92aWRlci5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEFkYXB0ZXIgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IExvZ2dlciwgTG9nZ2luZyB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuXG5AR2xvYmFsKClcbkBNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgRGVjYWZDb3JlTW9kdWxlPFxuICBDT05GLFxuICBBREFQVEVSIGV4dGVuZHMgQWRhcHRlcjxDT05GLCBhbnksIGFueSwgYW55LCBhbnk+LFxuPiBpbXBsZW1lbnRzIE9uQXBwbGljYXRpb25TaHV0ZG93blxue1xuICBwcml2YXRlIHN0YXRpYyBfbG9nZ2VyOiBMb2dnZXI7XG4gIHByaXZhdGUgc3RhdGljIF9hZGFwdGVySW5zdGFuY2U6IEFkYXB0ZXI8YW55LCBhbnksIGFueSwgYW55LCBhbnk+IHwgbnVsbCA9XG4gICAgbnVsbDtcblxuICBwcm90ZWN0ZWQgc3RhdGljIGdldCBsb2coKTogTG9nZ2VyIHtcbiAgICBpZiAoIXRoaXMuX2xvZ2dlcikgdGhpcy5fbG9nZ2VyID0gTG9nZ2luZy5mb3IoRGVjYWZDb3JlTW9kdWxlKTtcbiAgICByZXR1cm4gdGhpcy5fbG9nZ2VyO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChERUNBRl9NT0RVTEVfT1BUSU9OUylcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IERlY2FmTW9kdWxlT3B0aW9uczxDT05GLCBBREFQVEVSPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZHVsZVJlZjogTW9kdWxlUmVmXG4gICkge31cblxuICBzdGF0aWMgYXN5bmMgY3JlYXRlQWRhcHRlcihcbiAgICBvcHRpb25zOiBEZWNhZk1vZHVsZU9wdGlvbnNcbiAgKTogUHJvbWlzZTxBZGFwdGVyPGFueSwgYW55LCBhbnksIGFueSwgYW55Pj4ge1xuICAgIGlmICghdGhpcy5fYWRhcHRlckluc3RhbmNlKSB7XG4gICAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5jcmVhdGVBZGFwdGVyKTtcbiAgICAgIGxvZy5pbmZvKFwiQ3JlYXRpbmcgYWRhcHRlciBpbnN0YW5jZS4uLlwiKTtcbiAgICAgIHRoaXMuX2FkYXB0ZXJJbnN0YW5jZSA9IG5ldyBvcHRpb25zLmFkYXB0ZXIob3B0aW9ucy5jb25mLCBvcHRpb25zLmFsaWFzKTtcbiAgICAgIGxvZy5pbmZvKFwiQWRhcHRlciBpbnN0YW5jZSBjcmVhdGVkIHN1Y2Nlc3NmdWxseSFcIik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hZGFwdGVySW5zdGFuY2U7XG4gIH1cblxuICBzdGF0aWMgZ2V0QWRhcHRlckluc3RhbmNlKCk6IEFkYXB0ZXI8YW55LCBhbnksIGFueSwgYW55LCBhbnk+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2FkYXB0ZXJJbnN0YW5jZTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JSb290KG9wdGlvbnM6IERlY2FmTW9kdWxlT3B0aW9ucyk6IER5bmFtaWNNb2R1bGUge1xuICAgIGNvbnN0IHR5cGVPcm1Nb2R1bGVPcHRpb25zID0ge1xuICAgICAgcHJvdmlkZTogREVDQUZfTU9EVUxFX09QVElPTlMsXG4gICAgICB1c2VWYWx1ZTogb3B0aW9ucyxcbiAgICB9O1xuXG4gICAgY29uc3QgYWRhcHRlcjogRmFjdG9yeVByb3ZpZGVyPGFueT4gPSB7XG4gICAgICB1c2VGYWN0b3J5OiBhc3luYyAob3B0czogRGVjYWZNb2R1bGVPcHRpb25zKSA9PiB7XG4gICAgICAgIHJldHVybiBEZWNhZkNvcmVNb2R1bGUuY3JlYXRlQWRhcHRlcihvcHRzKTtcbiAgICAgIH0sXG4gICAgICBwcm92aWRlOiBERUNBRl9BREFQVEVSX0lELFxuICAgICAgZHVyYWJsZTogdHJ1ZSxcbiAgICAgIHNjb3BlOiBTY29wZS5ERUZBVUxULFxuICAgICAgaW5qZWN0OiBbREVDQUZfTU9EVUxFX09QVElPTlNdLFxuICAgIH07XG5cbiAgICBjb25zdCBwcm92aWRlcnMgPSBbYWRhcHRlciwgdHlwZU9ybU1vZHVsZU9wdGlvbnNdO1xuICAgIGNvbnN0IGV4cG9ydHMgPSBbYWRhcHRlcl07XG5cbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlOiBEZWNhZkNvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnMsXG4gICAgICBleHBvcnRzLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBvbkFwcGxpY2F0aW9uU2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbG9nID0gRGVjYWZDb3JlTW9kdWxlLmxvZy5mb3IodGhpcy5vbkFwcGxpY2F0aW9uU2h1dGRvd24pO1xuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLm1vZHVsZVJlZi5nZXQ8QURBUFRFUj4oREVDQUZfQURBUFRFUl9JRCk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChhZGFwdGVyKSB7XG4gICAgICAgIGxvZy5pbmZvKFwiU2h1dHRpbmcgZG93blwiKTtcbiAgICAgICAgYXdhaXQgYWRhcHRlci5zaHV0ZG93bigpO1xuICAgICAgICBEZWNhZkNvcmVNb2R1bGUuX2FkYXB0ZXJJbnN0YW5jZSA9IG51bGw7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgbG9nLmVycm9yKGBGYWlsZWQgdG8gc2h1dGRvd24gYXBwbGljYXRpb25gLCBlIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
package/lib/core-module.d.ts
CHANGED
|
@@ -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 {
|
|
6
|
-
export declare class DecafCoreModule<CONF, ADAPTER extends Adapter<CONF, any, any, any, any>>
|
|
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
|
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const injectable_decorators_1 = require("@decaf-ts/injectable-decorators");
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
6
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
7
|
+
const ApiProperty_1 = require("./decorators/ApiProperty.cjs");
|
|
8
|
+
const core_1 = require("@decaf-ts/core");
|
|
9
|
+
decoration_1.Decoration.for(injectable_decorators_1.InjectablesKeys.INJECTABLE)
|
|
10
|
+
.extend({
|
|
11
|
+
decorator: function nestInjectable(category, cfg) {
|
|
12
|
+
return (0, common_1.Injectable)({
|
|
13
|
+
scope: cfg.singleton ? common_1.Scope.DEFAULT : common_1.Scope.REQUEST,
|
|
14
|
+
durable: cfg.singleton ? undefined : true,
|
|
15
|
+
});
|
|
16
|
+
},
|
|
17
|
+
})
|
|
18
|
+
.apply();
|
|
19
|
+
decoration_1.Decoration.for(injectable_decorators_1.InjectablesKeys.INJECT)
|
|
20
|
+
.extend({
|
|
21
|
+
decorator: function nestInject(category,
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
23
|
+
cfg) {
|
|
24
|
+
return function innerNestInject(target, propertyKey, descriptor) {
|
|
25
|
+
return (0, common_1.Inject)(category || target)(target, propertyKey, descriptor);
|
|
26
|
+
};
|
|
27
|
+
},
|
|
28
|
+
})
|
|
29
|
+
.apply();
|
|
30
|
+
decoration_1.Decoration.for(decorator_validation_1.ValidationKeys.REQUIRED)
|
|
31
|
+
.extend((0, ApiProperty_1.ApiProperty)({
|
|
32
|
+
required: true,
|
|
33
|
+
}))
|
|
34
|
+
.apply();
|
|
35
|
+
decoration_1.Decoration.for(decorator_validation_1.ValidationKeys.MAX)
|
|
36
|
+
.extend({
|
|
37
|
+
decorator: function maxDec(max) {
|
|
38
|
+
return (0, ApiProperty_1.ApiProperty)({ maximum: max });
|
|
39
|
+
},
|
|
40
|
+
})
|
|
41
|
+
.apply();
|
|
42
|
+
decoration_1.Decoration.for(decorator_validation_1.ValidationKeys.MIN)
|
|
43
|
+
.extend({
|
|
44
|
+
decorator: function minDec(min) {
|
|
45
|
+
return (0, ApiProperty_1.ApiProperty)({ minimum: min });
|
|
46
|
+
},
|
|
47
|
+
})
|
|
48
|
+
.apply();
|
|
49
|
+
decoration_1.Decoration.for(decorator_validation_1.ValidationKeys.MAX_LENGTH)
|
|
50
|
+
.extend({
|
|
51
|
+
decorator: function maxLengthDec(max) {
|
|
52
|
+
return (0, ApiProperty_1.ApiProperty)({ maxLength: max });
|
|
53
|
+
},
|
|
54
|
+
})
|
|
55
|
+
.apply();
|
|
56
|
+
decoration_1.Decoration.for(decorator_validation_1.ValidationKeys.MIN_LENGTH)
|
|
57
|
+
.extend({
|
|
58
|
+
decorator: function minLengthDec(min) {
|
|
59
|
+
return (0, ApiProperty_1.ApiProperty)({ minLength: min });
|
|
60
|
+
},
|
|
61
|
+
})
|
|
62
|
+
.apply();
|
|
63
|
+
//
|
|
64
|
+
// Decoration.for(ValidationKeys.TYPE)
|
|
65
|
+
// .extend({
|
|
66
|
+
// decorator: function typeDec(type: (string | (() => string))[] | string | (() => string)) {
|
|
67
|
+
// return ApiProperty({ type: type as any });
|
|
68
|
+
// },
|
|
69
|
+
// })
|
|
70
|
+
// .apply();
|
|
71
|
+
//
|
|
72
|
+
// Decoration.for(ValidationKeys.DATE)
|
|
73
|
+
// .extend({
|
|
74
|
+
// decorator: function dateDec() {
|
|
75
|
+
// return ApiProperty({ type: Date });
|
|
76
|
+
// },
|
|
77
|
+
// })
|
|
78
|
+
// .apply();
|
|
79
|
+
decoration_1.Decoration.for(decorator_validation_1.ValidationKeys.LIST)
|
|
80
|
+
.extend({
|
|
81
|
+
decorator: function listDec(clazz) {
|
|
82
|
+
const c = Array.isArray(clazz) ? clazz[0] : clazz;
|
|
83
|
+
return (0, ApiProperty_1.ApiProperty)({ type: [c] });
|
|
84
|
+
},
|
|
85
|
+
})
|
|
86
|
+
.apply();
|
|
87
|
+
//
|
|
88
|
+
// Decoration.for(ValidationKeys.OPTION)
|
|
89
|
+
// .extend({
|
|
90
|
+
// decorator: function optionDec(options: string[] | Record<string, any>) {
|
|
91
|
+
// const opts = Array.isArray(options) ? options : Object.values(options);
|
|
92
|
+
// return ApiProperty({ enum: opts });
|
|
93
|
+
// },
|
|
94
|
+
// })
|
|
95
|
+
// .apply();
|
|
96
|
+
decoration_1.Decoration.for(decorator_validation_1.ValidationKeys.PATTERN)
|
|
97
|
+
.extend({
|
|
98
|
+
decorator: function patternDec(pat) {
|
|
99
|
+
return (0, ApiProperty_1.ApiProperty)({
|
|
100
|
+
pattern: typeof pat === "string" ? pat : pat.source,
|
|
101
|
+
});
|
|
102
|
+
},
|
|
103
|
+
})
|
|
104
|
+
.apply();
|
|
105
|
+
decoration_1.Decoration.for(core_1.PersistenceKeys.COLUMN)
|
|
106
|
+
.extend({
|
|
107
|
+
decorator: function columnDec(name) {
|
|
108
|
+
return (0, ApiProperty_1.ApiProperty)({
|
|
109
|
+
name: name,
|
|
110
|
+
});
|
|
111
|
+
},
|
|
112
|
+
})
|
|
113
|
+
.apply();
|
|
114
|
+
decoration_1.Decoration.for(decoration_1.DecorationKeys.DESCRIPTION)
|
|
115
|
+
.extend({
|
|
116
|
+
decorator: function descriptionDec(description) {
|
|
117
|
+
return (0, ApiProperty_1.ApiProperty)({
|
|
118
|
+
description: description,
|
|
119
|
+
});
|
|
120
|
+
},
|
|
121
|
+
})
|
|
122
|
+
.apply();
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWNvcmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkVBSXlDO0FBQ3pDLDJDQUEyRDtBQUMzRCxxREFBK0U7QUFDL0UseUVBQWdFO0FBQ2hFLDhEQUF1RDtBQUN2RCx5Q0FBaUQ7QUFFakQsdUJBQVUsQ0FBQyxHQUFHLENBQUMsdUNBQWUsQ0FBQyxVQUFVLENBQUM7S0FDdkMsTUFBTSxDQUFDO0lBQ04sU0FBUyxFQUFFLFNBQVMsY0FBYyxDQUNoQyxRQUE4QixFQUM5QixHQUFxQjtRQUVyQixPQUFPLElBQUEsbUJBQVUsRUFBQztZQUNoQixLQUFLLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsY0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBSyxDQUFDLE9BQU87WUFDcEQsT0FBTyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRVgsdUJBQVUsQ0FBQyxHQUFHLENBQUMsdUNBQWUsQ0FBQyxNQUFNLENBQUM7S0FDbkMsTUFBTSxDQUFDO0lBQ04sU0FBUyxFQUFFLFNBQVMsVUFBVSxDQUM1QixRQUF1QztJQUN2Qyw2REFBNkQ7SUFDN0QsR0FBa0I7UUFFbEIsT0FBTyxTQUFTLGVBQWUsQ0FDN0IsTUFBYyxFQUNkLFdBQWlCLEVBQ2pCLFVBQWdCO1lBRWhCLE9BQU8sSUFBQSxlQUFNLEVBQUMsUUFBUSxJQUFLLE1BQXNCLENBQUMsQ0FDaEQsTUFBTSxFQUNOLFdBQVcsRUFDWCxVQUFVLENBQ1gsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDO0tBQ0QsS0FBSyxFQUFFLENBQUM7QUFFWCx1QkFBVSxDQUFDLEdBQUcsQ0FBQyxxQ0FB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LENBQUMsc0JBQWUsQ0FBQyxNQUFNLENBQUM7S0FDbkMsTUFBTSxDQUFDO0lBQ04sU0FBUyxFQUFFLFNBQVMsU0FBUyxDQUFDLElBQVk7UUFDeEMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7WUFDakIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRVgsdUJBQVUsQ0FBQyxHQUFHLENBQUMsMkJBQWMsQ0FBQyxXQUFXLENBQUM7S0FDdkMsTUFBTSxDQUFDO0lBQ04sU0FBUyxFQUFFLFNBQVMsY0FBYyxDQUFDLFdBQW1CO1FBQ3BELE9BQU8sSUFBQSx5QkFBVyxFQUFDO1lBQ2pCLFdBQVcsRUFBRSxXQUFXO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFDO0tBQ0QsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlQ29uZmlnLFxuICBJbmplY3RhYmxlc0tleXMsXG4gIEluamVjdE9wdGlvbnMsXG59IGZyb20gXCJAZGVjYWYtdHMvaW5qZWN0YWJsZS1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFNjb3BlIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgRGVjb3JhdGlvbiwgRGVjb3JhdGlvbktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQXBpUHJvcGVydHkgfSBmcm9tIFwiLi9kZWNvcmF0b3JzL0FwaVByb3BlcnR5XCI7XG5pbXBvcnQgeyBQZXJzaXN0ZW5jZUtleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcblxuRGVjb3JhdGlvbi5mb3IoSW5qZWN0YWJsZXNLZXlzLklOSkVDVEFCTEUpXG4gIC5leHRlbmQoe1xuICAgIGRlY29yYXRvcjogZnVuY3Rpb24gbmVzdEluamVjdGFibGUoXG4gICAgICBjYXRlZ29yeTogc3RyaW5nIHwgQ29uc3RydWN0b3IsXG4gICAgICBjZmc6IEluamVjdGFibGVDb25maWdcbiAgICApIHtcbiAgICAgIHJldHVybiBJbmplY3RhYmxlKHtcbiAgICAgICAgc2NvcGU6IGNmZy5zaW5nbGV0b24gPyBTY29wZS5ERUZBVUxUIDogU2NvcGUuUkVRVUVTVCxcbiAgICAgICAgZHVyYWJsZTogY2ZnLnNpbmdsZXRvbiA/IHVuZGVmaW5lZCA6IHRydWUsXG4gICAgICB9KTtcbiAgICB9LFxuICB9KVxuICAuYXBwbHkoKTtcblxuRGVjb3JhdGlvbi5mb3IoSW5qZWN0YWJsZXNLZXlzLklOSkVDVClcbiAgLmV4dGVuZCh7XG4gICAgZGVjb3JhdG9yOiBmdW5jdGlvbiBuZXN0SW5qZWN0KFxuICAgICAgY2F0ZWdvcnk6IHN5bWJvbCB8IHN0cmluZyB8IENvbnN0cnVjdG9yLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgY2ZnOiBJbmplY3RPcHRpb25zXG4gICAgKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gaW5uZXJOZXN0SW5qZWN0KFxuICAgICAgICB0YXJnZXQ6IG9iamVjdCxcbiAgICAgICAgcHJvcGVydHlLZXk/OiBhbnksXG4gICAgICAgIGRlc2NyaXB0b3I/OiBhbnlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gSW5qZWN0KGNhdGVnb3J5IHx8ICh0YXJnZXQgYXMgQ29uc3RydWN0b3IpKShcbiAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgcHJvcGVydHlLZXksXG4gICAgICAgICAgZGVzY3JpcHRvclxuICAgICAgICApO1xuICAgICAgfTtcbiAgICB9LFxuICB9KVxuICAuYXBwbHkoKTtcblxuRGVjb3JhdGlvbi5mb3IoVmFsaWRhdGlvbktleXMuUkVRVUlSRUQpXG4gIC5leHRlbmQoXG4gICAgQXBpUHJvcGVydHkoe1xuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgfSlcbiAgKVxuICAuYXBwbHkoKTtcblxuRGVjb3JhdGlvbi5mb3IoVmFsaWRhdGlvbktleXMuTUFYKVxuICAuZXh0ZW5kKHtcbiAgICBkZWNvcmF0b3I6IGZ1bmN0aW9uIG1heERlYyhtYXg6IG51bWJlcikge1xuICAgICAgcmV0dXJuIEFwaVByb3BlcnR5KHsgbWF4aW11bTogbWF4IH0pO1xuICAgIH0sXG4gIH0pXG4gIC5hcHBseSgpO1xuXG5EZWNvcmF0aW9uLmZvcihWYWxpZGF0aW9uS2V5cy5NSU4pXG4gIC5leHRlbmQoe1xuICAgIGRlY29yYXRvcjogZnVuY3Rpb24gbWluRGVjKG1pbjogbnVtYmVyKSB7XG4gICAgICByZXR1cm4gQXBpUHJvcGVydHkoeyBtaW5pbXVtOiBtaW4gfSk7XG4gICAgfSxcbiAgfSlcbiAgLmFwcGx5KCk7XG5cbkRlY29yYXRpb24uZm9yKFZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEgpXG4gIC5leHRlbmQoe1xuICAgIGRlY29yYXRvcjogZnVuY3Rpb24gbWF4TGVuZ3RoRGVjKG1heDogbnVtYmVyKSB7XG4gICAgICByZXR1cm4gQXBpUHJvcGVydHkoeyBtYXhMZW5ndGg6IG1heCB9KTtcbiAgICB9LFxuICB9KVxuICAuYXBwbHkoKTtcblxuRGVjb3JhdGlvbi5mb3IoVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSClcbiAgLmV4dGVuZCh7XG4gICAgZGVjb3JhdG9yOiBmdW5jdGlvbiBtaW5MZW5ndGhEZWMobWluOiBudW1iZXIpIHtcbiAgICAgIHJldHVybiBBcGlQcm9wZXJ0eSh7IG1pbkxlbmd0aDogbWluIH0pO1xuICAgIH0sXG4gIH0pXG4gIC5hcHBseSgpO1xuLy9cbi8vIERlY29yYXRpb24uZm9yKFZhbGlkYXRpb25LZXlzLlRZUEUpXG4vLyAgIC5leHRlbmQoe1xuLy8gICAgIGRlY29yYXRvcjogZnVuY3Rpb24gdHlwZURlYyh0eXBlOiAoc3RyaW5nIHwgKCgpID0+IHN0cmluZykpW10gfCBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKSkge1xuLy8gICAgICAgcmV0dXJuIEFwaVByb3BlcnR5KHsgdHlwZTogdHlwZSBhcyBhbnkgfSk7XG4vLyAgICAgfSxcbi8vICAgfSlcbi8vICAgLmFwcGx5KCk7XG4vL1xuLy8gRGVjb3JhdGlvbi5mb3IoVmFsaWRhdGlvbktleXMuREFURSlcbi8vICAgLmV4dGVuZCh7XG4vLyAgICAgZGVjb3JhdG9yOiBmdW5jdGlvbiBkYXRlRGVjKCkge1xuLy8gICAgICAgcmV0dXJuIEFwaVByb3BlcnR5KHsgdHlwZTogRGF0ZSB9KTtcbi8vICAgICB9LFxuLy8gICB9KVxuLy8gICAuYXBwbHkoKTtcblxuRGVjb3JhdGlvbi5mb3IoVmFsaWRhdGlvbktleXMuTElTVClcbiAgLmV4dGVuZCh7XG4gICAgZGVjb3JhdG9yOiBmdW5jdGlvbiBsaXN0RGVjKFxuICAgICAgY2xheno6XG4gICAgICAgIHwgQ29uc3RydWN0b3I8YW55PlxuICAgICAgICB8ICgoKSA9PiBDb25zdHJ1Y3Rvcjxhbnk+KVxuICAgICAgICB8IChDb25zdHJ1Y3Rvcjxhbnk+IHwgKCgpID0+IENvbnN0cnVjdG9yPGFueT4pKVtdXG4gICAgKSB7XG4gICAgICBjb25zdCBjID0gQXJyYXkuaXNBcnJheShjbGF6eikgPyBjbGF6elswXSA6IGNsYXp6O1xuICAgICAgcmV0dXJuIEFwaVByb3BlcnR5KHsgdHlwZTogW2NdIH0pO1xuICAgIH0sXG4gIH0pXG4gIC5hcHBseSgpO1xuXG4vL1xuLy8gRGVjb3JhdGlvbi5mb3IoVmFsaWRhdGlvbktleXMuT1BUSU9OKVxuLy8gICAuZXh0ZW5kKHtcbi8vICAgICBkZWNvcmF0b3I6IGZ1bmN0aW9uIG9wdGlvbkRlYyhvcHRpb25zOiBzdHJpbmdbXSB8IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbi8vICAgICAgIGNvbnN0IG9wdHMgPSBBcnJheS5pc0FycmF5KG9wdGlvbnMpID8gb3B0aW9ucyA6IE9iamVjdC52YWx1ZXMob3B0aW9ucyk7XG4vLyAgICAgICByZXR1cm4gQXBpUHJvcGVydHkoeyBlbnVtOiBvcHRzIH0pO1xuLy8gICAgIH0sXG4vLyAgIH0pXG4vLyAgIC5hcHBseSgpO1xuXG5EZWNvcmF0aW9uLmZvcihWYWxpZGF0aW9uS2V5cy5QQVRURVJOKVxuICAuZXh0ZW5kKHtcbiAgICBkZWNvcmF0b3I6IGZ1bmN0aW9uIHBhdHRlcm5EZWMocGF0OiBSZWdFeHAgfCBzdHJpbmcpIHtcbiAgICAgIHJldHVybiBBcGlQcm9wZXJ0eSh7XG4gICAgICAgIHBhdHRlcm46IHR5cGVvZiBwYXQgPT09IFwic3RyaW5nXCIgPyBwYXQgOiBwYXQuc291cmNlLFxuICAgICAgfSk7XG4gICAgfSxcbiAgfSlcbiAgLmFwcGx5KCk7XG5cbkRlY29yYXRpb24uZm9yKFBlcnNpc3RlbmNlS2V5cy5DT0xVTU4pXG4gIC5leHRlbmQoe1xuICAgIGRlY29yYXRvcjogZnVuY3Rpb24gY29sdW1uRGVjKG5hbWU6IHN0cmluZykge1xuICAgICAgcmV0dXJuIEFwaVByb3BlcnR5KHtcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgIH0pO1xuICAgIH0sXG4gIH0pXG4gIC5hcHBseSgpO1xuXG5EZWNvcmF0aW9uLmZvcihEZWNvcmF0aW9uS2V5cy5ERVNDUklQVElPTilcbiAgLmV4dGVuZCh7XG4gICAgZGVjb3JhdG9yOiBmdW5jdGlvbiBkZXNjcmlwdGlvbkRlYyhkZXNjcmlwdGlvbjogc3RyaW5nKSB7XG4gICAgICByZXR1cm4gQXBpUHJvcGVydHkoe1xuICAgICAgICBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sXG4gICAgICB9KTtcbiAgICB9LFxuICB9KVxuICAuYXBwbHkoKTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiProperty = ApiProperty;
|
|
4
|
+
exports.createApiPropertyDecorator = createApiPropertyDecorator;
|
|
5
|
+
exports.ApiPropertyOptional = ApiPropertyOptional;
|
|
6
|
+
exports.ApiResponseProperty = ApiResponseProperty;
|
|
7
|
+
const helpers_1 = require("@nestjs/swagger/dist/decorators/helpers");
|
|
8
|
+
const enum_utils_1 = require("@nestjs/swagger/dist/utils/enum.utils");
|
|
9
|
+
const constants_1 = require("@nestjs/swagger/dist/constants");
|
|
10
|
+
const helpers_2 = require("./helpers.cjs");
|
|
11
|
+
const isEnumArray = (opts) => (opts.isArray && "enum" in opts && opts.enum !== undefined);
|
|
12
|
+
/**
|
|
13
|
+
* @publicApi
|
|
14
|
+
*/
|
|
15
|
+
function ApiProperty(options = {}) {
|
|
16
|
+
return createApiPropertyDecorator(options);
|
|
17
|
+
}
|
|
18
|
+
function createApiPropertyDecorator(options = {}, overrideExisting = true) {
|
|
19
|
+
const [type, isArray] = (0, helpers_1.getTypeIsArrayTuple)(options.type, options.isArray);
|
|
20
|
+
options = {
|
|
21
|
+
...options,
|
|
22
|
+
type,
|
|
23
|
+
isArray,
|
|
24
|
+
};
|
|
25
|
+
if (isEnumArray(options)) {
|
|
26
|
+
options.type = "array";
|
|
27
|
+
const enumValues = (0, enum_utils_1.getEnumValues)(options.enum);
|
|
28
|
+
options.items = {
|
|
29
|
+
type: (0, enum_utils_1.getEnumType)(enumValues),
|
|
30
|
+
enum: enumValues,
|
|
31
|
+
};
|
|
32
|
+
// @ts-expect-error nest swagger override
|
|
33
|
+
delete options.enum;
|
|
34
|
+
}
|
|
35
|
+
else if ("enum" in options && options.enum !== undefined) {
|
|
36
|
+
const enumValues = (0, enum_utils_1.getEnumValues)(options.enum);
|
|
37
|
+
options.enum = enumValues;
|
|
38
|
+
options.type = (0, enum_utils_1.getEnumType)(enumValues);
|
|
39
|
+
}
|
|
40
|
+
if (Array.isArray(options.type)) {
|
|
41
|
+
options.type = "array";
|
|
42
|
+
options.items = {
|
|
43
|
+
type: "array",
|
|
44
|
+
items: {
|
|
45
|
+
type: options.type[0],
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return (0, helpers_2.createPropertyDecorator)(constants_1.DECORATORS.API_MODEL_PROPERTIES, options, overrideExisting);
|
|
50
|
+
}
|
|
51
|
+
function ApiPropertyOptional(options = {}) {
|
|
52
|
+
return ApiProperty({
|
|
53
|
+
...options,
|
|
54
|
+
required: false,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function ApiResponseProperty(options = {}) {
|
|
58
|
+
return ApiProperty({
|
|
59
|
+
readOnly: true,
|
|
60
|
+
...options,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpUHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9ycy9BcGlQcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdEQSxrQ0FJQztBQUVELGdFQThDQztBQUVELGtEQU9DO0FBRUQsa0RBVUM7QUFuSEQscUVBQThFO0FBQzlFLHNFQUcrQztBQUMvQyw4REFBNEQ7QUFDNUQsMkNBQW9EO0FBd0JwRCxNQUFNLFdBQVcsR0FBRyxDQUNsQixJQUF3QixFQU14QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQVksQ0FBQztBQUU1RTs7R0FFRztBQUNILFNBQWdCLFdBQVcsQ0FDekIsVUFBOEIsRUFBRTtJQUVoQyxPQUFPLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxTQUFnQiwwQkFBMEIsQ0FDeEMsVUFBOEIsRUFBRSxFQUNoQyxnQkFBZ0IsR0FBRyxJQUFJO0lBRXZCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBQSw2QkFBbUIsRUFDekMsT0FBTyxDQUFDLElBQUksRUFDWixPQUFPLENBQUMsT0FBa0IsQ0FDM0IsQ0FBQztJQUNGLE9BQU8sR0FBRztRQUNSLEdBQUcsT0FBTztRQUNWLElBQUk7UUFDSixPQUFPO0tBQ2MsQ0FBQztJQUV4QixJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBRXZCLE1BQU0sVUFBVSxHQUFHLElBQUEsMEJBQWEsRUFBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLEtBQUssR0FBRztZQUNkLElBQUksRUFBRSxJQUFBLHdCQUFXLEVBQUMsVUFBVSxDQUFDO1lBQzdCLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUM7UUFDRix5Q0FBeUM7UUFDekMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQ3RCLENBQUM7U0FBTSxJQUFJLE1BQU0sSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMzRCxNQUFNLFVBQVUsR0FBRyxJQUFBLDBCQUFhLEVBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9DLE9BQU8sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBQSx3QkFBVyxFQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDaEMsT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDdkIsT0FBTyxDQUFDLEtBQUssR0FBRztZQUNkLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUN0QjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxJQUFBLGlDQUF1QixFQUM1QixzQkFBVSxDQUFDLG9CQUFvQixFQUMvQixPQUFPLEVBQ1AsZ0JBQWdCLENBQ2pCLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQ2pDLFVBQThCLEVBQUU7SUFFaEMsT0FBTyxXQUFXLENBQUM7UUFDakIsR0FBRyxPQUFPO1FBQ1YsUUFBUSxFQUFFLEtBQUs7S0FDTSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELFNBQWdCLG1CQUFtQixDQUNqQyxVQUdJLEVBQUU7SUFFTixPQUFPLFdBQVcsQ0FBQztRQUNqQixRQUFRLEVBQUUsSUFBSTtRQUNkLEdBQUcsT0FBTztLQUNXLENBQUMsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHtcbiAgRW51bUFsbG93ZWRUeXBlcyxcbiAgU2NoZW1hT2JqZWN0TWV0YWRhdGEsXG59IGZyb20gXCJAbmVzdGpzL3N3YWdnZXIvZGlzdC9pbnRlcmZhY2VzL3NjaGVtYS1vYmplY3QtbWV0YWRhdGEuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBFbnVtU2NoZW1hQXR0cmlidXRlcyB9IGZyb20gXCJAbmVzdGpzL3N3YWdnZXIvZGlzdC9pbnRlcmZhY2VzL2VudW0tc2NoZW1hLWF0dHJpYnV0ZXMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBnZXRUeXBlSXNBcnJheVR1cGxlIH0gZnJvbSBcIkBuZXN0anMvc3dhZ2dlci9kaXN0L2RlY29yYXRvcnMvaGVscGVyc1wiO1xuaW1wb3J0IHtcbiAgZ2V0RW51bVR5cGUsXG4gIGdldEVudW1WYWx1ZXMsXG59IGZyb20gXCJAbmVzdGpzL3N3YWdnZXIvZGlzdC91dGlscy9lbnVtLnV0aWxzXCI7XG5pbXBvcnQgeyBERUNPUkFUT1JTIH0gZnJvbSBcIkBuZXN0anMvc3dhZ2dlci9kaXN0L2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY3JlYXRlUHJvcGVydHlEZWNvcmF0b3IgfSBmcm9tIFwiLi9oZWxwZXJzXCI7XG5cbmV4cG9ydCB0eXBlIEFwaVByb3BlcnR5Q29tbW9uT3B0aW9ucyA9IFNjaGVtYU9iamVjdE1ldGFkYXRhICYge1xuICBcIngtZW51bU5hbWVzXCI/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIExhenkgZnVuY3Rpb24gcmV0dXJuaW5nIHRoZSB0eXBlIGZvciB3aGljaCB0aGUgZGVjb3JhdGVkIHByb3BlcnR5XG4gICAqIGNhbiBiZSB1c2VkIGFzIGFuIGlkXG4gICAqXG4gICAqIFVzZSB0b2dldGhlciB3aXRoIEBBcGlEZWZhdWx0R2V0dGVyIG9uIHRoZSBnZXR0ZXIgcm91dGUgb2YgdGhlIHR5cGVcbiAgICogdG8gZ2VuZXJhdGUgT3BlbkFQSSBsaW5rIG9iamVjdHNcbiAgICpcbiAgICogQHNlZSBbU3dhZ2dlciBsaW5rIG9iamVjdHNdKGh0dHBzOi8vc3dhZ2dlci5pby9kb2NzL3NwZWNpZmljYXRpb24vbGlua3MvKVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZVxuICBsaW5rPzogKCkgPT4gVHlwZTx1bmtub3duPiB8IEZ1bmN0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQXBpUHJvcGVydHlPcHRpb25zID1cbiAgfCBBcGlQcm9wZXJ0eUNvbW1vbk9wdGlvbnNcbiAgfCAoQXBpUHJvcGVydHlDb21tb25PcHRpb25zICYge1xuICAgICAgZW51bU5hbWU6IHN0cmluZztcbiAgICAgIGVudW1TY2hlbWE/OiBFbnVtU2NoZW1hQXR0cmlidXRlcztcbiAgICB9KTtcblxuY29uc3QgaXNFbnVtQXJyYXkgPSAoXG4gIG9wdHM6IEFwaVByb3BlcnR5T3B0aW9uc1xuKTogb3B0cyBpcyB7XG4gIGlzQXJyYXk6IHRydWU7XG4gIGVudW06IEVudW1BbGxvd2VkVHlwZXM7XG4gIHR5cGU6IGFueTtcbiAgaXRlbXM6IGFueTtcbn0gPT4gKG9wdHMuaXNBcnJheSAmJiBcImVudW1cIiBpbiBvcHRzICYmIG9wdHMuZW51bSAhPT0gdW5kZWZpbmVkKSBhcyBib29sZWFuO1xuXG4vKipcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEFwaVByb3BlcnR5KFxuICBvcHRpb25zOiBBcGlQcm9wZXJ0eU9wdGlvbnMgPSB7fVxuKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICByZXR1cm4gY3JlYXRlQXBpUHJvcGVydHlEZWNvcmF0b3Iob3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBcGlQcm9wZXJ0eURlY29yYXRvcihcbiAgb3B0aW9uczogQXBpUHJvcGVydHlPcHRpb25zID0ge30sXG4gIG92ZXJyaWRlRXhpc3RpbmcgPSB0cnVlXG4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIGNvbnN0IFt0eXBlLCBpc0FycmF5XSA9IGdldFR5cGVJc0FycmF5VHVwbGUoXG4gICAgb3B0aW9ucy50eXBlLFxuICAgIG9wdGlvbnMuaXNBcnJheSBhcyBib29sZWFuXG4gICk7XG4gIG9wdGlvbnMgPSB7XG4gICAgLi4ub3B0aW9ucyxcbiAgICB0eXBlLFxuICAgIGlzQXJyYXksXG4gIH0gYXMgQXBpUHJvcGVydHlPcHRpb25zO1xuXG4gIGlmIChpc0VudW1BcnJheShvcHRpb25zKSkge1xuICAgIG9wdGlvbnMudHlwZSA9IFwiYXJyYXlcIjtcblxuICAgIGNvbnN0IGVudW1WYWx1ZXMgPSBnZXRFbnVtVmFsdWVzKG9wdGlvbnMuZW51bSk7XG4gICAgb3B0aW9ucy5pdGVtcyA9IHtcbiAgICAgIHR5cGU6IGdldEVudW1UeXBlKGVudW1WYWx1ZXMpLFxuICAgICAgZW51bTogZW51bVZhbHVlcyxcbiAgICB9O1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbmVzdCBzd2FnZ2VyIG92ZXJyaWRlXG4gICAgZGVsZXRlIG9wdGlvbnMuZW51bTtcbiAgfSBlbHNlIGlmIChcImVudW1cIiBpbiBvcHRpb25zICYmIG9wdGlvbnMuZW51bSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgZW51bVZhbHVlcyA9IGdldEVudW1WYWx1ZXMob3B0aW9ucy5lbnVtKTtcblxuICAgIG9wdGlvbnMuZW51bSA9IGVudW1WYWx1ZXM7XG4gICAgb3B0aW9ucy50eXBlID0gZ2V0RW51bVR5cGUoZW51bVZhbHVlcyk7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLnR5cGUpKSB7XG4gICAgb3B0aW9ucy50eXBlID0gXCJhcnJheVwiO1xuICAgIG9wdGlvbnMuaXRlbXMgPSB7XG4gICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICBpdGVtczoge1xuICAgICAgICB0eXBlOiBvcHRpb25zLnR5cGVbMF0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gY3JlYXRlUHJvcGVydHlEZWNvcmF0b3IoXG4gICAgREVDT1JBVE9SUy5BUElfTU9ERUxfUFJPUEVSVElFUyxcbiAgICBvcHRpb25zLFxuICAgIG92ZXJyaWRlRXhpc3RpbmdcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaVByb3BlcnR5T3B0aW9uYWwoXG4gIG9wdGlvbnM6IEFwaVByb3BlcnR5T3B0aW9ucyA9IHt9XG4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIHJldHVybiBBcGlQcm9wZXJ0eSh7XG4gICAgLi4ub3B0aW9ucyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gIH0gYXMgQXBpUHJvcGVydHlPcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaVJlc3BvbnNlUHJvcGVydHkoXG4gIG9wdGlvbnM6IFBpY2s8XG4gICAgQXBpUHJvcGVydHlPcHRpb25zLFxuICAgIFwidHlwZVwiIHwgXCJleGFtcGxlXCIgfCBcImZvcm1hdFwiIHwgXCJkZXByZWNhdGVkXCIgfCBcImVudW1cIlxuICA+ID0ge31cbik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgcmV0dXJuIEFwaVByb3BlcnR5KHtcbiAgICByZWFkT25seTogdHJ1ZSxcbiAgICAuLi5vcHRpb25zLFxuICB9IGFzIEFwaVByb3BlcnR5T3B0aW9ucyk7XG59XG4iXX0=
|
|
@@ -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,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-unsafe-function-type */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.createMethodDecorator = createMethodDecorator;
|
|
5
|
+
exports.createClassDecorator = createClassDecorator;
|
|
6
|
+
exports.createPropertyDecorator = createPropertyDecorator;
|
|
7
|
+
exports.createMixedDecorator = createMixedDecorator;
|
|
8
|
+
exports.createParamDecorator = createParamDecorator;
|
|
9
|
+
exports.getTypeIsArrayTuple = getTypeIsArrayTuple;
|
|
10
|
+
const constants_1 = require("@nestjs/common/constants");
|
|
11
|
+
const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
|
|
12
|
+
const lodash_1 = require("lodash");
|
|
13
|
+
const plugin_constants_1 = require("@nestjs/swagger/dist/plugin/plugin-constants");
|
|
14
|
+
const constants_2 = require("@nestjs/swagger/dist/constants");
|
|
15
|
+
function createMethodDecorator(metakey, metadata, { overrideExisting } = { overrideExisting: true }) {
|
|
16
|
+
return (target, key, descriptor) => {
|
|
17
|
+
if (typeof metadata === "object") {
|
|
18
|
+
const prevValue = Reflect.getMetadata(metakey, descriptor.value);
|
|
19
|
+
if (prevValue && !overrideExisting) {
|
|
20
|
+
return descriptor;
|
|
21
|
+
}
|
|
22
|
+
Reflect.defineMetadata(metakey, { ...prevValue, ...metadata }, descriptor.value);
|
|
23
|
+
return descriptor;
|
|
24
|
+
}
|
|
25
|
+
Reflect.defineMetadata(metakey, metadata, descriptor.value);
|
|
26
|
+
return descriptor;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function createClassDecorator(metakey, metadata = []) {
|
|
30
|
+
return (target) => {
|
|
31
|
+
const prevValue = Reflect.getMetadata(metakey, target) || [];
|
|
32
|
+
Reflect.defineMetadata(metakey, [...prevValue, ...metadata], target);
|
|
33
|
+
return target;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function createPropertyDecorator(metakey, metadata, overrideExisting = true) {
|
|
37
|
+
return (target, propertyKey) => {
|
|
38
|
+
const properties = Reflect.getMetadata(constants_2.DECORATORS.API_MODEL_PROPERTIES_ARRAY, target) || [];
|
|
39
|
+
const key = `:${propertyKey}`;
|
|
40
|
+
if (!properties.includes(key)) {
|
|
41
|
+
Reflect.defineMetadata(constants_2.DECORATORS.API_MODEL_PROPERTIES_ARRAY, [...properties, `:${propertyKey}`], target);
|
|
42
|
+
}
|
|
43
|
+
const existingMetadata = Reflect.getMetadata(metakey, target, propertyKey);
|
|
44
|
+
if (existingMetadata) {
|
|
45
|
+
const newMetadata = (0, lodash_1.pickBy)(metadata, (0, lodash_1.negate)(lodash_1.isUndefined));
|
|
46
|
+
const metadataToSave = overrideExisting
|
|
47
|
+
? {
|
|
48
|
+
...existingMetadata,
|
|
49
|
+
...newMetadata,
|
|
50
|
+
}
|
|
51
|
+
: {
|
|
52
|
+
...newMetadata,
|
|
53
|
+
...existingMetadata,
|
|
54
|
+
};
|
|
55
|
+
Reflect.defineMetadata(metakey, metadataToSave, target, propertyKey);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
const type =
|
|
59
|
+
// @ts-expect-error nest js override
|
|
60
|
+
target?.constructor?.[plugin_constants_1.METADATA_FACTORY_NAME]?.()[propertyKey]?.type ??
|
|
61
|
+
Reflect.getMetadata("design:type", target, propertyKey);
|
|
62
|
+
Reflect.defineMetadata(metakey, {
|
|
63
|
+
type,
|
|
64
|
+
...(0, lodash_1.pickBy)(metadata, (0, lodash_1.negate)(lodash_1.isUndefined)),
|
|
65
|
+
}, target, propertyKey);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function createMixedDecorator(metakey, metadata) {
|
|
70
|
+
return (target, key, descriptor) => {
|
|
71
|
+
if (descriptor) {
|
|
72
|
+
let metadatas;
|
|
73
|
+
if (Array.isArray(metadata)) {
|
|
74
|
+
const previousMetadata = Reflect.getMetadata(metakey, descriptor.value) || [];
|
|
75
|
+
metadatas = [...previousMetadata, ...metadata];
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
const previousMetadata = Reflect.getMetadata(metakey, descriptor.value) || {};
|
|
79
|
+
metadatas = { ...previousMetadata, ...metadata };
|
|
80
|
+
}
|
|
81
|
+
Reflect.defineMetadata(metakey, metadatas, descriptor.value);
|
|
82
|
+
return descriptor;
|
|
83
|
+
}
|
|
84
|
+
let metadatas;
|
|
85
|
+
if (Array.isArray(metadata)) {
|
|
86
|
+
const previousMetadata = Reflect.getMetadata(metakey, target) || [];
|
|
87
|
+
metadatas = [...previousMetadata, ...metadata];
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
const previousMetadata = Reflect.getMetadata(metakey, target) || {};
|
|
91
|
+
metadatas = Object.assign(Object.assign({}, previousMetadata), metadata);
|
|
92
|
+
}
|
|
93
|
+
Reflect.defineMetadata(metakey, metadatas, target);
|
|
94
|
+
return target;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function createParamDecorator(metadata, initial) {
|
|
98
|
+
return (target, key, descriptor) => {
|
|
99
|
+
const paramOptions = {
|
|
100
|
+
...initial,
|
|
101
|
+
...(0, lodash_1.pickBy)(metadata, (0, lodash_1.negate)(lodash_1.isUndefined)),
|
|
102
|
+
};
|
|
103
|
+
if (descriptor) {
|
|
104
|
+
const parameters = Reflect.getMetadata(constants_2.DECORATORS.API_PARAMETERS, descriptor.value) || [];
|
|
105
|
+
Reflect.defineMetadata(constants_2.DECORATORS.API_PARAMETERS, [...parameters, paramOptions], descriptor.value);
|
|
106
|
+
return descriptor;
|
|
107
|
+
}
|
|
108
|
+
if (typeof target === "object") {
|
|
109
|
+
return target;
|
|
110
|
+
}
|
|
111
|
+
const propertyKeys = Object.getOwnPropertyNames(target.prototype);
|
|
112
|
+
for (const propertyKey of propertyKeys) {
|
|
113
|
+
if ((0, shared_utils_1.isConstructor)(propertyKey)) {
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
const methodDescriptor = Object.getOwnPropertyDescriptor(target.prototype, propertyKey);
|
|
117
|
+
if (!methodDescriptor) {
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
const isApiMethod = Reflect.hasMetadata(constants_1.METHOD_METADATA, methodDescriptor.value);
|
|
121
|
+
if (!isApiMethod) {
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
const parameters = Reflect.getMetadata(constants_2.DECORATORS.API_PARAMETERS, methodDescriptor.value) || [];
|
|
125
|
+
Reflect.defineMetadata(constants_2.DECORATORS.API_PARAMETERS, [...parameters, paramOptions], methodDescriptor.value);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
function getTypeIsArrayTuple(input, isArrayFlag) {
|
|
130
|
+
if (!input) {
|
|
131
|
+
return [input, isArrayFlag];
|
|
132
|
+
}
|
|
133
|
+
if (isArrayFlag) {
|
|
134
|
+
return [input, isArrayFlag];
|
|
135
|
+
}
|
|
136
|
+
const isInputArray = (0, lodash_1.isArray)(input);
|
|
137
|
+
const type = isInputArray ? input[0] : input;
|
|
138
|
+
return [type, isInputArray];
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3JzL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUErRDs7QUFRL0Qsc0RBeUJDO0FBRUQsb0RBU0M7QUFFRCwwREFnREM7QUFFRCxvREFtQ0M7QUFFRCxvREFrRUM7QUFFRCxrREFhQztBQXBORCx3REFBMkQ7QUFDM0Qsb0VBQWtFO0FBQ2xFLG1DQUE4RDtBQUM5RCxtRkFBcUY7QUFDckYsOERBQTREO0FBRTVELFNBQWdCLHFCQUFxQixDQUNuQyxPQUFlLEVBQ2YsUUFBVyxFQUNYLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRTtJQUVqRCxPQUFPLENBQ0wsTUFBYyxFQUNkLEdBQW9CLEVBQ3BCLFVBQThCLEVBQzlCLEVBQUU7UUFDRixJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRSxJQUFJLFNBQVMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25DLE9BQU8sVUFBVSxDQUFDO1lBQ3BCLENBQUM7WUFDRCxPQUFPLENBQUMsY0FBYyxDQUNwQixPQUFPLEVBQ1AsRUFBRSxHQUFHLFNBQVMsRUFBRSxHQUFHLFFBQVEsRUFBRSxFQUM3QixVQUFVLENBQUMsS0FBSyxDQUNqQixDQUFDO1lBQ0YsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUNELE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLG9CQUFvQixDQUNsQyxPQUFlLEVBQ2YsV0FBYyxF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LFdBQVcsQ0FDakIsc0JBQVUsQ0FBQyxjQUFjLEVBQ3pCLGdCQUFnQixDQUFDLEtBQUssQ0FDdkIsSUFBSSxFQUFFLENBQUM7WUFDVixPQUFPLENBQUMsY0FBYyxDQUNwQixzQkFBVSxDQUFDLGNBQWMsRUFDekIsQ0FBQyxHQUFHLFVBQVUsRUFBRSxZQUFZLENBQUMsRUFDN0IsZ0JBQWdCLENBQUMsS0FBSyxDQUN2QixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixtQkFBbUIsQ0FDakMsS0FBdUUsRUFDdkUsV0FBb0I7SUFFcEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUFDLEtBQWtCLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEIsT0FBTyxDQUFDLEtBQWlCLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELE1BQU0sWUFBWSxHQUFHLElBQUEsZ0JBQU8sRUFBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdDLE9BQU8sQ0FBQyxJQUFnQixFQUFFLFlBQVksQ0FBQyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGUgKi9cblxuaW1wb3J0IHsgTUVUSE9EX01FVEFEQVRBIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgaXNDb25zdHJ1Y3RvciB9IGZyb20gXCJAbmVzdGpzL2NvbW1vbi91dGlscy9zaGFyZWQudXRpbHNcIjtcbmltcG9ydCB7IGlzQXJyYXksIGlzVW5kZWZpbmVkLCBuZWdhdGUsIHBpY2tCeSB9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7IE1FVEFEQVRBX0ZBQ1RPUllfTkFNRSB9IGZyb20gXCJAbmVzdGpzL3N3YWdnZXIvZGlzdC9wbHVnaW4vcGx1Z2luLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgREVDT1JBVE9SUyB9IGZyb20gXCJAbmVzdGpzL3N3YWdnZXIvZGlzdC9jb25zdGFudHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1ldGhvZERlY29yYXRvcjxUID0gYW55PihcbiAgbWV0YWtleTogc3RyaW5nLFxuICBtZXRhZGF0YTogVCxcbiAgeyBvdmVycmlkZUV4aXN0aW5nIH0gPSB7IG92ZXJyaWRlRXhpc3Rpbmc6IHRydWUgfVxuKTogTWV0aG9kRGVjb3JhdG9yIHtcbiAgcmV0dXJuIChcbiAgICB0YXJnZXQ6IG9iamVjdCxcbiAgICBrZXk6IHN0cmluZyB8IHN5bWJvbCxcbiAgICBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3JcbiAgKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBtZXRhZGF0YSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgY29uc3QgcHJldlZhbHVlID0gUmVmbGVjdC5nZXRNZXRhZGF0YShtZXRha2V5LCBkZXNjcmlwdG9yLnZhbHVlKTtcbiAgICAgIGlmIChwcmV2VmFsdWUgJiYgIW92ZXJyaWRlRXhpc3RpbmcpIHtcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgICB9XG4gICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFxuICAgICAgICBtZXRha2V5LFxuICAgICAgICB7IC4uLnByZXZWYWx1ZSwgLi4ubWV0YWRhdGEgfSxcbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZVxuICAgICAgKTtcbiAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICAgIH1cbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKG1ldGFrZXksIG1ldGFkYXRhLCBkZXNjcmlwdG9yLnZhbHVlKTtcbiAgICByZXR1cm4gZGVzY3JpcHRvcjtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNsYXNzRGVjb3JhdG9yPFQgZXh0ZW5kcyBBcnJheTxhbnk+ID0gYW55PihcbiAgbWV0YWtleTogc3RyaW5nLFxuICBtZXRhZGF0YTogVCA9IFtdIGFzIHVua25vd24gYXMgVFxuKTogQ2xhc3NEZWNvcmF0b3Ige1xuICByZXR1cm4gKHRhcmdldCkgPT4ge1xuICAgIGNvbnN0IHByZXZWYWx1ZSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEobWV0YWtleSwgdGFyZ2V0KSB8fCBbXTtcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKG1ldGFrZXksIFsuLi5wcmV2VmFsdWUsIC4uLm1ldGFkYXRhXSwgdGFyZ2V0KTtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJvcGVydHlEZWNvcmF0b3I8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBhbnk+KFxuICBtZXRha2V5OiBzdHJpbmcsXG4gIG1ldGFkYXRhOiBULFxuICBvdmVycmlkZUV4aXN0aW5nID0gdHJ1ZVxuKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICByZXR1cm4gKHRhcmdldDogb2JqZWN0LCBwcm9wZXJ0eUtleT86IGFueSkgPT4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPVxuICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShERUNPUkFUT1JTLkFQSV9NT0RFTF9QUk9QRVJUSUVTX0FSUkFZLCB0YXJnZXQpIHx8IFtdO1xuXG4gICAgY29uc3Qga2V5ID0gYDoke3Byb3BlcnR5S2V5fWA7XG4gICAgaWYgKCFwcm9wZXJ0aWVzLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoXG4gICAgICAgIERFQ09SQVRPUlMuQVBJX01PREVMX1BST1BFUlRJRVNfQVJSQVksXG4gICAgICAgIFsuLi5wcm9wZXJ0aWVzLCBgOiR7cHJvcGVydHlLZXl9YF0sXG4gICAgICAgIHRhcmdldFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgZXhpc3RpbmdNZXRhZGF0YSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEobWV0YWtleSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG4gICAgaWYgKGV4aXN0aW5nTWV0YWRhdGEpIHtcbiAgICAgIGNvbnN0IG5ld01ldGFkYXRhID0gcGlja0J5KG1ldGFkYXRhLCBuZWdhdGUoaXNVbmRlZmluZWQpKTtcbiAgICAgIGNvbnN0IG1ldGFkYXRhVG9TYXZlID0gb3ZlcnJpZGVFeGlzdGluZ1xuICAgICAgICA/IHtcbiAgICAgICAgICAgIC4uLmV4aXN0aW5nTWV0YWRhdGEsXG4gICAgICAgICAgICAuLi5uZXdNZXRhZGF0YSxcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgLi4ubmV3TWV0YWRhdGEsXG4gICAgICAgICAgICAuLi5leGlzdGluZ01ldGFkYXRhLFxuICAgICAgICAgIH07XG5cbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEobWV0YWtleSwgbWV0YWRhdGFUb1NhdmUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0eXBlID1cbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBuZXN0IGpzIG92ZXJyaWRlXG4gICAgICAgIHRhcmdldD8uY29uc3RydWN0b3I/LltNRVRBREFUQV9GQUNUT1JZX05BTUVdPy4oKVtwcm9wZXJ0eUtleV0/LnR5cGUgPz9cbiAgICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xuXG4gICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFxuICAgICAgICBtZXRha2V5LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICAuLi5waWNrQnkobWV0YWRhdGEsIG5lZ2F0ZShpc1VuZGVmaW5lZCkpLFxuICAgICAgICB9LFxuICAgICAgICB0YXJnZXQsXG4gICAgICAgIHByb3BlcnR5S2V5XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1peGVkRGVjb3JhdG9yPFQgPSBhbnk+KFxuICBtZXRha2V5OiBzdHJpbmcsXG4gIG1ldGFkYXRhOiBUXG4pOiBNZXRob2REZWNvcmF0b3IgJiBDbGFzc0RlY29yYXRvciB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0OiBvYmplY3QsXG4gICAga2V5Pzogc3RyaW5nIHwgc3ltYm9sLFxuICAgIGRlc2NyaXB0b3I/OiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+XG4gICk6IGFueSA9PiB7XG4gICAgaWYgKGRlc2NyaXB0b3IpIHtcbiAgICAgIGxldCBtZXRhZGF0YXM6IGFueTtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG1ldGFkYXRhKSkge1xuICAgICAgICBjb25zdCBwcmV2aW91c01ldGFkYXRhID1cbiAgICAgICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKG1ldGFrZXksIGRlc2NyaXB0b3IudmFsdWUpIHx8IFtdO1xuICAgICAgICBtZXRhZGF0YXMgPSBbLi4ucHJldmlvdXNNZXRhZGF0YSwgLi4ubWV0YWRhdGFdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNNZXRhZGF0YSA9XG4gICAgICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShtZXRha2V5LCBkZXNjcmlwdG9yLnZhbHVlKSB8fCB7fTtcbiAgICAgICAgbWV0YWRhdGFzID0geyAuLi5wcmV2aW91c01ldGFkYXRhLCAuLi5tZXRhZGF0YSB9O1xuICAgICAgfVxuICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShtZXRha2V5LCBtZXRhZGF0YXMsIGRlc2NyaXB0b3IudmFsdWUpO1xuICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgbGV0IG1ldGFkYXRhczogYW55O1xuICAgIGlmIChBcnJheS5pc0FycmF5KG1ldGFkYXRhKSkge1xuICAgICAgY29uc3QgcHJldmlvdXNNZXRhZGF0YSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEobWV0YWtleSwgdGFyZ2V0KSB8fCBbXTtcbiAgICAgIG1ldGFkYXRhcyA9IFsuLi5wcmV2aW91c01ldGFkYXRhLCAuLi5tZXRhZGF0YV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzTWV0YWRhdGEgPSBSZWZsZWN0LmdldE1ldGFkYXRhKG1ldGFrZXksIHRhcmdldCkgfHwge307XG4gICAgICBtZXRhZGF0YXMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHByZXZpb3VzTWV0YWRhdGEpLCBtZXRhZGF0YSk7XG4gICAgfVxuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEobWV0YWtleSwgbWV0YWRhdGFzLCB0YXJnZXQpO1xuICAgIHJldHVybiB0YXJnZXQ7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQYXJhbURlY29yYXRvcjxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IGFueT4oXG4gIG1ldGFkYXRhOiBULFxuICBpbml0aWFsOiBQYXJ0aWFsPFQ+XG4pOiBNZXRob2REZWNvcmF0b3IgJiBDbGFzc0RlY29yYXRvciB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0OiBvYmplY3QgfCBGdW5jdGlvbixcbiAgICBrZXk/OiBzdHJpbmcgfCBzeW1ib2wsXG4gICAgZGVzY3JpcHRvcj86IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPGFueT5cbiAgKTogYW55ID0+IHtcbiAgICBjb25zdCBwYXJhbU9wdGlvbnMgPSB7XG4gICAgICAuLi5pbml0aWFsLFxuICAgICAgLi4ucGlja0J5KG1ldGFkYXRhLCBuZWdhdGUoaXNVbmRlZmluZWQpKSxcbiAgICB9O1xuXG4gICAgaWYgKGRlc2NyaXB0b3IpIHtcbiAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPVxuICAgICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKERFQ09SQVRPUlMuQVBJX1BBUkFNRVRFUlMsIGRlc2NyaXB0b3IudmFsdWUpIHx8IFtdO1xuICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShcbiAgICAgICAgREVDT1JBVE9SUy5BUElfUEFSQU1FVEVSUyxcbiAgICAgICAgWy4uLnBhcmFtZXRlcnMsIHBhcmFtT3B0aW9uc10sXG4gICAgICAgIGRlc2NyaXB0b3IudmFsdWVcbiAgICAgICk7XG4gICAgICByZXR1cm4gZGVzY3JpcHRvcjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHRhcmdldCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wZXJ0eUtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0YXJnZXQucHJvdG90eXBlKTtcblxuICAgIGZvciAoY29uc3QgcHJvcGVydHlLZXkgb2YgcHJvcGVydHlLZXlzKSB7XG4gICAgICBpZiAoaXNDb25zdHJ1Y3Rvcihwcm9wZXJ0eUtleSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1ldGhvZERlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFxuICAgICAgICB0YXJnZXQucHJvdG90eXBlLFxuICAgICAgICBwcm9wZXJ0eUtleVxuICAgICAgKTtcblxuICAgICAgaWYgKCFtZXRob2REZXNjcmlwdG9yKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpc0FwaU1ldGhvZCA9IFJlZmxlY3QuaGFzTWV0YWRhdGEoXG4gICAgICAgIE1FVEhPRF9NRVRBREFUQSxcbiAgICAgICAgbWV0aG9kRGVzY3JpcHRvci52YWx1ZVxuICAgICAgKTtcblxuICAgICAgaWYgKCFpc0FwaU1ldGhvZCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcGFyYW1ldGVycyA9XG4gICAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoXG4gICAgICAgICAgREVDT1JBVE9SUy5BUElfUEFSQU1FVEVSUyxcbiAgICAgICAgICBtZXRob2REZXNjcmlwdG9yLnZhbHVlXG4gICAgICAgICkgfHwgW107XG4gICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFxuICAgICAgICBERUNPUkFUT1JTLkFQSV9QQVJBTUVURVJTLFxuICAgICAgICBbLi4ucGFyYW1ldGVycywgcGFyYW1PcHRpb25zXSxcbiAgICAgICAgbWV0aG9kRGVzY3JpcHRvci52YWx1ZVxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUeXBlSXNBcnJheVR1cGxlKFxuICBpbnB1dDogRnVuY3Rpb24gfCBbRnVuY3Rpb25dIHwgdW5kZWZpbmVkIHwgc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgYW55PixcbiAgaXNBcnJheUZsYWc6IGJvb2xlYW5cbik6IFtGdW5jdGlvbiB8IHVuZGVmaW5lZCwgYm9vbGVhbl0ge1xuICBpZiAoIWlucHV0KSB7XG4gICAgcmV0dXJuIFtpbnB1dCBhcyB1bmRlZmluZWQsIGlzQXJyYXlGbGFnXTtcbiAgfVxuICBpZiAoaXNBcnJheUZsYWcpIHtcbiAgICByZXR1cm4gW2lucHV0IGFzIEZ1bmN0aW9uLCBpc0FycmF5RmxhZ107XG4gIH1cbiAgY29uc3QgaXNJbnB1dEFycmF5ID0gaXNBcnJheShpbnB1dCk7XG4gIGNvbnN0IHR5cGUgPSBpc0lucHV0QXJyYXkgPyBpbnB1dFswXSA6IGlucHV0O1xuICByZXR1cm4gW3R5cGUgYXMgRnVuY3Rpb24sIGlzSW5wdXRBcnJheV07XG59XG4iXX0=
|
|
@@ -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,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ApiProperty.cjs"), exports);
|
|
18
|
+
__exportStar(require("./helpers.cjs"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQThCO0FBQzlCLGdEQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0FwaVByb3BlcnR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9oZWxwZXJzXCI7XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
8
|
+
import { InternalError } from "@decaf-ts/db-decorators";
|
|
9
|
+
import { Repository } from "@decaf-ts/core";
|
|
10
|
+
import { Injectable } from "@nestjs/common";
|
|
11
|
+
let RepoFactory = class RepoFactory {
|
|
12
|
+
for(model) {
|
|
13
|
+
model = typeof model === "string" ? Model.get(model) : model;
|
|
14
|
+
if (!model) {
|
|
15
|
+
throw new InternalError(`Failed to find repository for ${model}`);
|
|
16
|
+
}
|
|
17
|
+
return Repository.forModel(model);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
RepoFactory = __decorate([
|
|
21
|
+
Injectable()
|
|
22
|
+
], RepoFactory);
|
|
23
|
+
export { RepoFactory };
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb0ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUmVwb0ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQVEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JDLElBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVc7SUFDdEIsR0FBRyxDQUFrQixLQUE4QjtRQUNqRCxLQUFLLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLGFBQWEsQ0FBQyxpQ0FBaUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNwRSxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQXVCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YsQ0FBQTtBQVJZLFdBQVc7SUFEdkIsVUFBVSxFQUFFO0dBQ0EsV0FBVyxDQVF2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgUmVwbywgUmVwb3NpdG9yeSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQG5lc3Rqcy9jb21tb25cIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlcG9GYWN0b3J5IHtcbiAgZm9yPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IHN0cmluZyB8IENvbnN0cnVjdG9yPE0+KTogUmVwbzxNPiB7XG4gICAgbW9kZWwgPSB0eXBlb2YgbW9kZWwgPT09IFwic3RyaW5nXCIgPyAoTW9kZWwuZ2V0KG1vZGVsKSBhcyBhbnkpIDogbW9kZWw7XG4gICAgaWYgKCFtb2RlbCkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYEZhaWxlZCB0byBmaW5kIHJlcG9zaXRvcnkgZm9yICR7bW9kZWx9YCk7XG4gICAgfVxuICAgIHJldHVybiBSZXBvc2l0b3J5LmZvck1vZGVsKG1vZGVsIGFzIENvbnN0cnVjdG9yPE0+KTtcbiAgfVxufVxuIl19
|