cdk-serverless 2.10.2 → 2.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/docs/constructs/assets/main.js +3 -4
  2. package/docs/constructs/assets/search.js +1 -1
  3. package/docs/constructs/assets/style.css +18 -53
  4. package/docs/constructs/classes/AssetCdn.html +174 -13
  5. package/docs/constructs/classes/BaseApi.html +181 -13
  6. package/docs/constructs/classes/CognitoAuthentication.html +190 -14
  7. package/docs/constructs/classes/GraphQlApi.html +473 -14
  8. package/docs/constructs/classes/LambdaFunction.html +1085 -81
  9. package/docs/constructs/classes/RestApi.html +358 -20
  10. package/docs/constructs/classes/SingleTableDatastore.html +166 -13
  11. package/docs/constructs/classes/Workflow.html +179 -13
  12. package/docs/constructs/index.html +83 -2
  13. package/docs/constructs/interfaces/AssetCdnProps.html +94 -4
  14. package/docs/constructs/interfaces/BaseApiProps.html +184 -20
  15. package/docs/constructs/interfaces/CognitoAuthenticationProps.html +177 -18
  16. package/docs/constructs/interfaces/GraphQlApiProps.html +199 -20
  17. package/docs/constructs/interfaces/ICognitoAuthentication.html +91 -3
  18. package/docs/constructs/interfaces/IJwtAuthentication.html +101 -5
  19. package/docs/constructs/interfaces/JsResolverOptions.html +103 -6
  20. package/docs/constructs/interfaces/LambdaFunctionProps.html +187 -18
  21. package/docs/constructs/interfaces/LambdaTracingOptions.html +89 -4
  22. package/docs/constructs/interfaces/RestApiProps.html +235 -26
  23. package/docs/constructs/interfaces/SingleTableDatastoreProps.html +107 -7
  24. package/docs/constructs/interfaces/SingleTableDesign.html +117 -7
  25. package/docs/constructs/interfaces/VtlResolverOptions.html +101 -5
  26. package/docs/constructs/interfaces/WorkflowProps.html +105 -2
  27. package/docs/constructs/modules.html +73 -4
  28. package/docs/constructs/types/LambdaOptions.html +62 -1
  29. package/docs/lambda/assets/main.js +3 -4
  30. package/docs/lambda/assets/search.js +1 -1
  31. package/docs/lambda/assets/style.css +18 -53
  32. package/docs/lambda/classes/auth.ApiGatewayv1CognitoAuthorizer.html +292 -21
  33. package/docs/lambda/classes/auth.ApiGatewayv1JwtAuthorizer.html +291 -20
  34. package/docs/lambda/classes/auth.ApiGatewayv2CognitoAuthorizer.html +292 -21
  35. package/docs/lambda/classes/auth.ApiGatewayv2JwtAuthorizer.html +289 -20
  36. package/docs/lambda/classes/auth.AppSyncCognitoAuthorizer.html +284 -21
  37. package/docs/lambda/classes/auth.CognitoAuthorizer.html +274 -20
  38. package/docs/lambda/classes/auth.JwtAuthorizer.html +268 -20
  39. package/docs/lambda/classes/errors.BadRequestError.html +164 -9
  40. package/docs/lambda/classes/errors.ForbiddenError.html +164 -9
  41. package/docs/lambda/classes/errors.HttpError.html +170 -9
  42. package/docs/lambda/classes/errors.NotFoundError.html +164 -9
  43. package/docs/lambda/classes/errors.UnauthenticatedError.html +164 -9
  44. package/docs/lambda/functions/api.createAppSyncHandler.html +80 -3
  45. package/docs/lambda/functions/api.createHttpHandler.html +78 -2
  46. package/docs/lambda/functions/api.createOpenApiHandler.html +78 -2
  47. package/docs/lambda/functions/api.createOpenApiHandlerWithRequestBody.html +78 -2
  48. package/docs/lambda/functions/api.createOpenApiHandlerWithRequestBodyNoResponse.html +76 -2
  49. package/docs/lambda/index.html +63 -2
  50. package/docs/lambda/interfaces/api.AppSyncHandlerContext.html +102 -3
  51. package/docs/lambda/interfaces/api.HttpHandlerContext.html +101 -3
  52. package/docs/lambda/interfaces/api.HttpResponseContext.html +98 -3
  53. package/docs/lambda/interfaces/api.Operation.html +92 -3
  54. package/docs/lambda/interfaces/api.OperationWithRequestBody.html +105 -3
  55. package/docs/lambda/modules/api.html +72 -4
  56. package/docs/lambda/modules/auth.html +58 -2
  57. package/docs/lambda/modules/errors.html +56 -2
  58. package/docs/lambda/modules.html +45 -2
  59. package/docs/lambda/types/api.APIGatewayv1Handler.html +62 -2
  60. package/docs/lambda/types/api.AppSyncHandler.html +82 -2
  61. package/docs/lambda/types/api.HttpHandler.html +84 -2
  62. package/docs/projen/assets/main.js +3 -4
  63. package/docs/projen/assets/search.js +1 -1
  64. package/docs/projen/assets/style.css +18 -53
  65. package/docs/projen/classes/Datastore.html +230 -13
  66. package/docs/projen/classes/GraphQlApi.html +198 -14
  67. package/docs/projen/classes/RestApi.html +280 -13
  68. package/docs/projen/classes/ServerlessProject.html +1295 -138
  69. package/docs/projen/classes/Workflow.html +230 -13
  70. package/docs/projen/index.html +71 -2
  71. package/docs/projen/interfaces/DatastoreOptions.html +76 -2
  72. package/docs/projen/interfaces/GraphQlApiOptions.html +76 -2
  73. package/docs/projen/interfaces/RestApiOptions.html +76 -2
  74. package/docs/projen/interfaces/ServerlessProjectOptions.html +1826 -426
  75. package/docs/projen/interfaces/WorkflowOptions.html +76 -2
  76. package/docs/projen/modules.html +61 -4
  77. package/docs/projen/variables/PACKAGE_NAME.html +50 -1
  78. package/lib/constructs/graphql.js +6 -5
  79. package/lib/projen/datastore.d.ts +2 -4
  80. package/lib/projen/datastore.js +45 -50
  81. package/lib/projen/graphql.d.ts +0 -2
  82. package/lib/projen/graphql.js +9 -19
  83. package/lib/projen/lazy-sampledir.d.ts +27 -0
  84. package/lib/projen/lazy-sampledir.js +43 -0
  85. package/lib/projen/lazy-textfile.d.ts +20 -0
  86. package/lib/projen/lazy-textfile.js +23 -0
  87. package/lib/projen/rest-api.d.ts +6 -4
  88. package/lib/projen/rest-api.js +52 -54
  89. package/lib/projen/workflow.d.ts +1 -2
  90. package/lib/projen/workflow.js +32 -37
  91. package/package.json +8 -8
  92. package/docs/constructs/assets/navigation.js +0 -1
  93. package/docs/constructs/hierarchy.html +0 -1
  94. package/docs/lambda/assets/navigation.js +0 -1
  95. package/docs/lambda/hierarchy.html +0 -1
  96. package/docs/projen/assets/navigation.js +0 -1
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LazyTextFile = void 0;
4
+ const projen_1 = require("projen");
5
+ class LazyTextFile extends projen_1.TextFile {
6
+ /**
7
+ * Defines a text file.
8
+ *
9
+ * @param project The project
10
+ * @param filePath File path
11
+ * @param options Options
12
+ */
13
+ constructor(scope, filePath, options) {
14
+ var _a;
15
+ super(scope, filePath, options);
16
+ this.content = (_a = options === null || options === void 0 ? void 0 : options.content) !== null && _a !== void 0 ? _a : (() => '');
17
+ }
18
+ synthesizeContent(_) {
19
+ return this.content(this);
20
+ }
21
+ }
22
+ exports.LazyTextFile = LazyTextFile;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS10ZXh0ZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZW4vbGF6eS10ZXh0ZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtQ0FBd0U7QUFTeEUsTUFBYSxZQUFhLFNBQVEsaUJBQVE7SUFJeEM7Ozs7OztPQU1HO0lBQ0gsWUFBWSxLQUFpQixFQUFFLFFBQWdCLEVBQUUsT0FBNkI7O1FBQzVFLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTyxtQ0FBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxDQUFZO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUFuQkQsb0NBbUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRmlsZUJhc2UsIEZpbGVCYXNlT3B0aW9ucywgSVJlc29sdmVyLCBUZXh0RmlsZSB9IGZyb20gJ3Byb2plbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF6eVRleHRGaWxlT3B0aW9ucyBleHRlbmRzIEZpbGVCYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBwcm92aWRlciBmb3IgdGhlIGZpbGUuXG4gICAqL1xuICByZWFkb25seSBjb250ZW50OiAoZmlsZTogRmlsZUJhc2UpID0+IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIExhenlUZXh0RmlsZSBleHRlbmRzIFRleHRGaWxlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnQ6IChmaWxlOiBGaWxlQmFzZSkgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgdGV4dCBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvamVjdCBUaGUgcHJvamVjdFxuICAgKiBAcGFyYW0gZmlsZVBhdGggRmlsZSBwYXRoXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBJQ29uc3RydWN0LCBmaWxlUGF0aDogc3RyaW5nLCBvcHRpb25zPzogTGF6eVRleHRGaWxlT3B0aW9ucykge1xuICAgIHN1cGVyKHNjb3BlLCBmaWxlUGF0aCwgb3B0aW9ucyk7XG4gICAgdGhpcy5jb250ZW50ID0gb3B0aW9ucz8uY29udGVudCA/PyAoKCkgPT4gJycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVDb250ZW50KF86IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudCh0aGlzKTtcbiAgfVxufSJdfQ==
@@ -7,9 +7,11 @@ export interface RestApiOptions {
7
7
  export declare class RestApi extends pj.Component {
8
8
  protected options: RestApiOptions;
9
9
  constructor(app: pj.awscdk.AwsCdkTypeScriptApp, options: RestApiOptions);
10
- protected createConstructFile(fileName: string): void;
10
+ protected createConstructFile(file: pj.FileBase): string;
11
11
  protected validatePathRef(apiSpec: OpenAPI3, path: string, visited?: string[]): boolean;
12
- protected addRestResource(apiSpec: OpenAPI3, path: string, method: string): void;
13
- protected createEntryFile(entryFile: string, method: string, operationId: string): void;
14
- synthesize(): void;
12
+ protected addRestResourceHandlerSample(files: {
13
+ [fileName: string]: () => string;
14
+ }, apiSpec: OpenAPI3, path: string, method: string): void;
15
+ protected createEntryFile(method: string, operationId: string): string;
16
+ private generateSampleHandlerFiles;
15
17
  }
@@ -25,9 +25,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.RestApi = void 0;
27
27
  const fs = __importStar(require("fs"));
28
+ const path_1 = require("path");
28
29
  const yaml = __importStar(require("js-yaml"));
29
30
  const pj = __importStar(require("projen"));
30
31
  const core_1 = require("./core");
32
+ const lazy_sampledir_1 = require("./lazy-sampledir");
31
33
  class RestApi extends pj.Component {
32
34
  constructor(app, options) {
33
35
  super(app);
@@ -39,9 +41,42 @@ class RestApi extends pj.Component {
39
41
  description: 'Generate Types from the OpenAPI specification',
40
42
  });
41
43
  app.defaultTask.spawn(generateTask);
44
+ new pj.SampleFile(this.project, options.definitionFile, {
45
+ contents: yaml.dump({
46
+ openapi: '3.0.1',
47
+ paths: {
48
+ '/hello': {
49
+ get: {
50
+ operationId: 'helloWorld',
51
+ responses: {
52
+ 200: {
53
+ content: {
54
+ 'application/json': {
55
+ schema: {
56
+ type: 'string',
57
+ },
58
+ },
59
+ },
60
+ },
61
+ },
62
+ },
63
+ },
64
+ },
65
+ info: {
66
+ title: `${this.options.apiName} API definition`,
67
+ version: '1.0',
68
+ },
69
+ }),
70
+ });
71
+ new lazy_sampledir_1.LazySampleDir(this.project, 'src/lambda', {
72
+ fileGenerator: this.generateSampleHandlerFiles.bind(this),
73
+ });
74
+ const apiFile = new pj.TextFile(this.project, `${this.project.outdir}/src/generated/rest.${this.options.apiName.toLowerCase()}-api.generated.ts`);
75
+ apiFile.addLine(this.createConstructFile(apiFile));
42
76
  }
43
- createConstructFile(fileName) {
44
- fs.writeFileSync(fileName, `/* eslint-disable */
77
+ createConstructFile(file) {
78
+ return `// ${file.marker}
79
+ /* eslint-disable */
45
80
  import { Construct } from 'constructs';
46
81
  import { RestApi, RestApiProps } from '${core_1.PACKAGE_NAME}/lib/constructs';
47
82
  import { operations, paths } from './rest.${this.options.apiName.toLowerCase()}-model.generated';
@@ -60,9 +95,7 @@ export class ${this.options.apiName}RestApi extends RestApi<paths, operations> {
60
95
  });
61
96
  }
62
97
 
63
- }`, {
64
- encoding: 'utf-8',
65
- });
98
+ }`;
66
99
  }
