cdk-serverless 2.20.0 → 2.22.0

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 (104) hide show
  1. package/docs/constructs/assets/hierarchy.js +1 -1
  2. package/docs/constructs/assets/main.js +5 -5
  3. package/docs/constructs/assets/navigation.js +1 -1
  4. package/docs/constructs/assets/search.js +1 -1
  5. package/docs/constructs/assets/style.css +251 -228
  6. package/docs/constructs/classes/AssetCdn.html +19 -19
  7. package/docs/constructs/classes/BaseApi.html +14 -14
  8. package/docs/constructs/classes/CognitoAuthentication.html +24 -24
  9. package/docs/constructs/classes/GraphQlApi.html +35 -34
  10. package/docs/constructs/classes/LambdaFunction.html +157 -157
  11. package/docs/constructs/classes/RestApi.html +41 -39
  12. package/docs/constructs/classes/SingleTableDatastore.html +17 -16
  13. package/docs/constructs/classes/Workflow.html +20 -20
  14. package/docs/constructs/hierarchy.html +1 -1
  15. package/docs/constructs/index.html +17 -17
  16. package/docs/constructs/interfaces/AssetCdnProps.html +6 -6
  17. package/docs/constructs/interfaces/BaseApiProps.html +31 -31
  18. package/docs/constructs/interfaces/CognitoAuthenticationProps.html +22 -22
  19. package/docs/constructs/interfaces/GraphQlApiProps.html +53 -36
  20. package/docs/constructs/interfaces/ICognitoAuthentication.html +3 -3
  21. package/docs/constructs/interfaces/IJwtAuthentication.html +7 -7
  22. package/docs/constructs/interfaces/ISingleTableDatastore.html +3 -0
  23. package/docs/constructs/interfaces/JsResolverOptions.html +7 -7
  24. package/docs/constructs/interfaces/LambdaFunctionProps.html +31 -31
  25. package/docs/constructs/interfaces/LambdaTracingOptions.html +4 -4
  26. package/docs/constructs/interfaces/RestApiProps.html +42 -42
  27. package/docs/constructs/interfaces/SingleTableDatastoreProps.html +11 -11
  28. package/docs/constructs/interfaces/SingleTableDesign.html +10 -10
  29. package/docs/constructs/interfaces/VtlResolverOptions.html +6 -6
  30. package/docs/constructs/interfaces/WorkflowProps.html +6 -6
  31. package/docs/constructs/modules.html +1 -1
  32. package/docs/constructs/types/LambdaOptions.html +1 -1
  33. package/docs/lambda/assets/hierarchy.js +1 -1
  34. package/docs/lambda/assets/highlight.css +7 -0
  35. package/docs/lambda/assets/main.js +5 -5
  36. package/docs/lambda/assets/search.js +1 -1
  37. package/docs/lambda/assets/style.css +251 -228
  38. package/docs/lambda/classes/auth.ApiGatewayv1CognitoAuthorizer.html +34 -34
  39. package/docs/lambda/classes/auth.ApiGatewayv1JwtAuthorizer.html +33 -33
  40. package/docs/lambda/classes/auth.ApiGatewayv2CognitoAuthorizer.html +34 -34
  41. package/docs/lambda/classes/auth.ApiGatewayv2JwtAuthorizer.html +33 -33
  42. package/docs/lambda/classes/auth.AppSyncCognitoAuthorizer.html +33 -33
  43. package/docs/lambda/classes/auth.CognitoAuthorizer.html +31 -31
  44. package/docs/lambda/classes/auth.JwtAuthorizer.html +31 -31
  45. package/docs/lambda/classes/errors.BadRequestError.html +36 -15
  46. package/docs/lambda/classes/errors.ForbiddenError.html +36 -15
  47. package/docs/lambda/classes/errors.HttpError.html +37 -16
  48. package/docs/lambda/classes/errors.NotFoundError.html +36 -15
  49. package/docs/lambda/classes/errors.UnauthenticatedError.html +36 -15
  50. package/docs/lambda/functions/api.createAppSyncHandler.html +3 -3
  51. package/docs/lambda/functions/api.createHttpHandler.html +2 -2
  52. package/docs/lambda/functions/api.createOpenApiHandler.html +2 -2
  53. package/docs/lambda/functions/api.createOpenApiHandlerWithRequestBody.html +2 -2
  54. package/docs/lambda/functions/api.createOpenApiHandlerWithRequestBodyNoResponse.html +2 -2
  55. package/docs/lambda/hierarchy.html +1 -1
  56. package/docs/lambda/index.html +17 -17
  57. package/docs/lambda/interfaces/api.AppSyncHandlerContext.html +6 -6
  58. package/docs/lambda/interfaces/api.HttpHandlerContext.html +7 -7
  59. package/docs/lambda/interfaces/api.HttpResponseContext.html +5 -5
  60. package/docs/lambda/interfaces/api.Operation.html +3 -3
  61. package/docs/lambda/interfaces/api.OperationWithRequestBody.html +4 -4
  62. package/docs/lambda/modules/api.html +1 -1
  63. package/docs/lambda/modules/auth.html +1 -1
  64. package/docs/lambda/modules/errors.html +1 -1
  65. package/docs/lambda/modules.html +1 -1
  66. package/docs/lambda/types/api.APIGatewayv1Handler.html +2 -2
  67. package/docs/lambda/types/api.AppSyncHandler.html +2 -2
  68. package/docs/lambda/types/api.HttpHandler.html +2 -2
  69. package/docs/projen/assets/main.js +5 -5
  70. package/docs/projen/assets/search.js +1 -1
  71. package/docs/projen/assets/style.css +251 -228
  72. package/docs/projen/classes/Datastore.html +23 -23
  73. package/docs/projen/classes/GraphQlApi.html +23 -23
  74. package/docs/projen/classes/RestApi.html +42 -42
  75. package/docs/projen/classes/ServerlessProject.html +217 -214
  76. package/docs/projen/classes/Workflow.html +33 -33
  77. package/docs/projen/hierarchy.html +1 -0
  78. package/docs/projen/index.html +17 -17
  79. package/docs/projen/interfaces/DatastoreOptions.html +3 -3
  80. package/docs/projen/interfaces/GraphQlApiOptions.html +3 -3
  81. package/docs/projen/interfaces/RestApiOptions.html +3 -3
  82. package/docs/projen/interfaces/ServerlessProjectOptions.html +560 -511
  83. package/docs/projen/interfaces/WorkflowOptions.html +3 -3
  84. package/docs/projen/modules.html +1 -1
  85. package/docs/projen/variables/PACKAGE_NAME.html +1 -1
  86. package/lib/constructs/authentication.js +8 -9
  87. package/lib/constructs/base-api.d.ts +2 -2
  88. package/lib/constructs/base-api.js +3 -4
  89. package/lib/constructs/func.js +10 -11
  90. package/lib/constructs/graphql.d.ts +37 -2
  91. package/lib/constructs/graphql.js +44 -16
  92. package/lib/constructs/rest-api.js +2 -3
  93. package/lib/constructs/table.d.ts +8 -1
  94. package/lib/constructs/table.js +12 -4
  95. package/lib/constructs/workflow.js +2 -3
  96. package/lib/lambda/auth.js +6 -8
  97. package/lib/lambda/handler.js +7 -10
  98. package/lib/projen/core.js +3 -4
  99. package/lib/projen/graphql.js +3 -2
  100. package/lib/projen/lazy-textfile.js +2 -3
  101. package/lib/projen/workflow.js +3 -4
  102. package/lib/tests/integ-test-util.js +12 -19
  103. package/lib/tests/lambda-test-utils.js +8 -10
  104. package/package.json +23 -21
