@tstdl/base 0.71.4 → 0.71.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/.eslintrc.js +1 -1
  2. package/api/client/client.d.ts +1 -1
  3. package/api/client/client.js +7 -0
  4. package/api/client/client.js.map +1 -1
  5. package/api/default-error-handlers.d.ts +6 -4
  6. package/api/default-error-handlers.js +6 -19
  7. package/api/default-error-handlers.js.map +1 -1
  8. package/api/response.d.ts +1 -2
  9. package/api/response.js +16 -2
  10. package/api/response.js.map +1 -1
  11. package/api/server/gateway.d.ts +6 -7
  12. package/api/server/gateway.js.map +1 -1
  13. package/api/types.d.ts +1 -2
  14. package/api/types.js +1 -6
  15. package/api/types.js.map +1 -1
  16. package/application/application.d.ts +3 -0
  17. package/application/application.js +9 -1
  18. package/application/application.js.map +1 -1
  19. package/collections/keyed-set.d.ts +1 -2
  20. package/collections/observable/index.d.ts +2 -0
  21. package/collections/observable/index.js +2 -0
  22. package/collections/observable/index.js.map +1 -1
  23. package/collections/observable/observable-collection-base.d.ts +1 -5
  24. package/collections/observable/observable-collection-base.js.map +1 -1
  25. package/collections/observable/observable-list-base.d.ts +0 -4
  26. package/collections/observable/observable-list-base.js.map +1 -1
  27. package/database/mongo/mongo-entity-repository.d.ts +1 -2
  28. package/http/client/http-client-request.d.ts +42 -52
  29. package/http/client/http-client-request.js +3 -0
  30. package/http/client/http-client-request.js.map +1 -1
  31. package/http/client/http-client.d.ts +1 -0
  32. package/http/client/http-client.js +1 -1
  33. package/http/client/http-client.js.map +1 -1
  34. package/http/index.d.ts +3 -0
  35. package/http/index.js +3 -0
  36. package/http/index.js.map +1 -1
  37. package/http/server/node/node-http-server.d.ts +0 -1
  38. package/http/server/node/node-http-server.js +3 -1
  39. package/http/server/node/node-http-server.js.map +1 -1
  40. package/module/module-metric-reporter.d.ts +7 -2
  41. package/module/modules/web-server.module.d.ts +1 -3
  42. package/module/modules/web-server.module.js +4 -10
  43. package/module/modules/web-server.module.js.map +1 -1
  44. package/package.json +7 -6
  45. package/promise/deferred-promise.d.ts +5 -0
  46. package/queue/enqueue-batch.d.ts +1 -2
  47. package/queue/index.d.ts +1 -0
  48. package/queue/index.js +1 -0
  49. package/queue/index.js.map +1 -1
  50. package/schema/schema.validator.d.ts +1 -2
  51. package/schema/schemas/enumeration.d.ts +4 -5
  52. package/schema/schemas/object.d.ts +3 -4
  53. package/search-index/memory/memory-search-index.js +6 -4
  54. package/search-index/memory/memory-search-index.js.map +1 -1
  55. package/serializer/index.d.ts +1 -1
  56. package/utils/equals.d.ts +2 -3
  57. package/utils/function/throttle.d.ts +2 -4
  58. package/utils/function/throttle.js.map +1 -1
  59. package/utils/helpers.d.ts +1 -2
  60. package/utils/timing.d.ts +1 -2
  61. package/utils/type-guards.d.ts +141 -142
  62. package/utils/type-guards.js.map +1 -1
  63. package/http/utils.d.ts +0 -0
  64. package/http/utils.js +0 -2
  65. 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': ['warn', 'never'],
61
+ 'capitalized-comments': "off",
62
62
  'class-methods-use-this': 'off',
63
63
  'dot-location': ['error', 'property'],
64
64
  'eqeqeq': 'off',
