@tstdl/base 0.71.6 → 0.71.10
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/.eslintrc.js +1 -1
- package/api/client/client.d.ts +1 -1
- package/api/client/client.js +7 -0
- package/api/client/client.js.map +1 -1
- package/api/default-error-handlers.d.ts +6 -4
- package/api/default-error-handlers.js +6 -19
- package/api/default-error-handlers.js.map +1 -1
- package/api/response.d.ts +1 -2
- package/api/response.js +16 -2
- package/api/response.js.map +1 -1
- package/api/server/gateway.d.ts +6 -6
- package/api/server/gateway.js.map +1 -1
- package/api/types.d.ts +1 -2
- package/api/types.js +1 -6
- package/api/types.js.map +1 -1
- package/application/application.d.ts +1 -0
- package/application/application.js +4 -1
- package/application/application.js.map +1 -1
- package/collections/keyed-set.d.ts +1 -2
- package/collections/observable/index.d.ts +2 -0
- package/collections/observable/index.js +2 -0
- package/collections/observable/index.js.map +1 -1
- package/collections/observable/observable-collection-base.d.ts +1 -5
- package/collections/observable/observable-collection-base.js.map +1 -1
- package/collections/observable/observable-list-base.d.ts +0 -4
- package/collections/observable/observable-list-base.js.map +1 -1
- package/container/container.d.ts +1 -1
- package/container/container.js +20 -20
- package/container/container.js.map +1 -1
- package/container/decorators.d.ts +6 -6
- package/container/index.d.ts +1 -0
- package/container/index.js +1 -0
- package/container/index.js.map +1 -1
- package/container/provider.d.ts +2 -8
- package/container/provider.js +1 -9
- package/container/provider.js.map +1 -1
- package/container/utils.d.ts +3 -0
- package/container/utils.js +37 -0
- package/container/utils.js.map +1 -0
- package/database/mongo/module.js +3 -3
- package/database/mongo/module.js.map +1 -1
- package/database/mongo/mongo-entity-repository.d.ts +1 -2
- package/http/client/http-client-request.d.ts +42 -52
- package/http/client/http-client-request.js +3 -0
- package/http/client/http-client-request.js.map +1 -1
- package/http/client/http-client.d.ts +1 -0
- package/http/client/http-client.js +1 -1
- package/http/client/http-client.js.map +1 -1
- package/http/index.d.ts +3 -0
- package/http/index.js +3 -0
- package/http/index.js.map +1 -1
- package/http/server/node/node-http-server.d.ts +0 -1
- package/http/server/node/node-http-server.js +3 -1
- package/http/server/node/node-http-server.js.map +1 -1
- package/image-service/image-service.d.ts +8 -8
- package/lock/mongo/lock.js +1 -1
- package/lock/mongo/lock.js.map +1 -1
- package/lock/mongo/module.d.ts +1 -1
- package/lock/mongo/module.js +1 -1
- package/lock/mongo/module.js.map +1 -1
- package/lock/mongo/mongo-lock-repository.d.ts +1 -1
- package/lock/mongo/provider.js.map +1 -1
- package/mail/clients/nodemailer.mail-client.d.ts +11 -0
- package/mail/clients/nodemailer.mail-client.js +79 -0
- package/mail/clients/nodemailer.mail-client.js.map +1 -0
- package/mail/index.d.ts +8 -0
- package/mail/index.js +25 -0
- package/mail/index.js.map +1 -0
- package/mail/mail-log.repository.d.ts +4 -0
- package/mail/mail-log.repository.js +8 -0
- package/mail/mail-log.repository.js.map +1 -0
- package/mail/mail-template-renderer.provider.d.ts +8 -0
- package/mail/mail-template-renderer.provider.js +60 -0
- package/mail/mail-template-renderer.provider.js.map +1 -0
- package/mail/mail-template.provider.d.ts +4 -0
- package/mail/mail-template.provider.js +7 -0
- package/mail/mail-template.provider.js.map +1 -0
- package/mail/mail-template.renderer.d.ts +10 -0
- package/mail/mail-template.renderer.js +7 -0
- package/mail/mail-template.renderer.js.map +1 -0
- package/mail/mail.client.d.ts +16 -0
- package/mail/mail.client.js +8 -0
- package/mail/mail.client.js.map +1 -0
- package/mail/mail.service.d.ts +17 -0
- package/mail/mail.service.js +82 -0
- package/mail/mail.service.js.map +1 -0
- package/mail/models/index.d.ts +6 -0
- package/mail/models/index.js +23 -0
- package/mail/models/index.js.map +1 -0
- package/mail/models/mail-address.model.d.ts +4 -0
- package/mail/models/mail-address.model.js +3 -0
- package/mail/models/mail-address.model.js.map +1 -0
- package/mail/models/mail-content.model.d.ts +4 -0
- package/mail/models/mail-content.model.js +3 -0
- package/mail/models/mail-content.model.js.map +1 -0
- package/mail/models/mail-data.model.d.ts +20 -0
- package/mail/models/mail-data.model.js +3 -0
- package/mail/models/mail-data.model.js.map +1 -0
- package/mail/models/mail-log.model.d.ts +11 -0
- package/mail/models/mail-log.model.js +3 -0
- package/mail/models/mail-log.model.js.map +1 -0
- package/mail/models/mail-send-result.model.d.ts +7 -0
- package/mail/models/mail-send-result.model.js +3 -0
- package/mail/models/mail-send-result.model.js.map +1 -0
- package/mail/models/mail-template.model.d.ts +11 -0
- package/mail/models/mail-template.model.js +3 -0
- package/mail/models/mail-template.model.js.map +1 -0
- package/mail/module.d.ts +18 -0
- package/mail/module.js +40 -0
- package/mail/module.js.map +1 -0
- package/mail/repositories/mongo-mail-log.repository.d.ts +16 -0
- package/mail/repositories/mongo-mail-log.repository.js +39 -0
- package/mail/repositories/mongo-mail-log.repository.js.map +1 -0
- package/mail/template-providers/file-mail-template.provider.d.ts +24 -0
- package/mail/template-providers/file-mail-template.provider.js +72 -0
- package/mail/template-providers/file-mail-template.provider.js.map +1 -0
- package/mail/template-providers/memory-mail-template.provider.d.ts +8 -0
- package/mail/template-providers/memory-mail-template.provider.js +37 -0
- package/mail/template-providers/memory-mail-template.provider.js.map +1 -0
- package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +11 -0
- package/mail/template-renderers/handlebars.mail-template-renderer.js +34 -0
- package/mail/template-renderers/handlebars.mail-template-renderer.js.map +1 -0
- package/mail/template-renderers/mjml.mail-template-renderer.d.ts +15 -0
- package/mail/template-renderers/mjml.mail-template-renderer.js +62 -0
- package/mail/template-renderers/mjml.mail-template-renderer.js.map +1 -0
- package/mail/tokens.d.ts +5 -0
- package/mail/tokens.js +7 -0
- package/mail/tokens.js.map +1 -0
- package/message-bus/local/local-message-bus-provider.d.ts +1 -1
- package/message-bus/local/local-message-bus-provider.js +1 -1
- package/message-bus/local/local-message-bus-provider.js.map +1 -1
- package/migration/mongo/migration-state-repository.d.ts +1 -1
- package/module/module-metric-reporter.d.ts +7 -2
- package/module/modules/web-server.module.d.ts +1 -3
- package/module/modules/web-server.module.js +4 -10
- package/module/modules/web-server.module.js.map +1 -1
- package/openid-connect/mongo-oidc-state.repository.d.ts +1 -1
- package/package.json +12 -6
- package/promise/deferred-promise.d.ts +5 -0
- package/queue/enqueue-batch.d.ts +1 -2
- package/queue/index.d.ts +1 -0
- package/queue/index.js +1 -0
- package/queue/index.js.map +1 -1
- package/queue/mongo/queue.js +1 -1
- package/queue/mongo/queue.js.map +1 -1
- package/queue/mongo/queue.provider.d.ts +1 -1
- package/queue/mongo/queue.provider.js +1 -1
- package/queue/mongo/queue.provider.js.map +1 -1
- package/schema/schema.validator.d.ts +1 -2
- package/schema/schemas/enumeration.d.ts +4 -5
- package/schema/schemas/object.d.ts +3 -4
- package/schema/schemas/object.js +9 -22
- package/schema/schemas/object.js.map +1 -1
- package/search-index/elastic/config.d.ts +9 -0
- package/search-index/elastic/config.js +29 -0
- package/search-index/elastic/config.js.map +1 -0
- package/search-index/elastic/index.d.ts +1 -0
- package/search-index/elastic/index.js +1 -0
- package/search-index/elastic/index.js.map +1 -1
- package/search-index/elastic/module.d.ts +4 -4
- package/search-index/elastic/module.js +5 -4
- package/search-index/elastic/module.js.map +1 -1
- package/search-index/elastic/search-index.d.ts +1 -6
- package/search-index/elastic/search-index.js.map +1 -1
- package/search-index/memory/memory-search-index.js +6 -4
- package/search-index/memory/memory-search-index.js.map +1 -1
- package/serializer/index.d.ts +1 -1
- package/types.d.ts +2 -0
- package/utils/equals.d.ts +2 -3
- package/utils/function/throttle.d.ts +2 -4
- package/utils/function/throttle.js.map +1 -1
- package/utils/helpers.d.ts +1 -2
- package/utils/patterns.js +1 -1
- package/utils/patterns.js.map +1 -1
- package/utils/timing.d.ts +1 -2
- package/utils/type-guards.d.ts +141 -142
- package/utils/type-guards.js.map +1 -1
- package/http/utils.d.ts +0 -0
- package/http/utils.js +0 -2
- package/http/utils.js.map +0 -1
package/.eslintrc.js
CHANGED
|
@@ -58,7 +58,7 @@ module.exports = {
|
|
|
58
58
|
'array-bracket-newline': ['error', 'consistent'],
|
|
59
59
|
'array-element-newline': ['error', 'consistent'],
|
|
60
60
|
'camelcase': 'off',
|
|
61
|
-
'capitalized-comments':
|
|
61
|
+
'capitalized-comments': "off",
|
|
62
62
|
'class-methods-use-this': 'off',
|
|
63
63
|
'dot-location': ['error', 'property'],
|
|
64
64
|
'eqeqeq': 'off',
|
package/api/client/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { HttpClient } from "../../http/client";
|
|
2
2
|
import type { ApiClientImplementation, ApiDefinition, ApiEndpointDefinition } from '../types';
|
|
3
3
|
export declare type ApiClient<T extends ApiDefinition> = new (httpClient: HttpClient) => ApiClientImplementation<T>;
|
|
4
4
|
export declare type ClientOptions = {
|
package/api/client/client.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.compileClient = exports.apiDefinitionSymbol = exports.httpClientSymbol = void 0;
|
|
4
|
+
const container_1 = require("../../container");
|
|
4
5
|
const client_1 = require("../../http/client");
|
|
5
6
|
const schema_1 = require("../../schema");
|
|
6
7
|
const array_1 = require("../../utils/array");
|
|
@@ -23,6 +24,12 @@ function compileClient(definition, options = {}) {
|
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
}[apiName];
|
|
27
|
+
container_1.container.registerSingleton(api, {
|
|
28
|
+
useFactory: (argument, context) => {
|
|
29
|
+
const httpClient = argument !== null && argument !== void 0 ? argument : context.resolve(client_1.HttpClient);
|
|
30
|
+
return new api(httpClient);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
26
33
|
const endpointsEntries = Object.entries(endpoints);
|
|
27
34
|
const base = path;
|
|
28
35
|
const prefix = (_c = options.prefix) !== null && _c !== void 0 ? _c : 'api/';
|
package/api/client/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../source/api/client/client.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../source/api/client/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import { SchemaError } from "../schema
|
|
1
|
+
import { SchemaError } from "../schema";
|
|
2
2
|
import { ValidationError } from '../error/validation.error';
|
|
3
|
-
declare type SerializedValidationError = {
|
|
3
|
+
export declare type SerializedValidationError = {
|
|
4
4
|
message: string;
|
|
5
5
|
details?: any;
|
|
6
6
|
inner?: SerializedValidationError[];
|
|
7
7
|
};
|
|
8
|
-
declare type SerializedSchemaError = {
|
|
8
|
+
export declare type SerializedSchemaError = {
|
|
9
9
|
message: string;
|
|
10
10
|
details?: any;
|
|
11
11
|
path: string;
|
|
12
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated noop, handlers are registered by default
|
|
15
|
+
*/
|
|
13
16
|
export declare function registerDefaultErrorHandlers(): void;
|
|
14
17
|
export declare function serializeValidationError(error: ValidationError): SerializedValidationError;
|
|
15
18
|
export declare function deserializeValidationError(serializedError: SerializedValidationError): ValidationError;
|
|
16
19
|
export declare function serializeSchemaError(error: SchemaError): SerializedSchemaError;
|
|
17
20
|
export declare function deserializeSchemaError(serializedError: SerializedSchemaError): SchemaError;
|
|
18
|
-
export {};
|
|
@@ -1,25 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.deserializeSchemaError = exports.serializeSchemaError = exports.deserializeValidationError = exports.serializeValidationError = exports.registerDefaultErrorHandlers = void 0;
|
|
4
|
-
const
|
|
5
|
-
const error_1 = require("../error");
|
|
6
|
-
const api_error_1 = require("../error/api.error");
|
|
4
|
+
const schema_1 = require("../schema");
|
|
7
5
|
const validation_error_1 = require("../error/validation.error");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
(0, response_1.registerErrorHandler)(error_1.ForbiddenError, 403, () => undefined, (_, error) => new error_1.ForbiddenError(error.message));
|
|
13
|
-
(0, response_1.registerErrorHandler)(error_1.InvalidTokenError, 401, () => undefined, (_, error) => new error_1.InvalidTokenError(error.message));
|
|
14
|
-
(0, response_1.registerErrorHandler)(error_1.MaxBytesExceededError, 400, () => undefined, (_, error) => new error_1.MaxBytesExceededError(error.message));
|
|
15
|
-
(0, response_1.registerErrorHandler)(error_1.NotFoundError, 404, () => undefined, (_, error) => new error_1.NotFoundError(error.message));
|
|
16
|
-
(0, response_1.registerErrorHandler)(error_1.NotImplementedError, 404, () => undefined, (_, error) => new error_1.NotImplementedError(error.message));
|
|
17
|
-
(0, response_1.registerErrorHandler)(error_1.UnauthorizedError, 401, () => undefined, (_, error) => new error_1.UnauthorizedError(error.message));
|
|
18
|
-
(0, response_1.registerErrorHandler)(error_1.MethodNotAllowedError, 405, () => undefined, (_, error) => new error_1.MethodNotAllowedError(error.message));
|
|
19
|
-
(0, response_1.registerErrorHandler)(error_1.UnsupportedMediaTypeError, 415, () => undefined, (_, error) => new error_1.UnsupportedMediaTypeError(error.message));
|
|
20
|
-
(0, response_1.registerErrorHandler)(validation_error_1.ValidationError, 400, serializeValidationError, deserializeValidationError);
|
|
21
|
-
(0, response_1.registerErrorHandler)(schema_error_1.SchemaError, 400, serializeSchemaError, deserializeSchemaError);
|
|
22
|
-
}
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated noop, handlers are registered by default
|
|
8
|
+
*/
|
|
9
|
+
function registerDefaultErrorHandlers() { }
|
|
23
10
|
exports.registerDefaultErrorHandlers = registerDefaultErrorHandlers;
|
|
24
11
|
function serializeValidationError(error) {
|
|
25
12
|
var _a;
|
|
@@ -45,7 +32,7 @@ function serializeSchemaError(error) {
|
|
|
45
32
|
}
|
|
46
33
|
exports.serializeSchemaError = serializeSchemaError;
|
|
47
34
|
function deserializeSchemaError(serializedError) {
|
|
48
|
-
return new
|
|
35
|
+
return new schema_1.SchemaError(serializedError.message, { details: serializedError.details, path: serializedError.path });
|
|
49
36
|
}
|
|
50
37
|
exports.deserializeSchemaError = deserializeSchemaError;
|
|
51
38
|
//# sourceMappingURL=default-error-handlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-error-handlers.js","sourceRoot":"","sources":["../../source/api/default-error-handlers.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"default-error-handlers.js","sourceRoot":"","sources":["../../source/api/default-error-handlers.ts"],"names":[],"mappings":";;;AAAA,sCAAuC;AACvC,gEAA4D;AAc5D;;GAEG;AACH,SAAgB,4BAA4B,KAAsB,CAAC;AAAnE,oEAAmE;AAEnE,SAAgB,wBAAwB,CAAC,KAAsB;;IAC7D,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,0CAAE,GAAG,CAAC,wBAAwB,CAAC;KAClD,CAAC;AACJ,CAAC;AAND,4DAMC;AAED,SAAgB,0BAA0B,CAAC,eAA0C;;IACnF,MAAM,KAAK,GAAG,MAAA,eAAe,CAAC,KAAK,0CAAE,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACrE,OAAO,IAAI,kCAAe,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnG,CAAC;AAHD,gEAGC;AAED,SAAgB,oBAAoB,CAAC,KAAkB;IACrD,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC;AAND,oDAMC;AAED,SAAgB,sBAAsB,CAAC,eAAsC;IAC3E,OAAO,IAAI,oBAAW,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;AACpH,CAAC;AAFD,wDAEC"}
|
package/api/response.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CustomError, CustomErrorStatic } from '../error';
|
|
2
2
|
import type { UndefinableJson } from '../types';
|
|
3
|
-
declare type ErrorHandlerData = undefined | UndefinableJson;
|
|
3
|
+
export declare type ErrorHandlerData = undefined | UndefinableJson;
|
|
4
4
|
export declare type ErrorSerializer<T extends CustomError, TData extends ErrorHandlerData> = (error: T) => TData;
|
|
5
5
|
export declare type ErrorDeserializer<T extends CustomError, TData extends ErrorHandlerData> = (data: TData, responseError: ResponseError) => T;
|
|
6
6
|
export declare type ErrorHandler<T extends CustomError = CustomError, TData extends ErrorHandlerData = undefined> = {
|
|
@@ -33,4 +33,3 @@ export declare function parseErrorResponse(response: ErrorResponse, fallbackToGe
|
|
|
33
33
|
export declare function isResultResponse<T = any>(response: Response<T> | unknown): response is ResultResponse<T>;
|
|
34
34
|
export declare function isErrorResponse(response: Response<any> | unknown): response is ErrorResponse;
|
|
35
35
|
export declare function isResponse<T = any>(obj: unknown): obj is Response<T>;
|
|
36
|
-
export {};
|
package/api/response.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isResponse = exports.isErrorResponse = exports.isResultResponse = exports.parseErrorResponse = exports.parseResponse = exports.createErrorResponse = exports.createResultResponse = exports.getErrorStatusCode = exports.hasErrorHandler = exports.registerErrorHandler = void 0;
|
|
4
|
-
const
|
|
4
|
+
const schema_error_1 = require("../schema/schema.error");
|
|
5
|
+
const error_1 = require("../error");
|
|
5
6
|
const type_guards_1 = require("../utils/type-guards");
|
|
7
|
+
const default_error_handlers_1 = require("./default-error-handlers");
|
|
6
8
|
const errorHandlers = new Map();
|
|
7
9
|
function registerErrorHandler(constructor, statusCode, serializer, deserializer) {
|
|
8
10
|
if (errorHandlers.has(constructor.errorName)) {
|
|
@@ -90,7 +92,7 @@ function parseErrorResponse(response, fallbackToGenericApiError = true) {
|
|
|
90
92
|
if (!fallbackToGenericApiError) {
|
|
91
93
|
return undefined;
|
|
92
94
|
}
|
|
93
|
-
return new
|
|
95
|
+
return new error_1.ApiError(response);
|
|
94
96
|
}
|
|
95
97
|
exports.parseErrorResponse = parseErrorResponse;
|
|
96
98
|
function isResultResponse(response) {
|
|
@@ -107,4 +109,16 @@ function isResponse(obj) {
|
|
|
107
109
|
return (isResultResponse(obj) || isErrorResponse(obj));
|
|
108
110
|
}
|
|
109
111
|
exports.isResponse = isResponse;
|
|
112
|
+
registerErrorHandler(error_1.ApiError, 400, ({ response }) => response, (response) => new error_1.ApiError(response));
|
|
113
|
+
registerErrorHandler(error_1.BadRequestError, 400, () => undefined, (_, error) => new error_1.BadRequestError(error.message));
|
|
114
|
+
registerErrorHandler(error_1.ForbiddenError, 403, () => undefined, (_, error) => new error_1.ForbiddenError(error.message));
|
|
115
|
+
registerErrorHandler(error_1.InvalidTokenError, 401, () => undefined, (_, error) => new error_1.InvalidTokenError(error.message));
|
|
116
|
+
registerErrorHandler(error_1.MaxBytesExceededError, 400, () => undefined, (_, error) => new error_1.MaxBytesExceededError(error.message));
|
|
117
|
+
registerErrorHandler(error_1.NotFoundError, 404, () => undefined, (_, error) => new error_1.NotFoundError(error.message));
|
|
118
|
+
registerErrorHandler(error_1.NotImplementedError, 404, () => undefined, (_, error) => new error_1.NotImplementedError(error.message));
|
|
119
|
+
registerErrorHandler(error_1.UnauthorizedError, 401, () => undefined, (_, error) => new error_1.UnauthorizedError(error.message));
|
|
120
|
+
registerErrorHandler(error_1.MethodNotAllowedError, 405, () => undefined, (_, error) => new error_1.MethodNotAllowedError(error.message));
|
|
121
|
+
registerErrorHandler(error_1.UnsupportedMediaTypeError, 415, () => undefined, (_, error) => new error_1.UnsupportedMediaTypeError(error.message));
|
|
122
|
+
registerErrorHandler(error_1.ValidationError, 400, default_error_handlers_1.serializeValidationError, default_error_handlers_1.deserializeValidationError);
|
|
123
|
+
registerErrorHandler(schema_error_1.SchemaError, 400, default_error_handlers_1.serializeSchemaError, default_error_handlers_1.deserializeSchemaError);
|
|
110
124
|
//# sourceMappingURL=response.js.map
|
package/api/response.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../source/api/response.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../source/api/response.ts"],"names":[],"mappings":"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"}
|
package/api/server/gateway.d.ts
CHANGED
|
@@ -25,13 +25,17 @@ export declare type GatewayEndpoint = {
|
|
|
25
25
|
definition: ApiEndpointDefinition;
|
|
26
26
|
implementation: ApiEndpointServerImplementation;
|
|
27
27
|
};
|
|
28
|
-
declare type ApiItem = {
|
|
28
|
+
export declare type ApiItem = {
|
|
29
29
|
resource: string;
|
|
30
30
|
pattern: URLPattern;
|
|
31
31
|
endpoints: Map<ApiEndpointMethod, GatewayEndpoint>;
|
|
32
32
|
};
|
|
33
33
|
export declare type EndpointMetadataBodyType = 'none' | 'text' | 'json' | 'buffer' | 'stream';
|
|
34
34
|
export declare type ApiGatewayArgument = ApiGatewayOptions;
|
|
35
|
+
export declare type ApiMetadata = {
|
|
36
|
+
api: ApiItem;
|
|
37
|
+
patternResult: URLPatternResult;
|
|
38
|
+
};
|
|
35
39
|
/**
|
|
36
40
|
* router for {@link ApiTransport} requests to {@link ApiImplementation}
|
|
37
41
|
* @todo error handling (standardized format, serialization etc.)
|
|
@@ -51,12 +55,8 @@ export declare class ApiGateway implements Injectable<ApiGatewayOptions> {
|
|
|
51
55
|
registerApiController(controller: Type<ApiController>): Promise<void>;
|
|
52
56
|
registerApi<T extends ApiDefinition>(definition: ApiDefinition, implementation: ApiControllerImplementation<T>): void;
|
|
53
57
|
handleHttpServerRequestContext({ request, respond }: HttpServerRequestContext): Promise<void>;
|
|
54
|
-
getApiMetadata(resource: URL):
|
|
55
|
-
api: ApiItem;
|
|
56
|
-
patternResult: URLPatternResult;
|
|
57
|
-
};
|
|
58
|
+
getApiMetadata(resource: URL): ApiMetadata;
|
|
58
59
|
private updateMiddleware;
|
|
59
60
|
private middlewareHandler;
|
|
60
61
|
private getBody;
|
|
61
62
|
}
|
|
62
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../source/api/server/gateway.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,+CAA+F;AAC/F,uCAA8E;AAE9E,8CAAmD;AAGnD,yCAAkC;AAClC,yCAAmG;AAEnG,6CAAwC;AACxC,iDAAqD;AAErD,uDAA4D;AAC5D,yDAA0H;AAC1H,+BAA6B;AAE7B,oCAAwC;AAExC,qDAA8D;AAC9D,mDAAiD;AACjD,+CAAuH;
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../source/api/server/gateway.ts"],"names":[],"mappings":"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"}
|
package/api/types.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ export declare type ApiEndpointServerRequestData<T extends ApiDefinition = ApiDe
|
|
|
60
60
|
request: HttpServerRequest;
|
|
61
61
|
};
|
|
62
62
|
export declare type ApiEndpointServerImplementation<T extends ApiDefinition = ApiDefinition, K extends ApiEndpointKeys<T> = ApiEndpointKeys<T>> = (requestData: ApiEndpointServerRequestData<T, K>) => ApiEndpointServerResultType<T, K> | Promise<ApiEndpointServerResultType<T, K>>;
|
|
63
|
-
export declare type ApiEndpointClientImplementation<T extends ApiDefinition = ApiDefinition, K extends ApiEndpointKeys<T> = ApiEndpointKeys<T>> = ApiEndpointBody<T, K> extends never ? (parameters: ApiEndpointParametersOutput<T, K>) => Promise<ApiEndpointClientResultType<T, K>> : (parameters: ApiEndpointParametersOutput<T, K>, body: ApiEndpointBody<T, K>) => Promise<ApiEndpointClientResultType<T, K>>;
|
|
63
|
+
export declare type ApiEndpointClientImplementation<T extends ApiDefinition = ApiDefinition, K extends ApiEndpointKeys<T> = ApiEndpointKeys<T>> = ApiEndpointBody<T, K> extends never ? ApiEndpointParametersOutput<T, K> extends never ? () => Promise<ApiEndpointClientResultType<T, K>> : (parameters: ApiEndpointParametersOutput<T, K>) => Promise<ApiEndpointClientResultType<T, K>> : (parameters: ApiEndpointParametersOutput<T, K>, body: ApiEndpointBody<T, K>) => Promise<ApiEndpointClientResultType<T, K>>;
|
|
64
64
|
export declare type ApiControllerImplementation<T extends ApiDefinition = any> = {
|
|
65
65
|
[P in ApiEndpointKeys<T>]: ApiEndpointServerImplementation<T, P>;
|
|
66
66
|
};
|
|
@@ -68,4 +68,3 @@ export declare type ApiClientImplementation<T extends ApiDefinition = any> = {
|
|
|
68
68
|
[P in ApiEndpointKeys<T>]: ApiEndpointClientImplementation<T, P>;
|
|
69
69
|
};
|
|
70
70
|
export declare function defineApi<T extends ApiDefinition>(definition: T): T;
|
|
71
|
-
export declare function registerApi<T extends ApiDefinition>(definition: T, implementationOrFactory: ApiControllerImplementation<T> | ApiImplementationFactory<T>): void;
|
package/api/types.js
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.defineApi = exports.rootResource = void 0;
|
|
4
4
|
exports.rootResource = '$';
|
|
5
|
-
const registeredApis = new Map();
|
|
6
5
|
function defineApi(definition) {
|
|
7
6
|
return definition;
|
|
8
7
|
}
|
|
9
8
|
exports.defineApi = defineApi;
|
|
10
|
-
function registerApi(definition, implementationOrFactory) {
|
|
11
|
-
registeredApis.set(definition, implementationOrFactory);
|
|
12
|
-
}
|
|
13
|
-
exports.registerApi = registerApi;
|
|
14
9
|
//# sourceMappingURL=types.js.map
|
package/api/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/api/types.ts"],"names":[],"mappings":";;;AAKa,QAAA,YAAY,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/api/types.ts"],"names":[],"mappings":";;;AAKa,QAAA,YAAY,GAAG,GAAG,CAAC;AA2FhC,SAAgB,SAAS,CAA0B,UAAa;IAC9D,OAAO,UAAU,CAAC;AACpB,CAAC;AAFD,8BAEC"}
|
|
@@ -14,6 +14,7 @@ export declare class Application {
|
|
|
14
14
|
static run(): Promise<void>;
|
|
15
15
|
static shutdown(): Promise<void>;
|
|
16
16
|
registerModule(moduleType: Type<Module>): void;
|
|
17
|
+
registerModuleInstance(module: Module): void;
|
|
17
18
|
run(): Promise<void>;
|
|
18
19
|
shutdown(): Promise<void>;
|
|
19
20
|
}
|
|
@@ -39,7 +39,7 @@ let Application = Application_1 = class Application {
|
|
|
39
39
|
Application_1.instance.registerModule(moduleType);
|
|
40
40
|
}
|
|
41
41
|
static registerModuleInstance(module) {
|
|
42
|
-
Application_1.instance.
|
|
42
|
+
Application_1.instance.registerModuleInstance(module);
|
|
43
43
|
}
|
|
44
44
|
static async run() {
|
|
45
45
|
await Application_1.instance.run();
|
|
@@ -50,6 +50,9 @@ let Application = Application_1 = class Application {
|
|
|
50
50
|
registerModule(moduleType) {
|
|
51
51
|
this.moduleTypes.add(moduleType);
|
|
52
52
|
}
|
|
53
|
+
registerModuleInstance(module) {
|
|
54
|
+
this.moduleInstances.add(module);
|
|
55
|
+
}
|
|
53
56
|
async run() {
|
|
54
57
|
const resolvedModules = await (0, async_iterable_helpers_1.toArrayAsync)((0, async_iterable_helpers_1.mapAsync)(this.moduleTypes, async (type) => container_1.container.resolveAsync(type)));
|
|
55
58
|
const modules = [...resolvedModules, ...this.moduleInstances];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../source/application/application.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA+D;AAC/D,kCAA0C;AAE1C,sCAAkC;AAElC,0DAAuF;AACvF,wCAA4C;AAE5C,4EAAwE;AACxE,sDAAkD;AAElD,IAAA,oCAAiB,GAAE,CAAC;AAGpB,IAAa,WAAW,mBAAxB,MAAa,WAAW;IAgBtB,YAA+C,MAAc;QAC3D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,yBAAe,EAAE,CAAC;IAC/C,CAAC;IAnBO,MAAM,KAAK,QAAQ;QACzB,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,CAAC,SAAS,GAAG,qBAAS,CAAC,OAAO,CAAC,aAAW,CAAC,CAAC;SACjD;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAeD,MAAM,CAAC,cAAc,CAAC,UAAwB;QAC5C,aAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,MAAc;QAC1C,aAAW,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../source/application/application.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ export declare enum KeyedSetMode {
|
|
|
2
2
|
Keep = 0,
|
|
3
3
|
Overwrite = 1
|
|
4
4
|
}
|
|
5
|
-
declare type Selector<T> = (value: T) => any;
|
|
5
|
+
export declare type Selector<T> = (value: T) => any;
|
|
6
6
|
export declare class KeyedSet<T> implements Set<T> {
|
|
7
7
|
private readonly selector;
|
|
8
8
|
private readonly mode;
|
|
@@ -20,4 +20,3 @@ export declare class KeyedSet<T> implements Set<T> {
|
|
|
20
20
|
keys(): IterableIterator<T>;
|
|
21
21
|
values(): IterableIterator<T>;
|
|
22
22
|
}
|
|
23
|
-
export {};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './observable-array';
|
|
2
2
|
export * from './observable-collection';
|
|
3
|
+
export * from './observable-collection-base';
|
|
3
4
|
export * from './observable-list';
|
|
5
|
+
export * from './observable-list-base';
|
|
4
6
|
export * from './observable-map';
|
|
5
7
|
export * from './observable-set';
|
|
6
8
|
export * from './observable-sorted-array-list';
|
|
@@ -16,7 +16,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./observable-array"), exports);
|
|
18
18
|
__exportStar(require("./observable-collection"), exports);
|
|
19
|
+
__exportStar(require("./observable-collection-base"), exports);
|
|
19
20
|
__exportStar(require("./observable-list"), exports);
|
|
21
|
+
__exportStar(require("./observable-list-base"), exports);
|
|
20
22
|
__exportStar(require("./observable-map"), exports);
|
|
21
23
|
__exportStar(require("./observable-set"), exports);
|
|
22
24
|
__exportStar(require("./observable-sorted-array-list"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/collections/observable/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,0DAAwC;AACxC,oDAAkC;AAClC,mDAAiC;AACjC,mDAAiC;AACjC,iEAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/collections/observable/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,0DAAwC;AACxC,+DAA6C;AAC7C,oDAAkC;AAClC,yDAAuC;AACvC,mDAAiC;AACjC,mDAAiC;AACjC,iEAA+C"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import type { Observable } from 'rxjs';
|
|
2
|
-
import type { ObservableCollection } from './observable-collection';
|
|
3
|
-
export declare type ObservableCollectionChangeEvent<T> = {
|
|
4
|
-
add?: T[];
|
|
5
|
-
remove?: T[];
|
|
6
|
-
};
|
|
2
|
+
import type { ObservableCollection, ObservableCollectionChangeEvent } from './observable-collection';
|
|
7
3
|
export declare abstract class ObservableCollectionBase<T, TThis extends ObservableCollection<T>> implements ObservableCollection<T> {
|
|
8
4
|
private readonly clearSubject;
|
|
9
5
|
private readonly addSubject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-collection-base.js","sourceRoot":"","sources":["../../../source/collections/observable/observable-collection-base.ts"],"names":[],"mappings":";;;AAAA,8CAA+C;AAE/C,+BAAsC;AACtC,8CAA+G;
|
|
1
|
+
{"version":3,"file":"observable-collection-base.js","sourceRoot":"","sources":["../../../source/collections/observable/observable-collection-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,6 @@ import type { Observable } from 'rxjs';
|
|
|
2
2
|
import type { ObservableCollection } from './observable-collection';
|
|
3
3
|
import { ObservableCollectionBase } from './observable-collection-base';
|
|
4
4
|
import type { ObservableList, ObservableListIndexedChangeEvent, ObservableListIndexedEvent } from './observable-list';
|
|
5
|
-
export declare type ObservableCollectionChangeEvent<T> = {
|
|
6
|
-
add?: T[];
|
|
7
|
-
remove?: T[];
|
|
8
|
-
};
|
|
9
5
|
export declare abstract class ObservableListBase<T, TThis extends ObservableCollection<T>> extends ObservableCollectionBase<T, TThis> implements ObservableList<T> {
|
|
10
6
|
private readonly addAtSubject;
|
|
11
7
|
private readonly removeAtSubject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-list-base.js","sourceRoot":"","sources":["../../../source/collections/observable/observable-list-base.ts"],"names":[],"mappings":";;;AAAA,8CAA+C;AAE/C,+BAAsC;AACtC,8CAA4C;AAE5C,6EAAwE;
|
|
1
|
+
{"version":3,"file":"observable-list-base.js","sourceRoot":"","sources":["../../../source/collections/observable/observable-list-base.ts"],"names":[],"mappings":";;;AAAA,8CAA+C;AAE/C,+BAAsC;AACtC,8CAA4C;AAE5C,6EAAwE;AAGxE,MAAsB,kBAA6D,SAAQ,qDAAkC;IA0B3H;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,YAAY,GAAG,IAAI,cAAO,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,cAAO,EAAE,CAAC;QAErC,IAAI,CAAC,SAAS,GAAG,IAAA,YAAK,EACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAA,eAAG,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAC1D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAA,eAAG,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CACjE,CAAC,IAAI,CAAC,IAAA,iBAAK,GAAE,CAAC,CAAC;IAClB,CAAC;IA9BD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAcD,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAEkB,KAAK;QACtB,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEkB,QAAQ;QACzB,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAES,OAAO,CAAC,MAAuC;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAElD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAES,UAAU,CAAC,MAAuC;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAElD,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CASF;AAnFD,gDAmFC"}
|
package/container/container.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare type RegistrationOptions<T, A = unknown> = {
|
|
|
27
27
|
*/
|
|
28
28
|
argumentIdentityProvider?: Mapper<InjectableArgument<T, A> | undefined>;
|
|
29
29
|
/** function which gets called after a resolve */
|
|
30
|
-
initializer?: (instance: T) => any
|
|
30
|
+
initializer?: (instance: T) => any;
|
|
31
31
|
/** custom metadata */
|
|
32
32
|
metadata?: Record;
|
|
33
33
|
};
|
package/container/container.js
CHANGED
|
@@ -13,6 +13,7 @@ const resolve_chain_1 = require("./resolve-chain");
|
|
|
13
13
|
const resolve_error_1 = require("./resolve.error");
|
|
14
14
|
const token_1 = require("./token");
|
|
15
15
|
const type_info_1 = require("./type-info");
|
|
16
|
+
const utils_1 = require("./utils");
|
|
16
17
|
class Container {
|
|
17
18
|
constructor() {
|
|
18
19
|
this.registrationMap = new Map();
|
|
@@ -155,7 +156,7 @@ class Container {
|
|
|
155
156
|
return registration.instances.get(argumentIdentity);
|
|
156
157
|
}
|
|
157
158
|
if (context.resolving.has([token, argumentIdentity])) {
|
|
158
|
-
throw new resolve_error_1.ResolveError('
|
|
159
|
+
throw new resolve_error_1.ResolveError('Circular dependency to itself detected. Please check your registrations and providers. @forwardRef might be a solution.', chain.truncate(15));
|
|
159
160
|
}
|
|
160
161
|
context.resolving.set([token, argumentIdentity], true);
|
|
161
162
|
let instance;
|
|
@@ -164,6 +165,9 @@ class Container {
|
|
|
164
165
|
if ((0, type_guards_1.isUndefined)(typeInfo)) {
|
|
165
166
|
throw new resolve_error_1.ResolveError(`${registration.provider.useClass.name} is not injectable`, chain);
|
|
166
167
|
}
|
|
168
|
+
if (typeInfo.constructor[utils_1.isStubClass] == true) {
|
|
169
|
+
throw new resolve_error_1.ResolveError(`no provider for ${(0, token_1.getTokenName)(token)} registered`, chain);
|
|
170
|
+
}
|
|
167
171
|
const parameters = typeInfo.parameters.map((metadata) => this.resolveInjection(token, context, typeInfo, metadata, resolveArgument, chain));
|
|
168
172
|
instance = new typeInfo.constructor(...parameters);
|
|
169
173
|
for (const [property, metadata] of Object.entries(typeInfo.properties)) {
|
|
@@ -180,15 +184,16 @@ class Container {
|
|
|
180
184
|
}
|
|
181
185
|
if ((0, provider_1.isFactoryProvider)(registration.provider)) {
|
|
182
186
|
try {
|
|
183
|
-
|
|
187
|
+
const result = registration.provider.useFactory(resolveArgument, this.getResolveContext(context, chain));
|
|
188
|
+
if ((0, type_guards_1.isPromise)(result)) {
|
|
189
|
+
throw new resolve_error_1.ResolveError(`cannot evaluate async factory provider for token ${(0, token_1.getTokenName)(token)} in synchronous resolve, use resolveAsync instead`, chain);
|
|
190
|
+
}
|
|
191
|
+
instance = result;
|
|
184
192
|
}
|
|
185
193
|
catch (error) {
|
|
186
194
|
throw new resolve_error_1.ResolveError('error in factory', chain, error);
|
|
187
195
|
}
|
|
188
196
|
}
|
|
189
|
-
if ((0, provider_1.isAsyncFactoryProvider)(registration.provider)) {
|
|
190
|
-
throw new resolve_error_1.ResolveError(`cannot evaluate async factory provider for token ${(0, token_1.getTokenName)(token)} in synchronous resolve, use resolveAsync instead`, chain);
|
|
191
|
-
}
|
|
192
197
|
if (!(0, provider_1.isTokenProvider)(registration.provider)) {
|
|
193
198
|
if (registration.options.lifecycle == 'resolution') {
|
|
194
199
|
context.instances.set([token, argumentIdentity], instance);
|
|
@@ -252,7 +257,7 @@ class Container {
|
|
|
252
257
|
return registration.instances.get(argumentIdentity);
|
|
253
258
|
}
|
|
254
259
|
if (context.resolving.has([token, argumentIdentity])) {
|
|
255
|
-
throw new resolve_error_1.ResolveError('
|
|
260
|
+
throw new resolve_error_1.ResolveError('Circular dependency to itself detected. Please check your registrations and providers. @forwardRef might be a solution.', chain.truncate(15));
|
|
256
261
|
}
|
|
257
262
|
context.resolving.set([token, argumentIdentity], true);
|
|
258
263
|
let instance;
|
|
@@ -261,6 +266,9 @@ class Container {
|
|
|
261
266
|
if ((0, type_guards_1.isUndefined)(typeInfo)) {
|
|
262
267
|
throw new resolve_error_1.ResolveError(`${registration.provider.useClass.name} is not injectable`, chain);
|
|
263
268
|
}
|
|
269
|
+
if (typeInfo.constructor[utils_1.isStubClass] == true) {
|
|
270
|
+
throw new resolve_error_1.ResolveError(`no provider for ${(0, token_1.getTokenName)(token)} registered`, chain);
|
|
271
|
+
}
|
|
264
272
|
const boxedParameters = await (0, async_iterable_helpers_1.toArrayAsync)((0, async_iterable_helpers_1.mapAsync)(typeInfo.parameters, async (metadata) => this.resolveInjectionAsync(context, typeInfo, metadata, resolveArgument, chain)));
|
|
265
273
|
const parameters = boxedParameters.map((box) => box.resolved);
|
|
266
274
|
instance = new typeInfo.constructor(...parameters);
|
|
@@ -278,15 +286,7 @@ class Container {
|
|
|
278
286
|
}
|
|
279
287
|
if ((0, provider_1.isFactoryProvider)(registration.provider)) {
|
|
280
288
|
try {
|
|
281
|
-
instance = registration.provider.useFactory(resolveArgument, this.getResolveContext(context, chain));
|
|
282
|
-
}
|
|
283
|
-
catch (error) {
|
|
284
|
-
throw new resolve_error_1.ResolveError('error in factory', chain, error);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
if ((0, provider_1.isAsyncFactoryProvider)(registration.provider)) {
|
|
288
|
-
try {
|
|
289
|
-
instance = await registration.provider.useAsyncFactory(resolveArgument, this.getResolveContext(context, chain));
|
|
289
|
+
instance = await registration.provider.useFactory(resolveArgument, this.getResolveContext(context, chain));
|
|
290
290
|
}
|
|
291
291
|
catch (error) {
|
|
292
292
|
throw new resolve_error_1.ResolveError('error in factory', chain, error);
|
|
@@ -325,7 +325,7 @@ class Container {
|
|
|
325
325
|
? (injectToken) => chain.addParameter(typeInfo.constructor, metadata.parameterIndex, injectToken).addToken(injectToken)
|
|
326
326
|
: (injectToken) => chain.addProperty(typeInfo.constructor, metadata.propertyKey, injectToken).addToken(injectToken);
|
|
327
327
|
const injectToken = ((_a = metadata.injectToken) !== null && _a !== void 0 ? _a : metadata.token);
|
|
328
|
-
if ((0, type_guards_1.isDefined)(metadata.injectArgumentMapper)) {
|
|
328
|
+
if ((0, type_guards_1.isDefined)(metadata.injectArgumentMapper) && ((0, type_guards_1.isDefined)(resolveArgument) || (0, type_guards_1.isUndefined)(injectToken))) {
|
|
329
329
|
const mapped = metadata.injectArgumentMapper(resolveArgument);
|
|
330
330
|
if ((0, type_guards_1.isPromise)(mapped)) {
|
|
331
331
|
throw new resolve_error_1.ResolveError(`cannot evaluate async argument mapper for token ${(0, token_1.getTokenName)(token)} in synchronous resolve, use resolveAsync instead`, getChain(injectToken));
|
|
@@ -355,13 +355,13 @@ class Container {
|
|
|
355
355
|
}
|
|
356
356
|
async resolveInjectionAsync(context, typeInfo, metadata, resolveArgument, chain) {
|
|
357
357
|
var _a, _b, _c, _d;
|
|
358
|
-
|
|
358
|
+
const injectToken = ((_a = metadata.injectToken) !== null && _a !== void 0 ? _a : metadata.token);
|
|
359
|
+
if ((0, type_guards_1.isDefined)(metadata.injectArgumentMapper) && ((0, type_guards_1.isDefined)(resolveArgument) || (0, type_guards_1.isUndefined)(injectToken))) {
|
|
359
360
|
return { resolved: metadata.injectArgumentMapper(resolveArgument) };
|
|
360
361
|
}
|
|
361
362
|
const getChain = metadata.type == 'parameter'
|
|
362
|
-
? (
|
|
363
|
-
: (
|
|
364
|
-
const injectToken = ((_a = metadata.injectToken) !== null && _a !== void 0 ? _a : metadata.token);
|
|
363
|
+
? (token) => chain.addParameter(typeInfo.constructor, metadata.parameterIndex, token).addToken(token)
|
|
364
|
+
: (token) => chain.addProperty(typeInfo.constructor, metadata.propertyKey, token).addToken(token);
|
|
365
365
|
const parameterResolveArgument = await ((_c = (_b = metadata.forwardArgumentMapper) === null || _b === void 0 ? void 0 : _b.call(metadata, resolveArgument)) !== null && _c !== void 0 ? _c : (_d = metadata.resolveArgumentProvider) === null || _d === void 0 ? void 0 : _d.call(metadata, this.getResolveContext(context, getChain(injectToken))));
|
|
366
366
|
if ((0, type_guards_1.isDefined)(metadata.forwardRefToken)) {
|
|
367
367
|
const forwardRef = forward_ref_1.ForwardRef.create();
|