@@ -26,17 +26,16 @@ class LambdaRestUnitTest {
26
26
  this.defaults = defaults;
27
27
  }
28
28
  createRestEvent(options = {}) {
29
- var _a, _b, _c, _d;
30
29
  const { path = '/', method = 'GET', body = '', } = options;
31
30
  const headers = {
32
- ...(_a = this.defaults) === null || _a === void 0 ? void 0 : _a.headers,
31
+ ...this.defaults?.headers,
33
32
  ...options.headers,
34
33
  };
35
34
  const cognitoClaims = {
36
35
  username: 'DummyUser',
37
36
  email: 'dummy@example.com',
38
37
  groups: [],
39
- ...(_b = this.defaults) === null || _b === void 0 ? void 0 : _b.cognito,
38
+ ...this.defaults?.cognito,
40
39
  ...options.cognito,
41
40
  };
42
41
  return {
@@ -46,9 +45,9 @@ class LambdaRestUnitTest {
46
45
  httpMethod: method,
47
46
  isBase64Encoded: false,
48
47
  path,
49
- pathParameters: (_c = options.pathParameters) !== null && _c !== void 0 ? _c : null,
50
- queryStringParameters: options.queryStringParameters ? Object.fromEntries(Object.entries(options.queryStringParameters).map(([key, value]) => [key, value === null || value === void 0 ? void 0 : value.join(',')])) : null,
51
- multiValueQueryStringParameters: (_d = options.queryStringParameters) !== null && _d !== void 0 ? _d : null,
48
+ pathParameters: options.pathParameters ?? null,
49
+ queryStringParameters: options.queryStringParameters ? Object.fromEntries(Object.entries(options.queryStringParameters).map(([key, value]) => [key, value?.join(',')])) : null,
50
+ multiValueQueryStringParameters: options.queryStringParameters ?? null,
52
51
  stageVariables: null,
53
52
  requestContext: {
54
53
  accountId: '123456789012',
@@ -107,13 +106,12 @@ class LambdaGraphQLTest {
107
106
  this.defaults = defaults;
108
107
  }
109
108
  createGraphQLEvent(options) {
110
- var _a, _b;
111
109
  const { fieldName = 'testField', arguments: args = {}, source = null, parentTypeName = 'Query', prevResult = {}, stash = {}, } = options;
112
110
  const cognitoClaims = {
113
111
  username: 'DummyUser',
114
112
  email: 'dummy@example.com',
115
113
  groups: [],
116
- ...(_a = this.defaults) === null || _a === void 0 ? void 0 : _a.cognito,
114
+ ...this.defaults?.cognito,
117
115
  ...options.cognito,
118
116
  };
119
117
  return {
@@ -155,7 +153,7 @@ class LambdaGraphQLTest {
155
153
  result: prevResult,
156
154
  },
157
155
  stash: {
158
- ...(_b = this.defaults) === null || _b === void 0 ? void 0 : _b.stash,
156
+ ...this.defaults?.stash,
159
157
  ...stash,
160
158
  },
161
159
  };
@@ -171,4 +169,4 @@ class LambdaGraphQLTest {
171
169
  }
172
170
  }
173
171
  exports.LambdaGraphQLTest = LambdaGraphQLTest;
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLXRlc3QtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdHMvbGFtYmRhLXRlc3QtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUJBLHNDQWlCQztBQWpCRCxTQUFnQixhQUFhO0lBQzNCLE9BQU87UUFDTCw4QkFBOEIsRUFBRSxLQUFLO1FBQ3JDLFlBQVksRUFBRSxNQUFNO1FBQ3BCLGVBQWUsRUFBRSxHQUFHO1FBQ3BCLGtCQUFrQixFQUFFLHFEQUFxRDtRQUN6RSxlQUFlLEVBQUUsTUFBTTtRQUN2QixZQUFZLEVBQUUsV0FBVztRQUN6QixZQUFZLEVBQUUsY0FBYztRQUM1QixhQUFhLEVBQUUsZUFBZTtRQUM5Qix3QkFBd0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO1FBQ3BDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7UUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNsQixRQUFRLEVBQUUsU0FBUztRQUNuQixhQUFhLEVBQUUsU0FBUztLQUN6QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQWEsa0JBQWtCO0lBRTdCLFlBQ21CLE9BQTRCLEVBQzVCLFFBQW9DO1FBRHBDLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQTRCO0lBQ25ELENBQUM7SUFFRyxlQUFlLENBQUMsVUFBaUMsRUFBRTs7UUFDekQsTUFBTSxFQUNKLElBQUksR0FBRyxHQUFHLEVBQ1YsTUFBTSxHQUFHLEtBQUssRUFDZCxJQUFJLEdBQUcsRUFBRSxHQUNWLEdBQUcsT0FBTyxDQUFDO1FBRVosTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsT0FBTztZQUN6QixHQUFHLE9BQU8sQ0FBQyxPQUFPO1NBQ25CLENBQUM7UUFDRixNQUFNLGFBQWEs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QUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBL0VELDhDQStFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQSUdhdGV3YXlQcm94eUV2ZW50TXVsdGlWYWx1ZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycywgQVBJR2F0ZXdheVByb3h5RXZlbnRQYXRoUGFyYW1ldGVycywgQVBJR2F0ZXdheVByb3h5UmVzdWx0LCBBUElHYXRld2F5UHJveHlXaXRoQ29nbml0b0F1dGhvcml6ZXJFdmVudCwgQ29udGV4dCB9IGZyb20gJ2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQVBJR2F0ZXdheXYxSGFuZGxlciB9IGZyb20gJy4uL2xhbWJkYS9oYW5kbGVyJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIENvZ25pdG9Vc2VyIHtcbiAgZW1haWw6IHN0cmluZztcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgZ3JvdXBzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFSZXN0VGVzdE9wdGlvbnNCYXNlIHtcbiAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGNvZ25pdG8/OiBDb2duaXRvVXNlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFSZXN0VGVzdE9wdGlvbnMgZXh0ZW5kcyBMYW1iZGFSZXN0VGVzdE9wdGlvbnNCYXNlIHtcbiAgcGF0aD86IHN0cmluZztcbiAgbWV0aG9kPzogc3RyaW5nO1xuICBib2R5Pzogc3RyaW5nO1xuICBwYXRoUGFyYW1ldGVycz86IEFQSUdhdGV3YXlQcm94eUV2ZW50UGF0aFBhcmFtZXRlcnM7XG4gIHF1ZXJ5U3RyaW5nUGFyYW1ldGVycz86IEFQSUdhdGV3YXlQcm94eUV2ZW50TXVsdGlWYWx1ZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQoKTogQ29udGV4dCB7XG4gIHJldHVybiB7XG4gICAgY2FsbGJhY2tXYWl0c0ZvckVtcHR5RXZlbnRMb29wOiBmYWxzZSxcbiAgICBmdW5jdGlvbk5hbWU6ICd0ZXN0JyxcbiAgICBmdW5jdGlvblZlcnNpb246ICcxJyxcbiAgICBpbnZva2VkRnVuY3Rpb25Bcm46ICdhcm46YXdzOmxhbWJkYTp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOmZ1bmN0aW9uOnRlc3QnLFxuICAgIG1lbW9yeUxpbWl0SW5NQjogJzEwMjQnLFxuICAgIGF3c1JlcXVlc3RJZDogJ3JlcXVlc3RJZCcsXG4gICAgbG9nR3JvdXBOYW1lOiAnbG9nR3JvdXBOYW1lJyxcbiAgICBsb2dTdHJlYW1OYW1lOiAnbG9nU3RyZWFtTmFtZScsXG4gICAgZ2V0UmVtYWluaW5nVGltZUluTWlsbGlzOiAoKSA9PiAxMDAwLFxuICAgIGRvbmU6IGplc3QuZm4oKSxcbiAgICBmYWlsOiBqZXN0LmZuKCksXG4gICAgc3VjY2VlZDogamVzdC5mbigpLFxuICAgIGlkZW50aXR5OiB1bmRlZmluZWQsXG4gICAgY2xpZW50Q29udGV4dDogdW5kZWZpbmVkLFxuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgTGFtYmRhUmVzdFVuaXRUZXN0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZXI6IEFQSUdhdGV3YXl2MUhhbmRsZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0cz86IExhbWJkYVJlc3RUZXN0T3B0aW9uc0Jhc2UsXG4gICkgeyB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXN0RXZlbnQob3B0aW9uczogTGFtYmRhUmVzdFRlc3RPcHRpb25zID0ge30pOiBBUElHYXRld2F5UHJveHlXaXRoQ29nbml0b0F1dGhvcml6ZXJFdmVudCB7XG4gICAgY29uc3Qge1xuICAgICAgcGF0aCA9ICcvJyxcbiAgICAgIG1ldGhvZCA9ICdHRVQnLFxuICAgICAgYm9keSA9ICcnLFxuICAgIH0gPSBvcHRpb25zO1xuXG4gICAgY29uc3QgaGVhZGVycyA9IHtcbiAgICAgIC4uLnRoaXMuZGVmYXVsdHM/LmhlYWRlcnMsXG4gICAgICAuLi5vcHRpb25zLmhlYWRlcnMsXG4gICAgfTtcbiAgICBjb25zdCBjb2duaXRvQ2xhaW1zID0ge1xuICAgICAgdXNlcm5hbWU6ICdEdW1teVVzZXInLFxuICAgICAgZW1haWw6ICdkdW1teUBleGFtcGxlLmNvbScsXG4gICAgICBncm91cHM6IFtdLFxuICAgICAgLi4udGhpcy5kZWZhdWx0cz8uY29nbml0byxcbiAgICAgIC4uLm9wdGlvbnMuY29nbml0byxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJvZHksXG4gICAgICBoZWFkZXJzLFxuICAgICAgbXVsdGlWYWx1ZUhlYWRlcnM6IE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhoZWFkZXJzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gW2tleSwgdmFsdWUgPyBbdmFsdWVdIDogW11dKSksXG4gICAgICBodHRwTWV0aG9kOiBtZXRob2QsXG4gICAgICBpc0Jhc2U2NEVuY29kZWQ6IGZhbHNlLFxuICAgICAgcGF0aCxcbiAgICAgIHBhdGhQYXJhbWV0ZXJzOiBvcHRpb25zLnBhdGhQYXJhbWV0ZXJzID8/IG51bGwsXG4gICAgICBxdWVyeVN0cmluZ1BhcmFtZXRlcnM6IG9wdGlvbnMucXVlcnlTdHJpbmdQYXJhbWV0ZXJzID8gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKG9wdGlvbnMucXVlcnlTdHJpbmdQYXJhbWV0ZXJzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gW2tleSwgdmFsdWU/LmpvaW4oJywnKV0pKSA6IG51bGwsXG4gICAgICBtdWx0aVZhbHVlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzOiBvcHRpb25zLnF1ZXJ5U3RyaW5nUGFyYW1ldGVycyA/PyBudWxsLFxuICAgICAgc3RhZ2VWYXJpYWJsZXM6IG51bGwsXG4gICAgICByZXF1ZXN0Q29udGV4dDoge1xuICAgICAgICBhY2NvdW50SWQ6ICcxMjM0NTY3ODkwMTInLFxuICAgICAgICBhcGlJZDogJ2FwcElkJyxcbiAgICAgICAgYXV0aG9yaXplcjoge1xuICAgICAgICAgIGNsYWltczoge1xuICAgICAgICAgICAgJ3N1Yic6IGNvZ25pdG9DbGFpbXMudXNlcm5hbWUsXG4gICAgICAgICAgICAnY29nbml0bzp1c2VybmFtZSc6IGNvZ25pdG9DbGFpbXMudXNlcm5hbWUsXG4gICAgICAgICAgICAnY29nbml0bzpncm91cHMnOiAoY29nbml0b0NsYWltcy5ncm91cHMpIGFzIHVua25vd24gYXMgc3RyaW5nLFxuICAgICAgICAgICAgJ2VtYWlsJzogY29nbml0b0NsYWltcy5lbWFpbCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwcm90b2NvbDogJ0hUVFAvMS4xJyxcbiAgICAgICAgaHR0cE1ldGhvZDogbWV0aG9kLFxuICAgICAgICBpZGVudGl0eToge1xuICAgICAgICAgIGFjY2Vzc0tleTogbnVsbCxcbiAgICAgICAgICBhY2NvdW50SWQ6ICcxMjM0NTY3ODkwMTInLFxuICAgICAgICAgIGFwaUtleTogbnVsbCxcbiAgICAgICAgICBhcGlLZXlJZDogbnVsbCxcbiAgICAgICAgICBjYWxsZXI6IG51bGwsXG4gICAgICAgICAgY2xpZW50Q2VydDogbnVsbCxcbiAgICAgICAgICBjb2duaXRvQXV0aGVudGljYXRpb25Qcm92aWRlcjogbnVsbCxcbiAgICAgICAgICBjb2duaXRvQXV0aGVudGljYXRpb25UeXBlOiBudWxsLFxuICAgICAgICAgIGNvZ25pdG9JZGVudGl0eUlkOiBudWxsLFxuICAgICAgICAgIGNvZ25pdG9JZGVudGl0eVBvb2xJZDogbnVsbCxcbiAgICAgICAgICBwcmluY2lwYWxPcmdJZDogbnVsbCxcbiAgICAgICAgICBzb3VyY2VJcDogJycsXG4gICAgICAgICAgdXNlcjogbnVsbCxcbiAgICAgICAgICB1c2VyQWdlbnQ6IG51bGwsXG4gICAgICAgICAgdXNlckFybjogbnVsbCxcbiAgICAgICAgfSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgc3RhZ2U6ICdwcm9kJyxcbiAgICAgICAgcmVxdWVzdElkOiAncmVxdWVzdElkJyxcbiAgICAgICAgcmVxdWVzdFRpbWVFcG9jaDogMCxcbiAgICAgICAgcmVzb3VyY2VJZDogJycsXG4gICAgICAgIHJlc291cmNlUGF0aDogJycsXG4gICAgICB9LFxuICAgICAgcmVzb3VyY2U6ICcnLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBjYWxsKG9wdGlvbnM6IExhbWJkYVJlc3RUZXN0T3B0aW9ucyA9IHt9KTogUHJvbWlzZTxBUElHYXRld2F5UHJveHlSZXN1bHQ+IHtcbiAgICBjb25zdCBldmVudCA9IHRoaXMuY3JlYXRlUmVzdEV2ZW50KG9wdGlvbnMpO1xuICAgIGNvbnN0IGNvbnRleHQgPSBjcmVhdGVDb250ZXh0KCk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5oYW5kbGVyKGV2ZW50LCBjb250ZXh0LCAoKSA9PiB7IH0pO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHJlc3VsdCByZXR1cm5lZCBmcm9tIGxhbWJkYScpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFHcmFwaFFMVGVzdE9wdGlvbnNCYXNlIHtcbiAgY29nbml0bz86IENvZ25pdG9Vc2VyO1xuICBzdGFzaD86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhR3JhcGhRTFRlc3RPcHRpb25zPFRBcmdzLCBUU291cmNlID0gUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGw+IGV4dGVuZHMgTGFtYmRhR3JhcGhRTFRlc3RPcHRpb25zQmFzZSB7XG4gIGZpZWxkTmFtZT86IHN0cmluZztcbiAgYXJndW1lbnRzPzogVEFyZ3M7XG4gIHNvdXJjZT86IFRTb3VyY2U7XG4gIHBhcmVudFR5cGVOYW1lPzogc3RyaW5nO1xuICBwcmV2UmVzdWx0PzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuZXhwb3J0IGNsYXNzIExhbWJkYUdyYXBoUUxUZXN0PFRBcmdzLCBUUmVzdWx0LCBUU291cmNlID0gUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGw+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZXI6IEFXU0xhbWJkYS5BcHBTeW5jUmVzb2x2ZXJIYW5kbGVyPFRBcmdzLCBUUmVzdWx0LCBUU291cmNlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRzPzogTGFtYmRhR3JhcGhRTFRlc3RPcHRpb25zQmFzZSxcbiAgKSB7IH1cblxuICBwcml2YXRlIGNyZWF0ZUdyYXBoUUxFdmVudChvcHRpb25zOiBMYW1iZGFHcmFwaFFMVGVzdE9wdGlvbnM8VEFyZ3MsIFRTb3VyY2U+KTogQVdTTGFtYmRhLkFwcFN5bmNSZXNvbHZlckV2ZW50PFRBcmdzLCBUU291cmNlPiB7XG4gICAgY29uc3Qge1xuICAgICAgZmllbGROYW1lID0gJ3Rlc3RGaWVsZCcsXG4gICAgICBhcmd1bWVudHM6IGFyZ3MgPSB7fSxcbiAgICAgIHNvdXJjZSA9IG51bGwsXG4gICAgICBwYXJlbnRUeXBlTmFtZSA9ICdRdWVyeScsXG4gICAgICBwcmV2UmVzdWx0ID0ge30sXG4gICAgICBzdGFzaCA9IHt9LFxuICAgIH0gPSBvcHRpb25zO1xuXG4gICAgY29uc3QgY29nbml0b0NsYWltcyA9IHtcbiAgICAgIHVzZXJuYW1lOiAnRHVtbXlVc2VyJyxcbiAgICAgIGVtYWlsOiAnZHVtbXlAZXhhbXBsZS5jb20nLFxuICAgICAgZ3JvdXBzOiBbXSxcbiAgICAgIC4uLnRoaXMuZGVmYXVsdHM/LmNvZ25pdG8sXG4gICAgICAuLi5vcHRpb25zLmNvZ25pdG8sXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBhcmd1bWVudHM6IGFyZ3MsXG4gICAgICBzb3VyY2UsXG4gICAgICBpbmZvOiB7XG4gICAgICAgIGZpZWxkTmFtZSxcbiAgICAgICAgcGFyZW50VHlwZU5hbWUsXG4gICAgICAgIHNlbGVjdGlvblNldEdyYXBoUUw6ICcnLFxuICAgICAgICBzZWxlY3Rpb25TZXRMaXN0OiBbXSxcbiAgICAgICAgdmFyaWFibGVzOiB7fSxcbiAgICAgIH0sXG4gICAgICByZXF1ZXN0OiB7XG4gICAgICAgIGRvbWFpbk5hbWU6IG51bGwsXG4gICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgfSxcbiAgICAgIGlkZW50aXR5OiB7XG4gICAgICAgIGNsYWltczoge1xuICAgICAgICAgICdzdWInOiBjb2duaXRvQ2xhaW1zLnVzZXJuYW1lLFxuICAgICAgICAgICdjb2duaXRvOnVzZXJuYW1lJzogY29nbml0b0NsYWltcy51c2VybmFtZSxcbiAgICAgICAgICAnY29nbml0bzpncm91cHMnOiBjb2duaXRvQ2xhaW1zLmdyb3VwcyBhcyB1bmtub3duIGFzIHN0cmluZyxcbiAgICAgICAgICAnZW1haWwnOiBjb2duaXRvQ2xhaW1zLmVtYWlsLFxuICAgICAgICB9LFxuICAgICAgICBncm91cHM6IGNvZ25pdG9DbGFpbXMuZ3JvdXBzLFxuICAgICAgICBzdWI6IGNvZ25pdG9DbGFpbXMudXNlcm5hbWUsXG4gICAgICAgIGFjY291bnRJZDogJzEyMzQ1Njc4OTAxMicsXG4gICAgICAgIGNvZ25pdG9JZGVudGl0eUF1dGhQcm92aWRlcjogbnVsbCxcbiAgICAgICAgY29nbml0b0lkZW50aXR5QXV0aFR5cGU6IG51bGwsXG4gICAgICAgIGNvZ25pdG9JZGVudGl0eUlkOiBudWxsLFxuICAgICAgICBjb2duaXRvSWRlbnRpdHlQb29sSWQ6IG51bGwsXG4gICAgICAgIHJlc29sdmVyQ29udGV4dDogbnVsbCxcbiAgICAgICAgdXNlckFybjogbnVsbCxcbiAgICAgICAgZGVmYXVsdEF1dGhTdHJhdGVneTogJ0FMTE9XJyxcbiAgICAgICAgaXNzdWVyOiAnaHR0cHM6Ly9jb2duaXRvLWlkcC5yZWdpb24uYW1hem9uYXdzLmNvbS91c2VyUG9vbElkJyxcbiAgICAgICAgc291cmNlSXA6IFsnMTI3LjAuMC4xJ10sXG4gICAgICAgIHVzZXJuYW1lOiBjb2duaXRvQ2xhaW1zLnVzZXJuYW1lLFxuICAgICAgfSxcbiAgICAgIHByZXY6IHtcbiAgICAgICAgcmVzdWx0OiBwcmV2UmVzdWx0LFxuICAgICAgfSxcbiAgICAgIHN0YXNoOiB7XG4gICAgICAgIC4uLnRoaXMuZGVmYXVsdHM/LnN0YXNoLFxuICAgICAgICAuLi5zdGFzaCxcbiAgICAgIH0sXG4gICAgfSBhcyBBV1NMYW1iZGEuQXBwU3luY1Jlc29sdmVyRXZlbnQ8VEFyZ3MsIFRTb3VyY2U+O1xuICB9XG5cbiAgYXN5bmMgY2FsbChvcHRpb25zOiBMYW1iZGFHcmFwaFFMVGVzdE9wdGlvbnM8VEFyZ3MsIFRTb3VyY2U+KTogUHJvbWlzZTxUUmVzdWx0PiB7XG4gICAgY29uc3QgZXZlbnQgPSB0aGlzLmNyZWF0ZUdyYXBoUUxFdmVudChvcHRpb25zKTtcbiAgICBjb25zdCBjb250ZXh0ID0gY3JlYXRlQ29udGV4dCgpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuaGFuZGxlcihldmVudCwgY29udGV4dCwgKCkgPT4geyB9KTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyByZXN1bHQgcmV0dXJuZWQgZnJvbSBsYW1iZGEnKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLXRlc3QtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdHMvbGFtYmRhLXRlc3QtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUJBLHNDQWlCQztBQWpCRCxTQUFnQixhQUFhO0lBQzNCLE9BQU87UUFDTCw4QkFBOEIsRUFBRSxLQUFLO1FBQ3JDLFlBQVksRUFBRSxNQUFNO1FBQ3BCLGVBQWUsRUFBRSxHQUFHO1FBQ3BCLGtCQUFrQixFQUFFLHFEQUFxRDtRQUN6RSxlQUFlLEVBQUUsTUFBTTtRQUN2QixZQUFZLEVBQUUsV0FBVztRQUN6QixZQUFZLEVBQUUsY0FBYztRQUM1QixhQUFhLEVBQUUsZUFBZTtRQUM5Qix3QkFBd0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO1FBQ3BDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7UUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNsQixRQUFRLEVBQUUsU0FBUztRQUNuQixhQUFhLEVBQUUsU0FBUztLQUN6QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQWEsa0JBQWtCO0lBRTdCLFlBQ21CLE9BQTRCLEVBQzVCLFFBQW9DO1FBRHBDLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQTRCO0lBQ25ELENBQUM7SUFFRyxlQUFlLENBQUMsVUFBaUMsRUFBRTtRQUN6RCxNQUFNLEVBQ0osSUFBSSxHQUFHLEdBQUcsRUFDVixNQUFNLEdBQUcsS0FBSyxFQUNkLElBQUksR0FBRyxFQUFFLEdBQ1YsR0FBRyxPQUFPLENBQUM7UUFFWixNQUFNLE9BQU8sR0FBRztZQUNkLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPO1lBQ3pCLEdBQUcsT0FBTyxDQUFDLE9BQU87U0FDbkIsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHO1lB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Q2hCLENBQUM7Q0FDRjtBQS9FRCw4Q0ErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUElHYXRld2F5UHJveHlFdmVudE11bHRpVmFsdWVRdWVyeVN0cmluZ1BhcmFtZXRlcnMsIEFQSUdhdGV3YXlQcm94eUV2ZW50UGF0aFBhcmFtZXRlcnMsIEFQSUdhdGV3YXlQcm94eVJlc3VsdCwgQVBJR2F0ZXdheVByb3h5V2l0aENvZ25pdG9BdXRob3JpemVyRXZlbnQsIENvbnRleHQgfSBmcm9tICdhd3MtbGFtYmRhJztcbmltcG9ydCB7IEFQSUdhdGV3YXl2MUhhbmRsZXIgfSBmcm9tICcuLi9sYW1iZGEvaGFuZGxlcic7XG5cblxuZXhwb3J0IGludGVyZmFjZSBDb2duaXRvVXNlciB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHVzZXJuYW1lOiBzdHJpbmc7XG4gIGdyb3Vwczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhUmVzdFRlc3RPcHRpb25zQmFzZSB7XG4gIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBjb2duaXRvPzogQ29nbml0b1VzZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhUmVzdFRlc3RPcHRpb25zIGV4dGVuZHMgTGFtYmRhUmVzdFRlc3RPcHRpb25zQmFzZSB7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIG1ldGhvZD86IHN0cmluZztcbiAgYm9keT86IHN0cmluZztcbiAgcGF0aFBhcmFtZXRlcnM/OiBBUElHYXRld2F5UHJveHlFdmVudFBhdGhQYXJhbWV0ZXJzO1xuICBxdWVyeVN0cmluZ1BhcmFtZXRlcnM/OiBBUElHYXRld2F5UHJveHlFdmVudE11bHRpVmFsdWVRdWVyeVN0cmluZ1BhcmFtZXRlcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb250ZXh0KCk6IENvbnRleHQge1xuICByZXR1cm4ge1xuICAgIGNhbGxiYWNrV2FpdHNGb3JFbXB0eUV2ZW50TG9vcDogZmFsc2UsXG4gICAgZnVuY3Rpb25OYW1lOiAndGVzdCcsXG4gICAgZnVuY3Rpb25WZXJzaW9uOiAnMScsXG4gICAgaW52b2tlZEZ1bmN0aW9uQXJuOiAnYXJuOmF3czpsYW1iZGE6dXMtZWFzdC0xOjEyMzQ1Njc4OTAxMjpmdW5jdGlvbjp0ZXN0JyxcbiAgICBtZW1vcnlMaW1pdEluTUI6ICcxMDI0JyxcbiAgICBhd3NSZXF1ZXN0SWQ6ICdyZXF1ZXN0SWQnLFxuICAgIGxvZ0dyb3VwTmFtZTogJ2xvZ0dyb3VwTmFtZScsXG4gICAgbG9nU3RyZWFtTmFtZTogJ2xvZ1N0cmVhbU5hbWUnLFxuICAgIGdldFJlbWFpbmluZ1RpbWVJbk1pbGxpczogKCkgPT4gMTAwMCxcbiAgICBkb25lOiBqZXN0LmZuKCksXG4gICAgZmFpbDogamVzdC5mbigpLFxuICAgIHN1Y2NlZWQ6IGplc3QuZm4oKSxcbiAgICBpZGVudGl0eTogdW5kZWZpbmVkLFxuICAgIGNsaWVudENvbnRleHQ6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIExhbWJkYVJlc3RVbml0VGVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBoYW5kbGVyOiBBUElHYXRld2F5djFIYW5kbGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdHM/OiBMYW1iZGFSZXN0VGVzdE9wdGlvbnNCYXNlLFxuICApIHsgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzdEV2ZW50KG9wdGlvbnM6IExhbWJkYVJlc3RUZXN0T3B0aW9ucyA9IHt9KTogQVBJR2F0ZXdheVByb3h5V2l0aENvZ25pdG9BdXRob3JpemVyRXZlbnQge1xuICAgIGNvbnN0IHtcbiAgICAgIHBhdGggPSAnLycsXG4gICAgICBtZXRob2QgPSAnR0VUJyxcbiAgICAgIGJvZHkgPSAnJyxcbiAgICB9ID0gb3B0aW9ucztcblxuICAgIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgICAuLi50aGlzLmRlZmF1bHRzPy5oZWFkZXJzLFxuICAgICAgLi4ub3B0aW9ucy5oZWFkZXJzLFxuICAgIH07XG4gICAgY29uc3QgY29nbml0b0NsYWltcyA9IHtcbiAgICAgIHVzZXJuYW1lOiAnRHVtbXlVc2VyJyxcbiAgICAgIGVtYWlsOiAnZHVtbXlAZXhhbXBsZS5jb20nLFxuICAgICAgZ3JvdXBzOiBbXSxcbiAgICAgIC4uLnRoaXMuZGVmYXVsdHM/LmNvZ25pdG8sXG4gICAgICAuLi5vcHRpb25zLmNvZ25pdG8sXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBib2R5LFxuICAgICAgaGVhZGVycyxcbiAgICAgIG11bHRpVmFsdWVIZWFkZXJzOiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoaGVhZGVycykubWFwKChba2V5LCB2YWx1ZV0pID0+IFtrZXksIHZhbHVlID8gW3ZhbHVlXSA6IFtdXSkpLFxuICAgICAgaHR0cE1ldGhvZDogbWV0aG9kLFxuICAgICAgaXNCYXNlNjRFbmNvZGVkOiBmYWxzZSxcbiAgICAgIHBhdGgsXG4gICAgICBwYXRoUGFyYW1ldGVyczogb3B0aW9ucy5wYXRoUGFyYW1ldGVycyA/PyBudWxsLFxuICAgICAgcXVlcnlTdHJpbmdQYXJhbWV0ZXJzOiBvcHRpb25zLnF1ZXJ5U3RyaW5nUGFyYW1ldGVycyA/IE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhvcHRpb25zLnF1ZXJ5U3RyaW5nUGFyYW1ldGVycykubWFwKChba2V5LCB2YWx1ZV0pID0+IFtrZXksIHZhbHVlPy5qb2luKCcsJyldKSkgOiBudWxsLFxuICAgICAgbXVsdGlWYWx1ZVF1ZXJ5U3RyaW5nUGFyYW1ldGVyczogb3B0aW9ucy5xdWVyeVN0cmluZ1BhcmFtZXRlcnMgPz8gbnVsbCxcbiAgICAgIHN0YWdlVmFyaWFibGVzOiBudWxsLFxuICAgICAgcmVxdWVzdENvbnRleHQ6IHtcbiAgICAgICAgYWNjb3VudElkOiAnMTIzNDU2Nzg5MDEyJyxcbiAgICAgICAgYXBpSWQ6ICdhcHBJZCcsXG4gICAgICAgIGF1dGhvcml6ZXI6IHtcbiAgICAgICAgICBjbGFpbXM6IHtcbiAgICAgICAgICAgICdzdWInOiBjb2duaXRvQ2xhaW1zLnVzZXJuYW1lLFxuICAgICAgICAgICAgJ2NvZ25pdG86dXNlcm5hbWUnOiBjb2duaXRvQ2xhaW1zLnVzZXJuYW1lLFxuICAgICAgICAgICAgJ2NvZ25pdG86Z3JvdXBzJzogKGNvZ25pdG9DbGFpbXMuZ3JvdXBzKSBhcyB1bmtub3duIGFzIHN0cmluZyxcbiAgICAgICAgICAgICdlbWFpbCc6IGNvZ25pdG9DbGFpbXMuZW1haWwsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvdG9jb2w6ICdIVFRQLzEuMScsXG4gICAgICAgIGh0dHBNZXRob2Q6IG1ldGhvZCxcbiAgICAgICAgaWRlbnRpdHk6IHtcbiAgICAgICAgICBhY2Nlc3NLZXk6IG51bGwsXG4gICAgICAgICAgYWNjb3VudElkOiAnMTIzNDU2Nzg5MDEyJyxcbiAgICAgICAgICBhcGlLZXk6IG51bGwsXG4gICAgICAgICAgYXBpS2V5SWQ6IG51bGwsXG4gICAgICAgICAgY2FsbGVyOiBudWxsLFxuICAgICAgICAgIGNsaWVudENlcnQ6IG51bGwsXG4gICAgICAgICAgY29nbml0b0F1dGhlbnRpY2F0aW9uUHJvdmlkZXI6IG51bGwsXG4gICAgICAgICAgY29nbml0b0F1dGhlbnRpY2F0aW9uVHlwZTogbnVsbCxcbiAgICAgICAgICBjb2duaXRvSWRlbnRpdHlJZDogbnVsbCxcbiAgICAgICAgICBjb2duaXRvSWRlbnRpdHlQb29sSWQ6IG51bGwsXG4gICAgICAgICAgcHJpbmNpcGFsT3JnSWQ6IG51bGwsXG4gICAgICAgICAgc291cmNlSXA6ICcnLFxuICAgICAgICAgIHVzZXI6IG51bGwsXG4gICAgICAgICAgdXNlckFnZW50OiBudWxsLFxuICAgICAgICAgIHVzZXJBcm46IG51bGwsXG4gICAgICAgIH0sXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHN0YWdlOiAncHJvZCcsXG4gICAgICAgIHJlcXVlc3RJZDogJ3JlcXVlc3RJZCcsXG4gICAgICAgIHJlcXVlc3RUaW1lRXBvY2g6IDAsXG4gICAgICAgIHJlc291cmNlSWQ6ICcnLFxuICAgICAgICByZXNvdXJjZVBhdGg6ICcnLFxuICAgICAgfSxcbiAgICAgIHJlc291cmNlOiAnJyxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgY2FsbChvcHRpb25zOiBMYW1iZGFSZXN0VGVzdE9wdGlvbnMgPSB7fSk6IFByb21pc2U8QVBJR2F0ZXdheVByb3h5UmVzdWx0PiB7XG4gICAgY29uc3QgZXZlbnQgPSB0aGlzLmNyZWF0ZVJlc3RFdmVudChvcHRpb25zKTtcbiAgICBjb25zdCBjb250ZXh0ID0gY3JlYXRlQ29udGV4dCgpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuaGFuZGxlcihldmVudCwgY29udGV4dCwgKCkgPT4geyB9KTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyByZXN1bHQgcmV0dXJuZWQgZnJvbSBsYW1iZGEnKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhR3JhcGhRTFRlc3RPcHRpb25zQmFzZSB7XG4gIGNvZ25pdG8/OiBDb2duaXRvVXNlcjtcbiAgc3Rhc2g/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUdyYXBoUUxUZXN0T3B0aW9uczxUQXJncywgVFNvdXJjZSA9IFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsPiBleHRlbmRzIExhbWJkYUdyYXBoUUxUZXN0T3B0aW9uc0Jhc2Uge1xuICBmaWVsZE5hbWU/OiBzdHJpbmc7XG4gIGFyZ3VtZW50cz86IFRBcmdzO1xuICBzb3VyY2U/OiBUU291cmNlO1xuICBwYXJlbnRUeXBlTmFtZT86IHN0cmluZztcbiAgcHJldlJlc3VsdD86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFHcmFwaFFMVGVzdDxUQXJncywgVFJlc3VsdCwgVFNvdXJjZSA9IFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBoYW5kbGVyOiBBV1NMYW1iZGEuQXBwU3luY1Jlc29sdmVySGFuZGxlcjxUQXJncywgVFJlc3VsdCwgVFNvdXJjZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0cz86IExhbWJkYUdyYXBoUUxUZXN0T3B0aW9uc0Jhc2UsXG4gICkgeyB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVHcmFwaFFMRXZlbnQob3B0aW9uczogTGFtYmRhR3JhcGhRTFRlc3RPcHRpb25zPFRBcmdzLCBUU291cmNlPik6IEFXU0xhbWJkYS5BcHBTeW5jUmVzb2x2ZXJFdmVudDxUQXJncywgVFNvdXJjZT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGZpZWxkTmFtZSA9ICd0ZXN0RmllbGQnLFxuICAgICAgYXJndW1lbnRzOiBhcmdzID0ge30sXG4gICAgICBzb3VyY2UgPSBudWxsLFxuICAgICAgcGFyZW50VHlwZU5hbWUgPSAnUXVlcnknLFxuICAgICAgcHJldlJlc3VsdCA9IHt9LFxuICAgICAgc3Rhc2ggPSB7fSxcbiAgICB9ID0gb3B0aW9ucztcblxuICAgIGNvbnN0IGNvZ25pdG9DbGFpbXMgPSB7XG4gICAgICB1c2VybmFtZTogJ0R1bW15VXNlcicsXG4gICAgICBlbWFpbDogJ2R1bW15QGV4YW1wbGUuY29tJyxcbiAgICAgIGdyb3VwczogW10sXG4gICAgICAuLi50aGlzLmRlZmF1bHRzPy5jb2duaXRvLFxuICAgICAgLi4ub3B0aW9ucy5jb2duaXRvLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgYXJndW1lbnRzOiBhcmdzLFxuICAgICAgc291cmNlLFxuICAgICAgaW5mbzoge1xuICAgICAgICBmaWVsZE5hbWUsXG4gICAgICAgIHBhcmVudFR5cGVOYW1lLFxuICAgICAgICBzZWxlY3Rpb25TZXRHcmFwaFFMOiAnJyxcbiAgICAgICAgc2VsZWN0aW9uU2V0TGlzdDogW10sXG4gICAgICAgIHZhcmlhYmxlczoge30sXG4gICAgICB9LFxuICAgICAgcmVxdWVzdDoge1xuICAgICAgICBkb21haW5OYW1lOiBudWxsLFxuICAgICAgICBoZWFkZXJzOiB7fSxcbiAgICAgIH0sXG4gICAgICBpZGVudGl0eToge1xuICAgICAgICBjbGFpbXM6IHtcbiAgICAgICAgICAnc3ViJzogY29nbml0b0NsYWltcy51c2VybmFtZSxcbiAgICAgICAgICAnY29nbml0bzp1c2VybmFtZSc6IGNvZ25pdG9DbGFpbXMudXNlcm5hbWUsXG4gICAgICAgICAgJ2NvZ25pdG86Z3JvdXBzJzogY29nbml0b0NsYWltcy5ncm91cHMgYXMgdW5rbm93biBhcyBzdHJpbmcsXG4gICAgICAgICAgJ2VtYWlsJzogY29nbml0b0NsYWltcy5lbWFpbCxcbiAgICAgICAgfSxcbiAgICAgICAgZ3JvdXBzOiBjb2duaXRvQ2xhaW1zLmdyb3VwcyxcbiAgICAgICAgc3ViOiBjb2duaXRvQ2xhaW1zLnVzZXJuYW1lLFxuICAgICAgICBhY2NvdW50SWQ6ICcxMjM0NTY3ODkwMTInLFxuICAgICAgICBjb2duaXRvSWRlbnRpdHlBdXRoUHJvdmlkZXI6IG51bGwsXG4gICAgICAgIGNvZ25pdG9JZGVudGl0eUF1dGhUeXBlOiBudWxsLFxuICAgICAgICBjb2duaXRvSWRlbnRpdHlJZDogbnVsbCxcbiAgICAgICAgY29nbml0b0lkZW50aXR5UG9vbElkOiBudWxsLFxuICAgICAgICByZXNvbHZlckNvbnRleHQ6IG51bGwsXG4gICAgICAgIHVzZXJBcm46IG51bGwsXG4gICAgICAgIGRlZmF1bHRBdXRoU3RyYXRlZ3k6ICdBTExPVycsXG4gICAgICAgIGlzc3VlcjogJ2h0dHBzOi8vY29nbml0by1pZHAucmVnaW9uLmFtYXpvbmF3cy5jb20vdXNlclBvb2xJZCcsXG4gICAgICAgIHNvdXJjZUlwOiBbJzEyNy4wLjAuMSddLFxuICAgICAgICB1c2VybmFtZTogY29nbml0b0NsYWltcy51c2VybmFtZSxcbiAgICAgIH0sXG4gICAgICBwcmV2OiB7XG4gICAgICAgIHJlc3VsdDogcHJldlJlc3VsdCxcbiAgICAgIH0sXG4gICAgICBzdGFzaDoge1xuICAgICAgICAuLi50aGlzLmRlZmF1bHRzPy5zdGFzaCxcbiAgICAgICAgLi4uc3Rhc2gsXG4gICAgICB9LFxuICAgIH0gYXMgQVdTTGFtYmRhLkFwcFN5bmNSZXNvbHZlckV2ZW50PFRBcmdzLCBUU291cmNlPjtcbiAgfVxuXG4gIGFzeW5jIGNhbGwob3B0aW9uczogTGFtYmRhR3JhcGhRTFRlc3RPcHRpb25zPFRBcmdzLCBUU291cmNlPik6IFByb21pc2U8VFJlc3VsdD4ge1xuICAgIGNvbnN0IGV2ZW50ID0gdGhpcy5jcmVhdGVHcmFwaFFMRXZlbnQob3B0aW9ucyk7XG4gICAgY29uc3QgY29udGV4dCA9IGNyZWF0ZUNvbnRleHQoKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmhhbmRsZXIoZXZlbnQsIGNvbnRleHQsICgpID0+IHsgfSk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVzdWx0IHJldHVybmVkIGZyb20gbGFtYmRhJyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -32,15 +32,15 @@
32
32
  "organization": true
33
33
  },
34
34
  "devDependencies": {
35
- "@aws-sdk/client-cognito-identity-provider": "3.726.0",
36
- "@aws-sdk/client-dynamodb": "3.726.0",
37
- "@aws-sdk/client-s3": "3.726.0",
38
- "@aws-sdk/lib-dynamodb": "3.726.0",
35
+ "@aws-sdk/client-cognito-identity-provider": "3.965.0",
36
+ "@aws-sdk/client-dynamodb": "3.965.0",
37
+ "@aws-sdk/client-s3": "3.965.0",
38
+ "@aws-sdk/lib-dynamodb": "3.965.0",
39
39
  "@hapi/boom": "^10.0.1",
40
40
  "@stylistic/eslint-plugin": "^2",
41
41
  "@types/jest": "^29.5.14",
42
42
  "@types/js-yaml": "^4.0.9",
43
- "@types/jsonwebtoken": "^9.0.9",
43
+ "@types/jsonwebtoken": "^9.0.10",
44
44
  "@types/jwk-to-pem": "^2.0.3",
45
45
  "@types/lambda-log": "^2.2.1",
46
46
  "@types/node": "^18",
@@ -52,16 +52,16 @@
52
52
  "constructs": "^10.0.0",
53
53
  "dynamodb-onetable": "2.7.5",
54
54
  "eslint": "^9",
55
- "eslint-import-resolver-typescript": "^3.10.0",
56
- "eslint-plugin-import": "^2.31.0",
55
+ "eslint-import-resolver-typescript": "^4.4.4",
56
+ "eslint-plugin-import": "^2.32.0",
57
57
  "jest": "^29.7.0",
58
58
  "jest-junit": "^16",
59
59
  "openapi-typescript": "7.6.1",
60
- "projen": "0.91.6",
61
- "ts-jest": "^29.3.1",
60
+ "projen": "0.98.33",
61
+ "ts-jest": "^29.4.6",
62
62
  "ts-node": "^10.9.2",
63
- "typedoc": "0.27.6",
64
- "typescript": "^5.7.3"
63
+ "typedoc": "0.28.15",
64
+ "typescript": "^5.9.3"
65
65
  },
66
66
  "peerDependencies": {
67
67
  "@aws-sdk/client-cognito-identity-provider": "^3.777.0",
@@ -70,16 +70,16 @@
70
70
  "@aws-sdk/lib-dynamodb": "^3.778.0",
71
71
  "aws-cdk-lib": ">=2.187.0 <3.0.0",
72
72
  "dynamodb-onetable": "2.7.5",
73
- "openapi-typescript": "^7.6.1",
74
- "projen": ">=0.91.6 <1.0.0"
73
+ "openapi-typescript": "^7.10.1",
74
+ "projen": ">=0.98.33 <1.0.0"
75
75
  },
76
76
  "dependencies": {
77
- "@types/aws-lambda": "^8.10.148",
78
- "axios": "^1.8.4",
79
- "constructs": "^10.3.0",
77
+ "@types/aws-lambda": "^8.10.159",
78
+ "axios": "^1.13.2",
79
+ "constructs": "^10.4.4",
80
80
  "date-fns": "^4.1.0",
81
- "js-yaml": "^4.1.0",
82
- "jsonwebtoken": "^9.0.2",
81
+ "js-yaml": "^4.1.1",
82
+ "jsonwebtoken": "^9.0.3",
83
83
  "jwk-to-pem": "^2.0.7",
84
84
  "lambda-log": "^3.1.0",
85
85
  "uuid": "^11.1.0"
@@ -96,12 +96,14 @@
96
96
  "publishConfig": {
97
97
  "access": "public"
98
98
  },
99
- "version": "2.20.0",
99
+ "version": "2.22.0",
100
100
  "jest": {
101
101
  "coverageProvider": "v8",
102
102
  "testMatch": [
103
103
  "<rootDir>/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
104
- "<rootDir>/@(src|test)/**/__tests__/**/*.ts?(x)"
104
+ "<rootDir>/@(src|test)/**/__tests__/**/*.ts?(x)",
105
+ "<rootDir>/@(projenrc)/**/*(*.)@(spec|test).ts?(x)",
106
+ "<rootDir>/@(projenrc)/**/__tests__/**/*.ts?(x)"
105
107
  ],
106
108
  "clearMocks": true,
107
109
  "collectCoverage": true,
@@ -141,5 +143,5 @@
141
143
  }
142
144
  },
143
145
  "types": "lib/index.d.ts",
144
- "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
146
+ "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
145
147
  }