@@ -1,4 +1,4 @@
1
- import type { HttpClient } from "../../http/client";
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 = {
@@ -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/';
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../source/api/client/client.ts"],"names":[],"mappings":"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"}
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/schema.error";
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 schema_error_1 = require("../schema/schema.error");
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
- const response_1 = require("./response");
9
- function registerDefaultErrorHandlers() {
10
- (0, response_1.registerErrorHandler)(api_error_1.ApiError, 400, ({ response }) => response, (response) => new api_error_1.ApiError(response));
11
- (0, response_1.registerErrorHandler)(error_1.BadRequestError, 400, () => undefined, (_, error) => new error_1.BadRequestError(error.message));
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 schema_error_1.SchemaError(serializedError.message, { details: serializedError.details, path: serializedError.path });
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":"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"}
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 api_error_1 = require("../error/api.error");
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 api_error_1.ApiError(response);
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
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../source/api/response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../source/api/response.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ import { Logger } from "../../logger";
7
7
  import type { Type } from "../../types";
8
8
  import type { AsyncMiddleware, AsyncMiddlewareNext } from "../../utils/middleware";
9
9
  import 'urlpattern-polyfill';
10
- import type { URLPattern, URLPatternResult } from 'urlpattern-polyfill/dist';
11
10
  import type { ApiControllerImplementation, ApiDefinition, ApiEndpointDefinition, ApiEndpointMethod, ApiEndpointServerImplementation } from '../types';
12
11
  import type { ApiController } from './api-controller';
13
12
  export declare type ApiGatewayMiddlewareContext = {
@@ -26,13 +25,17 @@ export declare type GatewayEndpoint = {
26
25
  definition: ApiEndpointDefinition;
27
26
  implementation: ApiEndpointServerImplementation;
28
27
  };
29
- declare type ApiItem = {
28
+ export declare type ApiItem = {
30
29
  resource: string;
31
30
  pattern: URLPattern;
32
31
  endpoints: Map<ApiEndpointMethod, GatewayEndpoint>;
33
32
  };
34
33
  export declare type EndpointMetadataBodyType = 'none' | 'text' | 'json' | 'buffer' | 'stream';
35
34
  export declare type ApiGatewayArgument = ApiGatewayOptions;
35
+ export declare type ApiMetadata = {
36
+ api: ApiItem;
37
+ patternResult: URLPatternResult;
38
+ };
36
39
  /**
37
40
  * router for {@link ApiTransport} requests to {@link ApiImplementation}
38
41
  * @todo error handling (standardized format, serialization etc.)
@@ -52,12 +55,8 @@ export declare class ApiGateway implements Injectable<ApiGatewayOptions> {
52
55
  registerApiController(controller: Type<ApiController>): Promise<void>;
53
56
  registerApi<T extends ApiDefinition>(definition: ApiDefinition, implementation: ApiControllerImplementation<T>): void;
54
57
  handleHttpServerRequestContext({ request, respond }: HttpServerRequestContext): Promise<void>;
55
- getApiMetadata(resource: URL): {
56
- api: ApiItem;
57
- patternResult: URLPatternResult;
58
- };
58
+ getApiMetadata(resource: URL): ApiMetadata;
59
59
  private updateMiddleware;
60
60
  private middlewareHandler;
61
61
  private getBody;
62
62
  }
63
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../source/api/server/gateway.ts"],"names":[],"mappings":"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"}
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.registerApi = exports.defineApi = exports.rootResource = void 0;
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;AAmBhC,MAAM,cAAc,GAA+E,IAAI,GAAG,EAAE,CAAC;AAwE7G,SAAgB,SAAS,CAA0B,UAAa;IAC9D,OAAO,UAAU,CAAC;AACpB,CAAC;AAFD,8BAEC;AAED,SAAgB,WAAW,CAA0B,UAAa,EAAE,uBAAqF;IACvJ,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;AAC1D,CAAC;AAFD,kCAEC"}
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"}
@@ -6,12 +6,15 @@ export declare class Application {
6
6
  private static get instance();
7
7
  private readonly logger;
8
8
  private readonly moduleTypes;
9
+ private readonly moduleInstances;
9
10
  private readonly shutdownPromise;
10
11
  constructor(logger: Logger);
11
12
  static registerModule(moduleType: Type<Module>): void;
13
+ static registerModuleInstance(module: Module): void;
12
14
  static run(): Promise<void>;
13
15
  static shutdown(): Promise<void>;
14
16
  registerModule(moduleType: Type<Module>): void;
17
+ registerModuleInstance(module: Module): void;
15
18
  run(): Promise<void>;
16
19
  shutdown(): Promise<void>;
17
20
  }
@@ -26,6 +26,7 @@ let Application = Application_1 = class Application {
26
26
  constructor(logger) {
27
27
  this.logger = logger;
28
28
  this.moduleTypes = new Set();
29
+ this.moduleInstances = new Set();
29
30
  this.shutdownPromise = new promise_1.DeferredPromise();
30
31
  }
31
32
  static get instance() {
@@ -37,6 +38,9 @@ let Application = Application_1 = class Application {
37
38
  static registerModule(moduleType) {
38
39
  Application_1.instance.registerModule(moduleType);
39
40
  }
41
+ static registerModuleInstance(module) {
42
+ Application_1.instance.registerModuleInstance(module);
43
+ }
40
44
  static async run() {
41
45
  await Application_1.instance.run();
42
46
  }
@@ -46,8 +50,12 @@ let Application = Application_1 = class Application {
46
50
  registerModule(moduleType) {
47
51
  this.moduleTypes.add(moduleType);
48
52
  }
53
+ registerModuleInstance(module) {
54
+ this.moduleInstances.add(module);
55
+ }
49
56
  async run() {
50
- const modules = await (0, async_iterable_helpers_1.toArrayAsync)((0, async_iterable_helpers_1.mapAsync)(this.moduleTypes, async (type) => container_1.container.resolveAsync(type)));
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)));
58
+ const modules = [...resolvedModules, ...this.moduleInstances];
51
59
  try {
52
60
  await Promise.race([
53
61
  runModules(modules, this.logger),
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../source/application/application.ts"],"names":[],"mappings":"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"}
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,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG;QACd,MAAM,aAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,MAAM,aAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED,cAAc,CAAC,UAAwB;QACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,sBAAsB,CAAC,MAAc;QACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,eAAe,GAAG,MAAM,IAAA,qCAAY,EAAC,IAAA,iCAAQ,EAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,qBAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrH,MAAM,OAAO,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QAE9D,IAAI;YACF,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;gBAChC,gCAAa;aACd,CAAC,CAAC;SACJ;QACD,OAAO,KAAK,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAc,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;SAC9E;gBACO;YACN,IAAA,kCAAe,GAAE,CAAC;YAElB,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,IAAA,uBAAgB,GAAE,CAAC;YAEzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzB;QAED,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClC,IAAA,kCAAe,GAAE,CAAC;QAClB,MAAM,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;CACF,CAAA;AA9EY,WAAW;IADvB,IAAA,qBAAS,GAAE;IAiBG,WAAA,IAAA,sBAAU,EAAiB,KAAK,CAAC,CAAA;qCAAS,eAAM;GAhBlD,WAAW,CA8EvB;AA9EY,kCAAW;AAgFxB,KAAK,UAAU,UAAU,CAAC,OAAiB,EAAE,MAAe;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAI,MAAM,IAAI,SAAS,EAAE;YACvB,MAAM,CAAC,OAAO,CAAC,mBAAmB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SAClD;QAED,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAiB,EAAE,MAAe;IAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAI,MAAM,IAAI,SAAS,EAAE;YACvB,MAAM,CAAC,OAAO,CAAC,mBAAmB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SAClD;QAED,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAEpB,IAAI,MAAM,IAAI,SAAS,EAAE;YACvB,MAAM,CAAC,OAAO,CAAC,kBAAkB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACjD;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC"}
@@ -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;AAQ/G,MAAsB,wBAAwB;IAsD5C;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,cAAO,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,cAAO,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,cAAO,EAAE,CAAC;QAElC,IAAI,CAAC,OAAO,GAAG,IAAA,YAAK,EAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAA,eAAG,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAA,eAAG,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAC/D,CAAC,IAAI,CAAC,IAAA,iBAAK,GAAE,CAAC,CAAC;QAEhB,IAAI,CAAC,QAAQ,GAAG,IAAA,YAAK,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACnD,IAAA,qBAAS,EAAC,SAAS,CAAC,EACpB,IAAA,eAAG,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EACpB,IAAA,uBAAW,EAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC/C,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC/B,IAAA,eAAG,EAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EACtC,IAAA,gCAAoB,GAAE,EACtB,IAAA,uBAAW,EAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC/C,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC7B,IAAA,kBAAM,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,EAC/B,IAAA,iBAAK,EAAC,SAAS,CAAC,CACjB,CAAC;IACJ,CAAC;IAlED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,gBAAI,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,gBAAI,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IA8BD,IAAI,CAAC,KAAQ;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACvB,IAAA,eAAG,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAC1B,IAAA,gCAAoB,GAAE,CACvB,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,MAAW;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAES,QAAQ,CAAC,MAAW;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAES,OAAO;QACf,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;CAeF;AAlHD,4DAkHC"}
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;AAQxE,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"}
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"}
@@ -6,7 +6,7 @@ import type { Logger } from "../../logger";
6
6
  import type { Collection } from './classes';
7
7
  import { MongoBaseRepository } from './mongo-base.repository';
8
8
  import type { TypedIndexDescription } from './types';
9
- declare type MongoEntityRepositoryOptions<T extends Entity> = {
9
+ export declare type MongoEntityRepositoryOptions<T extends Entity> = {
10
10
  logger: Logger;
11
11
  indexes?: TypedIndexDescription<T>[];
12
12
  };
@@ -96,4 +96,3 @@ export declare class MongoEntityRepository<T extends Entity, TDb extends Entity
96
96
  private transformFilter;
97
97
  private transformPatch;
98
98
  }
99
- export {};
@@ -11,11 +11,37 @@ import { HttpQuery } from '../http-query';
11
11
  import type { HttpUrlParametersObject } from '../http-url-parameters';
12
12
  import { HttpUrlParameters } from '../http-url-parameters';
13
13
  import type { HttpBodyType, HttpMethod } from '../types';
14
- interface HttpClientRequestDocs {
15
- /**
16
- * can be used to cancel the request. Throws HttpError
17
- */
18
- readonly abortToken: ReadonlyCancellationToken;
14
+ /** only one type at a time is supported. If multiple are set, behaviour is undefined */
15
+ export declare type HttpRequestBody = undefined | {
16
+ text?: string;
17
+ json?: UndefinableJson;
18
+ form?: HttpForm;
19
+ buffer?: Uint8Array;
20
+ stream?: AsyncIterable<Uint8Array>;
21
+ };
22
+ export declare type HttpClientRequestOptions<T extends HttpBodyType = HttpBodyType> = Partial<TypedOmit<HttpClientRequest<T>, 'url' | 'method' | 'abortToken' | 'abort' | 'headers' | 'query' | 'body'>> & {
23
+ urlParameter?: HttpUrlParametersObject | HttpUrlParameters;
24
+ headers?: HttpHeadersObject | HttpHeaders;
25
+ query?: HttpQueryObject | HttpQuery;
26
+ body?: undefined | {
27
+ text?: string;
28
+ json?: UndefinableJson;
29
+ form?: HttpFormObject | HttpForm;
30
+ buffer?: Uint8Array;
31
+ stream?: AsyncIterable<Uint8Array>;
32
+ };
33
+ abortToken?: ReadonlyCancellationToken;
34
+ };
35
+ export declare type HttpClientRequestObject<T extends HttpBodyType = HttpBodyType> = HttpClientRequestOptions<T> & {
36
+ url: string;
37
+ method?: HttpMethod;
38
+ };
39
+ export declare type CredentialsOptions = 'omit' | 'same-origin' | 'include';
40
+ export declare class HttpClientRequest<T extends HttpBodyType = HttpBodyType> implements Disposable {
41
+ private readonly _abortToken;
42
+ url: string;
43
+ method: HttpMethod;
44
+ headers: HttpHeaders;
19
45
  /**
20
46
  * automatically maps parameters to `urlParameters`, `query` and `body`
21
47
  * depending on whether the `url` has parameters specified, the request `method`
@@ -25,6 +51,9 @@ interface HttpClientRequestDocs {
25
51
  * @see mapParametersToBody
26
52
  */
27
53
  parameters: UndefinableJsonObject | undefined;
54
+ mapParametersToUrl: boolean;
55
+ mapParametersToQuery: boolean;
56
+ mapParametersToBody: boolean;
28
57
  /**
29
58
  * parameters for url
30
59
  * @example
@@ -57,62 +86,24 @@ interface HttpClientRequestDocs {
57
86
  * // -> http://domain.tld/search?categories=3&categories=8&limit=10
58
87
  */
59
88
  query: HttpQuery;
89
+ body: HttpRequestBody;
90
+ responseType: T;
91
+ credentials: CredentialsOptions;
60
92
  /**
61
93
  * request timeout in milliseconds
62
94
  * @default 30000
63
95
  */
64
- timeout: number | undefined;
96
+ timeout: number;
97
+ throwOnNon200: boolean;
65
98
  /**
66
99
  * can be used to store data for middleware etc.
67
100
  *
68
101
  * will not be used for actual request
69
102
  */
70
103
  context: StringMap;
71
- }
72
- /** only one type at a time is supported. If multiple are set, behaviour is undefined */
73
- export declare type HttpRequestBody = undefined | {
74
- text?: string;
75
- json?: UndefinableJson;
76
- form?: HttpForm;
77
- buffer?: Uint8Array;
78
- stream?: AsyncIterable<Uint8Array>;
79
- };
80
- export declare type HttpClientRequestOptions<T extends HttpBodyType = HttpBodyType> = Partial<TypedOmit<HttpClientRequest<T>, 'url' | 'method' | 'abortToken' | 'abort' | 'headers' | 'query' | 'body'>> & {
81
- urlParameter?: HttpUrlParametersObject | HttpUrlParameters;
82
- headers?: HttpHeadersObject | HttpHeaders;
83
- query?: HttpQueryObject | HttpQuery;
84
- body?: undefined | {
85
- text?: string;
86
- json?: UndefinableJson;
87
- form?: HttpFormObject | HttpForm;
88
- buffer?: Uint8Array;
89
- stream?: AsyncIterable<Uint8Array>;
90
- };
91
- abortToken?: ReadonlyCancellationToken;
92
- };
93
- export declare type HttpClientRequestObject<T extends HttpBodyType = HttpBodyType> = HttpClientRequestOptions<T> & {
94
- url: string;
95
- method?: HttpMethod;
96
- };
97
- export declare type CredentialsOptions = 'omit' | 'same-origin' | 'include';
98
- export declare class HttpClientRequest<T extends HttpBodyType = HttpBodyType> implements HttpClientRequestDocs, Disposable {
99
- private readonly _abortToken;
100
- url: string;
101
- method: HttpMethod;
102
- headers: HttpHeaders;
103
- parameters: UndefinableJsonObject | undefined;
104
- mapParametersToUrl: boolean;
105
- mapParametersToQuery: boolean;
106
- mapParametersToBody: boolean;
107
- urlParameters: HttpUrlParameters;
108
- urlParametersSeparator: string;
109
- query: HttpQuery;
110
- body: HttpRequestBody;
111
- responseType: T;
112
- credentials: CredentialsOptions;
113
- timeout: number;
114
- throwOnNon200: boolean;
115
- context: StringMap;
104
+ /**
105
+ * can be used to cancel the request. Throws HttpError
106
+ */
116
107
  get abortToken(): ReadonlyCancellationToken;
117
108
  constructor(url: string, method?: HttpMethod, options?: HttpClientRequestOptions<T>);
118
109
  constructor(requestObject: HttpClientRequestObject<T>);
@@ -122,4 +113,3 @@ export declare class HttpClientRequest<T extends HttpBodyType = HttpBodyType> im
122
113
  clone(): HttpClientRequest<T>;
123
114
  asObject(): HttpClientRequestObject<T>;
124
115
  }
125
- export {};