@tstdl/base 0.78.0-beta67 → 0.78.0-beta69
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/api/client/client.js +33 -4
- package/api/client/client.js.map +1 -1
- package/api/response.js +2 -2
- package/api/response.js.map +1 -1
- package/api/server/api-controller.js +1 -1
- package/api/server/api-controller.js.map +1 -1
- package/api/server/gateway.d.ts +5 -0
- package/api/server/gateway.js +35 -26
- package/api/server/gateway.js.map +1 -1
- package/api/server/middlewares/allowed-methods.middleware.js +1 -1
- package/api/server/middlewares/allowed-methods.middleware.js.map +1 -1
- package/api/types.d.ts +14 -6
- package/api/types.js.map +1 -1
- package/application/application.d.ts +2 -0
- package/application/application.js +3 -0
- package/application/application.js.map +1 -1
- package/collections/awaitable/awaitable-list.js +7 -7
- package/collections/awaitable/awaitable-list.js.map +1 -1
- package/collections/observable/observable-array.js +1 -1
- package/collections/observable/observable-array.js.map +1 -1
- package/collections/observable/observable-list-base.js +2 -2
- package/collections/observable/observable-list-base.js.map +1 -1
- package/collections/observable/observable-sorted-array-list.js +3 -3
- package/collections/observable/observable-sorted-array-list.js.map +1 -1
- package/collections/sorted-array-list.js +3 -3
- package/collections/sorted-array-list.js.map +1 -1
- package/collections/sorted-map.js +1 -1
- package/collections/sorted-map.js.map +1 -1
- package/container/container.js +19 -21
- package/container/container.js.map +1 -1
- package/container/resolve-chain.d.ts +2 -1
- package/container/resolve-chain.js +6 -2
- package/container/resolve-chain.js.map +1 -1
- package/core.js +1 -1
- package/core.js.map +1 -1
- package/error/max-bytes-exceeded.error.d.ts +1 -0
- package/error/max-bytes-exceeded.error.js +3 -0
- package/error/max-bytes-exceeded.error.js.map +1 -1
- package/error/unsupported-media-type.error.js +1 -1
- package/error/unsupported-media-type.error.js.map +1 -1
- package/examples/api/basic-overview.js +17 -24
- package/examples/api/basic-overview.js.map +1 -1
- package/examples/api/streaming.d.ts +1 -0
- package/examples/api/streaming.js +79 -0
- package/examples/api/streaming.js.map +1 -0
- package/http/client/adapters/undici-http-client.adapter.js +9 -6
- package/http/client/adapters/undici-http-client.adapter.js.map +1 -1
- package/http/client/http-client-request.d.ts +3 -2
- package/http/client/http-client-request.js.map +1 -1
- package/http/client/http-client-response.d.ts +2 -4
- package/http/client/http-client-response.js +3 -0
- package/http/client/http-client-response.js.map +1 -1
- package/http/client/http-client.js +3 -0
- package/http/client/http-client.js.map +1 -1
- package/http/http-body.d.ts +8 -7
- package/http/http-body.js +14 -14
- package/http/http-body.js.map +1 -1
- package/http/http-headers.d.ts +1 -0
- package/http/http-headers.js.map +1 -1
- package/http/server/http-server-request.d.ts +2 -9
- package/http/server/http-server-request.js +0 -26
- package/http/server/http-server-request.js.map +1 -1
- package/http/server/http-server-response.d.ts +4 -4
- package/http/server/node/node-http-server.js +2 -1
- package/http/server/node/node-http-server.js.map +1 -1
- package/http/utils.d.ts +10 -7
- package/http/utils.js +41 -22
- package/http/utils.js.map +1 -1
- package/logger/console/logger.js +1 -1
- package/logger/console/logger.js.map +1 -1
- package/logger/logger.d.ts +2 -2
- package/package.json +2 -2
- package/pdf/pdf.service.d.ts +45 -4
- package/pdf/pdf.service.js +102 -32
- package/pdf/pdf.service.js.map +1 -1
- package/rpc/rpc.js +2 -2
- package/rpc/rpc.js.map +1 -1
- package/schema/constraints/enumeration.js +4 -4
- package/schema/constraints/enumeration.js.map +1 -1
- package/schema/types.d.ts +0 -1
- package/schema/types.js.map +1 -1
- package/serializer/handlers/register.js +2 -1
- package/serializer/handlers/register.js.map +1 -1
- package/serializer/serializer.js +3 -3
- package/serializer/serializer.js.map +1 -1
- package/supports.d.ts +1 -0
- package/supports.js +2 -1
- package/supports.js.map +1 -1
- package/utils/base64.js +3 -2
- package/utils/base64.js.map +1 -1
- package/utils/binary.js +3 -2
- package/utils/binary.js.map +1 -1
- package/utils/compression.d.ts +3 -3
- package/utils/compression.js +3 -2
- package/utils/compression.js.map +1 -1
- package/utils/encoding.d.ts +6 -3
- package/utils/encoding.js +11 -6
- package/utils/encoding.js.map +1 -1
- package/utils/object/merge.js +3 -3
- package/utils/object/merge.js.map +1 -1
- package/utils/object/object.js +3 -3
- package/utils/object/object.js.map +1 -1
- package/utils/stream/finalize-stream.d.ts +1 -0
- package/utils/stream/finalize-stream.js +38 -0
- package/utils/stream/finalize-stream.js.map +1 -0
- package/utils/stream/index.d.ts +2 -1
- package/utils/stream/index.js +2 -1
- package/utils/stream/index.js.map +1 -1
- package/utils/stream/readable-stream-adapter.d.ts +3 -1
- package/utils/stream/readable-stream-adapter.js +4 -1
- package/utils/stream/readable-stream-adapter.js.map +1 -1
- package/utils/stream/size-limited-stream.d.ts +2 -0
- package/utils/stream/size-limited-stream.js +18 -0
- package/utils/stream/size-limited-stream.js.map +1 -0
- package/utils/stream/stream-reader.d.ts +1 -1
- package/utils/stream/stream-reader.js +3 -10
- package/utils/stream/stream-reader.js.map +1 -1
- package/http/client/adapters/got-http-client.adapter.d.ts +0 -10
- package/http/client/adapters/got-http-client.adapter.js +0 -148
- package/http/client/adapters/got-http-client.adapter.js.map +0 -1
- package/utils/stream/async-writable-stream.d.ts +0 -16
- package/utils/stream/async-writable-stream.js +0 -41
- package/utils/stream/async-writable-stream.js.map +0 -1
package/api/client/client.js
CHANGED
|
@@ -35,17 +35,18 @@ function compileClient(definition, options = {}) {
|
|
|
35
35
|
const hasGet = methods.includes('GET');
|
|
36
36
|
const fallbackMethod = methods.filter((method) => method != 'GET')[0] ?? 'GET';
|
|
37
37
|
const apiEndpointFunction = {
|
|
38
|
-
async [name](parameters) {
|
|
38
|
+
async [name](parameters, requestBody) {
|
|
39
39
|
const context = { endpoint };
|
|
40
40
|
const method = (hasGet && (0, type_guards_1.isUndefined)(parameters)) ? 'GET' : fallbackMethod;
|
|
41
41
|
const request = new client_1.HttpClientRequest({
|
|
42
42
|
method,
|
|
43
43
|
url: resource,
|
|
44
44
|
parameters,
|
|
45
|
+
body: getRequestBody(requestBody),
|
|
45
46
|
context
|
|
46
47
|
});
|
|
47
48
|
const response = await this[exports.httpClientSymbol].rawRequest(request);
|
|
48
|
-
return
|
|
49
|
+
return getResponseBody(response, endpoint.result);
|
|
49
50
|
}
|
|
50
51
|
}[name];
|
|
51
52
|
Object.defineProperty(api.prototype, name, {
|
|
@@ -58,10 +59,38 @@ function compileClient(definition, options = {}) {
|
|
|
58
59
|
return api;
|
|
59
60
|
}
|
|
60
61
|
exports.compileClient = compileClient;
|
|
61
|
-
function
|
|
62
|
+
function getRequestBody(body) {
|
|
63
|
+
if ((0, type_guards_1.isUndefined)(body)) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
if ((0, type_guards_1.isUint8Array)(body)) {
|
|
67
|
+
return { buffer: body };
|
|
68
|
+
}
|
|
69
|
+
if ((0, type_guards_1.isReadableStream)(body)) {
|
|
70
|
+
return { stream: body };
|
|
71
|
+
}
|
|
72
|
+
if ((0, type_guards_1.isBlob)(body)) {
|
|
73
|
+
return { blob: body };
|
|
74
|
+
}
|
|
75
|
+
if ((0, type_guards_1.isString)(body)) {
|
|
76
|
+
return { text: body };
|
|
77
|
+
}
|
|
78
|
+
return { json: body };
|
|
79
|
+
}
|
|
80
|
+
async function getResponseBody(response, schema) {
|
|
62
81
|
if ((0, type_guards_1.isUndefined)(schema)) {
|
|
82
|
+
response.close();
|
|
63
83
|
return undefined;
|
|
64
84
|
}
|
|
65
|
-
|
|
85
|
+
const body = response.hasBody
|
|
86
|
+
? (schema == ReadableStream)
|
|
87
|
+
? response.body.readAsBinaryStream()
|
|
88
|
+
: (schema == Uint8Array)
|
|
89
|
+
? await response.body.readAsBuffer()
|
|
90
|
+
: (schema == String)
|
|
91
|
+
? await response.body.readAsText()
|
|
92
|
+
: await response.body.read()
|
|
93
|
+
: undefined;
|
|
94
|
+
return schema_1.Schema.parse(schema, body, { mask: true });
|
|
66
95
|
}
|
|
67
96
|
//# sourceMappingURL=client.js.map
|
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,+CAA6D;AAE7D,8CAA8D;AAC9D,yCAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../source/api/client/client.ts"],"names":[],"mappings":"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"}
|
package/api/response.js
CHANGED
|
@@ -8,7 +8,7 @@ const default_error_handlers_1 = require("./default-error-handlers");
|
|
|
8
8
|
const errorHandlers = new Map();
|
|
9
9
|
function registerErrorHandler(constructor, statusCode, serializer, deserializer) {
|
|
10
10
|
if (errorHandlers.has(constructor.errorName)) {
|
|
11
|
-
throw new Error(`
|
|
11
|
+
throw new Error(`A handler for ${constructor.errorName} already registered.`);
|
|
12
12
|
}
|
|
13
13
|
errorHandlers.set(constructor.errorName, { statusCode, serializer, deserializer });
|
|
14
14
|
}
|
|
@@ -79,7 +79,7 @@ function parseResponse(response) {
|
|
|
79
79
|
if (isErrorResponse(response)) {
|
|
80
80
|
throw parseErrorResponse(response);
|
|
81
81
|
}
|
|
82
|
-
throw new Error('
|
|
82
|
+
throw new Error('Unsupported response.');
|
|
83
83
|
}
|
|
84
84
|
exports.parseResponse = parseResponse;
|
|
85
85
|
function parseErrorResponse(response, fallbackToGenericApiError = true) {
|
package/api/response.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../source/api/response.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAEpD,oCAA4P;AAE5P,sDAAiF;AACjF,qEAA8I;AA6B9I,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkC,CAAC;AAEhE,SAAgB,oBAAoB,CAAwD,WAAiC,EAAE,UAAkB,EAAE,UAAqC,EAAE,YAAyC;IACjO,IAAI,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../source/api/response.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ function isApiController(controller) {
|
|
|
15
15
|
exports.isApiController = isApiController;
|
|
16
16
|
function ensureApiController(controller) {
|
|
17
17
|
if (!isApiController(controller)) {
|
|
18
|
-
throw new Error(`Provided type ${controller?.name} is not a known ApiController. Make sure to use @ApiController decorator
|
|
18
|
+
throw new Error(`Provided type ${controller?.name} is not a known ApiController. Make sure to use @ApiController decorator.`);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
exports.ensureApiController = ensureApiController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-controller.js","sourceRoot":"","sources":["../../../source/api/server/api-controller.ts"],"names":[],"mappings":";;;AAEA,+CAAwC;AAI3B,QAAA,uBAAuB,GAAkB,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEzF,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAsC,CAAC;AAE/E,SAAgB,0BAA0B,CAAC,UAAgB;IACzD,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAChC,OAAO,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;AACnD,CAAC;AAHD,gEAGC;AAED,SAAgB,eAAe,CAAC,UAAgB;IAC9C,OAAO,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC;AAFD,0CAEC;AAED,SAAgB,mBAAmB,CAAC,UAAgB;IAClD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,iBAAkB,UAA+B,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"api-controller.js","sourceRoot":"","sources":["../../../source/api/server/api-controller.ts"],"names":[],"mappings":";;;AAEA,+CAAwC;AAI3B,QAAA,uBAAuB,GAAkB,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEzF,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAsC,CAAC;AAE/E,SAAgB,0BAA0B,CAAC,UAAgB;IACzD,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAChC,OAAO,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;AACnD,CAAC;AAHD,gEAGC;AAED,SAAgB,eAAe,CAAC,UAAgB;IAC9C,OAAO,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC;AAFD,0CAEC;AAED,SAAgB,mBAAmB,CAAC,UAAgB;IAClD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,iBAAkB,UAA+B,EAAE,IAAI,2EAA2E,CAAC,CAAC;KACrJ;AACH,CAAC;AAJD,kDAIC;AAED,SAAgB,aAAa,CAAmC,UAAyB,EAAE,oBAA6D,EAAE;IACxJ,SAAS,sBAAsB,CAAc,WAA2B;QACtE,wBAAwB,CAAC,GAAG,CAAC,WAA6C,EAAE,UAAU,CAAC,CAAC;QACxF,IAAA,qBAAS,EAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,sBAAwC,CAAC;AAClD,CAAC;AAPD,sCAOC;AAED,SAAgB,YAAY,CAA0B,UAAa,EAAE,cAAgC;IACnG,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IACtC,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,GAAG,kBAAkB,eAAe,CAAC;IAErD,MAAM,GAAG,GAAG;QACV,CAAC,OAAO,CAAC,EAAE;SAAS;KACrB,CAAC,OAAO,CAAE,CAAC;IAEZ,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;IAE/B,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE7D,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,qBAAqB,EAAE;QACnD,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE;YACzC,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;KACJ;IAED,OAAO,GAA+C,CAAC;AACzD,CAAC;AAvBD,oCAuBC"}
|
package/api/server/gateway.d.ts
CHANGED
|
@@ -29,6 +29,11 @@ export declare type ApiGatewayOptions = {
|
|
|
29
29
|
supressedErrors?: Type<Error>[];
|
|
30
30
|
/** Cors middleware options */
|
|
31
31
|
cors?: CorsMiddlewareOptions;
|
|
32
|
+
/**
|
|
33
|
+
* Maximum size of request body. Useful to prevent harmful requests.
|
|
34
|
+
* @default 10 MB
|
|
35
|
+
*/
|
|
36
|
+
defaultMaxBytes?: number;
|
|
32
37
|
};
|
|
33
38
|
export declare type GatewayEndpoint = {
|
|
34
39
|
definition: ApiEndpointDefinition;
|
package/api/server/gateway.js
CHANGED
|
@@ -25,6 +25,7 @@ const array_1 = require("../../utils/array");
|
|
|
25
25
|
const middleware_1 = require("../../utils/middleware");
|
|
26
26
|
const throw_1 = require("../../utils/throw");
|
|
27
27
|
const type_guards_1 = require("../../utils/type-guards");
|
|
28
|
+
const units_1 = require("../../utils/units");
|
|
28
29
|
require("urlpattern-polyfill");
|
|
29
30
|
const types_1 = require("../types");
|
|
30
31
|
const utils_1 = require("../utils");
|
|
@@ -32,6 +33,7 @@ const api_controller_1 = require("./api-controller");
|
|
|
32
33
|
const error_handler_1 = require("./error-handler");
|
|
33
34
|
const middlewares_1 = require("./middlewares");
|
|
34
35
|
const tokens_1 = require("./tokens");
|
|
36
|
+
const defaultMaxBytes = 10 * units_1.mebibyte;
|
|
35
37
|
/**
|
|
36
38
|
* router for {@link ApiTransport} requests to {@link ApiImplementation}
|
|
37
39
|
* @todo error handling (standardized format, serialization etc.)
|
|
@@ -68,7 +70,7 @@ let ApiGateway = ApiGateway_1 = class ApiGateway {
|
|
|
68
70
|
const resource = (0, utils_1.getFullApiEndpointResource)({ api: definition, endpoint: endpointDefinition, prefix: this.prefix, explicitVersion: version });
|
|
69
71
|
const methods = (0, type_guards_1.isArray)(endpointDefinition.method) ? endpointDefinition.method : [endpointDefinition.method ?? 'GET'];
|
|
70
72
|
if (methods.length == 0) {
|
|
71
|
-
throw new Error(`No method provided for resource ${resource}
|
|
73
|
+
throw new Error(`No method provided for resource ${resource}.`);
|
|
72
74
|
}
|
|
73
75
|
let resourceApis = this.apis.get(resource);
|
|
74
76
|
if ((0, type_guards_1.isUndefined)(resourceApis)) {
|
|
@@ -89,7 +91,7 @@ let ApiGateway = ApiGateway_1 = class ApiGateway {
|
|
|
89
91
|
};
|
|
90
92
|
this.apis.set(resource, resourceApis);
|
|
91
93
|
}
|
|
92
|
-
const endpointImplementation = implementation[name]?.bind(implementation) ?? (0, throw_1.deferThrow)(new not_implemented_error_1.NotImplementedError(`
|
|
94
|
+
const endpointImplementation = implementation[name]?.bind(implementation) ?? (0, throw_1.deferThrow)(new not_implemented_error_1.NotImplementedError(`Endpoint ${name} for resource ${resource} not implemented.`));
|
|
93
95
|
for (const method of methods) {
|
|
94
96
|
resourceApis.endpoints.set(method, { definition: endpointDefinition, implementation: endpointImplementation });
|
|
95
97
|
}
|
|
@@ -121,21 +123,22 @@ let ApiGateway = ApiGateway_1 = class ApiGateway {
|
|
|
121
123
|
}
|
|
122
124
|
return { api, patternResult: result };
|
|
123
125
|
}
|
|
124
|
-
throw new not_found_error_1.NotFoundError(`
|
|
126
|
+
throw new not_found_error_1.NotFoundError(`Resource ${resource.pathname} not available.`);
|
|
125
127
|
}
|
|
126
128
|
updateMiddleware() {
|
|
127
129
|
const middlewares = [middlewares_1.responseTimeMiddleware, (0, middlewares_1.corsMiddleware)(this.options.cors), middlewares_1.allowedMethodsMiddleware, this.catchErrorMiddleware, ...this.middlewares];
|
|
128
130
|
this.handler = (0, middleware_1.composeAsyncMiddleware)(middlewares, async (request, context) => this.middlewareHandler(request, context));
|
|
129
131
|
}
|
|
130
132
|
async middlewareHandler(request, context) {
|
|
133
|
+
const readBodyOptions = { maxBytes: context.endpoint.definition.maxBytes ?? this.options.defaultMaxBytes ?? defaultMaxBytes };
|
|
131
134
|
const body = (0, type_guards_1.isDefined)(context.endpoint.definition.body)
|
|
132
|
-
? await this.getBody(request, context.endpoint.definition.body)
|
|
135
|
+
? await this.getBody(request, readBodyOptions, context.endpoint.definition.body)
|
|
133
136
|
: undefined;
|
|
134
137
|
const bodyAsParameters = ((0, type_guards_1.isUndefined)(context.endpoint.definition.body) && (request.headers.contentType?.includes('json') == true))
|
|
135
|
-
? await request.
|
|
138
|
+
? await request.body.readAsJson(readBodyOptions)
|
|
136
139
|
: undefined;
|
|
137
140
|
if ((0, type_guards_1.isDefined)(bodyAsParameters) && !(0, type_guards_1.isObject)(bodyAsParameters)) {
|
|
138
|
-
throw new bad_request_error_1.BadRequestError('
|
|
141
|
+
throw new bad_request_error_1.BadRequestError('Expected json object as body.');
|
|
139
142
|
}
|
|
140
143
|
const parameters = { ...request.query.asObject(), ...bodyAsParameters, ...context.resourcePatternResult.pathname.groups };
|
|
141
144
|
const validatedParameters = (0, type_guards_1.isDefined)(context.endpoint.definition.parameters)
|
|
@@ -143,7 +146,7 @@ let ApiGateway = ApiGateway_1 = class ApiGateway {
|
|
|
143
146
|
: parameters;
|
|
144
147
|
const requestData = {
|
|
145
148
|
parameters: validatedParameters,
|
|
146
|
-
body
|
|
149
|
+
body,
|
|
147
150
|
request
|
|
148
151
|
};
|
|
149
152
|
const result = await context.endpoint.implementation(requestData);
|
|
@@ -151,19 +154,34 @@ let ApiGateway = ApiGateway_1 = class ApiGateway {
|
|
|
151
154
|
return result;
|
|
152
155
|
}
|
|
153
156
|
const response = new server_1.HttpServerResponse({
|
|
154
|
-
body: (
|
|
155
|
-
: (
|
|
156
|
-
: {
|
|
157
|
+
body: (context.endpoint.definition.result == String) ? { text: result }
|
|
158
|
+
: (context.endpoint.definition.result == Uint8Array) ? { buffer: result }
|
|
159
|
+
: (context.endpoint.definition.result == ReadableStream) ? { stream: result }
|
|
160
|
+
: { json: result }
|
|
157
161
|
});
|
|
158
162
|
return response;
|
|
159
163
|
}
|
|
160
|
-
async getBody(request, schema) {
|
|
161
|
-
|
|
162
|
-
if (
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
164
|
+
async getBody(request, options, schema) {
|
|
165
|
+
let body;
|
|
166
|
+
if (request.hasBody) {
|
|
167
|
+
if (schema == ReadableStream) {
|
|
168
|
+
body = request.body.readAsBinaryStream(options);
|
|
169
|
+
}
|
|
170
|
+
else if (schema == Uint8Array) {
|
|
171
|
+
body = await request.body.readAsBuffer(options);
|
|
172
|
+
}
|
|
173
|
+
else if (schema == String) {
|
|
174
|
+
body = await request.body.readAsText(options);
|
|
175
|
+
}
|
|
176
|
+
else if (request.headers.contentType?.startsWith('text') == true) {
|
|
177
|
+
body = await request.body.readAsText(options);
|
|
178
|
+
}
|
|
179
|
+
else if (request.headers.contentType?.includes('json') == true) {
|
|
180
|
+
body = await request.body.readAsJson(options);
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
body = await request.body.readAsBuffer(options);
|
|
184
|
+
}
|
|
167
185
|
}
|
|
168
186
|
return schema_1.Schema.parse(schema, body);
|
|
169
187
|
}
|
|
@@ -177,13 +195,4 @@ ApiGateway = ApiGateway_1 = __decorate([
|
|
|
177
195
|
__metadata("design:paramtypes", [logger_1.Logger, Object])
|
|
178
196
|
], ApiGateway);
|
|
179
197
|
exports.ApiGateway = ApiGateway;
|
|
180
|
-
async function getRequestBody(request) {
|
|
181
|
-
if (request.headers.contentType?.startsWith('text') == true) {
|
|
182
|
-
return request.bodyAsText();
|
|
183
|
-
}
|
|
184
|
-
if (request.headers.contentType?.includes('json') == true) {
|
|
185
|
-
return request.bodyAsJson();
|
|
186
|
-
}
|
|
187
|
-
return request.bodyAsBytes();
|
|
188
|
-
}
|
|
189
198
|
//# sourceMappingURL=gateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../source/api/server/gateway.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,+CAA+F;AAC/F,qEAA4D;AAC5D,iEAAwD;AACxD,6EAAoE;AAEpE,8CAAmD;
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../source/api/server/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ const type_guards_1 = require("../../../utils/type-guards");
|
|
|
7
7
|
async function allowedMethodsMiddleware(request, next, context) {
|
|
8
8
|
if (request.method != 'OPTIONS') {
|
|
9
9
|
if ((0, type_guards_1.isUndefined)(context.endpoint)) {
|
|
10
|
-
throw new method_not_allowed_error_1.MethodNotAllowedError(`
|
|
10
|
+
throw new method_not_allowed_error_1.MethodNotAllowedError(`Method ${request.method} for resource ${context.api.resource} not available.`);
|
|
11
11
|
}
|
|
12
12
|
return next(request);
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allowed-methods.middleware.js","sourceRoot":"","sources":["../../../../source/api/server/middlewares/allowed-methods.middleware.ts"],"names":[],"mappings":";;;AAAA,sFAAyE;AAEzE,iDAAmD;AAEnD,4DAAkD;AAG3C,KAAK,UAAU,wBAAwB,CAAC,OAA0B,EAAE,IAAgE,EAAE,OAAoC;IAC/K,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;QAC/B,IAAI,IAAA,yBAAW,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACjC,MAAM,IAAI,gDAAqB,CAAC,UAAU,OAAO,CAAC,MAAM,iBAAiB,OAAO,CAAC,GAAG,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"allowed-methods.middleware.js","sourceRoot":"","sources":["../../../../source/api/server/middlewares/allowed-methods.middleware.ts"],"names":[],"mappings":";;;AAAA,sFAAyE;AAEzE,iDAAmD;AAEnD,4DAAkD;AAG3C,KAAK,UAAU,wBAAwB,CAAC,OAA0B,EAAE,IAAgE,EAAE,OAAoC;IAC/K,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;QAC/B,IAAI,IAAA,yBAAW,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACjC,MAAM,IAAI,gDAAqB,CAAC,UAAU,OAAO,CAAC,MAAM,iBAAiB,OAAO,CAAC,GAAG,CAAC,QAAQ,iBAAiB,CAAC,CAAC;SACjH;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;KACtB;IAED,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElE,OAAO,2BAAkB,CAAC,UAAU,CAAC;QACnC,UAAU,EAAE,GAAG;QACf,aAAa,EAAE,YAAY;QAC3B,OAAO,EAAE;YACP,KAAK,EAAE,YAAY;SACpB;KACF,CAAC,CAAC;AACL,CAAC;AAlBD,4DAkBC"}
|
package/api/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { HttpServerRequest, HttpServerResponse } from "../http/server";
|
|
2
2
|
import type { HttpMethod } from "../http/types";
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
3
|
+
import type { SchemaOutput, SchemaTestable } from "../schema";
|
|
4
|
+
import type { NonUndefinable, OneOrMany, Record, ReturnTypeOrT, UndefinableJson } from "../types";
|
|
5
5
|
import type { ApiGatewayMiddlewareContext } from './server';
|
|
6
6
|
export declare type ApiRegistrationOptions = {
|
|
7
7
|
name?: string;
|
|
@@ -19,8 +19,8 @@ export declare type EndpointRegistrationOptions = {
|
|
|
19
19
|
};
|
|
20
20
|
export declare type ApiEndpointMethod = HttpMethod;
|
|
21
21
|
export declare type ApiEndpointDefinitionParameters = SchemaTestable;
|
|
22
|
-
export declare type ApiEndpointDefinitionBody = SchemaTestable<
|
|
23
|
-
export declare type ApiEndpointDefinitionResult = SchemaTestable;
|
|
22
|
+
export declare type ApiEndpointDefinitionBody = SchemaTestable<UndefinableJson> | typeof String | typeof Uint8Array | typeof ReadableStream;
|
|
23
|
+
export declare type ApiEndpointDefinitionResult = SchemaTestable | typeof String | typeof Uint8Array | typeof ReadableStream;
|
|
24
24
|
export declare type ApiEndpointDataProvider<T> = T | ((request: HttpServerRequest, context: ApiGatewayMiddlewareContext) => T | Promise<T>);
|
|
25
25
|
export declare type ApiEndpointDefinitionCors = {
|
|
26
26
|
accessControlAllowCredentials?: ApiEndpointDataProvider<boolean>;
|
|
@@ -31,6 +31,10 @@ export declare type ApiEndpointDefinitionCors = {
|
|
|
31
31
|
accessControlMaxAge?: ApiEndpointDataProvider<number>;
|
|
32
32
|
};
|
|
33
33
|
export declare type ApiEndpointDefinition = {
|
|
34
|
+
/**
|
|
35
|
+
* Http Method
|
|
36
|
+
* @default GET
|
|
37
|
+
*/
|
|
34
38
|
method?: OneOrMany<ApiEndpointMethod>;
|
|
35
39
|
/**
|
|
36
40
|
* Root resource path. Overwrites default from {@link ApiDefinition}.
|
|
@@ -49,6 +53,10 @@ export declare type ApiEndpointDefinition = {
|
|
|
49
53
|
parameters?: ApiEndpointDefinitionParameters;
|
|
50
54
|
body?: ApiEndpointDefinitionBody;
|
|
51
55
|
result?: ApiEndpointDefinitionResult;
|
|
56
|
+
/**
|
|
57
|
+
* Maximum size of request body. Useful to prevent harmful requests.
|
|
58
|
+
*/
|
|
59
|
+
maxBytes?: number;
|
|
52
60
|
description?: string;
|
|
53
61
|
data?: any;
|
|
54
62
|
cors?: ApiEndpointDefinitionCors;
|
|
@@ -65,7 +73,7 @@ export declare type ApiEndpoint<T extends ApiDefinition, K extends ApiEndpointKe
|
|
|
65
73
|
export declare type ApiEndpointParametersSchema<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = NonUndefinable<ApiEndpoint<T, K>['parameters']>;
|
|
66
74
|
export declare type ApiEndpointBodySchema<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = NonUndefinable<ApiEndpoint<T, K>['body']>;
|
|
67
75
|
export declare type ApiEndpointResultSchema<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = NonUndefinable<ApiEndpoint<T, K>['result']>;
|
|
68
|
-
declare type ApiType<T extends SchemaTestable> = T extends
|
|
76
|
+
declare type ApiType<T extends SchemaTestable> = T extends typeof ReadableStream ? ReadableStream<Uint8Array> : T extends SchemaTestable ? SchemaOutput<T> : never;
|
|
69
77
|
export declare type ApiParameters<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = ApiType<ApiEndpointParametersSchema<T, K>>;
|
|
70
78
|
export declare type ApiBody<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = ApiType<ApiEndpointBodySchema<T, K>>;
|
|
71
79
|
export declare type ApiServerResult<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = ApiType<ApiEndpointResultSchema<T, K>> | HttpServerResponse;
|
|
@@ -76,7 +84,7 @@ export declare type ApiRequestData<T extends ApiDefinition = ApiDefinition, K ex
|
|
|
76
84
|
request: HttpServerRequest;
|
|
77
85
|
};
|
|
78
86
|
export declare type ApiEndpointServerImplementation<T extends ApiDefinition = ApiDefinition, K extends ApiEndpointKeys<T> = ApiEndpointKeys<T>> = (requestData: ApiRequestData<T, K>) => ApiServerResult<T, K> | Promise<ApiServerResult<T, K>>;
|
|
79
|
-
export declare type ApiEndpointClientImplementation<T extends ApiDefinition = ApiDefinition, K extends ApiEndpointKeys<T> = ApiEndpointKeys<T>> = ApiBody<T, K> extends never ? ApiParameters<T, K> extends never ? () => Promise<ApiClientResult<T, K>> : (parameters: ApiParameters<T, K>) => Promise<ApiClientResult<T, K>> : (parameters: ApiParameters<T, K>, body: ApiBody<T, K>) => Promise<ApiClientResult<T, K>>;
|
|
87
|
+
export declare type ApiEndpointClientImplementation<T extends ApiDefinition = ApiDefinition, K extends ApiEndpointKeys<T> = ApiEndpointKeys<T>> = ApiBody<T, K> extends never ? ApiParameters<T, K> extends never ? () => Promise<ApiClientResult<T, K>> : (parameters: ApiParameters<T, K>) => Promise<ApiClientResult<T, K>> : (parameters: ApiParameters<T, K> extends never ? undefined | Record<never, never> : ApiParameters<T, K>, body: ApiBody<T, K>) => Promise<ApiClientResult<T, K>>;
|
|
80
88
|
export declare type ApiController<T extends ApiDefinition = any> = {
|
|
81
89
|
[P in ApiEndpointKeys<T>]: ApiEndpointServerImplementation<T, P>;
|
|
82
90
|
};
|
package/api/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/api/types.ts"],"names":[],"mappings":";;;AAIA,sDAAiD;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/api/types.ts"],"names":[],"mappings":";;;AAIA,sDAAiD;AA0HjD,SAAgB,SAAS,CAA0B,UAAa;IAC9D,OAAO,UAAU,CAAC;AACpB,CAAC;AAFD,8BAEC;AAEM,KAAK,UAAU,8BAA8B,CAAI,OAA0B,EAAE,OAAoC,EAAE,QAAoC;IAC5J,IAAI,IAAA,wBAAU,EAAC,QAAQ,CAAC,EAAE;QACxB,OAAO,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACnC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAND,wEAMC;AAED,SAAgB,gCAAgC,CAAuC,sBAAyB;IAC9G,MAAM,OAAO,GAAG,uCAAuC,CAAC,sBAAsB,CAAC,CAAC;IAChF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAA8B,CAAC;AAClE,CAAC;AAHD,4EAGC;AAED,SAAgB,uCAAuC,CAAuC,aAAgB;IAC5G,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAmC,EAAE,CAAC,CAAC,GAAG,EAAE,IAAA,wBAAU,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAClI,CAAC;AAFD,0FAEC"}
|
|
@@ -2,6 +2,7 @@ import { Logger } from "../logger";
|
|
|
2
2
|
import type { Module } from "../module";
|
|
3
3
|
import type { FunctionModuleFunction } from "../module/modules";
|
|
4
4
|
import type { OneOrMany, Type } from "../types";
|
|
5
|
+
import type { CancellationToken } from "../utils/cancellation-token";
|
|
5
6
|
export declare class Application {
|
|
6
7
|
private static _instance;
|
|
7
8
|
private static get instance();
|
|
@@ -9,6 +10,7 @@ export declare class Application {
|
|
|
9
10
|
private readonly moduleTypes;
|
|
10
11
|
private readonly moduleInstances;
|
|
11
12
|
private readonly shutdownPromise;
|
|
13
|
+
static get shutdownToken(): CancellationToken;
|
|
12
14
|
constructor(logger: Logger);
|
|
13
15
|
static registerModule(moduleType: Type<Module>): void;
|
|
14
16
|
static registerModuleInstance(module: Module): void;
|
|
@@ -37,6 +37,9 @@ let Application = Application_1 = class Application {
|
|
|
37
37
|
}
|
|
38
38
|
return this._instance;
|
|
39
39
|
}
|
|
40
|
+
static get shutdownToken() {
|
|
41
|
+
return process_shutdown_1.shutdownToken;
|
|
42
|
+
}
|
|
40
43
|
static registerModule(moduleType) {
|
|
41
44
|
Application_1.instance.registerModule(moduleType);
|
|
42
45
|
}
|
|
@@ -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,sCAAuC;AAEvC,+CAAkD;AAClD,0DAAuF;AACvF,wCAA4C;AAE5C,4EAAwE;
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../source/application/application.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA+D;AAC/D,kCAA0C;AAE1C,sCAAkC;AAElC,sCAAuC;AAEvC,+CAAkD;AAClD,0DAAuF;AACvF,wCAA4C;AAE5C,4EAAwE;AAExE,sDAAkD;AAElD,IAAA,oCAAiB,GAAE,CAAC;AAGb,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAoBtB,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;IAvBO,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;IAOD,MAAM,KAAK,aAAa;QACtB,OAAO,gCAAa,CAAC;IACvB,CAAC;IAUD,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,CAAC,GAAG,SAA8C;QAChE,MAAM,aAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAC/C,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,CAAC,GAAG,SAA8C;QACzD,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;YAChD,MAAM,MAAM,GAAG,IAAI,wBAAc,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;SACrC;QAED,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;AAvFY,WAAW;IADvB,IAAA,qBAAS,GAAE;IAqBG,WAAA,IAAA,sBAAU,EAAiB,KAAK,CAAC,CAAA;qCAAS,eAAM;GApBlD,WAAW,CAuFvB;AAvFY,kCAAW;AAyFxB,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,CAAC,KAAK,IAAI,oBAAW,CAAC,OAAO,EAAE;YACvC,IAAI,MAAM,IAAI,SAAS,EAAE;gBACvB,MAAM,CAAC,OAAO,CAAC,UAAU,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC;aACzD;YAED,OAAO;SACR;QAED,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"}
|
|
@@ -33,13 +33,13 @@ class AwaitableList {
|
|
|
33
33
|
}
|
|
34
34
|
get(index) {
|
|
35
35
|
if (index >= this.size || index < 0) {
|
|
36
|
-
throw new Error('
|
|
36
|
+
throw new Error('Index out of bounds.');
|
|
37
37
|
}
|
|
38
38
|
return this.backingArray[index];
|
|
39
39
|
}
|
|
40
40
|
set(index, value) {
|
|
41
41
|
if (index >= this.size || index < 0) {
|
|
42
|
-
throw new Error('
|
|
42
|
+
throw new Error('Index out of bounds.');
|
|
43
43
|
}
|
|
44
44
|
const oldValue = this.backingArray[index];
|
|
45
45
|
this.backingArray[index] = value;
|
|
@@ -58,17 +58,17 @@ class AwaitableList {
|
|
|
58
58
|
}
|
|
59
59
|
insert(index, ...items) {
|
|
60
60
|
if (index >= this.size || index < 0) {
|
|
61
|
-
throw new Error('
|
|
61
|
+
throw new Error('Index out of bounds.');
|
|
62
62
|
}
|
|
63
63
|
this.backingArray.splice(index, 0, ...items);
|
|
64
64
|
this._added.next(items);
|
|
65
65
|
}
|
|
66
66
|
remove(index, count = 1) {
|
|
67
67
|
if (index >= this.size || index < 0) {
|
|
68
|
-
throw new Error('
|
|
68
|
+
throw new Error('Index out of bounds.');
|
|
69
69
|
}
|
|
70
70
|
if ((index + count) > this.size) {
|
|
71
|
-
throw new Error('
|
|
71
|
+
throw new Error('Count out of bounds.');
|
|
72
72
|
}
|
|
73
73
|
const removedItems = this.backingArray.splice(index, count);
|
|
74
74
|
this._removed.next(removedItems);
|
|
@@ -76,7 +76,7 @@ class AwaitableList {
|
|
|
76
76
|
}
|
|
77
77
|
pop() {
|
|
78
78
|
if (this.size == 0) {
|
|
79
|
-
throw new Error('
|
|
79
|
+
throw new Error('List contains no items.');
|
|
80
80
|
}
|
|
81
81
|
const result = this.backingArray.pop();
|
|
82
82
|
this._removed.next(result);
|
|
@@ -84,7 +84,7 @@ class AwaitableList {
|
|
|
84
84
|
}
|
|
85
85
|
shift() {
|
|
86
86
|
if (this.size == 0) {
|
|
87
|
-
throw new Error('
|
|
87
|
+
throw new Error('List contains no items.');
|
|
88
88
|
}
|
|
89
89
|
const result = this.backingArray.shift();
|
|
90
90
|
this._removed.next(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awaitable-list.js","sourceRoot":"","sources":["../../../source/collections/awaitable/awaitable-list.ts"],"names":[],"mappings":";;;AAAA,8CAA+C;AAE/C,+BAA+B;AAE/B,MAAa,aAAa;IAmCxB;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,MAAM,GAAG,IAAI,cAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAO,EAAE,CAAC;IAChC,CAAC;IAlCD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAUD,GAAG,CAAC,KAAa;QACf,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"awaitable-list.js","sourceRoot":"","sources":["../../../source/collections/awaitable/awaitable-list.ts"],"names":[],"mappings":";;;AAAA,8CAA+C;AAE/C,+BAA+B;AAE/B,MAAa,aAAa;IAmCxB;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,MAAM,GAAG,IAAI,cAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAO,EAAE,CAAC;IAChC,CAAC;IAlCD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAA,uBAAc,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAUD,GAAG,CAAC,KAAa;QACf,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,KAAQ;QACzB,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAEjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,GAAG,KAAU;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,KAAU;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,GAAG,KAAU;QACjC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,QAAgB,CAAC;QACrC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEjC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,GAAG;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAG,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAG,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9C,CAAC;CACF;AAnID,sCAmIC"}
|
|
@@ -92,7 +92,7 @@ class ObservableArray extends observable_list_base_1.ObservableListBase {
|
|
|
92
92
|
}
|
|
93
93
|
verifyIndexIsInBounds(index) {
|
|
94
94
|
if ((index < 0) || (index > (this.backingArray.length - 1))) {
|
|
95
|
-
throw new Error('
|
|
95
|
+
throw new Error('Index out of bounds.');
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-array.js","sourceRoot":"","sources":["../../../source/collections/observable/observable-array.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"observable-array.js","sourceRoot":"","sources":["../../../source/collections/observable/observable-array.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,10 +40,10 @@ class ObservableListBase extends observable_collection_base_1.ObservableCollecti
|
|
|
40
40
|
return this.removeAt(this.length - 1);
|
|
41
41
|
}
|
|
42
42
|
onAdd() {
|
|
43
|
-
throw new Error(`
|
|
43
|
+
throw new Error(`Use ${this.onAddAt.name}.`);
|
|
44
44
|
}
|
|
45
45
|
onRemove() {
|
|
46
|
-
throw new Error(`
|
|
46
|
+
throw new Error(`Use ${this.onRemoveAt.name}.`);
|
|
47
47
|
}
|
|
48
48
|
onAddAt(events) {
|
|
49
49
|
const values = events.map((event) => event.value);
|
|
@@ -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;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,
|
|
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,GAAG,CAAC,CAAC;IAC/C,CAAC;IAEkB,QAAQ;QACzB,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;IAClD,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"}
|
|
@@ -40,10 +40,10 @@ class ObservableSortedArrayList extends observable_list_base_1.ObservableListBas
|
|
|
40
40
|
return this.backingArray.slice(left, right + 1);
|
|
41
41
|
}
|
|
42
42
|
set(_index, _value) {
|
|
43
|
-
throw new Error('
|
|
43
|
+
throw new Error('Assignment by index not allowed in sorted collections.');
|
|
44
44
|
}
|
|
45
45
|
addAt(_index, ..._values) {
|
|
46
|
-
throw new Error('
|
|
46
|
+
throw new Error('Adding at index not allowed in sorted collections.');
|
|
47
47
|
}
|
|
48
48
|
removeAt(index) {
|
|
49
49
|
this.verifyIndexIsInBounds(index);
|
|
@@ -161,7 +161,7 @@ class ObservableSortedArrayList extends observable_list_base_1.ObservableListBas
|
|
|
161
161
|
}
|
|
162
162
|
verifyIndexIsInBounds(index) {
|
|
163
163
|
if ((index < 0) || (index > (this.backingArray.length - 1))) {
|
|
164
|
-
throw new Error('
|
|
164
|
+
throw new Error('Index out of bounds.');
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
}
|