@tstdl/base 0.78.0-beta50 → 0.78.0-beta53

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.
@@ -62,6 +62,6 @@ function getBody(response, schema) {
62
62
  if ((0, type_guards_1.isUndefined)(schema)) {
63
63
  return undefined;
64
64
  }
65
- return schema_1.Schema.parse(schema, response.body);
65
+ return schema_1.Schema.parse(schema, response.body, { mask: true });
66
66
  }
67
67
  //# sourceMappingURL=client.js.map
@@ -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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"}
@@ -8,6 +8,7 @@ import type { Type } from "../../types";
8
8
  import type { AsyncMiddleware, AsyncMiddlewareNext } from "../../utils/middleware";
9
9
  import 'urlpattern-polyfill';
10
10
  import type { ApiController, ApiDefinition, ApiEndpointDefinition, ApiEndpointMethod, ApiEndpointServerImplementation } from '../types';
11
+ import type { CorsMiddlewareOptions } from './middlewares';
11
12
  export declare type ApiGatewayMiddlewareContext = {
12
13
  api: ApiItem;
13
14
  /** can be undefined if used before allowedMethods middleware */
@@ -17,12 +18,17 @@ export declare type ApiGatewayMiddlewareContext = {
17
18
  export declare type ApiGatewayMiddlewareNext = AsyncMiddlewareNext<HttpServerRequest, HttpServerResponse>;
18
19
  export declare type ApiGatewayMiddleware = AsyncMiddleware<HttpServerRequest, HttpServerResponse, ApiGatewayMiddlewareContext>;
19
20
  export declare type ApiGatewayOptions = {
20
- /** default: api/ */
21
+ /**
22
+ * Api prefix
23
+ * @default api/
24
+ */
21
25
  prefix?: string;
22
- /** initial middlewares */
26
+ /** Initial middlewares */
23
27
  middlewares?: ApiGatewayMiddleware[];
24
- /** errors to supress in log output */
28
+ /** Errors to supress in log output */
25
29
  supressedErrors?: Type<Error>[];
30
+ /** Cors middleware options */
31
+ cors?: CorsMiddlewareOptions;
26
32
  };
27
33
  export declare type GatewayEndpoint = {
28
34
  definition: ApiEndpointDefinition;
@@ -50,6 +56,7 @@ export declare class ApiGateway implements Injectable<ApiGatewayOptions> {
50
56
  private readonly middlewares;
51
57
  private readonly supressedErrors;
52
58
  private readonly catchErrorMiddleware;
59
+ private readonly options;
53
60
  private handler;
54
61
  readonly [resolveArgumentType]: ApiGatewayOptions;
55
62
  constructor(logger: Logger, options?: ApiGatewayOptions);
@@ -35,12 +35,13 @@ const tokens_1 = require("./tokens");
35
35
  * @todo error handling (standardized format, serialization etc.)
36
36
  */
37
37
  let ApiGateway = ApiGateway_1 = class ApiGateway {
38
- constructor(logger, options) {
38
+ constructor(logger, options = {}) {
39
39
  this.logger = logger;
40
- this.prefix = options?.prefix ?? 'api/';
40
+ this.options = options;
41
+ this.prefix = options.prefix ?? 'api/';
41
42
  this.apis = new Map();
42
- this.middlewares = options?.middlewares ?? [];
43
- this.supressedErrors = new Set(options?.supressedErrors);
43
+ this.middlewares = options.middlewares ?? [];
44
+ this.supressedErrors = new Set(options.supressedErrors);
44
45
  this.catchErrorMiddleware = (0, middlewares_1.catchErrorMiddleware)(this.supressedErrors, logger);
45
46
  this.updateMiddleware();
46
47
  }
@@ -71,7 +72,7 @@ let ApiGateway = ApiGateway_1 = class ApiGateway {
71
72
  if ((0, type_guards_1.isUndefined)(resourceApis)) {
72
73
  resourceApis = {
73
74
  resource,
74
- pattern: new (globalThis.URLPattern)({
75
+ pattern: new URLPattern({
75
76
  pathname: resource,
76
77
  baseURL: 'http://localhost',
77
78
  username: '*',
@@ -121,7 +122,7 @@ let ApiGateway = ApiGateway_1 = class ApiGateway {
121
122
  throw new error_1.NotFoundError(`resource ${resource.pathname} not available`);
122
123
  }
123
124
  updateMiddleware() {
124
- const middlewares = [middlewares_1.responseTimeMiddleware, middlewares_1.corsMiddleware, middlewares_1.allowedMethodsMiddleware, this.catchErrorMiddleware, ...this.middlewares];
125
+ const middlewares = [middlewares_1.responseTimeMiddleware, (0, middlewares_1.corsMiddleware)(this.options.cors), middlewares_1.allowedMethodsMiddleware, this.catchErrorMiddleware, ...this.middlewares];
125
126
  this.handler = (0, middleware_1.composeAsyncMiddleware)(middlewares, async (request, context) => this.middlewareHandler(request, context));
126
127
  }
127
128
  async middlewareHandler(request, context) {
@@ -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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"}
@@ -1,4 +1,6 @@
1
- import type { HttpServerRequest, HttpServerResponse } from "../../../http/server";
2
- import type { AsyncMiddlewareNext } from "../../../utils/middleware";
3
- import type { ApiGatewayMiddlewareContext } from '../gateway';
4
- export declare function corsMiddleware(request: HttpServerRequest, next: AsyncMiddlewareNext<HttpServerRequest, HttpServerResponse>, context: ApiGatewayMiddlewareContext): Promise<HttpServerResponse>;
1
+ import type { ApiEndpointDefinitionCors } from "../../types";
2
+ import type { ApiGatewayMiddleware } from '../gateway';
3
+ export declare type CorsMiddlewareOptions = {
4
+ default?: ApiEndpointDefinitionCors;
5
+ };
6
+ export declare function corsMiddleware(options?: CorsMiddlewareOptions): ApiGatewayMiddleware;
@@ -3,39 +3,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.corsMiddleware = void 0;
4
4
  const types_1 = require("../../types");
5
5
  const type_guards_1 = require("../../../utils/type-guards");
6
- // eslint-disable-next-line max-statements
7
- async function corsMiddleware(request, next, context) {
8
- const response = await next(request);
9
- const requestMethod = request.headers.tryGetSingle('Access-Control-Request-Method') ?? request.method;
10
- const cors = context.api.endpoints.get(requestMethod)?.definition.cors;
11
- if ((0, type_guards_1.isUndefined)(cors)) {
12
- return response;
13
- }
14
- if (request.method == 'OPTIONS') {
15
- const allowMethods = (await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowMethods)) ?? [...context.api.endpoints.keys()].join(', ');
16
- const allowCredentials = (0, type_guards_1.isDefined)(cors.accessControlAllowCredentials) && (await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowCredentials));
17
- response.headers.setIfMissing('Access-Control-Allow-Methods', allowMethods);
18
- if (allowCredentials) {
19
- response.headers.setIfMissing('Access-Control-Allow-Credentials', 'true');
20
- }
21
- if ((0, type_guards_1.isDefined)(cors.accessControlAllowHeaders)) {
22
- const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowHeaders);
23
- response.headers.setIfMissing('Access-Control-Allow-Headers', value);
6
+ function corsMiddleware(options = {}) {
7
+ // eslint-disable-next-line max-statements, @typescript-eslint/no-shadow
8
+ async function corsMiddleware(request, next, context) {
9
+ const response = await next(request);
10
+ const requestMethod = request.headers.tryGetSingle('Access-Control-Request-Method') ?? request.method;
11
+ const cors = { ...options.default, ...context.api.endpoints.get(requestMethod)?.definition.cors };
12
+ if (request.method == 'OPTIONS') {
13
+ const allowMethods = (await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowMethods)) ?? [...context.api.endpoints.keys()].join(', ');
14
+ const allowCredentials = (0, type_guards_1.isDefined)(cors.accessControlAllowCredentials) && (await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowCredentials));
15
+ response.headers.setIfMissing('Access-Control-Allow-Methods', allowMethods);
16
+ if (allowCredentials) {
17
+ response.headers.setIfMissing('Access-Control-Allow-Credentials', 'true');
18
+ }
19
+ if ((0, type_guards_1.isDefined)(cors.accessControlAllowHeaders)) {
20
+ const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowHeaders);
21
+ response.headers.setIfMissing('Access-Control-Allow-Headers', value);
22
+ }
23
+ if ((0, type_guards_1.isDefined)(cors.accessControlExposeHeaders)) {
24
+ const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlExposeHeaders);
25
+ response.headers.setIfMissing('Access-Control-Expose-Headers', value);
26
+ }
27
+ if ((0, type_guards_1.isDefined)(cors.accessControlMaxAge)) {
28
+ const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlMaxAge);
29
+ response.headers.setIfMissing('Access-Control-Max-Age', value);
30
+ }
24
31
  }
25
- if ((0, type_guards_1.isDefined)(cors.accessControlExposeHeaders)) {
26
- const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlExposeHeaders);
27
- response.headers.setIfMissing('Access-Control-Expose-Headers', value);
32
+ if ((0, type_guards_1.isDefined)(cors.accessControlAllowOrigin)) {
33
+ const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowOrigin);
34
+ response.headers.setIfMissing('Access-Control-Allow-Origin', value);
28
35
  }
29
- if ((0, type_guards_1.isDefined)(cors.accessControlMaxAge)) {
30
- const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlMaxAge);
31
- response.headers.setIfMissing('Access-Control-Max-Age', value);
32
- }
33
- }
34
- if ((0, type_guards_1.isDefined)(cors.accessControlAllowOrigin)) {
35
- const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowOrigin);
36
- response.headers.setIfMissing('Access-Control-Allow-Origin', value);
36
+ return response;
37
37
  }
38
- return response;
38
+ return corsMiddleware;
39
39
  }
40
40
  exports.corsMiddleware = corsMiddleware;
41
41
  //# sourceMappingURL=cors.middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cors.middleware.js","sourceRoot":"","sources":["../../../../source/api/server/middlewares/cors.middleware.ts"],"names":[],"mappings":";;;AACA,uCAA6D;AAG7D,4DAA6D;AAG7D,0CAA0C;AACnC,KAAK,UAAU,cAAc,CAAC,OAA0B,EAAE,IAAgE,EAAE,OAAoC;IACrK,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;IAErC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC;IACtG,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,aAAkC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IAE5F,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,EAAE;QACrB,OAAO,QAAQ,CAAC;KACjB;IAED,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;QAC/B,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9J,MAAM,gBAAgB,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAEvK,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;QAE5E,IAAI,gBAAgB,EAAE;YACpB,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;SAC3E;QAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE;YAC7C,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACrG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;SACtE;QAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE;YAC9C,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;SACvE;QAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACvC,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC/F,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;SAChE;KACF;IAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;QAC5C,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACpG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;KACrE;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AA1CD,wCA0CC"}
1
+ {"version":3,"file":"cors.middleware.js","sourceRoot":"","sources":["../../../../source/api/server/middlewares/cors.middleware.ts"],"names":[],"mappings":";;;AACA,uCAA6D;AAG7D,4DAAgD;AAOhD,SAAgB,cAAc,CAAC,UAAiC,EAAE;IAChE,wEAAwE;IACxE,KAAK,UAAU,cAAc,CAAC,OAA0B,EAAE,IAAgE,EAAE,OAAoC;QAC9J,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC;QACtG,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,aAAkC,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;QAEvH,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;YAC/B,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9J,MAAM,gBAAgB,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAEvK,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;YAE5E,IAAI,gBAAgB,EAAE;gBACpB,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;aAC3E;YAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE;gBAC7C,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBACrG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;aACtE;YAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE;gBAC9C,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACtG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;aACvE;YAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;gBACvC,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC/F,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;aAChE;SACF;QAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;YAC5C,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACpG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;SACrE;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AA3CD,wCA2CC"}
@@ -4,10 +4,24 @@ const pdf_1 = require("../../../pdf");
4
4
  const file_template_resolver_1 = require("../../../templates/resolvers/file.template-resolver");
5
5
  const string_template_resolver_1 = require("../../../templates/resolvers/string.template-resolver");
6
6
  const path_1 = require("path");
7
+ function reverse(value) {
8
+ return value.split('').reverse().join('');
9
+ }
7
10
  const template = (0, pdf_1.pdfTemplate)({
8
11
  body: (0, file_template_resolver_1.fileTemplateField)({
9
12
  renderer: 'handlebars',
10
- templateFile: (0, path_1.resolve)(__dirname.replace('dist', 'source'), 'hello-name.hbs')
13
+ templateFile: (0, path_1.resolve)(__dirname.replace('dist', 'source'), 'hello-name.hbs'),
14
+ options: {
15
+ partials: {
16
+ sometext: (0, string_template_resolver_1.stringTemplateField)({
17
+ renderer: 'handlebars',
18
+ template: '{{ reverse "Hallo Welt!" }}',
19
+ options: {
20
+ helpers: { reverse }
21
+ }
22
+ })
23
+ }
24
+ }
11
25
  }),
12
26
  header: (0, string_template_resolver_1.stringTemplateField)({
13
27
  renderer: 'string',
@@ -1 +1 @@
1
- {"version":3,"file":"hello-name.js","sourceRoot":"","sources":["../../../../source/examples/pdf/templates/hello-name.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AAGpC,gGAAiF;AACjF,oGAAqF;AACrF,+BAA+B;AAE/B,MAAM,QAAQ,GAAG,IAAA,iBAAW,EAAC;IAC3B,IAAI,EAAE,IAAA,0CAAiB,EAA6B;QAClD,QAAQ,EAAE,YAAY;QACtB,YAAY,EAAE,IAAA,cAAO,EAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAC;KAC7E,CAAC;IACF,MAAM,EAAE,IAAA,8CAAmB,EAAyB;QAClD,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,uBAAuB;KAClC,CAAC;IACF,MAAM,EAAE,IAAA,8CAAmB,EAAyB;QAClD,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,uBAAuB;KAClC,CAAC;CACH,CAAC,CAAC;AAEH,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"hello-name.js","sourceRoot":"","sources":["../../../../source/examples/pdf/templates/hello-name.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AAGpC,gGAAiF;AACjF,oGAAqF;AACrF,+BAA+B;AAE/B,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAQ,KAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,QAAQ,GAAG,IAAA,iBAAW,EAAC;IAC3B,IAAI,EAAE,IAAA,0CAAiB,EAA6B;QAClD,QAAQ,EAAE,YAAY;QACtB,YAAY,EAAE,IAAA,cAAO,EAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5E,OAAO,EAAE;YACP,QAAQ,EAAE;gBACR,QAAQ,EAAE,IAAA,8CAAmB,EAA6B;oBACxD,QAAQ,EAAE,YAAY;oBACtB,QAAQ,EAAE,6BAA6B;oBACvC,OAAO,EAAE;wBACP,OAAO,EAAE,EAAE,OAAO,EAAE;qBACrB;iBACF,CAAC;aACH;SACF;KACF,CAAC;IACF,MAAM,EAAE,IAAA,8CAAmB,EAAyB;QAClD,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,uBAAuB;KAClC,CAAC;IACF,MAAM,EAAE,IAAA,8CAAmB,EAAyB;QAClD,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,uBAAuB;KAClC,CAAC;CACH,CAAC,CAAC;AAEH,kBAAe,QAAQ,CAAC"}
@@ -55,7 +55,7 @@ class HttpValueMap {
55
55
  this.remove(key);
56
56
  return;
57
57
  }
58
- this.map.set(this.normalizeKey(key), { value: (0, types_1.denormalizeHttpValue)(value), actualKey: key });
58
+ this.map.set(this.normalizeKey(key), { actualKey: key, value: (0, types_1.denormalizeHttpValue)(value) });
59
59
  }
60
60
  /** set entry if missing */
61
61
  setIfMissing(key, value) {
@@ -99,7 +99,7 @@ class HttpValueMap {
99
99
  }
100
100
  }
101
101
  *[Symbol.iterator]() {
102
- for (const [, { value, actualKey }] of this.map) {
102
+ for (const [, { actualKey, value }] of this.map) {
103
103
  yield [actualKey, value];
104
104
  }
105
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http-value-map.js","sourceRoot":"","sources":["../../source/http/http-value-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-value-map.js","sourceRoot":"","sources":["../../source/http/http-value-map.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tstdl/base",
3
- "version": "0.78.0-beta50",
3
+ "version": "0.78.0-beta53",
4
4
  "author": "Patrick Hein",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -39,18 +39,18 @@
39
39
  "peerDependencies": {
40
40
  "@elastic/elasticsearch": "^8.4",
41
41
  "@koa/router": "^12.0",
42
- "@tstdl/angular": "^0.11.0-beta50",
42
+ "@tstdl/angular": "^0.11.0-beta53",
43
43
  "chroma-js": "^2.4",
44
- "got": "^12.3",
44
+ "got": "^12.4",
45
45
  "handlebars": "^4.7",
46
46
  "koa": "^2.13",
47
47
  "minio": "^7.0",
48
48
  "mjml": "^4.13",
49
49
  "mongodb": "4.9",
50
50
  "nodemailer": "^6.7",
51
- "puppeteer": "^17.0",
51
+ "puppeteer": "^17.1",
52
52
  "undici": "^5.10",
53
- "urlpattern-polyfill": "^4.0"
53
+ "urlpattern-polyfill": "^5.0"
54
54
  },
55
55
  "peerDependenciesMeta": {
56
56
  "@tstdl/angular": {
@@ -31,27 +31,25 @@ let HandlebarsTemplateRenderer = class HandlebarsTemplateRenderer extends templa
31
31
  const renderer = await this.compileHandlebarsTemplate(renderObject);
32
32
  return renderer(context);
33
33
  }
34
- async _compileHandlebarsTemplate({ template, options = {} }) {
34
+ async _compileHandlebarsTemplate(renderObject) {
35
+ const { template, options = {} } = renderObject;
36
+ const allHelpers = getAllPartialHelpersDeep(renderObject);
35
37
  const renderer = handlebars.compile(template, {
36
38
  strict: options.strict ?? true,
37
39
  preventIndent: options.preventIndent,
38
- knownHelpers: (0, type_guards_1.isDefined)(options.helpers) ? (0, object_1.mapObjectValues)(options.helpers, () => true) : undefined,
40
+ knownHelpers: (0, type_guards_1.isDefined)(allHelpers) ? (0, object_1.mapObjectValues)(allHelpers, () => true) : undefined,
39
41
  knownHelpersOnly: true
40
42
  });
41
- const wrappedHelpers = (0, type_guards_1.isDefined)(options.helpers) ? (0, object_1.mapObjectValues)(options.helpers, wrapHandlebarsTemplateHelper) : undefined;
43
+ const wrappedHelpers = (0, type_guards_1.isDefined)(allHelpers) ? (0, object_1.mapObjectValues)(allHelpers, wrapHandlebarsTemplateHelper) : undefined;
42
44
  const normalizedPartials = (0, type_guards_1.isDefined)(options.partials) ? await (0, object_1.mapObjectValuesAsync)(options.partials, async (partial) => this.normalizePartial(partial)) : undefined;
43
45
  return (context, runtimeOptions) => renderer(context, { helpers: wrappedHelpers, partials: normalizedPartials, ...runtimeOptions });
44
46
  }
45
47
  async normalizePartial(partial) {
46
- if ((0, type_guards_1.isString)(partial)) {
47
- return this.compileHandlebarsTemplate({ renderer: 'handlebars', template: partial });
48
- }
49
- if ((0, type_guards_1.isFunction)(partial)) {
48
+ if ((0, type_guards_1.isString)(partial) || (0, type_guards_1.isFunction)(partial)) {
50
49
  return partial;
51
50
  }
52
51
  const resolver = this.templateResolverProvider.get(partial.resolver);
53
- const template = await resolver.resolve(partial);
54
- return this.compileHandlebarsTemplate({ renderer: 'handlebars', template, options: partial.options });
52
+ return resolver.resolve(partial);
55
53
  }
56
54
  };
57
55
  HandlebarsTemplateRenderer = __decorate([
@@ -60,11 +58,36 @@ HandlebarsTemplateRenderer = __decorate([
60
58
  ], HandlebarsTemplateRenderer);
61
59
  exports.HandlebarsTemplateRenderer = HandlebarsTemplateRenderer;
62
60
  function _wrapHandlebarsTemplateHelper(helper) {
63
- function wrapper(context, ...argsAndOptions) {
64
- const args = argsAndOptions.slice(0, -1);
65
- const options = argsAndOptions[argsAndOptions.length - 1];
66
- helper(context, args, options);
67
- }
61
+ const wrapperName = `wrapped${helper.name.slice(0, 1).toUpperCase()}${helper.name.slice(1)}`;
62
+ const wrapper = {
63
+ [wrapperName](context, ...argsAndOptions) {
64
+ const args = argsAndOptions.slice(0, -1);
65
+ const options = argsAndOptions[argsAndOptions.length - 1];
66
+ return helper(context, args, options);
67
+ }
68
+ }[wrapperName];
68
69
  return wrapper;
69
70
  }
71
+ function getAllPartialHelpersDeep(field) {
72
+ const allHelpers = getPartialHelpersDeep(field);
73
+ const helpers = {};
74
+ if (allHelpers.length == 0) {
75
+ return undefined;
76
+ }
77
+ for (const [key, helper] of allHelpers) {
78
+ if ((0, object_1.hasOwnProperty)(helpers, key) && helpers[key] != helper) {
79
+ throw new Error(`Template and partials reference different versions of helper "${key}".`);
80
+ }
81
+ helpers[key] = helper;
82
+ }
83
+ return helpers;
84
+ }
85
+ function getPartialHelpersDeep(partial) {
86
+ if ((0, type_guards_1.isString)(partial) || (0, type_guards_1.isFunction)(partial)) {
87
+ return [];
88
+ }
89
+ const entries = Object.entries(partial.options?.helpers ?? {});
90
+ const childEntries = Object.values(partial.options?.partials ?? {}).flatMap(getPartialHelpersDeep);
91
+ return [...entries, ...childEntries];
92
+ }
70
93
  //# sourceMappingURL=handlebars.template-renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlebars.template-renderer.js","sourceRoot":"","sources":["../../../source/templates/renderers/handlebars.template-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlebars.template-renderer.js","sourceRoot":"","sources":["../../../source/templates/renderers/handlebars.template-renderer.ts"],"names":[],"mappings":"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"}