67
100
  validatePathRef(apiSpec, path, visited = []) {
68
101
  if (!path.startsWith('#')) {
@@ -92,20 +125,17 @@ export class ${this.options.apiName}RestApi extends RestApi<paths, operations> {
92
125
  }
93
126
  return false;
94
127
  }
95
- addRestResource(apiSpec, path, method) {
128
+ addRestResourceHandlerSample(files, apiSpec, path, method) {
96
129
  const oaPath = apiSpec.paths[path];
97
130
  const operation = oaPath[method];
98
131
  const operationId = operation.operationId;
99
132
  // const description = `${method as string} ${path as string} - ${operation.summary}`;
100
- const entryFile = `${this.project.outdir}/src/lambda/rest.${this.options.apiName.toLowerCase()}.${operationId}.ts`;
101
- if (!fs.existsSync(entryFile)) {
102
- if (!fs.existsSync(`${this.project.outdir}/src/lambda`)) {
103
- fs.mkdirSync(`${this.project.outdir}/src/lambda`);
104
- }
105
- this.createEntryFile(entryFile, method, operationId);
106
- }
133
+ const entryFile = `rest.${this.options.apiName.toLowerCase()}.${operationId}.ts`;
134
+ files[entryFile] = () => {
135
+ return this.createEntryFile(method, operationId);
136
+ };
107
137
  }
108
- createEntryFile(entryFile, method, operationId) {
138
+ createEntryFile(method, operationId) {
109
139
  let factoryCall;
110
140
  let logs;
111
141
  switch (method.toLowerCase()) {
@@ -124,47 +154,18 @@ export class ${this.options.apiName}RestApi extends RestApi<paths, operations> {
124
154
  logs = '';
125
155
  break;
126
156
  }
127
- fs.writeFileSync(entryFile, `import { api, errors } from '${core_1.PACKAGE_NAME}/lib/lambda';
157
+ return `import { api, errors } from '${core_1.PACKAGE_NAME}/lib/lambda';
128
158
  import { operations } from '../generated/rest.${this.options.apiName.toLowerCase()}-model.generated';
129
159
 
130
160
  export const handler = ${factoryCall}
131
161
  ctx.logger.info(JSON.stringify(ctx.event));
132
162
  ${logs}
133
163
  throw new errors.HttpError(500, 'Not yet implemented');
134
- });`, {
135
- encoding: 'utf-8',
136
- });
164
+ });`;
137
165
  }
138
- synthesize() {
139
- super.synthesize();
140
- if (!fs.existsSync(this.options.definitionFile)) {
141
- fs.writeFileSync(this.options.definitionFile, yaml.dump({
142
- openapi: '3.0.1',
143
- paths: {
144
- '/hello': {
145
- get: {
146
- operationId: 'helloWorld',
147
- responses: {
148
- 200: {
149
- content: {
150
- 'application/json': {
151
- schema: {
152
- type: 'string',
153
- },
154
- },
155
- },
156
- },
157
- },
158
- },
159
- },
160
- },
161
- info: {
162
- title: `${this.options.apiName} API definition`,
163
- version: '1.0',
164
- },
165
- }));
166
- }
167
- const apiSpec = yaml.load(fs.readFileSync(this.options.definitionFile).toString());
166
+ generateSampleHandlerFiles() {
167
+ const files = {};
168
+ const apiSpec = yaml.load(fs.readFileSync((0, path_1.join)(this.project.outdir, this.options.definitionFile)).toString());
168
169
  for (const path in apiSpec.paths) {
169
170
  if (Object.prototype.hasOwnProperty.call(apiSpec.paths, path)) {
170
171
  const pathItem = apiSpec.paths[path];
@@ -177,16 +178,13 @@ export const handler = ${factoryCall}
177
178
  if (Object.prototype.hasOwnProperty.call(pathItem, method) &&
178
179
  ['get', 'post', 'put', 'delete', 'patch', 'options', 'head'].indexOf(method) >= 0) {
179
180
  // Add all operations
180
- this.addRestResource(apiSpec, path, method);
181
+ this.addRestResourceHandlerSample(files, apiSpec, path, method);
181
182
  }
182
183
  }
183
184
  }
184
185
  }
185
- if (!fs.existsSync(`${this.project.outdir}/src/generated`)) {
186
- fs.mkdirSync(`${this.project.outdir}/src/generated`);
187
- }
188
- this.createConstructFile(`${this.project.outdir}/src/generated/rest.${this.options.apiName.toLowerCase()}-api.generated.ts`);
186
+ return files;
189
187
  }
190
188
  }
191
189
  exports.RestApi = RestApi;
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVuL3Jlc3QtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLDhDQUFnQztBQUVoQywyQ0FBNkI7QUFDN0IsaUNBQXNDO0FBT3RDLE1BQWEsT0FBUSxTQUFRLEVBQUUsQ0FBQyxTQUFTO0lBRXZDLFlBQVksR0FBa0MsRUFBWSxPQUF1QjtRQUMvRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFENkMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFHL0UsR0FBRyxDQUFDLFVBQVUsQ0FDWixtQkFBbUIsRUFDbkIsbUJBQW1CLENBQ3BCLENBQUM7UUFDRixHQUFHLENBQUMsT0FBTyxDQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1Qsb0JBQW9CLENBQ3JCLENBQUM7UUFFRixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUU7WUFDaEYsSUFBSSxFQUFFLHNCQUFzQixPQUFPLENBQUMsY0FBYyxnQ0FBZ0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUscUJBQXFCO1lBQ3BJLFdBQVcsRUFBRSwrQ0FBK0M7U0FDN0QsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLFdBQVksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVTLG1CQUFtQixDQUFDLFFBQWdCO1FBRTVDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFOzt5Q0FFVSxtQkFBWTs0Q0FDVCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7O21CQUUzRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87Ozs7ZUFJeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPOztxREFFa0IsSUFB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QkFDakg7aUJBQ0Y7Z0JBQ0QsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLEVBQUU7b0JBQzdCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7d0JBQ3hELENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDbkYscUJBQXFCO3dCQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7cUJBQzdDO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLGdCQUFnQixDQUFDLEVBQUU7WUFDMUQsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLHVCQUF1QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUMvSCxDQUFDO0NBRUY7QUF4TEQsMEJBd0xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgeWFtbCBmcm9tICdqcy15YW1sJztcbmltcG9ydCB7IE9wZW5BUEkzLCBPcGVyYXRpb25PYmplY3QsIFBhdGhJdGVtT2JqZWN0IH0gZnJvbSAnb3BlbmFwaS10eXBlc2NyaXB0JztcbmltcG9ydCAqIGFzIHBqIGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBQQUNLQUdFX05BTUUgfSBmcm9tICcuL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3RBcGlPcHRpb25zIHtcbiAgcmVhZG9ubHkgYXBpTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBkZWZpbml0aW9uRmlsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUmVzdEFwaSBleHRlbmRzIHBqLkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoYXBwOiBwai5hd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgcHJvdGVjdGVkIG9wdGlvbnM6IFJlc3RBcGlPcHRpb25zKSB7XG4gICAgc3VwZXIoYXBwKTtcblxuICAgIGFwcC5hZGREZXZEZXBzKFxuICAgICAgJ0B0eXBlcy9hd3MtbGFtYmRhJyxcbiAgICAgICdAdHlwZXMvbGFtYmRhLWxvZycsXG4gICAgKTtcbiAgICBhcHAuYWRkRGVwcyhcbiAgICAgICdlc2J1aWxkJyxcbiAgICAgICdqcy15YW1sJyxcbiAgICAgICdvcGVuYXBpLXR5cGVzY3JpcHQnLFxuICAgICk7XG5cbiAgICBjb25zdCBnZW5lcmF0ZVRhc2sgPSBhcHAuYWRkVGFzayhgZ2VuZXJhdGU6YXBpOiR7b3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9YCwge1xuICAgICAgZXhlYzogYG9wZW5hcGktdHlwZXNjcmlwdCAke29wdGlvbnMuZGVmaW5pdGlvbkZpbGV9IC0tb3V0cHV0IHNyYy9nZW5lcmF0ZWQvcmVzdC4ke29wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS1tb2RlbC5nZW5lcmF0ZWQudHNgLFxuICAgICAgZGVzY3JpcHRpb246ICdHZW5lcmF0ZSBUeXBlcyBmcm9tIHRoZSBPcGVuQVBJIHNwZWNpZmljYXRpb24nLFxuICAgIH0pO1xuICAgIGFwcC5kZWZhdWx0VGFzayEuc3Bhd24oZ2VuZXJhdGVUYXNrKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb25zdHJ1Y3RGaWxlKGZpbGVOYW1lOiBzdHJpbmcpIHtcblxuICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZU5hbWUsIGAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSZXN0QXBpLCBSZXN0QXBpUHJvcHMgfSBmcm9tICcke1BBQ0tBR0VfTkFNRX0vbGliL2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgb3BlcmF0aW9ucywgcGF0aHMgfSBmcm9tICcuL3Jlc3QuJHt0aGlzLm9wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS1tb2RlbC5nZW5lcmF0ZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9UmVzdEFwaVByb3BzIGV4dGVuZHMgT21pdDxSZXN0QXBpUHJvcHM8b3BlcmF0aW9ucz4sICdkZWZpbml0aW9uRmlsZU5hbWUnIHwgJ2FwaU5hbWUnPiB7XG4gIC8vXG59XG5cbmV4cG9ydCBjbGFzcyAke3RoaXMub3B0aW9ucy5hcGlOYW1lfVJlc3RBcGkgZXh0ZW5kcyBSZXN0QXBpPHBhdGhzLCBvcGVyYXRpb25zPiB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6ICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9UmVzdEFwaVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGFwaU5hbWU6ICcke3RoaXMub3B0aW9ucy5hcGlOYW1lfScsXG4gICAgICBkZWZpbml0aW9uRmlsZU5hbWU6ICcke3RoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZX0nLFxuICAgIH0pO1xuICB9XG5cbn1gLCB7XG4gICAgICBlbmNvZGluZzogJ3V0Zi04JyxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCB2YWxpZGF0ZVBhdGhSZWYoYXBpU3BlYzogT3BlbkFQSTMsIHBhdGg6IHN0cmluZywgdmlzaXRlZDogc3RyaW5nW10gPSBbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghcGF0aC5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJlc29sdmUgcmVmICcke3BhdGh9JyAtIFJlc29sdmluZyByZWZlcmVuY2VzIHRvIHBhdGhzIGZyb20gZGlmZmVyZW50IGZpbGVzIGlzIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkYCk7XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aFByZXR0eVNwbGl0ID1cbiAgICAgIHBhdGhcbiAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgLnNsaWNlKDEpXG4gICAgICAgIC5tYXAocGF0aFBhcnQgPT5cbiAgICAgICAgICBwYXRoUGFydFxuICAgICAgICAgICAgLnJlcGxhY2UoJ34xJywgJy8nKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ34wJywgJ34nKSxcbiAgICAgICAgKTtcblxuICAgIGlmICh2aXNpdGVkLmluY2x1ZGVzKHBhdGhQcmV0dHlTcGxpdFsxXSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ3ljbGljYWwgcmVmZXJlbmNlIGV4aXN0cyBiZXR3ZWVuIHBhdGhzOiAke3Zpc2l0ZWQuam9pbignLCAnKX1gKTtcbiAgICB9XG5cblxuICAgIGNvbnN0IG1heWJlUGF0aCA9IHBhdGhQcmV0dHlTcGxpdC5yZWR1Y2UoKGFjYywgcGF0aFBhcnQpID0+IHtcbiAgICAgIGlmIChPYmplY3Qua2V5cyhhY2MpLmluY2x1ZGVzKHBhdGhQYXJ0KSkge1xuICAgICAgICByZXR1cm4gYWNjW3BhdGhQYXJ0XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSwgYXBpU3BlYyBhcyBhbnkpO1xuICAgIGlmIChtYXliZVBhdGgpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobWF5YmVQYXRoLCAnJHJlZicpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlUGF0aFJlZihhcGlTcGVjLCBtYXliZVBhdGguJHJlZiwgWy4uLnZpc2l0ZWQsIHBhdGhQcmV0dHlTcGxpdFsxXV0pO1xuICAgICAgfVxuICAgICAgLy8gQ2xvc2VzdCB0aGluZyB0byBtYWtpbmcgc3VyZSB0aGUgcmVmIGFjdHVhbGx5IGlzIGEgcGF0aCBvYmplY3RcbiAgICAgIHJldHVybiBbJ2dldCcsICdwb3N0JywgJ3B1dCcsICdkZWxldGUnLCAncGF0Y2gnLCAnb3B0aW9ucycsICdoZWFkJ10uc29tZShtZXRob2QgPT4gT2JqZWN0LmtleXMobWF5YmVQYXRoKS5pbmRleE9mKG1ldGhvZCkgPj0gMCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhZGRSZXN0UmVzb3VyY2UoYXBpU3BlYzogT3BlbkFQSTMsIHBhdGg6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcpIHtcbiAgICBjb25zdCBvYVBhdGggPSBhcGlTcGVjLnBhdGhzIVtwYXRoXSBhcyBQYXRoSXRlbU9iamVjdDtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBvYVBhdGhbbWV0aG9kIGFzIGtleW9mIFBhdGhJdGVtT2JqZWN0XSBhcyBPcGVyYXRpb25PYmplY3Q7XG4gICAgY29uc3Qgb3BlcmF0aW9uSWQgPSBvcGVyYXRpb24ub3BlcmF0aW9uSWQhO1xuICAgIC8vIGNvbnN0IGRlc2NyaXB0aW9uID0gYCR7bWV0aG9kIGFzIHN0cmluZ30gJHtwYXRoIGFzIHN0cmluZ30gLSAke29wZXJhdGlvbi5zdW1tYXJ5fWA7XG5cbiAgICBjb25zdCBlbnRyeUZpbGUgPSBgJHt0aGlzLnByb2plY3Qub3V0ZGlyfS9zcmMvbGFtYmRhL3Jlc3QuJHt0aGlzLm9wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS4ke29wZXJhdGlvbklkfS50c2A7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGVudHJ5RmlsZSkpIHtcbiAgICAgIGlmICghZnMuZXhpc3RzU3luYyhgJHt0aGlzLnByb2plY3Qub3V0ZGlyfS9zcmMvbGFtYmRhYCkpIHtcbiAgICAgICAgZnMubWtkaXJTeW5jKGAke3RoaXMucHJvamVjdC5vdXRkaXJ9L3NyYy9sYW1iZGFgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY3JlYXRlRW50cnlGaWxlKGVudHJ5RmlsZSwgbWV0aG9kLCBvcGVyYXRpb25JZCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUVudHJ5RmlsZShlbnRyeUZpbGU6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcsIG9wZXJhdGlvbklkOiBzdHJpbmcpIHtcbiAgICBsZXQgZmFjdG9yeUNhbGw7XG4gICAgbGV0IGxvZ3M7XG4gICAgc3dpdGNoIChtZXRob2QudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSAncG9zdCc6XG4gICAgICBjYXNlICdwdXQnOlxuICAgICAgY2FzZSAncGF0Y2gnOlxuICAgICAgICBmYWN0b3J5Q2FsbCA9IGBhcGkuY3JlYXRlT3BlbkFwaUhhbmRsZXJXaXRoUmVxdWVzdEJvZHk8b3BlcmF0aW9uc1snJHtvcGVyYXRpb25JZH0nXT4oYXN5bmMgKGN0eCwgZGF0YSkgPT4ge2A7XG4gICAgICAgIGxvZ3MgPSAnY3R4LmxvZ2dlci5pbmZvKEpTT04uc3RyaW5naWZ5KGRhdGEpKTsnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ29wdGlvbnMnOlxuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgIGNhc2UgJ2dldCc6XG4gICAgICBjYXNlICdoZWFkJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGZhY3RvcnlDYWxsID0gYGFwaS5jcmVhdGVPcGVuQXBpSGFuZGxlcjxvcGVyYXRpb25zWycke29wZXJhdGlvbklkfSddPihhc3luYyAoY3R4KSA9PiB7YDtcbiAgICAgICAgbG9ncyA9ICcnO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBmcy53cml0ZUZpbGVTeW5jKGVudHJ5RmlsZSwgYGltcG9ydCB7IGFwaSwgZXJyb3JzIH0gZnJvbSAnJHtQQUNLQUdFX05BTUV9L2xpYi9sYW1iZGEnO1xuaW1wb3J0IHsgb3BlcmF0aW9ucyB9IGZyb20gJy4uL2dlbmVyYXRlZC9yZXN0LiR7dGhpcy5vcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0tbW9kZWwuZ2VuZXJhdGVkJztcblxuZXhwb3J0IGNvbnN0IGhhbmRsZXIgPSAke2ZhY3RvcnlDYWxsfVxuICBjdHgubG9nZ2VyLmluZm8oSlNPTi5zdHJpbmdpZnkoY3R4LmV2ZW50KSk7XG4gICR7bG9nc31cbiAgdGhyb3cgbmV3IGVycm9ycy5IdHRwRXJyb3IoNTAwLCAnTm90IHlldCBpbXBsZW1lbnRlZCcpO1xufSk7YCwge1xuICAgICAgZW5jb2Rpbmc6ICd1dGYtOCcsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3ludGhlc2l6ZSgpIHtcbiAgICBzdXBlci5zeW50aGVzaXplKCk7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKHRoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZSkpIHtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmModGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlLCB5YW1sLmR1bXAoe1xuICAgICAgICBvcGVuYXBpOiAnMy4wLjEnLFxuICAgICAgICBwYXRoczoge1xuICAgICAgICAgICcvaGVsbG8nOiB7XG4gICAgICAgICAgICBnZXQ6IHtcbiAgICAgICAgICAgICAgb3BlcmF0aW9uSWQ6ICdoZWxsb1dvcmxkJyxcbiAgICAgICAgICAgICAgcmVzcG9uc2VzOiB7XG4gICAgICAgICAgICAgICAgMjAwOiB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiB7XG4gICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJzoge1xuICAgICAgICAgICAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgaW5mbzoge1xuICAgICAgICAgIHRpdGxlOiBgJHt0aGlzLm9wdGlvbnMuYXBpTmFtZX0gQVBJIGRlZmluaXRpb25gLFxuICAgICAgICAgIHZlcnNpb246ICcxLjAnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH1cbiAgICBjb25zdCBhcGlTcGVjID0geWFtbC5sb2FkKGZzLnJlYWRGaWxlU3luYyh0aGlzLm9wdGlvbnMuZGVmaW5pdGlvbkZpbGUpLnRvU3RyaW5nKCkpIGFzIE9wZW5BUEkzO1xuICAgIGZvciAoY29uc3QgcGF0aCBpbiBhcGlTcGVjLnBhdGhzKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGFwaVNwZWMucGF0aHMsIHBhdGgpKSB7XG4gICAgICAgIGNvbnN0IHBhdGhJdGVtID0gYXBpU3BlYy5wYXRoc1twYXRoXTtcbiAgICAgICAgaWYgKCgnJHJlZicgaW4gcGF0aEl0ZW0pKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLnZhbGlkYXRlUGF0aFJlZihhcGlTcGVjLCBwYXRoSXRlbS4kcmVmKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXRoICcke3BhdGh9JyByZWZlcmVuY2VzICcke3BhdGhJdGVtLiRyZWZ9Jywgd2hpY2ggZG9lcyBub3QgZXhpc3QgaW4gdGhpcyBBUEkgc3BlY2lmaWNhdGlvbmApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG1ldGhvZCBpbiBwYXRoSXRlbSkge1xuICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGF0aEl0ZW0sIG1ldGhvZCkgJiZcbiAgICAgICAgICAgIFsnZ2V0JywgJ3Bvc3QnLCAncHV0JywgJ2RlbGV0ZScsICdwYXRjaCcsICdvcHRpb25zJywgJ2hlYWQnXS5pbmRleE9mKG1ldGhvZCkgPj0gMCkge1xuICAgICAgICAgICAgLy8gQWRkIGFsbCBvcGVyYXRpb25zXG4gICAgICAgICAgICB0aGlzLmFkZFJlc3RSZXNvdXJjZShhcGlTcGVjLCBwYXRoLCBtZXRob2QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2dlbmVyYXRlZGApKSB7XG4gICAgICBmcy5ta2RpclN5bmMoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2dlbmVyYXRlZGApO1xuICAgIH1cbiAgICB0aGlzLmNyZWF0ZUNvbnN0cnVjdEZpbGUoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2dlbmVyYXRlZC9yZXN0LiR7dGhpcy5vcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0tYXBpLmdlbmVyYXRlZC50c2ApO1xuICB9XG5cbn0iXX0=
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVuL3Jlc3QtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLCtCQUE0QjtBQUM1Qiw4Q0FBZ0M7QUFFaEMsMkNBQTZCO0FBQzdCLGlDQUFzQztBQUN0QyxxREFBaUQ7QUFPakQsTUFBYSxPQUFRLFNBQVEsRUFBRSxDQUFDLFNBQVM7SUFFdkMsWUFBWSxHQUFrQyxFQUFZLE9BQXVCO1FBQy9FLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUQ2QyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUcvRSxHQUFHLENBQUMsVUFBVSxDQUNaLG1CQUFtQixFQUNuQixtQkFBbUIsQ0FDcEIsQ0FBQztRQUNGLEdBQUcsQ0FBQyxPQUFPLENBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxvQkFBb0IsQ0FDckIsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRTtZQUNoRixJQUFJLEVBQUUsc0JBQXNCLE9BQU8sQ0FBQyxjQUFjLGdDQUFnQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxxQkFBcUI7WUFDcEksV0FBVyxFQUFFLCtDQUErQztTQUM3RCxDQUFDLENBQUM7UUFDSCxHQUFHLENBQUMsV0FBWSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVyQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQ3RELFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNsQixPQUFPLEVBQUUsT0FBTztnQkFDaEIsS0FBSyxFQUFFO29CQUNMLFFBQVEsRUFBRTt3QkFDUixHQUFHLEVBQUU7NEJB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Q0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDakQsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksaUJBQWlCLFFBQVEsQ0FBQyxJQUFJLG1EQUFtRCxDQUFDLENBQUM7cUJBQ2pIO2lCQUNGO2dCQUNELEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxFQUFFO29CQUM3QixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO3dCQUN4RCxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ25GLHFCQUFxQjt3QkFDckIsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO3FCQUNqRTtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FFRjtBQXZMRCwwQkF1TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyB5YW1sIGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IHsgT3BlbkFQSTMsIE9wZXJhdGlvbk9iamVjdCwgUGF0aEl0ZW1PYmplY3QgfSBmcm9tICdvcGVuYXBpLXR5cGVzY3JpcHQnO1xuaW1wb3J0ICogYXMgcGogZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFBBQ0tBR0VfTkFNRSB9IGZyb20gJy4vY29yZSc7XG5pbXBvcnQgeyBMYXp5U2FtcGxlRGlyIH0gZnJvbSAnLi9sYXp5LXNhbXBsZWRpcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdEFwaU9wdGlvbnMge1xuICByZWFkb25seSBhcGlOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlZmluaXRpb25GaWxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXN0QXBpIGV4dGVuZHMgcGouQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihhcHA6IHBqLmF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwLCBwcm90ZWN0ZWQgb3B0aW9uczogUmVzdEFwaU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHApO1xuXG4gICAgYXBwLmFkZERldkRlcHMoXG4gICAgICAnQHR5cGVzL2F3cy1sYW1iZGEnLFxuICAgICAgJ0B0eXBlcy9sYW1iZGEtbG9nJyxcbiAgICApO1xuICAgIGFwcC5hZGREZXBzKFxuICAgICAgJ2VzYnVpbGQnLFxuICAgICAgJ2pzLXlhbWwnLFxuICAgICAgJ29wZW5hcGktdHlwZXNjcmlwdCcsXG4gICAgKTtcblxuICAgIGNvbnN0IGdlbmVyYXRlVGFzayA9IGFwcC5hZGRUYXNrKGBnZW5lcmF0ZTphcGk6JHtvcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX1gLCB7XG4gICAgICBleGVjOiBgb3BlbmFwaS10eXBlc2NyaXB0ICR7b3B0aW9ucy5kZWZpbml0aW9uRmlsZX0gLS1vdXRwdXQgc3JjL2dlbmVyYXRlZC9yZXN0LiR7b3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9LW1vZGVsLmdlbmVyYXRlZC50c2AsXG4gICAgICBkZXNjcmlwdGlvbjogJ0dlbmVyYXRlIFR5cGVzIGZyb20gdGhlIE9wZW5BUEkgc3BlY2lmaWNhdGlvbicsXG4gICAgfSk7XG4gICAgYXBwLmRlZmF1bHRUYXNrIS5zcGF3bihnZW5lcmF0ZVRhc2spO1xuXG4gICAgbmV3IHBqLlNhbXBsZUZpbGUodGhpcy5wcm9qZWN0LCBvcHRpb25zLmRlZmluaXRpb25GaWxlLCB7XG4gICAgICBjb250ZW50czogeWFtbC5kdW1wKHtcbiAgICAgICAgb3BlbmFwaTogJzMuMC4xJyxcbiAgICAgICAgcGF0aHM6IHtcbiAgICAgICAgICAnL2hlbGxvJzoge1xuICAgICAgICAgICAgZ2V0OiB7XG4gICAgICAgICAgICAgIG9wZXJhdGlvbklkOiAnaGVsbG9Xb3JsZCcsXG4gICAgICAgICAgICAgIHJlc3BvbnNlczoge1xuICAgICAgICAgICAgICAgIDIwMDoge1xuICAgICAgICAgICAgICAgICAgY29udGVudDoge1xuICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbic6IHtcbiAgICAgICAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGluZm86IHtcbiAgICAgICAgICB0aXRsZTogYCR7dGhpcy5vcHRpb25zLmFwaU5hbWV9IEFQSSBkZWZpbml0aW9uYCxcbiAgICAgICAgICB2ZXJzaW9uOiAnMS4wJyxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgbmV3IExhenlTYW1wbGVEaXIodGhpcy5wcm9qZWN0LCAnc3JjL2xhbWJkYScsIHtcbiAgICAgIGZpbGVHZW5lcmF0b3I6IHRoaXMuZ2VuZXJhdGVTYW1wbGVIYW5kbGVyRmlsZXMuYmluZCh0aGlzKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGFwaUZpbGUgPSBuZXcgcGouVGV4dEZpbGUodGhpcy5wcm9qZWN0LCBgJHt0aGlzLnByb2plY3Qub3V0ZGlyfS9zcmMvZ2VuZXJhdGVkL3Jlc3QuJHt0aGlzLm9wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS1hcGkuZ2VuZXJhdGVkLnRzYCk7XG4gICAgYXBpRmlsZS5hZGRMaW5lKHRoaXMuY3JlYXRlQ29uc3RydWN0RmlsZShhcGlGaWxlKSk7XG5cbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb25zdHJ1Y3RGaWxlKGZpbGU6IHBqLkZpbGVCYXNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYC8vICR7ZmlsZS5tYXJrZXJ9XG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSZXN0QXBpLCBSZXN0QXBpUHJvcHMgfSBmcm9tICcke1BBQ0tBR0VfTkFNRX0vbGliL2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgb3BlcmF0aW9ucywgcGF0aHMgfSBmcm9tICcuL3Jlc3QuJHt0aGlzLm9wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS1tb2RlbC5nZW5lcmF0ZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9UmVzdEFwaVByb3BzIGV4dGVuZHMgT21pdDxSZXN0QXBpUHJvcHM8b3BlcmF0aW9ucz4sICdkZWZpbml0aW9uRmlsZU5hbWUnIHwgJ2FwaU5hbWUnPiB7XG4gIC8vXG59XG5cbmV4cG9ydCBjbGFzcyAke3RoaXMub3B0aW9ucy5hcGlOYW1lfVJlc3RBcGkgZXh0ZW5kcyBSZXN0QXBpPHBhdGhzLCBvcGVyYXRpb25zPiB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6ICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9UmVzdEFwaVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGFwaU5hbWU6ICcke3RoaXMub3B0aW9ucy5hcGlOYW1lfScsXG4gICAgICBkZWZpbml0aW9uRmlsZU5hbWU6ICcke3RoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZX0nLFxuICAgIH0pO1xuICB9XG5cbn1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIHZhbGlkYXRlUGF0aFJlZihhcGlTcGVjOiBPcGVuQVBJMywgcGF0aDogc3RyaW5nLCB2aXNpdGVkOiBzdHJpbmdbXSA9IFtdKTogYm9vbGVhbiB7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoJyMnKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gcmVzb2x2ZSByZWYgJyR7cGF0aH0nIC0gUmVzb2x2aW5nIHJlZmVyZW5jZXMgdG8gcGF0aHMgZnJvbSBkaWZmZXJlbnQgZmlsZXMgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWRgKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXRoUHJldHR5U3BsaXQgPVxuICAgICAgcGF0aFxuICAgICAgICAuc3BsaXQoJy8nKVxuICAgICAgICAuc2xpY2UoMSlcbiAgICAgICAgLm1hcChwYXRoUGFydCA9PlxuICAgICAgICAgIHBhdGhQYXJ0XG4gICAgICAgICAgICAucmVwbGFjZSgnfjEnLCAnLycpXG4gICAgICAgICAgICAucmVwbGFjZSgnfjAnLCAnficpLFxuICAgICAgICApO1xuXG4gICAgaWYgKHZpc2l0ZWQuaW5jbHVkZXMocGF0aFByZXR0eVNwbGl0WzFdKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDeWNsaWNhbCByZWZlcmVuY2UgZXhpc3RzIGJldHdlZW4gcGF0aHM6ICR7dmlzaXRlZC5qb2luKCcsICcpfWApO1xuICAgIH1cblxuXG4gICAgY29uc3QgbWF5YmVQYXRoID0gcGF0aFByZXR0eVNwbGl0LnJlZHVjZSgoYWNjLCBwYXRoUGFydCkgPT4ge1xuICAgICAgaWYgKE9iamVjdC5rZXlzKGFjYykuaW5jbHVkZXMocGF0aFBhcnQpKSB7XG4gICAgICAgIHJldHVybiBhY2NbcGF0aFBhcnRdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LCBhcGlTcGVjIGFzIGFueSk7XG4gICAgaWYgKG1heWJlUGF0aCkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtYXliZVBhdGgsICckcmVmJykpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVQYXRoUmVmKGFwaVNwZWMsIG1heWJlUGF0aC4kcmVmLCBbLi4udmlzaXRlZCwgcGF0aFByZXR0eVNwbGl0WzFdXSk7XG4gICAgICB9XG4gICAgICAvLyBDbG9zZXN0IHRoaW5nIHRvIG1ha2luZyBzdXJlIHRoZSByZWYgYWN0dWFsbHkgaXMgYSBwYXRoIG9iamVjdFxuICAgICAgcmV0dXJuIFsnZ2V0JywgJ3Bvc3QnLCAncHV0JywgJ2RlbGV0ZScsICdwYXRjaCcsICdvcHRpb25zJywgJ2hlYWQnXS5zb21lKG1ldGhvZCA9PiBPYmplY3Qua2V5cyhtYXliZVBhdGgpLmluZGV4T2YobWV0aG9kKSA+PSAwKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZFJlc3RSZXNvdXJjZUhhbmRsZXJTYW1wbGUoZmlsZXM6IHsgW2ZpbGVOYW1lOiBzdHJpbmddOiAoKSA9PiBzdHJpbmcgfSwgYXBpU3BlYzogT3BlbkFQSTMsIHBhdGg6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcpIHtcbiAgICBjb25zdCBvYVBhdGggPSBhcGlTcGVjLnBhdGhzIVtwYXRoXSBhcyBQYXRoSXRlbU9iamVjdDtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBvYVBhdGhbbWV0aG9kIGFzIGtleW9mIFBhdGhJdGVtT2JqZWN0XSBhcyBPcGVyYXRpb25PYmplY3Q7XG4gICAgY29uc3Qgb3BlcmF0aW9uSWQgPSBvcGVyYXRpb24ub3BlcmF0aW9uSWQhO1xuICAgIC8vIGNvbnN0IGRlc2NyaXB0aW9uID0gYCR7bWV0aG9kIGFzIHN0cmluZ30gJHtwYXRoIGFzIHN0cmluZ30gLSAke29wZXJhdGlvbi5zdW1tYXJ5fWA7XG5cbiAgICBjb25zdCBlbnRyeUZpbGUgPSBgcmVzdC4ke3RoaXMub3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9LiR7b3BlcmF0aW9uSWR9LnRzYDtcbiAgICBmaWxlc1tlbnRyeUZpbGVdID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRW50cnlGaWxlKG1ldGhvZCwgb3BlcmF0aW9uSWQpO1xuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlRW50cnlGaWxlKG1ldGhvZDogc3RyaW5nLCBvcGVyYXRpb25JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgZmFjdG9yeUNhbGw7XG4gICAgbGV0IGxvZ3M7XG4gICAgc3dpdGNoIChtZXRob2QudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSAncG9zdCc6XG4gICAgICBjYXNlICdwdXQnOlxuICAgICAgY2FzZSAncGF0Y2gnOlxuICAgICAgICBmYWN0b3J5Q2FsbCA9IGBhcGkuY3JlYXRlT3BlbkFwaUhhbmRsZXJXaXRoUmVxdWVzdEJvZHk8b3BlcmF0aW9uc1snJHtvcGVyYXRpb25JZH0nXT4oYXN5bmMgKGN0eCwgZGF0YSkgPT4ge2A7XG4gICAgICAgIGxvZ3MgPSAnY3R4LmxvZ2dlci5pbmZvKEpTT04uc3RyaW5naWZ5KGRhdGEpKTsnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ29wdGlvbnMnOlxuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgIGNhc2UgJ2dldCc6XG4gICAgICBjYXNlICdoZWFkJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGZhY3RvcnlDYWxsID0gYGFwaS5jcmVhdGVPcGVuQXBpSGFuZGxlcjxvcGVyYXRpb25zWycke29wZXJhdGlvbklkfSddPihhc3luYyAoY3R4KSA9PiB7YDtcbiAgICAgICAgbG9ncyA9ICcnO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gYGltcG9ydCB7IGFwaSwgZXJyb3JzIH0gZnJvbSAnJHtQQUNLQUdFX05BTUV9L2xpYi9sYW1iZGEnO1xuaW1wb3J0IHsgb3BlcmF0aW9ucyB9IGZyb20gJy4uL2dlbmVyYXRlZC9yZXN0LiR7dGhpcy5vcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0tbW9kZWwuZ2VuZXJhdGVkJztcblxuZXhwb3J0IGNvbnN0IGhhbmRsZXIgPSAke2ZhY3RvcnlDYWxsfVxuICBjdHgubG9nZ2VyLmluZm8oSlNPTi5zdHJpbmdpZnkoY3R4LmV2ZW50KSk7XG4gICR7bG9nc31cbiAgdGhyb3cgbmV3IGVycm9ycy5IdHRwRXJyb3IoNTAwLCAnTm90IHlldCBpbXBsZW1lbnRlZCcpO1xufSk7YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVTYW1wbGVIYW5kbGVyRmlsZXMoKTogeyBbZmlsZU5hbWU6IHN0cmluZ106ICgoKSA9PiBzdHJpbmcpIH0ge1xuICAgIGNvbnN0IGZpbGVzID0ge307XG4gICAgY29uc3QgYXBpU3BlYyA9IHlhbWwubG9hZChmcy5yZWFkRmlsZVN5bmMoam9pbih0aGlzLnByb2plY3Qub3V0ZGlyLCB0aGlzLm9wdGlvbnMuZGVmaW5pdGlvbkZpbGUpKS50b1N0cmluZygpKSBhcyBPcGVuQVBJMztcbiAgICBmb3IgKGNvbnN0IHBhdGggaW4gYXBpU3BlYy5wYXRocykge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhcGlTcGVjLnBhdGhzLCBwYXRoKSkge1xuICAgICAgICBjb25zdCBwYXRoSXRlbSA9IGFwaVNwZWMucGF0aHNbcGF0aF07XG4gICAgICAgIGlmICgoJyRyZWYnIGluIHBhdGhJdGVtKSkge1xuICAgICAgICAgIGlmICghdGhpcy52YWxpZGF0ZVBhdGhSZWYoYXBpU3BlYywgcGF0aEl0ZW0uJHJlZikpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUGF0aCAnJHtwYXRofScgcmVmZXJlbmNlcyAnJHtwYXRoSXRlbS4kcmVmfScsIHdoaWNoIGRvZXMgbm90IGV4aXN0IGluIHRoaXMgQVBJIHNwZWNpZmljYXRpb25gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBtZXRob2QgaW4gcGF0aEl0ZW0pIHtcbiAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHBhdGhJdGVtLCBtZXRob2QpICYmXG4gICAgICAgICAgICBbJ2dldCcsICdwb3N0JywgJ3B1dCcsICdkZWxldGUnLCAncGF0Y2gnLCAnb3B0aW9ucycsICdoZWFkJ10uaW5kZXhPZihtZXRob2QpID49IDApIHtcbiAgICAgICAgICAgIC8vIEFkZCBhbGwgb3BlcmF0aW9uc1xuICAgICAgICAgICAgdGhpcy5hZGRSZXN0UmVzb3VyY2VIYW5kbGVyU2FtcGxlKGZpbGVzLCBhcGlTcGVjLCBwYXRoLCBtZXRob2QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmlsZXM7XG4gIH1cblxufSJdfQ==
@@ -11,9 +11,8 @@ interface VariableDefinition {
11
11
  export declare class Workflow extends pj.Component {
12
12
  protected options: WorkflowOptions;
13
13
  constructor(app: pj.awscdk.AwsCdkTypeScriptApp, options: WorkflowOptions);
14
- protected createConstructFile(fileName: string, matchedVariables: VariableDefinition[]): void;
14
+ protected createConstructFile(file: pj.FileBase): string;
15
15
  protected renderStateConfigDefinition(def: VariableDefinition): string;
16
16
  protected renderDefinitionSubstitution(def: VariableDefinition): string;
17
- synthesize(): void;
18
17
  }
19
18
  export {};
@@ -25,15 +25,43 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.Workflow = void 0;
27
27
  const fs = __importStar(require("fs"));
28
+ const path_1 = require("path");
28
29
  const pj = __importStar(require("projen"));
29
30
  const core_1 = require("./core");
31
+ const lazy_textfile_1 = require("./lazy-textfile");
30
32
  class Workflow extends pj.Component {
31
33
  constructor(app, options) {
32
34
  super(app);
33
35
  this.options = options;
36
+ new pj.SampleFile(this.project, this.options.definitionFile, {
37
+ contents: JSON.stringify({
38
+ StartAt: 'Hello World',
39
+ States: {
40
+ 'Hello World': {
41
+ Type: 'Pass',
42
+ Result: {
43
+ Hello: '${world}',
44
+ },
45
+ End: true,
46
+ },
47
+ },
48
+ }, undefined, 2),
49
+ });
50
+ new lazy_textfile_1.LazyTextFile(this.project, `src/generated/workflow.${this.options.workflowName.toLowerCase()}.generated.ts`, { content: this.createConstructFile.bind(this) });
34
51
  }
35
- createConstructFile(fileName, matchedVariables) {
36
- fs.writeFileSync(fileName, `/* eslint-disable */
52
+ createConstructFile(file) {
53
+ var _a;
54
+ const workflowDefinition = fs.readFileSync((0, path_1.join)(this.project.outdir, this.options.definitionFile)).toString();
55
+ const matches = (_a = workflowDefinition.match(/\$\{[a-zA-Z0-9#]*\}/g)) === null || _a === void 0 ? void 0 : _a.map(match => match.substring(2, match.length - 1));
56
+ const matchedVariables = (matches !== null && matches !== void 0 ? matches : []).map(varName => {
57
+ if (varName.indexOf('#') < 0) {
58
+ return { name: varName, fullName: varName, type: 'string' };
59
+ }
60
+ const [name, type] = varName.split('#');
61
+ return { name, type, fullName: varName };
62
+ });
63
+ return `// ${file.marker}
64
+ /* eslint-disable */
37
65
  import * as constructs from 'constructs';
38
66
  import { ITable } from 'aws-cdk-lib/aws-dynamodb';
39
67
  import { IFunction } from 'aws-cdk-lib/aws-lambda';
@@ -57,9 +85,7 @@ export class ${this.options.workflowName}Workflow extends sls.Workflow {
57
85
  });
58
86
  }
59
87
 
60
- }`, {
61
- encoding: 'utf-8',
62
- });
88
+ }`;
63
89
  }
64
90
  renderStateConfigDefinition(def) {
65
91
  switch (def.type) {
@@ -83,37 +109,6 @@ export class ${this.options.workflowName}Workflow extends sls.Workflow {
83
109
  return `'${def.fullName}': props.stateConfig.${def.name},`;
84
110
  }
85
111
  }
86
- synthesize() {
87
- var _a;
88
- super.synthesize();
89
- if (!fs.existsSync(this.options.definitionFile)) {
90
- fs.writeFileSync(this.options.definitionFile, JSON.stringify({
91
- StartAt: 'Hello World',
92
- States: {
93
- 'Hello World': {
94
- Type: 'Pass',
95
- Result: {
96
- Hello: '${world}',
97
- },
98
- End: true,
99
- },
100
- },
101
- }, undefined, 2));
102
- }
103
- const workflowDefinition = fs.readFileSync(this.options.definitionFile).toString();
104
- const matches = (_a = workflowDefinition.match(/\$\{[a-zA-Z0-9#]*\}/g)) === null || _a === void 0 ? void 0 : _a.map(match => match.substring(2, match.length - 1));
105
- const variables = (matches !== null && matches !== void 0 ? matches : []).map(varName => {
106
- if (varName.indexOf('#') < 0) {
107
- return { name: varName, fullName: varName, type: 'string' };
108
- }
109
- const [name, type] = varName.split('#');
110
- return { name, type, fullName: varName };
111
- });
112
- if (!fs.existsSync(`${this.project.outdir}/src/generated`)) {
113
- fs.mkdirSync(`${this.project.outdir}/src/generated`);
114
- }
115
- this.createConstructFile(`${this.project.outdir}/src/generated/workflow.${this.options.workflowName.toLowerCase()}.generated.ts`, variables);
116
- }
117
112
  }
118
113
  exports.Workflow = Workflow;
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVuL3dvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3QixpQ0FBc0M7QUFhdEMsTUFBYSxRQUFTLFNBQVEsRUFBRSxDQUFDLFNBQVM7SUFFeEMsWUFBWSxHQUFrQyxFQUFZLE9BQXdCO1FBQ2hGLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUQ2QyxZQUFPLEdBQVAsT0FBTyxDQUFpQjtJQUVsRixDQUFDO0lBRVMsbUJBQW1CLENBQUMsUUFBZ0IsRUFBRSxnQkFBc0M7UUFDcEYsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7Ozs7d0JBSVAsbUJBQVk7O21CQUVqQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVk7O01BRXRDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Ozs7ZUFJaEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZOztnRUFFd0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZOzs7NkJBRzVELElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYzs7VUFFOUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs7Ozs7RUFLbEYsRUFBRTtZQUNFLFFBQVEsRUFBRSxPQUFPO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUywyQkFBMkIsQ0FBQyxHQUF1QjtRQUMzRCxRQUFRLEdBQUcsQ0FBQyxJQUFJLEVBQUU7WUFDaEIsS0FBSyxlQUFlO2dCQUNsQixPQUFPLFlB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ZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9JLENBQUM7Q0FDRjtBQTVGRCw0QkE0RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwaiBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgUEFDS0FHRV9OQU1FIH0gZnJvbSAnLi9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd09wdGlvbnMge1xuICByZWFkb25seSB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVmaW5pdGlvbkZpbGU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFZhcmlhYmxlRGVmaW5pdGlvbiB7XG4gIHJlYWRvbmx5IGZ1bGxOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgV29ya2Zsb3cgZXh0ZW5kcyBwai5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKGFwcDogcGouYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAsIHByb3RlY3RlZCBvcHRpb25zOiBXb3JrZmxvd09wdGlvbnMpIHtcbiAgICBzdXBlcihhcHApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnN0cnVjdEZpbGUoZmlsZU5hbWU6IHN0cmluZywgbWF0Y2hlZFZhcmlhYmxlczogVmFyaWFibGVEZWZpbml0aW9uW10pIHtcbiAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGVOYW1lLCBgLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJVGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0IHsgSUZ1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBzbHMgZnJvbSAnJHtQQUNLQUdFX05BTUV9L2xpYi9jb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSAke3RoaXMub3B0aW9ucy53b3JrZmxvd05hbWV9V29ya2Zsb3dQcm9wcyBleHRlbmRzIE9taXQ8c2xzLldvcmtmbG93UHJvcHMsICdkZWZpbml0aW9uRmlsZU5hbWUnIHwgJ2RlZmluaXRpb25TdWJzdGl0dXRpb25zJz4ge1xuICByZWFkb25seSBzdGF0ZUNvbmZpZzoge1xuICAgICR7bWF0Y2hlZFZhcmlhYmxlcy5tYXAodiA9PiB0aGlzLnJlbmRlclN0YXRlQ29uZmlnRGVmaW5pdGlvbih2KSkuam9pbignXFxuJyl9XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyAke3RoaXMub3B0aW9ucy53b3JrZmxvd05hbWV9V29ya2Zsb3cgZXh0ZW5kcyBzbHMuV29ya2Zsb3cge1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6ICR7dGhpcy5vcHRpb25zLndvcmtmbG93TmFtZX1Xb3JrZmxvd1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRlZmluaXRpb25GaWxlTmFtZTogJyR7dGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlfScsXG4gICAgICBkZWZpbml0aW9uU3Vic3RpdHV0aW9uczoge1xuICAgICAgICAke21hdGNoZWRWYXJpYWJsZXMubWFwKHYgPT4gdGhpcy5yZW5kZXJEZWZpbml0aW9uU3Vic3RpdHV0aW9uKHYpKS5qb2luKCdcXG4nKX1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG59YCwge1xuICAgICAgZW5jb2Rpbmc6ICd1dGYtOCcsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyU3RhdGVDb25maWdEZWZpbml0aW9uKGRlZjogVmFyaWFibGVEZWZpbml0aW9uKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGRlZi50eXBlKSB7XG4gICAgICBjYXNlICdEeW5hbW9EQlRhYmxlJzpcbiAgICAgICAgcmV0dXJuIGByZWFkb25seSAke2RlZi5uYW1lfTogSVRhYmxlO2A7XG4gICAgICBjYXNlICdMYW1iZGFGdW5jdGlvbic6XG4gICAgICAgIHJldHVybiBgcmVhZG9ubHkgJHtkZWYubmFtZX06IElGdW5jdGlvbjtgO1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBgcmVhZG9ubHkgJHtkZWYubmFtZX06IHN0cmluZztgO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCByZW5kZXJEZWZpbml0aW9uU3Vic3RpdHV0aW9uKGRlZjogVmFyaWFibGVEZWZpbml0aW9uKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGRlZi50eXBlKSB7XG4gICAgICBjYXNlICdEeW5hbW9EQlRhYmxlJzpcbiAgICAgICAgcmV0dXJuIGAnJHtkZWYuZnVsbE5hbWV9JzogcHJvcHMuc3RhdGVDb25maWcuJHtkZWYubmFtZX0udGFibGVOYW1lLGA7XG4gICAgICBjYXNlICdMYW1iZGFGdW5jdGlvbic6XG4gICAgICAgIHJldHVybiBgJyR7ZGVmLmZ1bGxOYW1lfSc6IHByb3BzLnN0YXRlQ29uZmlnLiR7ZGVmLm5hbWV9LmZ1bmN0aW9uQXJuLGA7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGAnJHtkZWYuZnVsbE5hbWV9JzogcHJvcHMuc3RhdGVDb25maWcuJHtkZWYubmFtZX0sYDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3ludGhlc2l6ZSgpIHtcbiAgICBzdXBlci5zeW50aGVzaXplKCk7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKHRoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZSkpIHtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmModGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlLCBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIFN0YXJ0QXQ6ICdIZWxsbyBXb3JsZCcsXG4gICAgICAgIFN0YXRlczoge1xuICAgICAgICAgICdIZWxsbyBXb3JsZCc6IHtcbiAgICAgICAgICAgIFR5cGU6ICdQYXNzJyxcbiAgICAgICAgICAgIFJlc3VsdDoge1xuICAgICAgICAgICAgICBIZWxsbzogJyR7d29ybGR9JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBFbmQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sIHVuZGVmaW5lZCwgMikpO1xuICAgIH1cblxuICAgIGNvbnN0IHdvcmtmbG93RGVmaW5pdGlvbiA9IGZzLnJlYWRGaWxlU3luYyh0aGlzLm9wdGlvbnMuZGVmaW5pdGlvbkZpbGUpLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHdvcmtmbG93RGVmaW5pdGlvbi5tYXRjaCgvXFwkXFx7W2EtekEtWjAtOSNdKlxcfS9nKT8ubWFwKG1hdGNoID0+IG1hdGNoLnN1YnN0cmluZygyLCBtYXRjaC5sZW5ndGggLSAxKSk7XG4gICAgY29uc3QgdmFyaWFibGVzOiBWYXJpYWJsZURlZmluaXRpb25bXSA9IChtYXRjaGVzID8/IFtdKS5tYXAodmFyTmFtZSA9PiB7XG4gICAgICBpZiAodmFyTmFtZS5pbmRleE9mKCcjJykgPCAwKSB7XG4gICAgICAgIHJldHVybiB7IG5hbWU6IHZhck5hbWUsIGZ1bGxOYW1lOiB2YXJOYW1lLCB0eXBlOiAnc3RyaW5nJyB9O1xuICAgICAgfVxuICAgICAgY29uc3QgW25hbWUsIHR5cGVdID0gdmFyTmFtZS5zcGxpdCgnIycpO1xuICAgICAgcmV0dXJuIHsgbmFtZSwgdHlwZSwgZnVsbE5hbWU6IHZhck5hbWUgfTtcbiAgICB9KTtcblxuICAgIGlmICghZnMuZXhpc3RzU3luYyhgJHt0aGlzLnByb2plY3Qub3V0ZGlyfS9zcmMvZ2VuZXJhdGVkYCkpIHtcbiAgICAgIGZzLm1rZGlyU3luYyhgJHt0aGlzLnByb2plY3Qub3V0ZGlyfS9zcmMvZ2VuZXJhdGVkYCk7XG4gICAgfVxuICAgIHRoaXMuY3JlYXRlQ29uc3RydWN0RmlsZShgJHt0aGlzLnByb2plY3Qub3V0ZGlyfS9zcmMvZ2VuZXJhdGVkL3dvcmtmbG93LiR7dGhpcy5vcHRpb25zLndvcmtmbG93TmFtZS50b0xvd2VyQ2FzZSgpfS5nZW5lcmF0ZWQudHNgLCB2YXJpYWJsZXMpO1xuICB9XG59Il19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVuL3dvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLCtCQUE0QjtBQUM1QiwyQ0FBNkI7QUFDN0IsaUNBQXNDO0FBQ3RDLG1EQUErQztBQWEvQyxNQUFhLFFBQVMsU0FBUSxFQUFFLENBQUMsU0FBUztJQUV4QyxZQUFZLEdBQWtDLEVBQVksT0FBd0I7UUFDaEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRDZDLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBR2hGLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQzNELFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUN2QixPQUFPLEVBQUUsYUFBYTtnQkFDdEIsTUFBTSxFQUFFO29CQUNOLGFBQWEsRUFBRTt3QkFDYixJQUFJLEVBQUUsTUFBTTt3QkFDWixNQUFNLEVBQUU7NEJBQ04sS0FBSyxFQUFFLFVBQVU7eUJBQ2xCO3dCQUNELEdBQUcsRUFBRSxJQUFJO3FCQUNWO2lCQUNGO2FBQ0YsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksNEJBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLDBCQUEwQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JLLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxJQUFpQjs7UUFDN0MsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUEsV0FBSSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5RyxNQUFNLE9BQU8sR0FBRyxNQUFBLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQywwQ0FBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckgsTUFBTSxnQkFBZ0IsR0FBeUIsQ0FBQyxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDM0UsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDNUIsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7YUFDN0Q7WUFDRCxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNOzs7Ozt3QkFLSixtQkFBWTs7bUJBRWpCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTs7TUFFdEMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs7OztlQUloRSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVk7O2dFQUV3QixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVk7Ozs2QkFHNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjOztVQUU5QyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzs7OztFQUtsRixDQUFDO0lBQ0QsQ0FBQztJQUVTLDJCQUEyQixDQUFDLEdBQXVCO1FBQzNELFFBQVEsR0FBRyxDQUFDLElBQUksRUFBRTtZQUNoQixLQUFLLGVBQWU7Z0JBQ2xCLE9BQU8sWUFBWSxHQUFHLENBQUMsSUFBSSxXQUFXLENBQUM7WUFDekMsS0FBSyxnQkFBZ0I7Z0JBQ25CLE9BQU8sWUFBWSxHQUFHLENBQUMsSUFBSSxjQUFjLENBQUM7WUFDNUMsS0FBSyxRQUFRLENBQUM7WUFDZDtnQkFDRSxPQUFPLFlBQVksR0FBRyxDQUFDLElBQUksV0FBVyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUVTLDRCQUE0QixDQUFDLEdBQXVCO1FBQzVELFFBQVEsR0FBRyxDQUFDLElBQUksRUFBRTtZQUNoQixLQUFLLGVBQWU7Z0JBQ2xCLE9BQU8sSUFBSSxHQUFHLENBQUMsUUFBUSx3QkFBd0IsR0FBRyxDQUFDLElBQUksYUFBYSxDQUFDO1lBQ3ZFLEtBQUssZ0JBQWdCO2dCQUNuQixPQUFPLElBQUksR0FBRyxDQUFDLFFBQVEsd0JBQXdCLEdBQUcsQ0FBQyxJQUFJLGVBQWUsQ0FBQztZQUN6RSxLQUFLLFFBQVEsQ0FBQztZQUNkO2dCQUNFLE9BQU8sSUFBSSxHQUFHLENBQUMsUUFBUSx3QkFBd0IsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDO1NBQzlEO0lBQ0gsQ0FBQztDQUVGO0FBdEZELDRCQXNGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHBqIGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBQQUNLQUdFX05BTUUgfSBmcm9tICcuL2NvcmUnO1xuaW1wb3J0IHsgTGF6eVRleHRGaWxlIH0gZnJvbSAnLi9sYXp5LXRleHRmaWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd09wdGlvbnMge1xuICByZWFkb25seSB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVmaW5pdGlvbkZpbGU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFZhcmlhYmxlRGVmaW5pdGlvbiB7XG4gIHJlYWRvbmx5IGZ1bGxOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgV29ya2Zsb3cgZXh0ZW5kcyBwai5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKGFwcDogcGouYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAsIHByb3RlY3RlZCBvcHRpb25zOiBXb3JrZmxvd09wdGlvbnMpIHtcbiAgICBzdXBlcihhcHApO1xuXG4gICAgbmV3IHBqLlNhbXBsZUZpbGUodGhpcy5wcm9qZWN0LCB0aGlzLm9wdGlvbnMuZGVmaW5pdGlvbkZpbGUsIHtcbiAgICAgIGNvbnRlbnRzOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIFN0YXJ0QXQ6ICdIZWxsbyBXb3JsZCcsXG4gICAgICAgIFN0YXRlczoge1xuICAgICAgICAgICdIZWxsbyBXb3JsZCc6IHtcbiAgICAgICAgICAgIFR5cGU6ICdQYXNzJyxcbiAgICAgICAgICAgIFJlc3VsdDoge1xuICAgICAgICAgICAgICBIZWxsbzogJyR7d29ybGR9JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBFbmQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sIHVuZGVmaW5lZCwgMiksXG4gICAgfSk7XG5cbiAgICBuZXcgTGF6eVRleHRGaWxlKHRoaXMucHJvamVjdCwgYHNyYy9nZW5lcmF0ZWQvd29ya2Zsb3cuJHt0aGlzLm9wdGlvbnMud29ya2Zsb3dOYW1lLnRvTG93ZXJDYXNlKCl9LmdlbmVyYXRlZC50c2AsIHsgY29udGVudDogdGhpcy5jcmVhdGVDb25zdHJ1Y3RGaWxlLmJpbmQodGhpcykgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29uc3RydWN0RmlsZShmaWxlOiBwai5GaWxlQmFzZSk6IHN0cmluZyB7XG4gICAgY29uc3Qgd29ya2Zsb3dEZWZpbml0aW9uID0gZnMucmVhZEZpbGVTeW5jKGpvaW4odGhpcy5wcm9qZWN0Lm91dGRpciwgdGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlKSkudG9TdHJpbmcoKTtcbiAgICBjb25zdCBtYXRjaGVzID0gd29ya2Zsb3dEZWZpbml0aW9uLm1hdGNoKC9cXCRcXHtbYS16QS1aMC05I10qXFx9L2cpPy5tYXAobWF0Y2ggPT4gbWF0Y2guc3Vic3RyaW5nKDIsIG1hdGNoLmxlbmd0aCAtIDEpKTtcbiAgICBjb25zdCBtYXRjaGVkVmFyaWFibGVzOiBWYXJpYWJsZURlZmluaXRpb25bXSA9IChtYXRjaGVzID8/IFtdKS5tYXAodmFyTmFtZSA9PiB7XG4gICAgICBpZiAodmFyTmFtZS5pbmRleE9mKCcjJykgPCAwKSB7XG4gICAgICAgIHJldHVybiB7IG5hbWU6IHZhck5hbWUsIGZ1bGxOYW1lOiB2YXJOYW1lLCB0eXBlOiAnc3RyaW5nJyB9O1xuICAgICAgfVxuICAgICAgY29uc3QgW25hbWUsIHR5cGVdID0gdmFyTmFtZS5zcGxpdCgnIycpO1xuICAgICAgcmV0dXJuIHsgbmFtZSwgdHlwZSwgZnVsbE5hbWU6IHZhck5hbWUgfTtcbiAgICB9KTtcblxuICAgIHJldHVybiBgLy8gJHtmaWxlLm1hcmtlcn1cbi8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSVRhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiJztcbmltcG9ydCB7IElGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgc2xzIGZyb20gJyR7UEFDS0FHRV9OQU1FfS9saWIvY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgJHt0aGlzLm9wdGlvbnMud29ya2Zsb3dOYW1lfVdvcmtmbG93UHJvcHMgZXh0ZW5kcyBPbWl0PHNscy5Xb3JrZmxvd1Byb3BzLCAnZGVmaW5pdGlvbkZpbGVOYW1lJyB8ICdkZWZpbml0aW9uU3Vic3RpdHV0aW9ucyc+IHtcbiAgcmVhZG9ubHkgc3RhdGVDb25maWc6IHtcbiAgICAke21hdGNoZWRWYXJpYWJsZXMubWFwKHYgPT4gdGhpcy5yZW5kZXJTdGF0ZUNvbmZpZ0RlZmluaXRpb24odikpLmpvaW4oJ1xcbicpfVxuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgJHt0aGlzLm9wdGlvbnMud29ya2Zsb3dOYW1lfVdvcmtmbG93IGV4dGVuZHMgc2xzLldvcmtmbG93IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiAke3RoaXMub3B0aW9ucy53b3JrZmxvd05hbWV9V29ya2Zsb3dQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBkZWZpbml0aW9uRmlsZU5hbWU6ICcke3RoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZX0nLFxuICAgICAgZGVmaW5pdGlvblN1YnN0aXR1dGlvbnM6IHtcbiAgICAgICAgJHttYXRjaGVkVmFyaWFibGVzLm1hcCh2ID0+IHRoaXMucmVuZGVyRGVmaW5pdGlvblN1YnN0aXR1dGlvbih2KSkuam9pbignXFxuJyl9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxufWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyU3RhdGVDb25maWdEZWZpbml0aW9uKGRlZjogVmFyaWFibGVEZWZpbml0aW9uKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGRlZi50eXBlKSB7XG4gICAgICBjYXNlICdEeW5hbW9EQlRhYmxlJzpcbiAgICAgICAgcmV0dXJuIGByZWFkb25seSAke2RlZi5uYW1lfTogSVRhYmxlO2A7XG4gICAgICBjYXNlICdMYW1iZGFGdW5jdGlvbic6XG4gICAgICAgIHJldHVybiBgcmVhZG9ubHkgJHtkZWYubmFtZX06IElGdW5jdGlvbjtgO1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBgcmVhZG9ubHkgJHtkZWYubmFtZX06IHN0cmluZztgO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCByZW5kZXJEZWZpbml0aW9uU3Vic3RpdHV0aW9uKGRlZjogVmFyaWFibGVEZWZpbml0aW9uKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGRlZi50eXBlKSB7XG4gICAgICBjYXNlICdEeW5hbW9EQlRhYmxlJzpcbiAgICAgICAgcmV0dXJuIGAnJHtkZWYuZnVsbE5hbWV9JzogcHJvcHMuc3RhdGVDb25maWcuJHtkZWYubmFtZX0udGFibGVOYW1lLGA7XG4gICAgICBjYXNlICdMYW1iZGFGdW5jdGlvbic6XG4gICAgICAgIHJldHVybiBgJyR7ZGVmLmZ1bGxOYW1lfSc6IHByb3BzLnN0YXRlQ29uZmlnLiR7ZGVmLm5hbWV9LmZ1bmN0aW9uQXJuLGA7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGAnJHtkZWYuZnVsbE5hbWV9JzogcHJvcHMuc3RhdGVDb25maWcuJHtkZWYubmFtZX0sYDtcbiAgICB9XG4gIH1cblxufSJdfQ==
package/package.json CHANGED
@@ -32,7 +32,7 @@
32
32
  "organization": true
33
33
  },
34
34
  "devDependencies": {
35
- "@aws-cdk/aws-cognito-identitypool-alpha": "2.60.0-alpha.0",
35
+ "@aws-cdk/aws-cognito-identitypool-alpha": "2.120.0-alpha.0",
36
36
  "@hapi/boom": "^10.0.1",
37
37
  "@taimos/projen": "^0.0.188",
38
38
  "@types/aws-lambda": "^8.10.131",
@@ -45,8 +45,8 @@
45
45
  "@types/uuid": "^9.0.7",
46
46
  "@typescript-eslint/eslint-plugin": "^6",
47
47
  "@typescript-eslint/parser": "^6",
48
- "aws-cdk-lib": "2.60.0",
49
- "constructs": "10.0.5",
48
+ "aws-cdk-lib": "2.120.0",
49
+ "constructs": "^10.0.0",
50
50
  "dynamodb-onetable": "~2.7.1",
51
51
  "eslint": "^8",
52
52
  "eslint-import-resolver-typescript": "^3.6.1",
@@ -58,18 +58,18 @@
58
58
  "standard-version": "^9",
59
59
  "ts-jest": "^29.1.1",
60
60
  "ts-node": "^10.9.2",
61
- "typedoc": "0.25.7",
61
+ "typedoc": "0.25.0",
62
62
  "typescript": "^4.9.5"
63
63
  },
64
64
  "peerDependencies": {
65
- "@aws-cdk/aws-cognito-identitypool-alpha": "^2.60.0-alpha.0",
66
- "aws-cdk-lib": "^2.60.0",
67
- "constructs": "^10.0.5",
65
+ "@aws-cdk/aws-cognito-identitypool-alpha": "^2.120.0-alpha.0",
66
+ "aws-cdk-lib": "^2.120.0",
68
67
  "dynamodb-onetable": "^2.7.1",
69
68
  "openapi-typescript": "^6.7.3"
70
69
  },
71
70
  "dependencies": {
72
71
  "axios": "^1.6.5",
72
+ "constructs": "^10.0.0",
73
73
  "date-fns": "^2.30.0",
74
74
  "js-yaml": "^4.1.0",
75
75
  "jsonwebtoken": "^9.0.2",
@@ -90,7 +90,7 @@
90
90
  },
91
91
  "main": "lib/index.js",
92
92
  "license": "Apache-2.0",
93
- "version": "2.10.2",
93
+ "version": "2.11.1",
94
94
  "jest": {
95
95
  "testMatch": [
96
96
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",
@@ -1 +0,0 @@
1
- window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA42Uy07DMBBF/yXrCmik8uguFIGokHhVsEAs3MRNrLq2ZU8pCPXfCShpEjyeZOs5czyxr/P2HQH/hGgaJc5xmGUqGkWGQVGupJKVa+64rhwVsJFleS1UFk3H8fl+dOi+ZI4nRvjNVYHqnelcCdDJFgquQKQMhEbGQDHKe2OZKR4lOlZTowx3bLPM2PVWpfhI3TpleuIO0EGqAtX7LFQu+YItJb9iwBxoy30RRlHWV23XK6l3vqmuUN11Jh6sNq5RCAXcrljaSs0f0VXFk1M/OmFTG6BEaEDC2jBObdIEJ2z+x1C6257wt6w4SsrnOxgi9jBKOndlZLX84Pbe/LL4EXgUpew+o/C5Ily/dmFZWj4NalgMpMTVmw0P2gYoEfZmw9YgPXQL7kSOR8CjKOULyCER8DFKWv90wp/fIfrv3RsNvszhrvGBTi7OxpN4//4DN/xYqBUHAAA="
@@ -1 +0,0 @@
1
- <!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>cdk-serverless</title><meta name="description" content="Documentation for cdk-serverless"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">cdk-serverless</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h2>cdk-serverless</h2></div><h2>Class Hierarchy</h2><ul class="tsd-full-hierarchy"><li><a id="BaseApiProps" class="tsd-anchor"></a><a href="interfaces/BaseApiProps.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>BaseApiProps</a><ul><li><a id="GraphQlApiProps" class="tsd-anchor"></a><a href="interfaces/GraphQlApiProps.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>GraphQlApiProps</a><ul></ul></li><li><a id="RestApiProps" class="tsd-anchor"></a><a href="interfaces/RestApiProps.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>RestApiProps</a><ul></ul></li></ul></li></ul><ul class="tsd-full-hierarchy"><li><a id="ICognitoAuthentication" class="tsd-anchor"></a><a href="interfaces/ICognitoAuthentication.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>ICognitoAuthentication</a><ul><li><a id="CognitoAuthentication" class="tsd-anchor"></a><a href="classes/CognitoAuthentication.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>CognitoAuthentication</a><ul></ul></li></ul></li></ul></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1"></use></svg><span>cdk-serverless</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base="."><li><a href="classes/AssetCdn.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>AssetCdn</a></li><li><a href="classes/BaseApi.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>BaseApi</a></li><li><a href="classes/CognitoAuthentication.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>CognitoAuthentication</a></li><li><a href="classes/GraphQlApi.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>GraphQlApi</a></li><li><a href="classes/LambdaFunction.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>LambdaFunction</a></li><li><a href="classes/RestApi.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>RestApi</a></li><li><a href="classes/SingleTableDatastore.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>SingleTableDatastore</a></li><li><a href="classes/Workflow.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>Workflow</a></li><li><a href="interfaces/AssetCdnProps.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>AssetCdnProps</a></li><li><a href="interfaces/BaseApiProps.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>BaseApiProps</a></li><li><a href="interfaces/CognitoAuthenticationProps.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>CognitoAuthenticationProps</a></li><li><a href="interfaces/GraphQlApiProps.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>GraphQlApiProps</a></li><li><a href="interfaces/ICognitoAuthentication.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>ICognitoAuthentication</a></li><li><a href="interfaces/IJwtAuthentication.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>IJwtAuthentication</a></li><li><a href="interfaces/JsResolverOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>JsResolverOptions</a></li><li><a href="interfaces/LambdaFunctionProps.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>LambdaFunctionProps</a></li><li><a href="interfaces/LambdaTracingOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>LambdaTracingOptions</a></li><li><a href="interfaces/RestApiProps.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>RestApiProps</a></li><li><a href="interfaces/SingleTableDatastoreProps.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>SingleTableDatastoreProps</a></li><li><a href="interfaces/SingleTableDesign.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>SingleTableDesign</a></li><li><a href="interfaces/VtlResolverOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>VtlResolverOptions</a></li><li>Loading...</li></ul></nav></div></div></div><div class="tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><svg style="display: none"><g id="icon-1"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)"></path></g><g id="icon-2"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)"></path></g><g id="icon-4"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.33 16V7.24H10.77L13.446 14.74C13.43 14.54 13.41 14.296 13.386 14.008C13.37 13.712 13.354 13.404 13.338 13.084C13.33 12.756 13.326 12.448 13.326 12.16V7.24H14.37V16H12.93L10.266 8.5C10.282 8.692 10.298 8.936 10.314 9.232C10.33 9.52 10.342 9.828 10.35 10.156C10.366 10.476 10.374 10.784 10.374 11.08V16H9.33Z" fill="var(--color-text)"></path></g><g id="icon-8"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.45 16V7.24H14.49V8.224H10.518V10.936H14.07V11.908H10.518V15.016H14.49V16H9.45Z" fill="var(--color-text)"></path></g><g id="icon-16"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g><g id="icon-32"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.106 16L8.85 7.24H9.966L11.454 13.192C11.558 13.608 11.646 13.996 11.718 14.356C11.79 14.708 11.842 14.976 11.874 15.16C11.906 14.976 11.954 14.708 12.018 14.356C12.09 13.996 12.178 13.608 12.282 13.192L13.758 7.24H14.85L12.582 16H11.106Z" fill="var(--color-text)"></path></g><g id="icon-64"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.39 16V7.24H14.55V8.224H10.446V11.128H14.238V12.112H10.47V16H9.39Z" fill="var(--color-text)"></path></g><g id="icon-128"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)"></path></g><g id="icon-256"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)"></path></g><g id="icon-512"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)"></path></g><g id="icon-1024"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g><g id="icon-2048"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)"></path></g><g id="icon-4096"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.39 16V7.24H14.55V8.224H10.446V11.128H14.238V12.112H10.47V16H9.39Z" fill="var(--color-text)"></path></g><g id="icon-8192"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g><g id="icon-16384"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)"></path></g><g id="icon-32768"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g><g id="icon-65536"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)"></path></g><g id="icon-131072"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)"></path></g><g id="icon-262144"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)"></path></g><g id="icon-524288"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)"></path></g><g id="icon-1048576"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)"></path></g><g id="icon-2097152"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)"></path></g><g id="icon-4194304"><rect fill="var(--color-icon-background)" stroke="#FF4D82" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M10.354 17V8.24H13.066C13.586 8.24 14.042 8.348 14.434 8.564C14.826 8.772 15.13 9.064 15.346 9.44C15.562 9.816 15.67 10.256 15.67 10.76C15.67 11.352 15.514 11.86 15.202 12.284C14.898 12.708 14.482 13 13.954 13.16L15.79 17H14.518L12.838 13.28H11.434V17H10.354ZM11.434 12.308H13.066C13.514 12.308 13.874 12.168 14.146 11.888C14.418 11.6 14.554 11.224 14.554 10.76C14.554 10.288 14.418 9.912 14.146 9.632C13.874 9.352 13.514 9.212 13.066 9.212H11.434V12.308Z" fill="var(--color-text)"></path></g><g id="icon-chevronDown"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></g><g id="icon-chevronSmall"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></g><g id="icon-menu"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></g><g id="icon-search"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></g><g id="icon-anchor"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></g></svg></body></html>
@@ -1 +0,0 @@
1
- window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA6WUwVLCMBCG36VnRqUDqNwKI6IHdHAcDw6H2ASbsSQxTcXq+O6mUErTpGmqx6b/fv9udjfP355An8Ibe4Bhr+cxICL5saEwjVFyKg9PIrGJ5Z83TKA3HvS8MMIx5Ih44+cyOGDsISPhHBAYIz6lZHde4rD85msQFkSjWvXxh6OfXomfC8Ec2bq0DbxECaMkQS7kmtaGvmOIA4EpaQSWCifMExbREr2nKBETCrN2ai3AZhLc31wDgbYg++gXl3fki4wd+qbLatSzy/P+0K+SlVYboYqijVdprwlW+d1GCjmStTTlt05JmF/iHmvSqvzRQEMbUzVxG5M2QGV3ScCwE1fVdkQ3jlu7k3Xwuhov6GHn/pHCEaIls6qkA1KJ199Aeer4COJyPab0lWBBAxlLOf6qtiqMQZIcuNYY1bXvXyiLdQy83YpORore0cT/Q0V6jKtZx4r8DhXtdti9GLPcZuHK7gR1uZCWS6hOOuKc8kSf9f2507RPACw27CoP0nMqWDWdrcgZ5S8YQkTsRFVmA+Yvq51VKmyYBRUzmhJoRykqG+6R5O1CROBQzm8L1SQ29Xb1C49+N2PKCQAA"