@tstdl/base 0.82.13 → 0.82.15

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.
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Resolve a provided subject to the actual subject used for authentication.
3
+ * Useful for example if you want to be able to login via mail but actual subject is the user id.
4
+ */
5
+ export declare abstract class AuthenticationSubjectResolver {
6
+ abstract resolveSubject(providedSubject: string): string | Promise<string>;
7
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AuthenticationSubjectResolver = void 0;
10
+ const reflection_1 = require("../../reflection");
11
+ /**
12
+ * Resolve a provided subject to the actual subject used for authentication.
13
+ * Useful for example if you want to be able to login via mail but actual subject is the user id.
14
+ */
15
+ let AuthenticationSubjectResolver = class AuthenticationSubjectResolver {
16
+ };
17
+ AuthenticationSubjectResolver = __decorate([
18
+ (0, reflection_1.Class)()
19
+ ], AuthenticationSubjectResolver);
20
+ exports.AuthenticationSubjectResolver = AuthenticationSubjectResolver;
21
+ //# sourceMappingURL=authentication-subject.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentication-subject.resolver.js","sourceRoot":"","sources":["../../../source/authentication/server/authentication-subject.resolver.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAAqC;AAErC;;;GAGG;AAEI,IAAe,6BAA6B,GAA5C,MAAe,6BAA6B;CAElD,CAAA;AAFqB,6BAA6B;IADlD,IAAA,kBAAK,GAAE;GACc,6BAA6B,CAElD;AAFqB,sEAA6B"}
@@ -4,6 +4,7 @@ import type { Record } from "../../types";
4
4
  import type { RefreshToken, Token } from '../models';
5
5
  import { AuthenticationCredentialsRepository } from './authentication-credentials.repository';
6
6
  import { AuthenticationSessionRepository } from './authentication-session.repository';
7
+ import { AuthenticationSubjectResolver } from './authentication-subject.resolver';
7
8
  import { AuthenticationTokenPayloadProvider } from './authentication-token-payload.provider';
8
9
  export declare class AuthenticationServiceOptions {
9
10
  /** Secret used for signing tokens and refreshTokens */
@@ -31,13 +32,14 @@ export declare class AuthenticationService<AdditionalTokenPayload = Record<never
31
32
  private readonly credentialsRepository;
32
33
  private readonly sessionRepository;
33
34
  private readonly tokenPayloadProvider;
35
+ private readonly subjectResolver;
34
36
  private readonly secret;
35
37
  private readonly tokenVersion;
36
38
  private readonly tokenTimeToLive;
37
39
  private readonly sessionTimeToLive;
38
40
  private derivedTokenSigningSecret;
39
41
  private derivedRefreshTokenSigningSecret;
40
- constructor(credentialsRepository: AuthenticationCredentialsRepository, sessionRepository: AuthenticationSessionRepository, tokenPayloadProvider: AuthenticationTokenPayloadProvider<AdditionalTokenPayload, AuthenticationData> | undefined, options: AuthenticationServiceOptions);
42
+ constructor(credentialsRepository: AuthenticationCredentialsRepository, sessionRepository: AuthenticationSessionRepository, subjectResolver: AuthenticationSubjectResolver | undefined, tokenPayloadProvider: AuthenticationTokenPayloadProvider<AdditionalTokenPayload, AuthenticationData> | undefined, options: AuthenticationServiceOptions);
41
43
  [afterResolve](): Promise<void>;
42
44
  initialize(): Promise<void>;
43
45
  setCredentials(subject: string, secret: string): Promise<void>;
@@ -47,6 +49,7 @@ export declare class AuthenticationService<AdditionalTokenPayload = Record<never
47
49
  refresh(refreshToken: string, authenticationData: AuthenticationData): Promise<TokenResult<AdditionalTokenPayload>>;
48
50
  validateToken(token: string): Promise<Token<AdditionalTokenPayload>>;
49
51
  validateRefreshToken(token: string): Promise<RefreshToken>;
52
+ private getActualSubject;
50
53
  private createToken;
51
54
  private createRefreshToken;
52
55
  private deriveSigningSecrets;
@@ -26,6 +26,7 @@ const type_guards_1 = require("../../utils/type-guards");
26
26
  const units_1 = require("../../utils/units");
27
27
  const authentication_credentials_repository_1 = require("./authentication-credentials.repository");
28
28
  const authentication_session_repository_1 = require("./authentication-session.repository");
29
+ const authentication_subject_resolver_1 = require("./authentication-subject.resolver");
29
30
  const authentication_token_payload_provider_1 = require("./authentication-token-payload.provider");
30
31
  const helper_1 = require("./helper");
31
32
  class AuthenticationServiceOptions {
@@ -60,15 +61,17 @@ let AuthenticationService = class AuthenticationService {
60
61
  credentialsRepository;
61
62
  sessionRepository;
62
63
  tokenPayloadProvider;
64
+ subjectResolver;
63
65
  secret;
64
66
  tokenVersion;
65
67
  tokenTimeToLive;
66
68
  sessionTimeToLive;
67
69
  derivedTokenSigningSecret;
68
70
  derivedRefreshTokenSigningSecret;
69
- constructor(credentialsRepository, sessionRepository, tokenPayloadProvider, options) {
71
+ constructor(credentialsRepository, sessionRepository, subjectResolver, tokenPayloadProvider, options) {
70
72
  this.credentialsRepository = credentialsRepository;
71
73
  this.sessionRepository = sessionRepository;
74
+ this.subjectResolver = subjectResolver;
72
75
  this.tokenPayloadProvider = tokenPayloadProvider;
73
76
  this.secret = options.secret;
74
77
  this.tokenVersion = options.version ?? 1;
@@ -82,10 +85,11 @@ let AuthenticationService = class AuthenticationService {
82
85
  await this.deriveSigningSecrets();
83
86
  }
84
87
  async setCredentials(subject, secret) {
88
+ const actualSubject = await this.getActualSubject(subject);
85
89
  const salt = (0, random_1.getRandomBytes)(32);
86
90
  const hash = await this.getHash(secret, salt);
87
91
  const credentials = {
88
- subject,
92
+ subject: actualSubject,
89
93
  hashVersion: 1,
90
94
  salt,
91
95
  hash
@@ -93,7 +97,8 @@ let AuthenticationService = class AuthenticationService {
93
97
  await this.credentialsRepository.save(credentials);
94
98
  }
95
99
  async authenticate(subject, secret) {
96
- const credentials = await this.credentialsRepository.tryLoadBySubject(subject);
100
+ const actualSubject = await this.getActualSubject(subject);
101
+ const credentials = await this.credentialsRepository.tryLoadBySubject(actualSubject);
97
102
  if ((0, type_guards_1.isUndefined)(credentials)) {
98
103
  return { success: false };
99
104
  }
@@ -105,19 +110,20 @@ let AuthenticationService = class AuthenticationService {
105
110
  return { success: false };
106
111
  }
107
112
  async getToken(subject, authenticationData) {
113
+ const actualSubject = await this.getActualSubject(subject);
108
114
  const now = (0, date_time_1.currentTimestamp)();
109
115
  const end = now + this.sessionTimeToLive;
110
116
  const session = await this.sessionRepository.insert({
111
- subject,
117
+ subject: actualSubject,
112
118
  begin: now,
113
119
  end,
114
120
  refreshTokenHashVersion: 0,
115
121
  refreshTokenSalt: new Uint8Array(),
116
122
  refreshTokenHash: new Uint8Array()
117
123
  });
118
- const tokenPayload = await this.tokenPayloadProvider?.getTokenPayload(subject, authenticationData);
119
- const { token, jsonToken } = await this.createToken(tokenPayload, subject, session.id, end, now);
120
- const refreshToken = await this.createRefreshToken(subject, session.id, end);
124
+ const tokenPayload = await this.tokenPayloadProvider?.getTokenPayload(actualSubject, authenticationData);
125
+ const { token, jsonToken } = await this.createToken(tokenPayload, actualSubject, session.id, end, now);
126
+ const refreshToken = await this.createRefreshToken(actualSubject, session.id, end);
121
127
  await this.sessionRepository.extend(session.id, {
122
128
  end,
123
129
  refreshTokenHashVersion: 1,
@@ -164,6 +170,9 @@ let AuthenticationService = class AuthenticationService {
164
170
  }
165
171
  return validatedToken;
166
172
  }
173
+ async getActualSubject(subject) {
174
+ return this.subjectResolver?.resolveSubject(subject) ?? subject;
175
+ }
167
176
  async createToken(additionalTokenPayload, subject, sessionId, refreshTokenExpiration, timestamp) {
168
177
  const header = {
169
178
  v: this.tokenVersion,
@@ -220,10 +229,12 @@ let AuthenticationService = class AuthenticationService {
220
229
  };
221
230
  AuthenticationService = __decorate([
222
231
  (0, container_1.singleton)(),
223
- __param(2, (0, container_1.inject)(authentication_token_payload_provider_1.AuthenticationTokenPayloadProvider)),
232
+ __param(2, (0, container_1.inject)(authentication_subject_resolver_1.AuthenticationSubjectResolver)),
224
233
  __param(2, (0, container_1.optional)()),
234
+ __param(3, (0, container_1.inject)(authentication_token_payload_provider_1.AuthenticationTokenPayloadProvider)),
235
+ __param(3, (0, container_1.optional)()),
225
236
  __metadata("design:paramtypes", [authentication_credentials_repository_1.AuthenticationCredentialsRepository,
226
- authentication_session_repository_1.AuthenticationSessionRepository, Object, AuthenticationServiceOptions])
237
+ authentication_session_repository_1.AuthenticationSessionRepository, Object, Object, AuthenticationServiceOptions])
227
238
  ], AuthenticationService);
228
239
  exports.AuthenticationService = AuthenticationService;
229
240
  //# sourceMappingURL=authentication.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../../source/authentication/server/authentication.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../../source/authentication/server/authentication.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export * from './authentication-credentials.repository';
2
2
  export * from './authentication-session.repository';
3
+ export * from './authentication-subject.resolver';
3
4
  export * from './authentication-token-payload.provider';
4
5
  export * from './authentication.api-controller';
5
6
  export * from './authentication.service';
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./authentication-credentials.repository"), exports);
18
18
  __exportStar(require("./authentication-session.repository"), exports);
19
+ __exportStar(require("./authentication-subject.resolver"), exports);
19
20
  __exportStar(require("./authentication-token-payload.provider"), exports);
20
21
  __exportStar(require("./authentication.api-controller"), exports);
21
22
  __exportStar(require("./authentication.service"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/authentication/server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAAwD;AACxD,sEAAoD;AACpD,0EAAwD;AACxD,kEAAgD;AAChD,2DAAyC;AACzC,2CAAyB;AACzB,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/authentication/server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAAwD;AACxD,sEAAoD;AACpD,oEAAkD;AAClD,0EAAwD;AACxD,kEAAgD;AAChD,2DAAyC;AACzC,2CAAyB;AACzB,2CAAyB"}
@@ -1,6 +1,7 @@
1
1
  import type { Type } from "../../types";
2
2
  import { AuthenticationCredentialsRepository } from './authentication-credentials.repository';
3
3
  import { AuthenticationSessionRepository } from './authentication-session.repository';
4
+ import { AuthenticationSubjectResolver } from './authentication-subject.resolver';
4
5
  import { AuthenticationTokenPayloadProvider } from './authentication-token-payload.provider';
5
6
  import { AuthenticationService, AuthenticationServiceOptions } from './authentication.service';
6
7
  export type AuthenticationModuleConfig = {
@@ -10,5 +11,6 @@ export type AuthenticationModuleConfig = {
10
11
  /** override default AuthenticationService */
11
12
  authenticationService?: Type<AuthenticationService<any, any>>;
12
13
  tokenPayloadProvider?: Type<AuthenticationTokenPayloadProvider<any, any>>;
14
+ subjectResolver?: Type<AuthenticationSubjectResolver>;
13
15
  };
14
16
  export declare function configureAuthenticationServer(config: AuthenticationModuleConfig): void;
@@ -5,6 +5,7 @@ const container_1 = require("../../container");
5
5
  const type_guards_1 = require("../../utils/type-guards");
6
6
  const authentication_credentials_repository_1 = require("./authentication-credentials.repository");
7
7
  const authentication_session_repository_1 = require("./authentication-session.repository");
8
+ const authentication_subject_resolver_1 = require("./authentication-subject.resolver");
8
9
  const authentication_token_payload_provider_1 = require("./authentication-token-payload.provider");
9
10
  const authentication_service_1 = require("./authentication.service");
10
11
  function configureAuthenticationServer(config) {
@@ -17,6 +18,9 @@ function configureAuthenticationServer(config) {
17
18
  if ((0, type_guards_1.isDefined)(config.tokenPayloadProvider)) {
18
19
  container_1.container.registerSingleton(authentication_token_payload_provider_1.AuthenticationTokenPayloadProvider, { useToken: config.tokenPayloadProvider });
19
20
  }
21
+ if ((0, type_guards_1.isDefined)(config.subjectResolver)) {
22
+ container_1.container.registerSingleton(authentication_subject_resolver_1.AuthenticationSubjectResolver, { useToken: config.subjectResolver });
23
+ }
20
24
  }
21
25
  exports.configureAuthenticationServer = configureAuthenticationServer;
22
26
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../source/authentication/server/module.ts"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,yDAAgD;AAChD,mGAA8F;AAC9F,2FAAsF;AACtF,mGAA6F;AAC7F,qEAA+F;AAY/F,SAAgB,6BAA6B,CAAC,MAAkC;IAC9E,qBAAS,CAAC,QAAQ,CAAC,qDAA4B,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACtF,qBAAS,CAAC,iBAAiB,CAAC,2EAAmC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7G,qBAAS,CAAC,iBAAiB,CAAC,mEAA+B,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAErG,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE;QAC3C,qBAAS,CAAC,iBAAiB,CAAC,8CAAqB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;KAChG;IAED,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE;QAC1C,qBAAS,CAAC,iBAAiB,CAAC,0EAAkC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;KAC5G;AACH,CAAC;AAZD,sEAYC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../source/authentication/server/module.ts"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,yDAAgD;AAChD,mGAA8F;AAC9F,2FAAsF;AACtF,uFAAkF;AAClF,mGAA6F;AAC7F,qEAA+F;AAa/F,SAAgB,6BAA6B,CAAC,MAAkC;IAC9E,qBAAS,CAAC,QAAQ,CAAC,qDAA4B,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACtF,qBAAS,CAAC,iBAAiB,CAAC,2EAAmC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7G,qBAAS,CAAC,iBAAiB,CAAC,mEAA+B,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAErG,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE;QAC3C,qBAAS,CAAC,iBAAiB,CAAC,8CAAqB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;KAChG;IAED,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE;QAC1C,qBAAS,CAAC,iBAAiB,CAAC,0EAAkC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;KAC5G;IAED,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,eAAe,CAAC,EAAE;QACrC,qBAAS,CAAC,iBAAiB,CAAC,+DAA6B,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;KAClG;AACH,CAAC;AAhBD,sEAgBC"}
@@ -17,7 +17,6 @@ const container_1 = require("../../container");
17
17
  const type_guards_1 = require("../../utils/type-guards");
18
18
  const nodemailer_1 = require("nodemailer");
19
19
  const mail_client_1 = require("../mail.client");
20
- const tokens_1 = require("../tokens");
21
20
  let NodemailerMailClient = class NodemailerMailClient extends mail_client_1.MailClient {
22
21
  transporter;
23
22
  constructor(config) {
@@ -50,9 +49,8 @@ let NodemailerMailClient = class NodemailerMailClient extends mail_client_1.Mail
50
49
  };
51
50
  NodemailerMailClient = __decorate([
52
51
  (0, container_1.singleton)(),
53
- __param(0, (0, container_1.inject)(tokens_1.MAIL_CLIENT_CONFIG)),
54
52
  __param(0, (0, container_1.injectArg)()),
55
- __metadata("design:paramtypes", [Object])
53
+ __metadata("design:paramtypes", [mail_client_1.MailClientConfig])
56
54
  ], NodemailerMailClient);
57
55
  exports.NodemailerMailClient = NodemailerMailClient;
58
56
  function convertConfig(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"nodemailer.mail-client.js","sourceRoot":"","sources":["../../../source/mail/clients/nodemailer.mail-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAsE;AAEtE,yDAAkD;AAElD,2CAA6C;AAC7C,gDAA8D;AAE9D,sCAA+C;AAIxC,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wBAAU;IACjC,WAAW,CAA6C;IAEzE,YAAqD,MAAwB;QAC3E,KAAK,EAAE,CAAC;QAER,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAc;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,EAAE,EAAE,IAAI,CAAC,EAAoC;YAC7C,EAAE,EAAE,IAAI,CAAC,EAAoC;YAC7C,GAAG,EAAE,IAAI,CAAC,GAAqC;YAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAuC;YACxD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;CACF,CAAA;AAjCY,oBAAoB;IADhC,IAAA,qBAAS,GAAE;IAIG,WAAA,IAAA,kBAAM,EAAC,2BAAkB,CAAC,CAAA;IAAE,WAAA,IAAA,qBAAS,GAAE,CAAA;;GAHzC,oBAAoB,CAiChC;AAjCY,oDAAoB;AAmCjC,SAAS,aAAa,CAAC,MAAwB;IAC7C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;QAC7C,IAAI,EAAE,IAAA,yBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;SAC3B;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,6BAA6B,CAAC,WAAoB,IAAI;IACpE,IAAI,QAAQ,EAAE;QACZ,qBAAS,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,wBAAU,EAAE,CAAC,CAAC;KAC7E;AACH,CAAC;AAJD,sEAIC"}
1
+ {"version":3,"file":"nodemailer.mail-client.js","sourceRoot":"","sources":["../../../source/mail/clients/nodemailer.mail-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAA8D;AAE9D,yDAAkD;AAElD,2CAA6C;AAC7C,gDAA8D;AAKvD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wBAAU;IACjC,WAAW,CAA6C;IAEzE,YAAyB,MAAwB;QAC/C,KAAK,EAAE,CAAC;QAER,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAc;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,EAAE,EAAE,IAAI,CAAC,EAAoC;YAC7C,EAAE,EAAE,IAAI,CAAC,EAAoC;YAC7C,GAAG,EAAE,IAAI,CAAC,GAAqC;YAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAuC;YACxD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;CACF,CAAA;AAjCY,oBAAoB;IADhC,IAAA,qBAAS,GAAE;IAIG,WAAA,IAAA,qBAAS,GAAE,CAAA;qCAAS,8BAAgB;GAHtC,oBAAoB,CAiChC;AAjCY,oDAAoB;AAmCjC,SAAS,aAAa,CAAC,MAAwB;IAC7C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;QAC7C,IAAI,EAAE,IAAA,yBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;SAC3B;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,6BAA6B,CAAC,WAAoB,IAAI;IACpE,IAAI,QAAQ,EAAE;QACZ,qBAAS,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,wBAAU,EAAE,CAAC,CAAC;KAC7E;AACH,CAAC;AAJD,sEAIC"}
@@ -1,15 +1,16 @@
1
1
  import type { Injectable } from "../container";
2
2
  import { resolveArgumentType } from "../container";
3
3
  import type { MailData, MailSendResult } from './models';
4
- export type MailClientConfig = {
4
+ export declare class MailClientAuthConfig {
5
+ user: string;
6
+ password: string;
7
+ }
8
+ export declare class MailClientConfig {
5
9
  host: string;
6
10
  port: number;
7
11
  secure?: boolean;
8
- auth?: {
9
- user: string;
10
- password: string;
11
- };
12
- };
12
+ auth?: MailClientAuthConfig;
13
+ }
13
14
  export declare abstract class MailClient implements Injectable<MailClientConfig> {
14
15
  readonly [resolveArgumentType]: MailClientConfig;
15
16
  abstract send(data: MailData): Promise<MailSendResult>;
@@ -1,7 +1,58 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MailClient = void 0;
12
+ exports.MailClient = exports.MailClientConfig = exports.MailClientAuthConfig = void 0;
4
13
  const container_1 = require("../container");
14
+ const property_1 = require("../schema/decorators/property");
15
+ const boolean_1 = require("../schema/schemas/boolean");
16
+ const optional_1 = require("../schema/schemas/optional");
17
+ class MailClientAuthConfig {
18
+ user;
19
+ password;
20
+ }
21
+ __decorate([
22
+ (0, property_1.Property)(),
23
+ __metadata("design:type", String)
24
+ ], MailClientAuthConfig.prototype, "user", void 0);
25
+ __decorate([
26
+ (0, property_1.Property)(),
27
+ __metadata("design:type", String)
28
+ ], MailClientAuthConfig.prototype, "password", void 0);
29
+ exports.MailClientAuthConfig = MailClientAuthConfig;
30
+ class MailClientConfig {
31
+ host;
32
+ port;
33
+ /* enable TLS (if not defined it is automatically set depending on port) */
34
+ secure;
35
+ auth;
36
+ }
37
+ __decorate([
38
+ (0, property_1.Property)(),
39
+ __metadata("design:type", String)
40
+ ], MailClientConfig.prototype, "host", void 0);
41
+ __decorate([
42
+ (0, property_1.Property)(),
43
+ __metadata("design:type", Number)
44
+ ], MailClientConfig.prototype, "port", void 0);
45
+ __decorate([
46
+ (0, boolean_1.BooleanProperty)({ optional: true })
47
+ /* enable TLS (if not defined it is automatically set depending on port) */
48
+ ,
49
+ __metadata("design:type", Boolean)
50
+ ], MailClientConfig.prototype, "secure", void 0);
51
+ __decorate([
52
+ (0, optional_1.Optional)(MailClientAuthConfig),
53
+ __metadata("design:type", MailClientAuthConfig)
54
+ ], MailClientConfig.prototype, "auth", void 0);
55
+ exports.MailClientConfig = MailClientConfig;
5
56
  class MailClient {
6
57
  [container_1.resolveArgumentType];
7
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mail.client.js","sourceRoot":"","sources":["../../source/mail/mail.client.ts"],"names":[],"mappings":";;;AACA,4CAAkD;AAgBlD,MAAsB,UAAU;IACrB,CAAC,+BAAmB,CAAC,CAAmB;CAGlD;AAJD,gCAIC"}
1
+ {"version":3,"file":"mail.client.js","sourceRoot":"","sources":["../../source/mail/mail.client.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,4CAAkD;AAClD,4DAAwD;AACxD,uDAA2D;AAC3D,yDAAqD;AAGrD,MAAa,oBAAoB;IAE/B,IAAI,CAAS;IAGb,QAAQ,CAAS;CAClB;AALC;IAAC,IAAA,mBAAQ,GAAE;;kDACE;AAEb;IAAC,IAAA,mBAAQ,GAAE;;sDACM;AALnB,oDAMC;AAED,MAAa,gBAAgB;IAE3B,IAAI,CAAS;IAGb,IAAI,CAAS;IAGb,2EAA2E;IAC3E,MAAM,CAAW;IAGjB,IAAI,CAAwB;CAC7B;AAZC;IAAC,IAAA,mBAAQ,GAAE;;8CACE;AAEb;IAAC,IAAA,mBAAQ,GAAE;;8CACE;AAEb;IAAC,IAAA,yBAAe,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpC,2EAA2E;;;gDAC1D;AAEjB;IAAC,IAAA,mBAAQ,EAAC,oBAAoB,CAAC;8BACxB,oBAAoB;8CAAC;AAZ9B,4CAaC;AAED,MAAsB,UAAU;IACrB,CAAC,+BAAmB,CAAC,CAAmB;CAGlD;AAJD,gCAIC"}
package/mail/module.d.ts CHANGED
@@ -1,15 +1,13 @@
1
1
  import type { Type } from "../types";
2
2
  import { MailLogRepository } from './mail-log.repository';
3
- import type { MailClientConfig } from './mail.client';
4
- import { MailClient } from './mail.client';
3
+ import { MailClient, MailClientConfig } from './mail.client';
5
4
  import type { DefaultMailData } from './models';
6
5
  export type MailModuleConfig = {
7
6
  clientConfig: MailClientConfig;
8
7
  client: Type<MailClient>;
9
- logRepository: Type<MailLogRepository> | undefined;
8
+ logRepository: Type<MailLogRepository>;
10
9
  defaultData: DefaultMailData;
11
10
  };
12
- export declare const mailModuleConfig: MailModuleConfig;
13
11
  /**
14
12
  * configure mail module
15
13
  */
package/mail/module.js CHANGED
@@ -1,23 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureMail = exports.mailModuleConfig = void 0;
3
+ exports.configureMail = void 0;
4
4
  const container_1 = require("../container");
5
5
  const type_guards_1 = require("../utils/type-guards");
6
6
  const mail_log_repository_1 = require("./mail-log.repository");
7
7
  const mail_client_1 = require("./mail.client");
8
8
  const tokens_1 = require("./tokens");
9
- exports.mailModuleConfig = {
10
- clientConfig: { host: '127.0.0.1', port: 25 },
11
- client: (0, container_1.stubClass)(mail_client_1.MailClient),
12
- logRepository: (0, container_1.stubClass)(mail_log_repository_1.MailLogRepository),
13
- defaultData: {}
14
- };
15
9
  /**
16
10
  * configure mail module
17
11
  */
18
12
  function configureMail({ clientConfig, client, logRepository, defaultData }) {
19
13
  if ((0, type_guards_1.isDefined)(clientConfig)) {
20
- container_1.container.registerSingleton(tokens_1.MAIL_CLIENT_CONFIG, { useValue: clientConfig });
14
+ container_1.container.registerSingleton(mail_client_1.MailClientConfig, { useValue: clientConfig });
21
15
  }
22
16
  if ((0, type_guards_1.isDefined)(client)) {
23
17
  container_1.container.registerSingleton(mail_client_1.MailClient, { useToken: client });
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../source/mail/module.ts"],"names":[],"mappings":";;;AAAA,4CAAmD;AAEnD,sDAAgD;AAChD,+DAA0D;AAE1D,+CAA2C;AAE3C,qCAAiE;AASpD,QAAA,gBAAgB,GAAqB;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7C,MAAM,EAAE,IAAA,qBAAS,EAAC,wBAAU,CAAC;IAC7B,aAAa,EAAE,IAAA,qBAAS,EAAC,uCAAiB,CAAC;IAC3C,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF;;GAEG;AACH,SAAgB,aAAa,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAA6B;IAC3G,IAAI,IAAA,uBAAS,EAAC,YAAY,CAAC,EAAE;QAC3B,qBAAS,CAAC,iBAAiB,CAAC,2BAAkB,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;KAC7E;IAED,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,EAAE;QACrB,qBAAS,CAAC,iBAAiB,CAAC,wBAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;KAC/D;IAED,IAAI,IAAA,uBAAS,EAAC,aAAa,CAAC,EAAE;QAC5B,qBAAS,CAAC,iBAAiB,CAAC,uCAAiB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;KAC7E;IAED,IAAI,IAAA,uBAAS,EAAC,WAAW,CAAC,EAAE;QAC1B,qBAAS,CAAC,iBAAiB,CAAC,0BAAiB,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;KAC3E;AACH,CAAC;AAhBD,sCAgBC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../source/mail/module.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AAExC,sDAAgD;AAChD,+DAA0D;AAC1D,+CAA6D;AAE7D,qCAA6C;AAS7C;;GAEG;AACH,SAAgB,aAAa,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAA6B;IAC3G,IAAI,IAAA,uBAAS,EAAC,YAAY,CAAC,EAAE;QAC3B,qBAAS,CAAC,iBAAiB,CAAC,8BAAgB,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;KAC3E;IAED,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,EAAE;QACrB,qBAAS,CAAC,iBAAiB,CAAC,wBAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;KAC/D;IAED,IAAI,IAAA,uBAAS,EAAC,aAAa,CAAC,EAAE;QAC5B,qBAAS,CAAC,iBAAiB,CAAC,uCAAiB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;KAC7E;IAED,IAAI,IAAA,uBAAS,EAAC,WAAW,CAAC,EAAE;QAC1B,qBAAS,CAAC,iBAAiB,CAAC,0BAAiB,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;KAC3E;AACH,CAAC;AAhBD,sCAgBC"}
package/mail/tokens.d.ts CHANGED
@@ -1,3 +1 @@
1
- import type { MailClientConfig } from './mail.client';
2
- export declare const MAIL_CLIENT_CONFIG: import("../container").InjectionToken<MailClientConfig, any>;
3
1
  export declare const MAIL_DEFAULT_DATA: import("../container").InjectionToken<Partial<import("./models").MailData>, any>;
package/mail/tokens.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MAIL_DEFAULT_DATA = exports.MAIL_CLIENT_CONFIG = void 0;
3
+ exports.MAIL_DEFAULT_DATA = void 0;
4
4
  const container_1 = require("../container");
5
- exports.MAIL_CLIENT_CONFIG = (0, container_1.injectionToken)('MAIL_CLIENT_CONFIG');
6
5
  exports.MAIL_DEFAULT_DATA = (0, container_1.injectionToken)('MAIL_DEFAULT_DATA');
7
6
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../source/mail/tokens.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAIhC,QAAA,kBAAkB,GAAG,IAAA,0BAAc,EAAmB,oBAAoB,CAAC,CAAC;AAE5E,QAAA,iBAAiB,GAAG,IAAA,0BAAc,EAAkB,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../source/mail/tokens.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAGhC,QAAA,iBAAiB,GAAG,IAAA,0BAAc,EAAkB,mBAAmB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tstdl/base",
3
- "version": "0.82.13",
3
+ "version": "0.82.15",
4
4
  "author": "Patrick Hein",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -3,7 +3,7 @@ import { TemplateProvider } from './template.provider';
3
3
  import type { TemplateRenderer } from './template.renderer';
4
4
  import type { TemplateResolver } from './template.resolver';
5
5
  export type TemplateModuleConfig = {
6
- templateProvider: Type<TemplateProvider>;
6
+ templateProvider: Type<TemplateProvider> | undefined;
7
7
  templateResolvers: Type<TemplateResolver>[];
8
8
  templateRenderers: Type<TemplateRenderer>[];
9
9
  };
@@ -11,4 +11,4 @@ export declare const templateModuleConfig: TemplateModuleConfig;
11
11
  /**
12
12
  * configure mail module
13
13
  */
14
- export declare function configureTemplates({ templateProvider, templateResolvers, templateRenderers }?: Partial<TemplateModuleConfig>): void;
14
+ export declare function configureTemplates(config?: Partial<TemplateModuleConfig>): void;
@@ -2,16 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.configureTemplates = exports.templateModuleConfig = void 0;
4
4
  const container_1 = require("../container");
5
+ const type_guards_1 = require("../utils/type-guards");
5
6
  const string_template_renderer_1 = require("./renderers/string.template-renderer");
6
7
  const string_template_resolver_1 = require("./resolvers/string.template-resolver");
7
8
  const template_provider_1 = require("./template.provider");
8
9
  const tokens_1 = require("./tokens");
9
10
  exports.templateModuleConfig = {
10
- templateProvider: (0, container_1.stubClass)(template_provider_1.TemplateProvider),
11
+ templateProvider: undefined,
11
12
  templateResolvers: [string_template_resolver_1.StringTemplateResolver],
12
13
  templateRenderers: [string_template_renderer_1.StringTemplateRenderer]
13
14
  };
14
- container_1.container.registerSingleton(template_provider_1.TemplateProvider, { useTokenProvider: () => exports.templateModuleConfig.templateProvider });
15
15
  container_1.container.registerSingleton(tokens_1.TEMPLATE_RESOLVERS, {
16
16
  useFactory: (_, context) => {
17
17
  if (context.isAsync) {
@@ -39,10 +39,12 @@ container_1.container.registerSingleton(tokens_1.TEMPLATE_RENDERERS, {
39
39
  /**
40
40
  * configure mail module
41
41
  */
42
- function configureTemplates({ templateProvider, templateResolvers, templateRenderers } = {}) {
43
- exports.templateModuleConfig.templateProvider = templateProvider ?? exports.templateModuleConfig.templateProvider;
44
- exports.templateModuleConfig.templateResolvers = [...new Set([...exports.templateModuleConfig.templateResolvers, ...(templateResolvers ?? [])])];
45
- exports.templateModuleConfig.templateRenderers = [...new Set([...exports.templateModuleConfig.templateRenderers, ...(templateRenderers ?? [])])];
42
+ function configureTemplates(config = {}) {
43
+ if ((0, type_guards_1.isDefined)(config.templateProvider)) {
44
+ container_1.container.registerSingleton(template_provider_1.TemplateProvider, { useToken: config.templateProvider });
45
+ }
46
+ exports.templateModuleConfig.templateResolvers = [...new Set([...exports.templateModuleConfig.templateResolvers, ...(config.templateResolvers ?? [])])];
47
+ exports.templateModuleConfig.templateRenderers = [...new Set([...exports.templateModuleConfig.templateRenderers, ...(config.templateRenderers ?? [])])];
46
48
  }
47
49
  exports.configureTemplates = configureTemplates;
48
50
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../source/templates/module.ts"],"names":[],"mappings":";;;AAAA,4CAAmD;AAEnD,mFAA8E;AAC9E,mFAA8E;AAC9E,2DAAuD;AAGvD,qCAAkE;AAQrD,QAAA,oBAAoB,GAAyB;IACxD,gBAAgB,EAAE,IAAA,qBAAS,EAAC,oCAAgB,CAAC;IAC7C,iBAAiB,EAAE,CAAC,iDAAsB,CAAC;IAC3C,iBAAiB,EAAE,CAAC,iDAAsB,CAAC;CAC5C,CAAC;AAEF,qBAAS,CAAC,iBAAiB,CAAC,oCAAgB,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,4BAAoB,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAEjH,qBAAS,CAAC,iBAAiB,CAAC,2BAAkB,EAAE;IAC9C,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;QACzB,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,OAAO,CAAC,KAAK,IAAI,EAAE;gBACjB,MAAM,QAAQ,GAAG,4BAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxG,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC,CAAC,EAAE,CAAC;SACN;QAED,MAAM,QAAQ,GAAG,4BAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;CACF,CAAC,CAAC;AAEH,qBAAS,CAAC,iBAAiB,CAAC,2BAAkB,EAAE;IAC9C,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;QACzB,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,OAAO,CAAC,KAAK,IAAI,EAAE;gBACjB,MAAM,QAAQ,GAAG,4BAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxG,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC,CAAC,EAAE,CAAC;SACN;QAED,MAAM,QAAQ,GAAG,4BAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,SAAgB,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,KAAoC,EAAE;IAC/H,4BAAoB,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,4BAAoB,CAAC,gBAAgB,CAAC;IAClG,4BAAoB,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,4BAAoB,CAAC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjI,4BAAoB,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,4BAAoB,CAAC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACnI,CAAC;AAJD,gDAIC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../source/templates/module.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AAExC,sDAAgD;AAChD,mFAA8E;AAC9E,mFAA8E;AAC9E,2DAAuD;AAGvD,qCAAkE;AAQrD,QAAA,oBAAoB,GAAyB;IACxD,gBAAgB,EAAE,SAAS;IAC3B,iBAAiB,EAAE,CAAC,iDAAsB,CAAC;IAC3C,iBAAiB,EAAE,CAAC,iDAAsB,CAAC;CAC5C,CAAC;AAEF,qBAAS,CAAC,iBAAiB,CAAC,2BAAkB,EAAE;IAC9C,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;QACzB,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,OAAO,CAAC,KAAK,IAAI,EAAE;gBACjB,MAAM,QAAQ,GAAG,4BAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxG,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC,CAAC,EAAE,CAAC;SACN;QAED,MAAM,QAAQ,GAAG,4BAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;CACF,CAAC,CAAC;AAEH,qBAAS,CAAC,iBAAiB,CAAC,2BAAkB,EAAE;IAC9C,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;QACzB,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,OAAO,CAAC,KAAK,IAAI,EAAE;gBACjB,MAAM,QAAQ,GAAG,4BAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxG,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC,CAAC,EAAE,CAAC;SACN;QAED,MAAM,QAAQ,GAAG,4BAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,SAAgB,kBAAkB,CAAC,SAAwC,EAAE;IAC3E,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QACtC,qBAAS,CAAC,iBAAiB,CAAC,oCAAgB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;KACtF;IAED,4BAAoB,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,4BAAoB,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxI,4BAAoB,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,4BAAoB,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1I,CAAC;AAPD,gDAOC"}
@@ -52,8 +52,8 @@ let TemplateService = class TemplateService {
52
52
  };
53
53
  TemplateService = __decorate([
54
54
  (0, container_1.singleton)(),
55
- __param(0, (0, container_1.optional)()),
56
55
  __param(0, (0, container_1.inject)(template_provider_1.TemplateProvider)),
56
+ __param(0, (0, container_1.optional)()),
57
57
  __metadata("design:paramtypes", [Object, template_renderer_provider_1.TemplateRendererProvider,
58
58
  template_resolver_provider_1.TemplateResolverProvider])
59
59
  ], TemplateService);
@@ -1 +1 @@
1
- {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../source/templates/template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA0D;AAE1D,mDAAsD;AACtD,0CAAuC;AACvC,sDAA+C;AAC/C,6EAAwE;AACxE,6EAAwE;AAExE,2DAAuD;AAShD,IAAM,eAAe,GAArB,MAAM,eAAe;IACT,gBAAgB,CAAmB;IACnC,wBAAwB,CAA2B;IACnD,wBAAwB,CAA2B;IAEpE,YACwC,gBAA8C,EACpF,wBAAkD,EAClD,wBAAkD;QAElD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAA,cAAM,EAAC,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC,EAAE,CAAC;QAC5I,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,GAAG,CAAgC,GAAW;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO,QAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM,CAAgC,aAAyB,EAAE,eAAwB;QAC7F,MAAM,QAAQ,GAAG,IAAA,sBAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAEzF,MAAM,MAAM,GAAmC;YAC7C,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,EAAS;YACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAA,sBAAa,EAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEnE,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;YAE5I,MAAM,CAAC,MAAM,CAAC,GAAwB,CAAC,GAAG,YAAY,CAAC;SACxD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAzCY,eAAe;IAD3B,IAAA,qBAAS,GAAE;IAOP,WAAA,IAAA,oBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,kBAAM,EAAC,oCAAgB,CAAC,CAAA;6CACX,qDAAwB;QACxB,qDAAwB;GARzC,eAAe,CAyC3B;AAzCY,0CAAe"}
1
+ {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../source/templates/template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA0D;AAE1D,mDAAsD;AACtD,0CAAuC;AACvC,sDAA+C;AAC/C,6EAAwE;AACxE,6EAAwE;AAExE,2DAAuD;AAShD,IAAM,eAAe,GAArB,MAAM,eAAe;IACT,gBAAgB,CAAmB;IACnC,wBAAwB,CAA2B;IACnD,wBAAwB,CAA2B;IAEpE,YACwC,gBAA8C,EACpF,wBAAkD,EAClD,wBAAkD;QAElD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAA,cAAM,EAAC,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC,EAAE,CAAC;QAC5I,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,GAAG,CAAgC,GAAW;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO,QAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM,CAAgC,aAAyB,EAAE,eAAwB;QAC7F,MAAM,QAAQ,GAAG,IAAA,sBAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAEzF,MAAM,MAAM,GAAmC;YAC7C,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,EAAS;YACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAA,sBAAa,EAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEnE,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;YAE5I,MAAM,CAAC,MAAM,CAAC,GAAwB,CAAC,GAAG,YAAY,CAAC;SACxD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAzCY,eAAe;IAD3B,IAAA,qBAAS,GAAE;IAOP,WAAA,IAAA,kBAAM,EAAC,oCAAgB,CAAC,CAAA;IAAE,WAAA,IAAA,oBAAQ,GAAE,CAAA;6CACX,qDAAwB;QACxB,qDAAwB;GARzC,eAAe,CAyC3B;AAzCY,0CAAe"}