@decaf-ts/for-nest 0.11.2-refactor.3 → 0.11.2-refactor.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/README.md +273 -1
- package/dist/for-nest.cjs +123 -98
- package/dist/for-nest.js +127 -101
- package/lib/cjs/decaf-model/DecafModelModule.cjs +7 -2
- package/lib/cjs/decaf-model/FromModelController.cjs +121 -68
- package/lib/cjs/decaf-model/decorators/utils.cjs +4 -3
- package/lib/cjs/decaf-model/utils.cjs +10 -4
- package/lib/cjs/decorators.cjs +4 -3
- package/lib/cjs/index.cjs +3 -3
- package/lib/esm/decaf-model/DecafModelModule.js +6 -1
- package/lib/esm/decaf-model/FromModelController.js +122 -69
- package/lib/esm/decaf-model/decorators/utils.js +3 -2
- package/lib/esm/decaf-model/utils.js +9 -3
- package/lib/esm/decorators.js +3 -2
- package/lib/esm/index.js +3 -3
- package/lib/types/decaf-model/FromModelController.d.cts +3 -0
- package/lib/types/decaf-model/FromModelController.d.mts +3 -0
- package/lib/types/index.d.cts +3 -3
- package/lib/types/index.d.mts +3 -3
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Delete, Get, Patch, Post, Put } from "@nestjs/common";
|
|
2
|
+
import { UnsupportedError } from "@decaf-ts/core";
|
|
2
3
|
/**
|
|
3
4
|
* Maps an HTTP verb to its corresponding NestJS method decorator.
|
|
4
5
|
*
|
|
@@ -18,8 +19,8 @@ export function HttpVerbToDecorator(verb) {
|
|
|
18
19
|
};
|
|
19
20
|
const decorator = httpToCrud[verb];
|
|
20
21
|
if (!decorator) {
|
|
21
|
-
throw new
|
|
22
|
+
throw new UnsupportedError(`Unsupported HTTP verb "${verb}". No NestJS decorator mapping was found.`);
|
|
22
23
|
}
|
|
23
24
|
return decorator;
|
|
24
25
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVjYWYtbW9kZWwvZGVjb3JhdG9ycy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxJQUFlO0lBRWYsTUFBTSxVQUFVLEdBQTBEO1FBQ3hFLEdBQUcsRUFBRSxHQUFHO1FBQ1IsSUFBSSxFQUFFLElBQUk7UUFDVixHQUFHLEVBQUUsR0FBRztRQUNSLEtBQUssRUFBRSxLQUFLO1FBQ1osTUFBTSxFQUFFLE1BQU07S0FDZixDQUFDO0lBRUYsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRW5DLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxnQkFBZ0IsQ0FDeEIsMEJBQTBCLElBQUksMkNBQTJDLENBQzFFLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlbGV0ZSwgR2V0LCBQYXRjaCwgUG9zdCwgUHV0IH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBIdHRwVmVyYnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuXG4vKipcbiAqIE1hcHMgYW4gSFRUUCB2ZXJiIHRvIGl0cyBjb3JyZXNwb25kaW5nIE5lc3RKUyBtZXRob2QgZGVjb3JhdG9yLlxuICpcbiAqIEBwYXJhbSB2ZXJiIC0gSFRUUCB2ZXJiIHRvIGJlIGNvbnZlcnRlZCAoZS5nLiBHRVQsIFBPU1QsIFBVVCwgUEFUQ0gsIERFTEVURSkuXG4gKiBAcmV0dXJucyBBIE5lc3RKUyBtZXRob2QgZGVjb3JhdG9yIG1hdGNoaW5nIHRoZSBwcm92aWRlZCBIVFRQIHZlcmIuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBwcm92aWRlZCBIVFRQIHZlcmIgaXMgbm90IHN1cHBvcnRlZCBvciBub3QgbWFwcGVkXG4gKiB0byBhIE5lc3RKUyBkZWNvcmF0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBIdHRwVmVyYlRvRGVjb3JhdG9yKFxuICB2ZXJiOiBIdHRwVmVyYnNcbik6IChwYXRoPzogc3RyaW5nKSA9PiBNZXRob2REZWNvcmF0b3Ige1xuICBjb25zdCBodHRwVG9DcnVkOiBSZWNvcmQ8SHR0cFZlcmJzLCAocGF0aD86IHN0cmluZykgPT4gTWV0aG9kRGVjb3JhdG9yPiA9IHtcbiAgICBHRVQ6IEdldCxcbiAgICBQT1NUOiBQb3N0LFxuICAgIFBVVDogUHV0LFxuICAgIFBBVENIOiBQYXRjaCxcbiAgICBERUxFVEU6IERlbGV0ZSxcbiAgfTtcblxuICBjb25zdCBkZWNvcmF0b3IgPSBodHRwVG9DcnVkW3ZlcmJdO1xuXG4gIGlmICghZGVjb3JhdG9yKSB7XG4gICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkRXJyb3IoXG4gICAgICBgVW5zdXBwb3J0ZWQgSFRUUCB2ZXJiIFwiJHt2ZXJifVwiLiBObyBOZXN0SlMgZGVjb3JhdG9yIG1hcHBpbmcgd2FzIGZvdW5kLmBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGRlY29yYXRvcjtcbn1cbiJdfQ==
|
|
@@ -3,6 +3,7 @@ import { ApiNoContentResponse, ApiOkResponse, ApiOperation, ApiParam, ApiQuery,
|
|
|
3
3
|
import { DecafParams, } from "./decorators/index.js";
|
|
4
4
|
import { ModelService, OrderDirection, } from "@decaf-ts/core";
|
|
5
5
|
import { HttpVerbToDecorator } from "./decorators/utils.js";
|
|
6
|
+
import { BaseError, InternalError } from "@decaf-ts/db-decorators";
|
|
6
7
|
const extractPathParams = (routePath) => {
|
|
7
8
|
return routePath
|
|
8
9
|
.split("/")
|
|
@@ -15,6 +16,11 @@ const apiParamSpec = (name) => ({
|
|
|
15
16
|
required: true,
|
|
16
17
|
type: String,
|
|
17
18
|
});
|
|
19
|
+
function toDecafError(error, fallbackMessage) {
|
|
20
|
+
if (error instanceof BaseError)
|
|
21
|
+
return error;
|
|
22
|
+
return new InternalError(error instanceof Error ? `${fallbackMessage}: ${error.message}` : fallbackMessage);
|
|
23
|
+
}
|
|
18
24
|
export function getApiDecorators(methodName, routePath, httpVerb, includeQueryParams = false) {
|
|
19
25
|
const NestHttpRouteDec = HttpVerbToDecorator(httpVerb);
|
|
20
26
|
const apiPathParams = extractPathParams(routePath).map(apiParamSpec);
|
|
@@ -66,7 +72,7 @@ export function resolvePersistenceMethod(persistence, methodName, ...args) {
|
|
|
66
72
|
}
|
|
67
73
|
if (typeof persistence[methodName] === "function")
|
|
68
74
|
return persistence[methodName](...args);
|
|
69
|
-
throw new
|
|
75
|
+
throw new InternalError(`Persistence method "${methodName}" not found on ${persistence?.constructor?.name}`);
|
|
70
76
|
}
|
|
71
77
|
export function createRouteHandler(methodName) {
|
|
72
78
|
return async function (pathParams, queryParams) {
|
|
@@ -78,7 +84,7 @@ export function createRouteHandler(methodName) {
|
|
|
78
84
|
}
|
|
79
85
|
catch (e) {
|
|
80
86
|
log.error(`Custom query "${methodName}" failed`, e);
|
|
81
|
-
throw e;
|
|
87
|
+
throw toDecafError(e, `Custom query "${methodName}" failed`);
|
|
82
88
|
}
|
|
83
89
|
};
|
|
84
90
|
}
|
|
@@ -89,4 +95,4 @@ export function defineRouteMethod(ControllerClass, methodName, handler) {
|
|
|
89
95
|
});
|
|
90
96
|
return Object.getOwnPropertyDescriptor(ControllerClass.prototype || ControllerClass, methodName);
|
|
91
97
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVjYWYtbW9kZWwvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLFlBQVksRUFDWixRQUFRLEVBQ1IsUUFBUSxHQUNULE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUdMLFdBQVcsR0FDWiw4QkFBcUI7QUFFdEIsT0FBTyxFQUVMLFlBQVksRUFDWixjQUFjLEdBRWYsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsOEJBQTJCO0FBR3pELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUFpQixFQUFZLEVBQUU7SUFDeEQsT0FBTyxTQUFTO1NBQ2IsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNoQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRyxDQUFDLElBQVksRUFBb0IsRUFBRSxDQUFDLENBQUM7SUFDeEQsSUFBSTtJQUNKLFdBQVcsRUFBRSxHQUFHLElBQUksMEJBQTBCO0lBQzlDLFFBQVEsRUFBRSxJQUFJO0lBQ2QsSUFBSSxFQUFFLE1BQU07Q0FDYixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLFVBQWtCLEVBQ2xCLFNBQWlCLEVBQ2pCLFFBQW1CLEVBQ25CLHFCQUE4QixLQUFLO0lBRW5DLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7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LENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQztZQUNILEdBQUcsQ0FBQyxLQUFLLENBQ1AsZ0NBQWdDLFVBQVUsdUJBQXVCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQzVHLENBQUM7WUFDRixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUM7WUFDakQsT0FBTyxNQUFNLHdCQUF3QixDQUNuQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQ2xCLFVBQVUsRUFDVixHQUFHLFVBQVUsQ0FBQyxhQUFhLEVBQzNCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxDQUNQLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixVQUFVLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwRCxNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixlQUE0QyxFQUM1QyxVQUFrQixFQUNsQixPQUFnQztJQUVoQyxNQUFNLENBQUMsY0FBYyxDQUNuQixlQUFlLENBQUMsU0FBUyxJQUFJLGVBQWUsRUFDNUMsVUFBVSxFQUNWO1FBQ0UsS0FBSyxFQUFFLE9BQU87UUFDZCxRQUFRLEVBQUUsS0FBSztLQUNoQixDQUNGLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDcEMsZUFBZSxDQUFDLFNBQVMsSUFBSSxlQUFlLEVBQzVDLFVBQVUsQ0FDWCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IHR5cGUgRGVjb3JhdG9yQnVuZGxlIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7XG4gIEFwaU5vQ29udGVudFJlc3BvbnNlLFxuICBBcGlPa1Jlc3BvbnNlLFxuICBBcGlPcGVyYXRpb24sXG4gIEFwaVBhcmFtLFxuICBBcGlRdWVyeSxcbn0gZnJvbSBcIkBuZXN0anMvc3dhZ2dlclwiO1xuaW1wb3J0IHtcbiAgRGVjYWZBcGlQcm9wZXJ0eSxcbiAgdHlwZSBEZWNhZlBhcmFtUHJvcHMsXG4gIERlY2FmUGFyYW1zLFxufSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgdHlwZSB7IEh0dHBWZXJicyB9IGZyb20gXCIuL2RlY29yYXRvcnMvdHlwZXNcIjtcbmltcG9ydCB7XG4gIERpcmVjdGlvbkxpbWl0T2Zmc2V0LFxuICBNb2RlbFNlcnZpY2UsXG4gIE9yZGVyRGlyZWN0aW9uLFxuICBSZXBvLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSHR0cFZlcmJUb0RlY29yYXRvciB9IGZyb20gXCIuL2RlY29yYXRvcnMvdXRpbHNcIjtcbmltcG9ydCB7IERlY2FmTW9kZWxDb250cm9sbGVyIH0gZnJvbSBcIi4uL2NvbnRyb2xsZXJzXCI7XG5cbmNvbnN0IGV4dHJhY3RQYXRoUGFyYW1zID0gKHJvdXRlUGF0aDogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuICByZXR1cm4gcm91dGVQYXRoXG4gICAgLnNwbGl0KFwiL1wiKVxuICAgIC5maWx0ZXIoKHApID0+IHAuc3RhcnRzV2l0aChcIjpcIikpXG4gICAgLm1hcCgocCkgPT4gcC5zbGljZSgxKSk7XG59O1xuXG5jb25zdCBhcGlQYXJhbVNwZWMgPSAobmFtZTogc3RyaW5nKTogRGVjYWZBcGlQcm9wZXJ0eSA9PiAoe1xuICBuYW1lLFxuICBkZXNjcmlwdGlvbjogYCR7bmFtZX0gcGFyYW1ldGVyIGZvciB0aGUgcXVlcnlgLFxuICByZXF1aXJlZDogdHJ1ZSxcbiAgdHlwZTogU3RyaW5nLFxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcGlEZWNvcmF0b3JzKFxuICBtZXRob2ROYW1lOiBzdHJpbmcsXG4gIHJvdXRlUGF0aDogc3RyaW5nLFxuICBodHRwVmVyYjogSHR0cFZlcmJzLFxuICBpbmNsdWRlUXVlcnlQYXJhbXM6IGJvb2xlYW4gPSBmYWxzZVxuKTogRGVjb3JhdG9yQnVuZGxlIHtcbiAgY29uc3QgTmVzdEh0dHBSb3V0ZURlYyA9IEh0dHBWZXJiVG9EZWNvcmF0b3IoaHR0cFZlcmIpO1xuICBjb25zdCBhcGlQYXRoUGFyYW1zID0gZXh0cmFjdFBhdGhQYXJhbXMocm91dGVQYXRoKS5tYXAoYXBpUGFyYW1TcGVjKTtcblxuICBjb25zdCBzd2FnZ2VyUXVlcnlQYXJhbXMgPSBbXTtcbiAgaWYgKGh0dHBWZXJiID09PSBcIkdFVFwiICYmIGluY2x1ZGVRdWVyeVBhcmFtcykge1xuICAgIHN3YWdnZXJRdWVyeVBhcmFtcy5wdXNoKFxuICAgICAgQXBpUXVlcnkoe1xuICAgICAgICBuYW1lOiBcImRpcmVjdGlvblwiLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGVudW06IE9yZGVyRGlyZWN0aW9uLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJ0aGUgc29ydCBvcmRlciB3aGVuIGFwcGxpY2FibGVcIixcbiAgICAgIH0pLFxuICAgICAgQXBpUXVlcnkoe1xuICAgICAgICBuYW1lOiBcImxpbWl0XCIsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVzY3JpcHRpb246IFwibGltaXQgb3IgcGFnZSBzaXplIHdoZW4gYXBwbGljYWJsZVwiLFxuICAgICAgfSksXG4gICAgICBBcGlRdWVyeSh7XG4gICAgICAgIG5hbWU6IFwib2Zmc2V0XCIsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVzY3JpcHRpb246IFwib2Zmc2V0IG9yIGJvb2ttYXJrIHdoZW4gYXBwbGljYWJsZVwiLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZXRob2Q6IFtcbiAgICAgIE5lc3RIdHRwUm91dGVEZWMocm91dGVQYXRoKSxcbiAgICAgIC4uLmFwaVBhdGhQYXJhbXMubWFwKEFwaVBhcmFtKSxcbiAgICAgIC4uLnN3YWdnZXJRdWVyeVBhcmFtcyxcbiAgICAgIEFwaU9wZXJhdGlvbih7XG4gICAgICAgIHN1bW1hcnk6IGBSZXRyaWV2ZSByZWNvcmRzIHVzaW5nIGFjY29yZGluZyB0byBcIiR7bWV0aG9kTmFtZX1cIi5gLFxuICAgICAgfSksXG4gICAgICBBcGlPa1Jlc3BvbnNlKHtcbiAgICAgICAgZGVzY3JpcHRpb246IGBSZXN1bHQgc3VjY2Vzc2Z1bGx5IHJldHJpZXZlZC5gLFxuICAgICAgfSksXG4gICAgICBBcGlOb0NvbnRlbnRSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgTm8gY29udGVudCByZXR1cm5lZCBieSB0aGUgbWV0aG9kLmAsXG4gICAgICB9KSxcbiAgICBdLFxuICAgIHBhcmFtczogW0RlY2FmUGFyYW1zKGFwaVBhdGhQYXJhbXMpLCBRdWVyeSgpXSwgLy8gLCBEZWNhZkJvZHkoKV0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseUFwaURlY29yYXRvcnMoXG4gIHRhcmdldDogYW55LFxuICBtZXRob2ROYW1lOiBzdHJpbmcsXG4gIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcixcbiAgZGVjb3JhdG9yczogRGVjb3JhdG9yQnVuZGxlXG4pIHtcbiAgY29uc3QgcHJvdG8gPSB0YXJnZXQ/LnByb3RvdHlwZSA/PyB0YXJnZXQ7XG4gIGRlY29yYXRvcnMubWV0aG9kLmZvckVhY2goKGQpID0+IGQocHJvdG8sIG1ldGhvZE5hbWUsIGRlc2NyaXB0b3IpKTtcbiAgZGVjb3JhdG9ycy5wYXJhbXM/LmZvckVhY2goKGQsIGluZGV4KSA9PiBkKHByb3RvLCBtZXRob2ROYW1lLCBpbmRleCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVBlcnNpc3RlbmNlTWV0aG9kPFQgZXh0ZW5kcyBNb2RlbDxib29sZWFuPj4oXG4gIHBlcnNpc3RlbmNlOiBSZXBvPFQ+IHwgTW9kZWxTZXJ2aWNlPFQ+LFxuICBtZXRob2ROYW1lOiBzdHJpbmcsXG4gIC4uLmFyZ3M6IGFueVtdXG4pOiBhbnkge1xuICBpZiAocGVyc2lzdGVuY2UgaW5zdGFuY2VvZiBNb2RlbFNlcnZpY2UpIHtcbiAgICByZXR1cm4gdHlwZW9mIChwZXJzaXN0ZW5jZSBhcyBhbnkpW21ldGhvZE5hbWVdID09PSBcImZ1bmN0aW9uXCJcbiAgICAgID8gKHBlcnNpc3RlbmNlIGFzIGFueSlbbWV0aG9kTmFtZV0oLi4uYXJncylcbiAgICAgIDogcGVyc2lzdGVuY2Uuc3RhdGVtZW50KG1ldGhvZE5hbWUsIC4uLmFyZ3MpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiAocGVyc2lzdGVuY2UgYXMgYW55KVttZXRob2ROYW1lXSA9PT0gXCJmdW5jdGlvblwiKVxuICAgIHJldHVybiAocGVyc2lzdGVuY2UgYXMgYW55KVttZXRob2ROYW1lXSguLi5hcmdzKTtcblxuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgYFBlcnNpc3RlbmNlIG1ldGhvZCBcIiR7bWV0aG9kTmFtZX1cIiBub3QgZm91bmQgb24gJHtwZXJzaXN0ZW5jZT8uY29uc3RydWN0b3I/Lm5hbWV9YFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm91dGVIYW5kbGVyPFQ+KG1ldGhvZE5hbWU6IHN0cmluZykge1xuICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKFxuICAgIHRoaXM6IERlY2FmTW9kZWxDb250cm9sbGVyPGFueT4sXG4gICAgcGF0aFBhcmFtczogRGVjYWZQYXJhbVByb3BzLFxuICAgIHF1ZXJ5UGFyYW1zOiBEaXJlY3Rpb25MaW1pdE9mZnNldFxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBsb2c6IExvZ2dlciA9IHRoaXMubG9nLmZvcihtZXRob2ROYW1lKTtcblxuICAgIHRyeSB7XG4gICAgICBsb2cuZGVidWcoXG4gICAgICAgIGBJbnZva2luZyBwZXJzaXN0ZW5jZSBtZXRob2QgXCIke21ldGhvZE5hbWV9XCIgZ2l2ZW4gcGFyYW1ldGVyczogJHtKU09OLnN0cmluZ2lmeShwYXRoUGFyYW1zLnZhbHVlc0luT3JkZXIpfWBcbiAgICAgICk7XG4gICAgICBjb25zdCB7IGRpcmVjdGlvbiwgbGltaXQsIG9mZnNldCB9ID0gcXVlcnlQYXJhbXM7XG4gICAgICByZXR1cm4gYXdhaXQgcmVzb2x2ZVBlcnNpc3RlbmNlTWV0aG9kKFxuICAgICAgICB0aGlzLnBlcnNpc3RlbmNlKCksXG4gICAgICAgIG1ldGhvZE5hbWUsXG4gICAgICAgIC4uLnBhdGhQYXJhbXMudmFsdWVzSW5PcmRlcixcbiAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICBsaW1pdCxcbiAgICAgICAgb2Zmc2V0XG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgbG9nLmVycm9yKGBDdXN0b20gcXVlcnkgXCIke21ldGhvZE5hbWV9XCIgZmFpbGVkYCwgZSk7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZVJvdXRlTWV0aG9kKFxuICBDb250cm9sbGVyQ2xhc3M6IG5ldyAoLi4uYXJnczogYW55W10pID0+IGFueSxcbiAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICBoYW5kbGVyOiAoLi4uYXJnczogYW55W10pID0+IGFueVxuKTogUHJvcGVydHlEZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFxuICAgIENvbnRyb2xsZXJDbGFzcy5wcm90b3R5cGUgfHwgQ29udHJvbGxlckNsYXNzLFxuICAgIG1ldGhvZE5hbWUsXG4gICAge1xuICAgICAgdmFsdWU6IGhhbmRsZXIsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgfVxuICApO1xuXG4gIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFxuICAgIENvbnRyb2xsZXJDbGFzcy5wcm90b3R5cGUgfHwgQ29udHJvbGxlckNsYXNzLFxuICAgIG1ldGhvZE5hbWVcbiAgKTtcbn1cbiJdfQ==
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVjYWYtbW9kZWwvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLFlBQVksRUFDWixRQUFRLEVBQ1IsUUFBUSxHQUNULE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUdMLFdBQVcsR0FDWiw4QkFBcUI7QUFFdEIsT0FBTyxFQUVMLFlBQVksRUFDWixjQUFjLEdBRWYsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsOEJBQTJCO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkUsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFNBQWlCLEVBQVksRUFBRTtJQUN4RCxPQUFPLFNBQVM7U0FDYixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2hDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLENBQUMsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBWSxFQUFvQixFQUFFLENBQUMsQ0FBQztJQUN4RCxJQUFJO0lBQ0osV0FBVyxFQUFFLEdBQUcsSUFBSSwwQkFBMEI7SUFDOUMsUUFBUSxFQUFFLElBQUk7SUFDZCxJQUFJLEVBQUUsTUFBTTtDQUNiLENBQUMsQ0FBQztBQUVILFNBQVMsWUFBWSxDQUFDLEtBQWMsRUFBRSxlQUF1QjtJQUMzRCxJQUFJLEtBQUssWUFBWSxTQUFTO1FBQUUsT0FBTyxL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QUFlLEVBQzVDLFVBQVUsRUFDVjtRQUNFLEtBQUssRUFBRSxPQUFPO1FBQ2QsUUFBUSxFQUFFLEtBQUs7S0FDaEIsQ0FDRixDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUMsd0JBQXdCLENBQ3BDLGVBQWUsQ0FBQyxTQUFTLElBQUksZUFBZSxFQUM1QyxVQUFVLENBQ1gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyB0eXBlIERlY29yYXRvckJ1bmRsZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQge1xuICBBcGlOb0NvbnRlbnRSZXNwb25zZSxcbiAgQXBpT2tSZXNwb25zZSxcbiAgQXBpT3BlcmF0aW9uLFxuICBBcGlQYXJhbSxcbiAgQXBpUXVlcnksXG59IGZyb20gXCJAbmVzdGpzL3N3YWdnZXJcIjtcbmltcG9ydCB7XG4gIERlY2FmQXBpUHJvcGVydHksXG4gIHR5cGUgRGVjYWZQYXJhbVByb3BzLFxuICBEZWNhZlBhcmFtcyxcbn0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHR5cGUgeyBIdHRwVmVyYnMgfSBmcm9tIFwiLi9kZWNvcmF0b3JzL3R5cGVzXCI7XG5pbXBvcnQge1xuICBEaXJlY3Rpb25MaW1pdE9mZnNldCxcbiAgTW9kZWxTZXJ2aWNlLFxuICBPcmRlckRpcmVjdGlvbixcbiAgUmVwbyxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEh0dHBWZXJiVG9EZWNvcmF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzL3V0aWxzXCI7XG5pbXBvcnQgeyBEZWNhZk1vZGVsQ29udHJvbGxlciB9IGZyb20gXCIuLi9jb250cm9sbGVyc1wiO1xuaW1wb3J0IHsgQmFzZUVycm9yLCBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbmNvbnN0IGV4dHJhY3RQYXRoUGFyYW1zID0gKHJvdXRlUGF0aDogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuICByZXR1cm4gcm91dGVQYXRoXG4gICAgLnNwbGl0KFwiL1wiKVxuICAgIC5maWx0ZXIoKHApID0+IHAuc3RhcnRzV2l0aChcIjpcIikpXG4gICAgLm1hcCgocCkgPT4gcC5zbGljZSgxKSk7XG59O1xuXG5jb25zdCBhcGlQYXJhbVNwZWMgPSAobmFtZTogc3RyaW5nKTogRGVjYWZBcGlQcm9wZXJ0eSA9PiAoe1xuICBuYW1lLFxuICBkZXNjcmlwdGlvbjogYCR7bmFtZX0gcGFyYW1ldGVyIGZvciB0aGUgcXVlcnlgLFxuICByZXF1aXJlZDogdHJ1ZSxcbiAgdHlwZTogU3RyaW5nLFxufSk7XG5cbmZ1bmN0aW9uIHRvRGVjYWZFcnJvcihlcnJvcjogdW5rbm93biwgZmFsbGJhY2tNZXNzYWdlOiBzdHJpbmcpOiBCYXNlRXJyb3Ige1xuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBCYXNlRXJyb3IpIHJldHVybiBlcnJvcjtcbiAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKFxuICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBgJHtmYWxsYmFja01lc3NhZ2V9OiAke2Vycm9yLm1lc3NhZ2V9YCA6IGZhbGxiYWNrTWVzc2FnZVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBpRGVjb3JhdG9ycyhcbiAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICByb3V0ZVBhdGg6IHN0cmluZyxcbiAgaHR0cFZlcmI6IEh0dHBWZXJicyxcbiAgaW5jbHVkZVF1ZXJ5UGFyYW1zOiBib29sZWFuID0gZmFsc2Vcbik6IERlY29yYXRvckJ1bmRsZSB7XG4gIGNvbnN0IE5lc3RIdHRwUm91dGVEZWMgPSBIdHRwVmVyYlRvRGVjb3JhdG9yKGh0dHBWZXJiKTtcbiAgY29uc3QgYXBpUGF0aFBhcmFtcyA9IGV4dHJhY3RQYXRoUGFyYW1zKHJvdXRlUGF0aCkubWFwKGFwaVBhcmFtU3BlYyk7XG5cbiAgY29uc3Qgc3dhZ2dlclF1ZXJ5UGFyYW1zID0gW107XG4gIGlmIChodHRwVmVyYiA9PT0gXCJHRVRcIiAmJiBpbmNsdWRlUXVlcnlQYXJhbXMpIHtcbiAgICBzd2FnZ2VyUXVlcnlQYXJhbXMucHVzaChcbiAgICAgIEFwaVF1ZXJ5KHtcbiAgICAgICAgbmFtZTogXCJkaXJlY3Rpb25cIixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBlbnVtOiBPcmRlckRpcmVjdGlvbixcbiAgICAgICAgZGVzY3JpcHRpb246IFwidGhlIHNvcnQgb3JkZXIgd2hlbiBhcHBsaWNhYmxlXCIsXG4gICAgICB9KSxcbiAgICAgIEFwaVF1ZXJ5KHtcbiAgICAgICAgbmFtZTogXCJsaW1pdFwiLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcImxpbWl0IG9yIHBhZ2Ugc2l6ZSB3aGVuIGFwcGxpY2FibGVcIixcbiAgICAgIH0pLFxuICAgICAgQXBpUXVlcnkoe1xuICAgICAgICBuYW1lOiBcIm9mZnNldFwiLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIm9mZnNldCBvciBib29rbWFyayB3aGVuIGFwcGxpY2FibGVcIixcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbWV0aG9kOiBbXG4gICAgICBOZXN0SHR0cFJvdXRlRGVjKHJvdXRlUGF0aCksXG4gICAgICAuLi5hcGlQYXRoUGFyYW1zLm1hcChBcGlQYXJhbSksXG4gICAgICAuLi5zd2FnZ2VyUXVlcnlQYXJhbXMsXG4gICAgICBBcGlPcGVyYXRpb24oe1xuICAgICAgICBzdW1tYXJ5OiBgUmV0cmlldmUgcmVjb3JkcyB1c2luZyBhY2NvcmRpbmcgdG8gXCIke21ldGhvZE5hbWV9XCIuYCxcbiAgICAgIH0pLFxuICAgICAgQXBpT2tSZXNwb25zZSh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgUmVzdWx0IHN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQuYCxcbiAgICAgIH0pLFxuICAgICAgQXBpTm9Db250ZW50UmVzcG9uc2Uoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYE5vIGNvbnRlbnQgcmV0dXJuZWQgYnkgdGhlIG1ldGhvZC5gLFxuICAgICAgfSksXG4gICAgXSxcbiAgICBwYXJhbXM6IFtEZWNhZlBhcmFtcyhhcGlQYXRoUGFyYW1zKSwgUXVlcnkoKV0sIC8vICwgRGVjYWZCb2R5KCldLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlBcGlEZWNvcmF0b3JzKFxuICB0YXJnZXQ6IGFueSxcbiAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3IsXG4gIGRlY29yYXRvcnM6IERlY29yYXRvckJ1bmRsZVxuKSB7XG4gIGNvbnN0IHByb3RvID0gdGFyZ2V0Py5wcm90b3R5cGUgPz8gdGFyZ2V0O1xuICBkZWNvcmF0b3JzLm1ldGhvZC5mb3JFYWNoKChkKSA9PiBkKHByb3RvLCBtZXRob2ROYW1lLCBkZXNjcmlwdG9yKSk7XG4gIGRlY29yYXRvcnMucGFyYW1zPy5mb3JFYWNoKChkLCBpbmRleCkgPT4gZChwcm90bywgbWV0aG9kTmFtZSwgaW5kZXgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQZXJzaXN0ZW5jZU1ldGhvZDxUIGV4dGVuZHMgTW9kZWw8Ym9vbGVhbj4+KFxuICBwZXJzaXN0ZW5jZTogUmVwbzxUPiB8IE1vZGVsU2VydmljZTxUPixcbiAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICAuLi5hcmdzOiBhbnlbXVxuKTogYW55IHtcbiAgaWYgKHBlcnNpc3RlbmNlIGluc3RhbmNlb2YgTW9kZWxTZXJ2aWNlKSB7XG4gICAgcmV0dXJuIHR5cGVvZiAocGVyc2lzdGVuY2UgYXMgYW55KVttZXRob2ROYW1lXSA9PT0gXCJmdW5jdGlvblwiXG4gICAgICA/IChwZXJzaXN0ZW5jZSBhcyBhbnkpW21ldGhvZE5hbWVdKC4uLmFyZ3MpXG4gICAgICA6IHBlcnNpc3RlbmNlLnN0YXRlbWVudChtZXRob2ROYW1lLCAuLi5hcmdzKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgKHBlcnNpc3RlbmNlIGFzIGFueSlbbWV0aG9kTmFtZV0gPT09IFwiZnVuY3Rpb25cIilcbiAgICByZXR1cm4gKHBlcnNpc3RlbmNlIGFzIGFueSlbbWV0aG9kTmFtZV0oLi4uYXJncyk7XG5cbiAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgYFBlcnNpc3RlbmNlIG1ldGhvZCBcIiR7bWV0aG9kTmFtZX1cIiBub3QgZm91bmQgb24gJHtwZXJzaXN0ZW5jZT8uY29uc3RydWN0b3I/Lm5hbWV9YFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm91dGVIYW5kbGVyPFQ+KG1ldGhvZE5hbWU6IHN0cmluZykge1xuICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKFxuICAgIHRoaXM6IERlY2FmTW9kZWxDb250cm9sbGVyPGFueT4sXG4gICAgcGF0aFBhcmFtczogRGVjYWZQYXJhbVByb3BzLFxuICAgIHF1ZXJ5UGFyYW1zOiBEaXJlY3Rpb25MaW1pdE9mZnNldFxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBsb2c6IExvZ2dlciA9IHRoaXMubG9nLmZvcihtZXRob2ROYW1lKTtcblxuICAgIHRyeSB7XG4gICAgICBsb2cuZGVidWcoXG4gICAgICAgIGBJbnZva2luZyBwZXJzaXN0ZW5jZSBtZXRob2QgXCIke21ldGhvZE5hbWV9XCIgZ2l2ZW4gcGFyYW1ldGVyczogJHtKU09OLnN0cmluZ2lmeShwYXRoUGFyYW1zLnZhbHVlc0luT3JkZXIpfWBcbiAgICAgICk7XG4gICAgICBjb25zdCB7IGRpcmVjdGlvbiwgbGltaXQsIG9mZnNldCB9ID0gcXVlcnlQYXJhbXM7XG4gICAgICByZXR1cm4gYXdhaXQgcmVzb2x2ZVBlcnNpc3RlbmNlTWV0aG9kKFxuICAgICAgICB0aGlzLnBlcnNpc3RlbmNlKCksXG4gICAgICAgIG1ldGhvZE5hbWUsXG4gICAgICAgIC4uLnBhdGhQYXJhbXMudmFsdWVzSW5PcmRlcixcbiAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICBsaW1pdCxcbiAgICAgICAgb2Zmc2V0XG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgbG9nLmVycm9yKGBDdXN0b20gcXVlcnkgXCIke21ldGhvZE5hbWV9XCIgZmFpbGVkYCwgZSk7XG4gICAgICB0aHJvdyB0b0RlY2FmRXJyb3IoZSwgYEN1c3RvbSBxdWVyeSBcIiR7bWV0aG9kTmFtZX1cIiBmYWlsZWRgKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVSb3V0ZU1ldGhvZChcbiAgQ29udHJvbGxlckNsYXNzOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksXG4gIG1ldGhvZE5hbWU6IHN0cmluZyxcbiAgaGFuZGxlcjogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnlcbik6IFByb3BlcnR5RGVzY3JpcHRvciB8IHVuZGVmaW5lZCB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShcbiAgICBDb250cm9sbGVyQ2xhc3MucHJvdG90eXBlIHx8IENvbnRyb2xsZXJDbGFzcyxcbiAgICBtZXRob2ROYW1lLFxuICAgIHtcbiAgICAgIHZhbHVlOiBoYW5kbGVyLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIH1cbiAgKTtcblxuICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgICBDb250cm9sbGVyQ2xhc3MucHJvdG90eXBlIHx8IENvbnRyb2xsZXJDbGFzcyxcbiAgICBtZXRob2ROYW1lXG4gICk7XG59XG4iXX0=
|
package/lib/esm/decorators.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Inject } from "@nestjs/common";
|
|
2
2
|
import { injectableServiceKey, ModelService, Repository as CoreRepository, Service as CoreService, } from "@decaf-ts/core";
|
|
3
3
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
4
|
+
import { InternalError } from "@decaf-ts/db-decorators";
|
|
4
5
|
const pendingProviders = new Map();
|
|
5
6
|
/**
|
|
6
7
|
* @description Drains the providers registered by {@link Service}/{@link Repository} usages.
|
|
@@ -45,7 +46,7 @@ export function Service(key) {
|
|
|
45
46
|
resolved = paramTypes[parameterIndex];
|
|
46
47
|
}
|
|
47
48
|
if (typeof resolved === "undefined") {
|
|
48
|
-
throw new
|
|
49
|
+
throw new InternalError(`@Service() could not determine an injection type for parameter ${parameterIndex} of ${target.name}. Provide an explicit argument, e.g. @Service(SomeService).`);
|
|
49
50
|
}
|
|
50
51
|
const asModel = typeof resolved !== "string" && isModelConstructor(resolved);
|
|
51
52
|
const token = asModel
|
|
@@ -76,4 +77,4 @@ export function Repository(model, flavour) {
|
|
|
76
77
|
return Inject(token)(target, propertyKey, parameterIndex);
|
|
77
78
|
};
|
|
78
79
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFlBQVksRUFDWixVQUFVLElBQUksY0FBYyxFQUM1QixPQUFPLElBQUksV0FBVyxHQUN2QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFPeEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBZ0MsQ0FBQztBQUVqRTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsS0FBYSxFQUFFLFVBQXlCO0lBQ2hFLElBQUksZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU87SUFDeEMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxLQUFjO0lBQ3hDLE9BQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxJQUFJLEtBQUssQ0FBQyxTQUFTLFlBQVksS0FBSyxDQUFDO0FBQ3pFLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEtBQXVCO0lBQ2hELE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUM7QUFDaEMsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQzNCLEtBQXVCLEVBQ3ZCLE9BQWdCO0lBRWhCLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLGNBQWMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDO0FBQ3BGLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBK0I7SUFDckQsT0FBTyxDQUNMLE1BQWMsRUFDZCxXQUF3QyxFQUN4QyxjQUFzQixFQUNoQixFQUFFO1FBQ1IsSUFBSSxRQUFRLEdBQTBDLEdBQUcsQ0FBQztRQUMxRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sVUFBVSxHQUNkLE9BQU8sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pELFFBQVEsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLGFBQWEsQ0FDckIsa0VBQWtFLGNBQWMsT0FBUSxNQUEyQixDQUFDLElBQUksNkRBQTZELENBQ3RMLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdFLE1BQU0sS0FBSyxHQUFHLE9BQU87WUFDbkIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQTRCLENBQUM7WUFDakQsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFFBQXFDLENBQUMsQ0FBQztRQUVoRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQzNCLElBQUksT0FBTztnQkFBRSxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBNEIsQ0FBQyxDQUFDO1lBQ3hFLE9BQU8sT0FBTyxRQUFRLEtBQUssUUFBUTtnQkFDakMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUMzQixDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUE0QixDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsS0FBdUIsRUFDdkIsT0FBZ0I7SUFFaEIsT0FBTyxDQUNMLE1BQWMsRUFDZCxXQUF3QyxFQUN4QyxjQUFzQixFQUNoQixFQUFFO1FBQ1IsTUFBTSxLQUFLLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELGdCQUFnQixDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7XG4gIGluamVjdGFibGVTZXJ2aWNlS2V5LFxuICBNb2RlbFNlcnZpY2UsXG4gIFJlcG9zaXRvcnkgYXMgQ29yZVJlcG9zaXRvcnksXG4gIFNlcnZpY2UgYXMgQ29yZVNlcnZpY2UsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbmV4cG9ydCB0eXBlIERlY2FmRmFjdG9yeVByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBzdHJpbmc7XG4gIHVzZUZhY3Rvcnk6ICgpID0+IHVua25vd247XG59O1xuXG5jb25zdCBwZW5kaW5nUHJvdmlkZXJzID0gbmV3IE1hcDxzdHJpbmcsIERlY2FmRmFjdG9yeVByb3ZpZGVyPigpO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEcmFpbnMgdGhlIHByb3ZpZGVycyByZWdpc3RlcmVkIGJ5IHtAbGluayBTZXJ2aWNlfS97QGxpbmsgUmVwb3NpdG9yeX0gdXNhZ2VzLlxuICogQHN1bW1hcnkgQ29uc3VtZWQgYnkge0BsaW5rIERlY2FmQ29yZU1vZHVsZS5mb3JSb290fSB0byB3aXJlIHRoZSB0b2tlbnMgdGhhdCB0aG9zZSBwYXJhbWV0ZXJcbiAqIGRlY29yYXRvcnMgcmVmZXJlbmNlIGJhY2sgaW50byBOZXN0J3MgREkgY29udGFpbmVyLCBzaW5jZSBhIHBhcmFtZXRlciBkZWNvcmF0b3IgYWxvbmUgY2Fubm90XG4gKiBzdXBwbHkgYSBwcm92aWRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlZ2lzdGVyZWREZWNhZlByb3ZpZGVycygpOiBEZWNhZkZhY3RvcnlQcm92aWRlcltdIHtcbiAgcmV0dXJuIEFycmF5LmZyb20ocGVuZGluZ1Byb3ZpZGVycy52YWx1ZXMoKSk7XG59XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyUHJvdmlkZXIodG9rZW46IHN0cmluZywgdXNlRmFjdG9yeTogKCkgPT4gdW5rbm93bik6IHZvaWQge1xuICBpZiAocGVuZGluZ1Byb3ZpZGVycy5oYXModG9rZW4pKSByZXR1cm47XG4gIHBlbmRpbmdQcm92aWRlcnMuc2V0KHRva2VuLCB7IHByb3ZpZGU6IHRva2VuLCB1c2VGYWN0b3J5IH0pO1xufVxuXG5mdW5jdGlvbiBpc01vZGVsQ29uc3RydWN0b3IodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBDb25zdHJ1Y3Rvcjxhbnk+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiICYmIHZhbHVlLnByb3RvdHlwZSBpbnN0YW5jZW9mIE1vZGVsO1xufVxuXG5mdW5jdGlvbiBtb2RlbFNlcnZpY2VUb2tlbihtb2RlbDogQ29uc3RydWN0b3I8YW55Pik6IHN0cmluZyB7XG4gIHJldHVybiBgJHttb2RlbC5uYW1lfVNlcnZpY2VgO1xufVxuXG5mdW5jdGlvbiBtb2RlbFJlcG9zaXRvcnlUb2tlbihcbiAgbW9kZWw6IENvbnN0cnVjdG9yPGFueT4sXG4gIGZsYXZvdXI/OiBzdHJpbmdcbik6IHN0cmluZyB7XG4gIHJldHVybiBmbGF2b3VyID8gYCR7bW9kZWwubmFtZX1SZXBvc2l0b3J5QCR7Zmxhdm91cn1gIDogYCR7bW9kZWwubmFtZX1SZXBvc2l0b3J5YDtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29uc3RydWN0b3IgcGFyYW1ldGVyIGRlY29yYXRvciB0aGF0IGluamVjdHMgYSBkZWNhZiBzZXJ2aWNlLlxuICogQHN1bW1hcnkgVHJhbnNsYXRlcyBkZWNhZidzIHNlcnZpY2UgcmVzb2x1dGlvbiBBUElzIGludG8gYSBOZXN0IGBASW5qZWN0KClgIGNhbGw6XG4gKiAtIGBAU2VydmljZShTb21lTW9kZWwpYCBpbmplY3RzIHRoZSBgTW9kZWxTZXJ2aWNlPFNvbWVNb2RlbD5gIHNpbmdsZXRvbiBmb3IgdGhhdCBtb2RlbFxuICogICAodmlhIHtAbGluayBNb2RlbFNlcnZpY2UuZm9yTW9kZWx9KS5cbiAqIC0gYEBTZXJ2aWNlKFNvbWVTZXJ2aWNlQ2xhc3MpYCBvciBgQFNlcnZpY2UoXCJhbGlhc1wiKWAgaW5qZWN0cyB0aGUgbWF0Y2hpbmcgYEBzZXJ2aWNlKClgLWRlY29yYXRlZFxuICogICBkZWNhZiB7QGxpbmsgQ29yZVNlcnZpY2V9ICh2aWEge0BsaW5rIENvcmVTZXJ2aWNlLmdldH0pLlxuICogLSBgQFNlcnZpY2UoKWAgaW5mZXJzIHRoZSBwYXJhbWV0ZXIncyB0eXBlIGZyb20gZW1pdHRlZCBjb25zdHJ1Y3RvciBtZXRhZGF0YSBhbmQgcmVzb2x2ZXMgaXQgdGhlXG4gKiAgIHNhbWUgd2F5LCBwcm92aWRlZCB0aGUgcGFyYW1ldGVyIGlzIHR5cGVkIGFzIGEgY29uY3JldGUgY2xhc3MgKGdlbmVyaWNzIGxpa2UgYE1vZGVsU2VydmljZTxYPmBcbiAqICAgYXJlIGVyYXNlZCBhdCBydW50aW1lLCBzbyB0aGUgbW9kZWwtc2VydmljZSBmb3JtIGFsd2F5cyByZXF1aXJlcyBhbiBleHBsaWNpdCBhcmd1bWVudCkuXG4gKiBAcGFyYW0ga2V5IHRoZSBtb2RlbCBjbGFzcywgc2VydmljZSBjbGFzcywgb3IgYWxpYXMgdG8gcmVzb2x2ZS4gT21pdCB0byBpbmZlciBmcm9tIHRoZSBwYXJhbWV0ZXIgdHlwZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNlcnZpY2Uoa2V5Pzogc3RyaW5nIHwgQ29uc3RydWN0b3I8YW55Pik6IFBhcmFtZXRlckRlY29yYXRvciB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0OiBvYmplY3QsXG4gICAgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCB8IHVuZGVmaW5lZCxcbiAgICBwYXJhbWV0ZXJJbmRleDogbnVtYmVyXG4gICk6IHZvaWQgPT4ge1xuICAgIGxldCByZXNvbHZlZDogc3RyaW5nIHwgQ29uc3RydWN0b3I8YW55PiB8IHVuZGVmaW5lZCA9IGtleTtcbiAgICBpZiAodHlwZW9mIHJlc29sdmVkID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICBjb25zdCBwYXJhbVR5cGVzOiBhbnlbXSA9XG4gICAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCB0YXJnZXQpIHx8IFtdO1xuICAgICAgcmVzb2x2ZWQgPSBwYXJhbVR5cGVzW3BhcmFtZXRlckluZGV4XTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiByZXNvbHZlZCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIGBAU2VydmljZSgpIGNvdWxkIG5vdCBkZXRlcm1pbmUgYW4gaW5qZWN0aW9uIHR5cGUgZm9yIHBhcmFtZXRlciAke3BhcmFtZXRlckluZGV4fSBvZiAkeyh0YXJnZXQgYXMgQ29uc3RydWN0b3I8YW55PikubmFtZX0uIFByb3ZpZGUgYW4gZXhwbGljaXQgYXJndW1lbnQsIGUuZy4gQFNlcnZpY2UoU29tZVNlcnZpY2UpLmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgYXNNb2RlbCA9IHR5cGVvZiByZXNvbHZlZCAhPT0gXCJzdHJpbmdcIiAmJiBpc01vZGVsQ29uc3RydWN0b3IocmVzb2x2ZWQpO1xuICAgIGNvbnN0IHRva2VuID0gYXNNb2RlbFxuICAgICAgPyBtb2RlbFNlcnZpY2VUb2tlbihyZXNvbHZlZCBhcyBDb25zdHJ1Y3Rvcjxhbnk+KVxuICAgICAgOiBpbmplY3RhYmxlU2VydmljZUtleShyZXNvbHZlZCBhcyBzdHJpbmcgfCBDb25zdHJ1Y3Rvcjxhbnk+KTtcblxuICAgIHJlZ2lzdGVyUHJvdmlkZXIodG9rZW4sICgpID0+IHtcbiAgICAgIGlmIChhc01vZGVsKSByZXR1cm4gTW9kZWxTZXJ2aWNlLmZvck1vZGVsKHJlc29sdmVkIGFzIENvbnN0cnVjdG9yPGFueT4pO1xuICAgICAgcmV0dXJuIHR5cGVvZiByZXNvbHZlZCA9PT0gXCJzdHJpbmdcIlxuICAgICAgICA/IENvcmVTZXJ2aWNlLmdldChyZXNvbHZlZClcbiAgICAgICAgOiBDb3JlU2VydmljZS5nZXQocmVzb2x2ZWQgYXMgQ29uc3RydWN0b3I8YW55Pik7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gSW5qZWN0KHRva2VuKSh0YXJnZXQsIHByb3BlcnR5S2V5LCBwYXJhbWV0ZXJJbmRleCk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbnN0cnVjdG9yIHBhcmFtZXRlciBkZWNvcmF0b3IgdGhhdCBpbmplY3RzIGEgZGVjYWYge0BsaW5rIENvcmVSZXBvc2l0b3J5fSBmb3IgYG1vZGVsYC5cbiAqIEBzdW1tYXJ5IFVubGlrZSB7QGxpbmsgU2VydmljZX0sIGBtb2RlbGAgaXMgYWx3YXlzIHRyZWF0ZWQgYXMgYSBNb2RlbCBjbGFzczogdGhlIHNhbWUgY2xhc3MgcGFzc2VkXG4gKiB0byBgQFNlcnZpY2UobW9kZWwpYCBhbmQgYEBSZXBvc2l0b3J5KG1vZGVsKWAgcmVzb2x2ZXMgdG8gdHdvIGRpZmZlcmVudCBpbmplY3RlZCBvYmplY3RzIChhXG4gKiBgTW9kZWxTZXJ2aWNlPE0+YCB2cyBhIGBSZXBvc2l0b3J5PE0+YCByZXNwZWN0aXZlbHkpLCB2aWEge0BsaW5rIENvcmVSZXBvc2l0b3J5LmZvck1vZGVsfS5cbiAqIEBwYXJhbSBtb2RlbCB0aGUgbW9kZWwgY2xhc3MgdG8gcmVzb2x2ZSBhIHJlcG9zaXRvcnkgZm9yLlxuICogQHBhcmFtIGZsYXZvdXIgb3B0aW9uYWwgYWRhcHRlciBmbGF2b3VyL2FsaWFzLCBmb3J3YXJkZWQgdG8ge0BsaW5rIENvcmVSZXBvc2l0b3J5LmZvck1vZGVsfS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFJlcG9zaXRvcnkoXG4gIG1vZGVsOiBDb25zdHJ1Y3Rvcjxhbnk+LFxuICBmbGF2b3VyPzogc3RyaW5nXG4pOiBQYXJhbWV0ZXJEZWNvcmF0b3Ige1xuICByZXR1cm4gKFxuICAgIHRhcmdldDogb2JqZWN0LFxuICAgIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wgfCB1bmRlZmluZWQsXG4gICAgcGFyYW1ldGVySW5kZXg6IG51bWJlclxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCB0b2tlbiA9IG1vZGVsUmVwb3NpdG9yeVRva2VuKG1vZGVsLCBmbGF2b3VyKTtcbiAgICByZWdpc3RlclByb3ZpZGVyKHRva2VuLCAoKSA9PiBDb3JlUmVwb3NpdG9yeS5mb3JNb2RlbChtb2RlbCwgZmxhdm91cikpO1xuICAgIHJldHVybiBJbmplY3QodG9rZW4pKHRhcmdldCwgcHJvcGVydHlLZXksIHBhcmFtZXRlckluZGV4KTtcbiAgfTtcbn1cbiJdfQ==
|
package/lib/esm/index.js
CHANGED
|
@@ -43,21 +43,21 @@ export * from "./events-module/index.js";
|
|
|
43
43
|
* @constant
|
|
44
44
|
* @type {string}
|
|
45
45
|
*/
|
|
46
|
-
export const VERSION = "0.11.2-refactor.
|
|
46
|
+
export const VERSION = "0.11.2-refactor.4";
|
|
47
47
|
/**
|
|
48
48
|
* @description Represents the current commit hash of the module build.
|
|
49
49
|
* @summary Stores the current git commit hash for the package. The build replaces
|
|
50
50
|
* the placeholder with the actual commit hash at publish time.
|
|
51
51
|
* @const COMMIT
|
|
52
52
|
*/
|
|
53
|
-
export const COMMIT = "
|
|
53
|
+
export const COMMIT = "55b8f3e";
|
|
54
54
|
/**
|
|
55
55
|
* @description Represents the full version string of the module.
|
|
56
56
|
* @summary Stores the semver version and commit hash for the package.
|
|
57
57
|
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
58
58
|
* @const FULL_VERSION
|
|
59
59
|
*/
|
|
60
|
-
export const FULL_VERSION = "0.11.2-refactor.
|
|
60
|
+
export const FULL_VERSION = "0.11.2-refactor.4-55b8f3e";
|
|
61
61
|
export const PACKAGE_NAME = "@decaf-ts/for-nest";
|
|
62
62
|
Metadata.allowReregistration(true);
|
|
63
63
|
Metadata.registerLibrary(PACKAGE_NAME, VERSION);
|
|
@@ -6,6 +6,7 @@ import "../overrides";
|
|
|
6
6
|
import { type ModelControllerFactoryConfig } from "@decaf-ts/for-http/server";
|
|
7
7
|
export declare class FromModelController {
|
|
8
8
|
private static readonly log;
|
|
9
|
+
private static toDecafError;
|
|
9
10
|
static getPersistence<T extends Model<boolean>>(ModelClazz: ModelConstructor<T>): Repo<T> | ModelService<T>;
|
|
10
11
|
static createQueryRoutesFromRepository<T extends Model<boolean>>(persistence: Repo<T> | ModelService<T>, prefix?: string): ControllerConstructor<T>;
|
|
11
12
|
static create<T extends Model<any>>(ModelConstr: ModelConstructor<T>, moduleConfigOverrides?: Record<string, ModelControllerFactoryConfig>, globalDefaults?: Partial<ModelControllerFactoryConfig>): ControllerConstructor<T>;
|
|
@@ -15,6 +16,7 @@ export declare class FromModelController {
|
|
|
15
16
|
apiProperties: DecafApiProperty[];
|
|
16
17
|
getPK: (...params: Array<string | number>) => string;
|
|
17
18
|
};
|
|
19
|
+
private static routeParamDecorators;
|
|
18
20
|
private static defineMethod;
|
|
19
21
|
private static applyDecorators;
|
|
20
22
|
private static matchRoute;
|
|
@@ -35,6 +37,7 @@ export declare class FromModelController {
|
|
|
35
37
|
private static createComplexQueryHandler;
|
|
36
38
|
private static createCustomRouteHandler;
|
|
37
39
|
private static extractQueryArgs;
|
|
40
|
+
private static normalizeQueryArgs;
|
|
38
41
|
private static createCreateDecorators;
|
|
39
42
|
private static bulkCreateDecorators;
|
|
40
43
|
private static bulkReadDecorators;
|
|
@@ -6,6 +6,7 @@ import "../overrides";
|
|
|
6
6
|
import { type ModelControllerFactoryConfig } from "@decaf-ts/for-http/server";
|
|
7
7
|
export declare class FromModelController {
|
|
8
8
|
private static readonly log;
|
|
9
|
+
private static toDecafError;
|
|
9
10
|
static getPersistence<T extends Model<boolean>>(ModelClazz: ModelConstructor<T>): Repo<T> | ModelService<T>;
|
|
10
11
|
static createQueryRoutesFromRepository<T extends Model<boolean>>(persistence: Repo<T> | ModelService<T>, prefix?: string): ControllerConstructor<T>;
|
|
11
12
|
static create<T extends Model<any>>(ModelConstr: ModelConstructor<T>, moduleConfigOverrides?: Record<string, ModelControllerFactoryConfig>, globalDefaults?: Partial<ModelControllerFactoryConfig>): ControllerConstructor<T>;
|
|
@@ -15,6 +16,7 @@ export declare class FromModelController {
|
|
|
15
16
|
apiProperties: DecafApiProperty[];
|
|
16
17
|
getPK: (...params: Array<string | number>) => string;
|
|
17
18
|
};
|
|
19
|
+
private static routeParamDecorators;
|
|
18
20
|
private static defineMethod;
|
|
19
21
|
private static applyDecorators;
|
|
20
22
|
private static matchRoute;
|
|
@@ -35,6 +37,7 @@ export declare class FromModelController {
|
|
|
35
37
|
private static createComplexQueryHandler;
|
|
36
38
|
private static createCustomRouteHandler;
|
|
37
39
|
private static extractQueryArgs;
|
|
40
|
+
private static normalizeQueryArgs;
|
|
38
41
|
private static createCreateDecorators;
|
|
39
42
|
private static bulkCreateDecorators;
|
|
40
43
|
private static bulkReadDecorators;
|
package/lib/types/index.d.cts
CHANGED
|
@@ -41,19 +41,19 @@ export * from "./events-module/index.d.cts";
|
|
|
41
41
|
* @constant
|
|
42
42
|
* @type {string}
|
|
43
43
|
*/
|
|
44
|
-
export declare const VERSION = "0.11.2-refactor.
|
|
44
|
+
export declare const VERSION = "0.11.2-refactor.4";
|
|
45
45
|
/**
|
|
46
46
|
* @description Represents the current commit hash of the module build.
|
|
47
47
|
* @summary Stores the current git commit hash for the package. The build replaces
|
|
48
48
|
* the placeholder with the actual commit hash at publish time.
|
|
49
49
|
* @const COMMIT
|
|
50
50
|
*/
|
|
51
|
-
export declare const COMMIT = "
|
|
51
|
+
export declare const COMMIT = "55b8f3e";
|
|
52
52
|
/**
|
|
53
53
|
* @description Represents the full version string of the module.
|
|
54
54
|
* @summary Stores the semver version and commit hash for the package.
|
|
55
55
|
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
56
56
|
* @const FULL_VERSION
|
|
57
57
|
*/
|
|
58
|
-
export declare const FULL_VERSION = "0.11.2-refactor.
|
|
58
|
+
export declare const FULL_VERSION = "0.11.2-refactor.4-55b8f3e";
|
|
59
59
|
export declare const PACKAGE_NAME = "@decaf-ts/for-nest";
|
package/lib/types/index.d.mts
CHANGED
|
@@ -41,19 +41,19 @@ export * from "./events-module/index.d.mts";
|
|
|
41
41
|
* @constant
|
|
42
42
|
* @type {string}
|
|
43
43
|
*/
|
|
44
|
-
export declare const VERSION = "0.11.2-refactor.
|
|
44
|
+
export declare const VERSION = "0.11.2-refactor.4";
|
|
45
45
|
/**
|
|
46
46
|
* @description Represents the current commit hash of the module build.
|
|
47
47
|
* @summary Stores the current git commit hash for the package. The build replaces
|
|
48
48
|
* the placeholder with the actual commit hash at publish time.
|
|
49
49
|
* @const COMMIT
|
|
50
50
|
*/
|
|
51
|
-
export declare const COMMIT = "
|
|
51
|
+
export declare const COMMIT = "55b8f3e";
|
|
52
52
|
/**
|
|
53
53
|
* @description Represents the full version string of the module.
|
|
54
54
|
* @summary Stores the semver version and commit hash for the package.
|
|
55
55
|
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
56
56
|
* @const FULL_VERSION
|
|
57
57
|
*/
|
|
58
|
-
export declare const FULL_VERSION = "0.11.2-refactor.
|
|
58
|
+
export declare const FULL_VERSION = "0.11.2-refactor.4-55b8f3e";
|
|
59
59
|
export declare const PACKAGE_NAME = "@decaf-ts/for-nest";
|