@kensio/yulin 1.21.3 → 1.21.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/service/athena/engine/sim-athena-column-types.d.ts +2 -0
- package/dist/service/athena/engine/sim-athena-column-types.js +4 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.d.ts +7 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.js +51 -0
- package/dist/service/athena/engine/sim-athena-engine-result.js +5 -0
- package/dist/service/athena/engine/sim-athena-engine-run.d.ts +22 -2
- package/dist/service/athena/engine/sim-athena-engine-run.js +21 -31
- package/dist/service/athena/engine/sim-athena-loaded-tables.d.ts +10 -0
- package/dist/service/athena/engine/sim-athena-loaded-tables.js +35 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.d.ts +25 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.js +39 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.d.ts +13 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.js +57 -0
- package/dist/service/athena/engine/sim-athena-query-engine.d.ts +23 -5
- package/dist/service/athena/engine/sim-athena-query-engine.js +31 -10
- package/dist/service/athena/engine/sim-athena-record-reader.d.ts +12 -6
- package/dist/service/athena/engine/sim-athena-record-reader.js +28 -53
- package/dist/service/athena/engine/sim-athena-sql-translation.d.ts +15 -9
- package/dist/service/athena/engine/sim-athena-sql-translation.js +25 -13
- package/dist/service/athena/engine/sim-athena-sqlite-values.d.ts +5 -0
- package/dist/service/athena/engine/sim-athena-sqlite-values.js +24 -1
- package/dist/service/athena/engine/sim-athena-table-objects.d.ts +7 -2
- package/dist/service/athena/engine/sim-athena-table-objects.js +8 -4
- package/dist/service/athena/engine/sim-athena-table-rows.js +4 -3
- package/dist/service/athena/engine/sim-athena-turn-down.d.ts +26 -0
- package/dist/service/athena/engine/sim-athena-turn-down.js +43 -0
- package/dist/service/athena/execution/sim-athena-query-completion.d.ts +3 -1
- package/dist/service/athena/execution/sim-athena-query-completion.js +7 -1
- package/dist/service/athena/index.d.ts +1 -1
- package/dist/service/athena/index.js +1 -1
- package/dist/service/athena/result/sim-athena-query-answer.d.ts +12 -0
- package/dist/service/athena/result/sim-athena-query-answer.js +26 -4
- package/dist/service/athena/sim-athena-answered-query.fixture.d.ts +2 -0
- package/dist/service/athena/sim-athena-answered-query.fixture.js +1 -0
- package/dist/service/athena/sim-athena-engine.fixture.d.ts +20 -0
- package/dist/service/athena/sim-athena-engine.fixture.js +34 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.d.ts +23 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.js +37 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +2 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +7 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +13 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +6 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +7 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.d.ts +50 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.js +71 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +6 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts +5 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +7 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.d.ts +9 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.js +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.d.ts +42 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.js +69 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.d.ts +62 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.js +89 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.d.ts +31 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.js +59 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.d.ts +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.js +19 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.d.ts +17 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.js +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.d.ts +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.js +13 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.d.ts +45 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.js +52 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.d.ts +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.js +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.d.ts +54 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.js +49 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.d.ts +35 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.js +1 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.d.ts +53 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.js +83 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.d.ts +32 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.d.ts +38 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.js +80 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +12 -12
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.d.ts +22 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.d.ts +27 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.js +35 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts +6 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts +11 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js +15 -1
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.d.ts +48 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.d.ts +23 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.js +52 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts +3 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +8 -4
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts +18 -6
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js +22 -7
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +1 -1
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.d.ts +25 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.d.ts +31 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.js +37 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.d.ts +36 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.js +1 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.d.ts +26 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.js +39 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.d.ts +31 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.js +52 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.d.ts +22 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.js +34 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts +17 -1
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +8 -15
- package/dist/service/cloudformation/error/sim-cloudformation.error.d.ts +21 -0
- package/dist/service/cloudformation/error/sim-cloudformation.error.js +25 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.d.ts +7 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.js +3 -1
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts +9 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.js +12 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts +4 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js +10 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.d.ts +44 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.js +33 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +15 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +21 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +9 -7
- package/dist/service/cloudformation/resource/sim-cfn-resource.js +11 -11
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +8 -0
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +3 -3
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +3 -3
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +9 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.d.ts +37 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.js +77 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.d.ts +51 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.js +10 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.js +34 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.d.ts +21 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.js +31 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.d.ts +14 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.js +1 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.js +58 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.js +89 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.js +65 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.js +60 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.js +50 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.js +30 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.js +44 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.js +43 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.js +67 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.js +61 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts +4 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js +12 -5
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-api-event.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.d.ts +26 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.js +88 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts +12 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js +1 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js +8 -5
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js +23 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts +9 -2
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js +5 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts +6 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js +7 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.d.ts +19 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.js +69 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts +5 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js +3 -1
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.d.ts +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.js +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js +1 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts +6 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js +2 -4
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.d.ts +31 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.js +17 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js +11 -6
- package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +20 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +4 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-api.js +6 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.d.ts +10 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.js +94 -0
- package/dist/service/cloudformation/sim-cloudformation.d.ts +31 -0
- package/dist/service/cloudformation/sim-cloudformation.js +56 -9
- package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.d.ts +20 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.js +23 -0
- package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +6 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.d.ts +30 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.js +24 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +46 -3
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +67 -6
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +28 -16
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +59 -32
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +7 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +7 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +3 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.d.ts +18 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.js +30 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.d.ts +9 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.js +14 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +25 -14
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +41 -24
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +9 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +14 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +6 -1
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +12 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +29 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.d.ts +28 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.js +39 -0
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +25 -1
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +43 -11
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.d.ts +7 -0
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.js +29 -3
- package/dist/service/cloudformation/template/sim-cfn-command-template.d.ts +40 -0
- package/dist/service/cloudformation/template/sim-cfn-command-template.js +45 -0
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts +7 -0
- package/dist/service/cloudformation/template/sim-cfn-template.js +15 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +2 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +49 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +1 -0
- package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +1 -1
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.d.ts +5 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.js +17 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +5 -5
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +24 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.d.ts +11 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.js +20 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +2 -0
- package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +14 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +16 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.d.ts +17 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.js +39 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.d.ts +28 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.js +50 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +12 -5
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts +3 -3
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +3 -4
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.d.ts +5 -16
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.js +4 -21
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.d.ts +15 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.js +18 -1
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.d.ts +13 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.js +15 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +2 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +5 -3
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.d.ts +21 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.js +37 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +6 -0
- package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
- package/dist/service/lambda/command/create-function/create-function.handler.js +5 -1
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +2 -3
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +1 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +6 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +10 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +2 -6
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +1 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.js +49 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.js +57 -0
- package/dist/service/lambda/command/function-url/function-url-input.d.ts +7 -0
- package/dist/service/lambda/command/function-url/function-url-input.js +9 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-invocation.js +10 -13
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-outcome.js +2 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.d.ts +13 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.js +12 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +2 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +1 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-bus.js +1 -1
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-function.js +8 -12
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-queue.js +4 -3
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-send.d.ts +2 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-topic.js +4 -3
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.d.ts +4 -6
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.js +6 -6
- package/dist/service/lambda/destination/sim-lambda-destination-targets.d.ts +3 -0
- package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +22 -3
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +39 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +7 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +14 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +9 -15
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +9 -16
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +10 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +22 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.d.ts +23 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.js +18 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +12 -13
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +24 -17
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.d.ts +64 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.js +86 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +8 -1
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +7 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +11 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +13 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.d.ts +39 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.js +46 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.d.ts +56 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.js +110 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.d.ts +5 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.js +7 -1
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.js +6 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +6 -1
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +8 -6
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +10 -8
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +18 -1
- package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +8 -2
- package/dist/service/lambda/function/code/sim-lambda-executable-code.js +2 -1
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +2 -11
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +13 -39
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +7 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +13 -7
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.d.ts +23 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.js +42 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.d.ts +12 -4
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.js +15 -5
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +7 -0
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +6 -2
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.d.ts +26 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.js +84 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.d.ts +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.js +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +6 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +1 -2
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +6 -1
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +19 -6
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.d.ts +15 -0
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.js +18 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.d.ts +12 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.js +28 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.d.ts +46 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.js +104 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.d.ts +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.js +27 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.d.ts +43 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.js +112 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.d.ts +57 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.js +79 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.d.ts +10 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.js +15 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.d.ts +11 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.js +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.d.ts +50 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.js +43 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +17 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +12 -1
- package/dist/service/lambda/function/logging/sim-lambda-output.d.ts +56 -0
- package/dist/service/lambda/function/logging/sim-lambda-output.js +62 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.d.ts +8 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.js +27 -1
- package/dist/service/lambda/function/sim-lambda-function.d.ts +1 -1
- package/dist/service/lambda/function/sim-lambda-function.js +11 -9
- package/dist/service/lambda/function/sim-lambda-function.type.d.ts +15 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.d.ts +22 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.js +17 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.js +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +2 -1
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.js +16 -1
- package/dist/service/lambda/index.d.ts +1 -0
- package/dist/service/lambda/index.js +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.d.ts +50 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.js +96 -0
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts +14 -0
- package/dist/service/lambda/serve/sim-lambda-controller.js +27 -0
- package/dist/service/lambda/sim-lambda-commands.d.ts +10 -0
- package/dist/service/lambda/sim-lambda-commands.js +11 -0
- package/dist/service/lambda/sim-lambda.d.ts +12 -0
- package/dist/service/lambda/sim-lambda.js +13 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.d.ts +67 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.js +69 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +4 -31
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +7 -6
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +5 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +8 -4
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +1 -14
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +16 -8
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.d.ts +41 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.js +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +14 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +32 -2
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.d.ts +33 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.js +48 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.d.ts +16 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.js +44 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +8 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +27 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +5 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -3
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +3 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -2
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.d.ts +84 -0
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.js +115 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +10 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.js +18 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.d.ts +41 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.js +1 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -83
- package/dist/service/s3/bucket/sim-s3-bucket.js +14 -83
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts +6 -0
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.js +20 -6
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.d.ts +58 -0
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.js +73 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +19 -1
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +20 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.js +44 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +6 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +5 -4
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +12 -5
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.js +30 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +14 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +41 -16
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +3 -5
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +7 -10
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +6 -1
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +5 -0
- package/dist/service/s3/command/copy-object/copy-object-builder.d.ts +10 -1
- package/dist/service/s3/command/copy-object/copy-object-builder.js +17 -1
- package/dist/service/s3/command/copy-object/copy-object.command.d.ts +11 -1
- package/dist/service/s3/command/copy-object/copy-object.handler.js +2 -1
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +5 -1
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +7 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.d.ts +19 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.d.ts +30 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.js +38 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.d.ts +23 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.js +1 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.js +42 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.d.ts +29 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.js +49 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.d.ts +22 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.js +30 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.d.ts +24 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.js +39 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +11 -8
- package/dist/service/s3/command/get-object/get-object-authorizer.js +26 -34
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +7 -3
- package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
- package/dist/service/s3/command/get-object/get-object.command.d.ts +2 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -0
- package/dist/service/s3/command/get-object/get-object.handler.js +13 -7
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.d.ts +29 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.js +1 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.d.ts +21 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.js +33 -0
- package/dist/service/s3/command/head-object/head-object-loader.js +2 -0
- package/dist/service/s3/command/head-object/head-object.command.d.ts +2 -1
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +18 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +1 -2
- package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +1 -2
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +5 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js +11 -6
- package/dist/service/s3/command/list-objects/list-objects.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +5 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +6 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +11 -5
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +5 -0
- package/dist/service/s3/command/list-parts/list-parts.handler.js +3 -3
- package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +1 -1
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.d.ts +21 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.js +41 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +10 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +2 -1
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.d.ts +37 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.js +1 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.js +46 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.d.ts +61 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.js +49 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.d.ts +30 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.js +27 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.d.ts +26 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.js +34 -0
- package/dist/service/s3/error/sim-s3-upload.error.d.ts +41 -0
- package/dist/service/s3/error/sim-s3-upload.error.js +47 -0
- package/dist/service/s3/error/sim-s3.error.d.ts +22 -34
- package/dist/service/s3/error/sim-s3.error.js +26 -40
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts +10 -0
- package/dist/service/s3/notification/event/sim-s3-event-records.d.ts +3 -2
- package/dist/service/s3/notification/event/sim-s3-event-records.js +5 -3
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +33 -8
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +23 -9
- package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +5 -1
- package/dist/service/s3/notification/sim-s3-object-notifier.js +6 -0
- package/dist/service/s3/object/s3-key-encoding.d.ts +12 -0
- package/dist/service/s3/object/s3-key-encoding.js +14 -0
- package/dist/service/s3/object/s3-listing-encoding.d.ts +42 -0
- package/dist/service/s3/object/s3-listing-encoding.js +75 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +40 -0
- package/dist/service/s3/object/s3-object-response-headers.js +49 -2
- package/dist/service/s3/object/s3-object-storage-report.d.ts +19 -0
- package/dist/service/s3/object/s3-object-storage-report.js +18 -0
- package/dist/service/s3/object/s3-object-summary.d.ts +2 -10
- package/dist/service/s3/object/s3-object-summary.js +1 -10
- package/dist/service/s3/object/s3-object-tags.d.ts +61 -0
- package/dist/service/s3/object/s3-object-tags.js +77 -0
- package/dist/service/s3/object/s3-object.d.ts +49 -0
- package/dist/service/s3/object/s3-object.js +52 -1
- package/dist/service/s3/object/s3-server-side-encryption.d.ts +30 -0
- package/dist/service/s3/object/s3-server-side-encryption.js +42 -0
- package/dist/service/s3/object/s3-storage-class.d.ts +45 -0
- package/dist/service/s3/object/s3-storage-class.js +67 -0
- package/dist/service/s3/object/s3-write-metadata.d.ts +17 -3
- package/dist/service/s3/object/s3-write-metadata.js +43 -0
- package/dist/service/s3/object/s3-write-storage.d.ts +27 -0
- package/dist/service/s3/object/s3-write-storage.js +21 -0
- package/dist/service/s3/object/s3-write-tagging.d.ts +24 -0
- package/dist/service/s3/object/s3-write-tagging.js +19 -0
- package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +12 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +2 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.d.ts +9 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.js +23 -0
- package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +22 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts +4 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js +10 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.d.ts +7 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.js +30 -0
- package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts +4 -2
- package/dist/service/s3/serve/api/sim-s3-api-head-output.js +8 -2
- package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -6
- package/dist/service/s3/serve/api/sim-s3-api-input.js +2 -13
- package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-listing.js +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +16 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.js +34 -7
- package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +18 -1
- package/dist/service/s3/serve/api/sim-s3-api-object-output.js +21 -2
- package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +22 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.d.ts +5 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.js +16 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.d.ts +6 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.js +55 -11
- package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -2
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.d.ts +9 -0
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.js +14 -0
- package/dist/service/s3/serve/api/sim-s3-api.d.ts +7 -1
- package/dist/service/s3/serve/api/sim-s3-api.js +7 -1
- package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +1 -5
- package/dist/service/s3/serve/sim-s3-rest-controller.js +3 -17
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +3 -0
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +8 -1
- package/dist/service/s3/serve/sim-s3-rest-upload.d.ts +20 -0
- package/dist/service/s3/serve/sim-s3-rest-upload.js +30 -0
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +2 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.js +3 -0
- package/dist/service/s3/sim-s3-commands.d.ts +4 -0
- package/dist/service/s3/sim-s3-commands.js +6 -0
- package/dist/service/s3/sim-s3-operations.d.ts +11 -4
- package/dist/service/s3/sim-s3-operations.js +17 -4
- package/dist/service/s3/sim-s3-tagging-operations.d.ts +21 -0
- package/dist/service/s3/sim-s3-tagging-operations.js +25 -0
- package/dist/service/s3/sim-s3.d.ts +12 -0
- package/dist/service/s3/sim-s3.js +13 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.d.ts +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.js +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.d.ts +9 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.js +24 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +5 -4
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +5 -3
- package/dist/service/s3/upload/sim-s3-completed-upload.js +5 -1
- package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +18 -0
- package/dist/service/s3/upload/sim-s3-multipart-upload.js +8 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +6 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.js +5 -0
- package/dist/util/background/background-clock-waits.d.ts +52 -0
- package/dist/util/background/background-clock-waits.js +76 -0
- package/dist/util/background/background-jitter.js +1 -0
- package/dist/util/background/background-pending-tasks.d.ts +55 -0
- package/dist/util/background/background-pending-tasks.js +117 -0
- package/dist/util/background/background-settled-tasks.d.ts +4 -1
- package/dist/util/background/background-settled-tasks.js +4 -1
- package/dist/util/background/background.d.ts +43 -0
- package/dist/util/background/background.js +27 -19
- package/dist/util/background/non-deterministic-background.d.ts +12 -0
- package/dist/util/background/non-deterministic-background.js +24 -20
- package/dist/util/clock/sim-clock-control.js +23 -2
- package/docs/services/apigateway/README.md +3 -1
- package/docs/services/athena/README.md +126 -3
- package/docs/services/cloudformation/README.md +775 -65
- package/docs/services/cognito/README.md +5 -0
- package/docs/services/dynamodb/README.md +86 -11
- package/docs/services/lambda/README.md +603 -39
- package/docs/services/s3/README.md +688 -57
- package/package.json +7 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The parts of a request that say how long a failed batch keeps being
|
|
3
|
+
* delivered.
|
|
4
|
+
*
|
|
5
|
+
* Taken as its own small input rather than as the whole command input, so the
|
|
6
|
+
* rules stay with the event source they belong to rather than importing the
|
|
7
|
+
* command they are read from.
|
|
8
|
+
*/
|
|
9
|
+
export interface SimLambdaEventSourceRetryLimitsInput {
|
|
10
|
+
readonly maximumRetryAttempts?: number | undefined;
|
|
11
|
+
readonly maximumRecordAgeInSeconds?: number | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The failed-batch limits a mapping reports back, as Lambda names them.
|
|
15
|
+
*/
|
|
16
|
+
export interface SimLambdaStreamRetryLimitsConfiguration {
|
|
17
|
+
readonly MaximumRetryAttempts: number;
|
|
18
|
+
readonly MaximumRecordAgeInSeconds: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* When a stream mapping stops delivering a batch its function keeps failing.
|
|
22
|
+
*
|
|
23
|
+
* The two limits are one thing rather than two, because they end the same
|
|
24
|
+
* lifecycle: a record leaves the mapping when it has had its retries or when it
|
|
25
|
+
* is too old to be worth another, whichever comes first. Both are held as
|
|
26
|
+
* Lambda states them, with `-1` for no limit, so a Get or a List reports back
|
|
27
|
+
* exactly what was asked for.
|
|
28
|
+
*/
|
|
29
|
+
export declare class SimLambdaStreamRetryLimits {
|
|
30
|
+
readonly maximumRetryAttempts: number;
|
|
31
|
+
readonly maximumRecordAgeInSeconds: number;
|
|
32
|
+
constructor(input?: SimLambdaEventSourceRetryLimitsInput);
|
|
33
|
+
/**
|
|
34
|
+
* The two limits as a Get, a List or a create response reports them.
|
|
35
|
+
*/
|
|
36
|
+
configuration(): SimLambdaStreamRetryLimitsConfiguration;
|
|
37
|
+
/**
|
|
38
|
+
* How many times a failed batch is delivered again before it is discarded.
|
|
39
|
+
*
|
|
40
|
+
* A mapping that named neither limit gets the simulator's own cap of five,
|
|
41
|
+
* which is what keeps a handler that always throws from leaving the clock
|
|
42
|
+
* with work falling due forever. A mapping that named a record age has an end
|
|
43
|
+
* of its own, so the cap is out of the way and the records age out as they do
|
|
44
|
+
* on AWS.
|
|
45
|
+
*/
|
|
46
|
+
get attemptLimit(): number;
|
|
47
|
+
/**
|
|
48
|
+
* Whether a record written at an instant is too old to be handed over again.
|
|
49
|
+
*
|
|
50
|
+
* A record the stream gave up without a time has no age to read, and is
|
|
51
|
+
* discarded alongside the ones that aged out rather than kept forever against
|
|
52
|
+
* a limit that is about age. Both simulated stream services stamp every
|
|
53
|
+
* record, so this is a guard rather than a case a test can reach.
|
|
54
|
+
*/
|
|
55
|
+
hasAgedOut(writtenAt: Date | undefined, now: Date): boolean;
|
|
56
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { SimLambdaValidationException } from "../error/sim-lambda.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* The value both settings take to mean no limit, and what a mapping that named
|
|
4
|
+
* neither of them reports.
|
|
5
|
+
*/
|
|
6
|
+
const infinite = -1;
|
|
7
|
+
/**
|
|
8
|
+
* The largest number of retries Lambda takes.
|
|
9
|
+
*/
|
|
10
|
+
const maximumRetryAttemptsLimit = 10_000;
|
|
11
|
+
/**
|
|
12
|
+
* The oldest record age Lambda takes, which is seven days.
|
|
13
|
+
*/
|
|
14
|
+
const maximumRecordAgeLimit = 604_800;
|
|
15
|
+
/**
|
|
16
|
+
* How many times a failed batch is delivered again when the mapping asked for
|
|
17
|
+
* no limit of its own.
|
|
18
|
+
*
|
|
19
|
+
* A batch a handler always throws on has to stop somewhere. AWS keeps retrying
|
|
20
|
+
* until the records age out of the stream, a day later, and waiting out a
|
|
21
|
+
* simulated day is a hang with more steps.
|
|
22
|
+
*/
|
|
23
|
+
const defaultAttemptLimit = 5;
|
|
24
|
+
const millisecondsPerSecond = 1000;
|
|
25
|
+
/**
|
|
26
|
+
* When a stream mapping stops delivering a batch its function keeps failing.
|
|
27
|
+
*
|
|
28
|
+
* The two limits are one thing rather than two, because they end the same
|
|
29
|
+
* lifecycle: a record leaves the mapping when it has had its retries or when it
|
|
30
|
+
* is too old to be worth another, whichever comes first. Both are held as
|
|
31
|
+
* Lambda states them, with `-1` for no limit, so a Get or a List reports back
|
|
32
|
+
* exactly what was asked for.
|
|
33
|
+
*/
|
|
34
|
+
export class SimLambdaStreamRetryLimits {
|
|
35
|
+
maximumRetryAttempts;
|
|
36
|
+
maximumRecordAgeInSeconds;
|
|
37
|
+
constructor(input = {}) {
|
|
38
|
+
this.maximumRetryAttempts = checkedLimit({
|
|
39
|
+
value: input.maximumRetryAttempts,
|
|
40
|
+
field: "maximumRetryAttempts",
|
|
41
|
+
maximum: maximumRetryAttemptsLimit,
|
|
42
|
+
unit: "retries",
|
|
43
|
+
});
|
|
44
|
+
this.maximumRecordAgeInSeconds = checkedLimit({
|
|
45
|
+
value: input.maximumRecordAgeInSeconds,
|
|
46
|
+
field: "maximumRecordAgeInSeconds",
|
|
47
|
+
maximum: maximumRecordAgeLimit,
|
|
48
|
+
unit: "seconds",
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The two limits as a Get, a List or a create response reports them.
|
|
53
|
+
*/
|
|
54
|
+
configuration() {
|
|
55
|
+
return {
|
|
56
|
+
MaximumRetryAttempts: this.maximumRetryAttempts,
|
|
57
|
+
MaximumRecordAgeInSeconds: this.maximumRecordAgeInSeconds,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* How many times a failed batch is delivered again before it is discarded.
|
|
62
|
+
*
|
|
63
|
+
* A mapping that named neither limit gets the simulator's own cap of five,
|
|
64
|
+
* which is what keeps a handler that always throws from leaving the clock
|
|
65
|
+
* with work falling due forever. A mapping that named a record age has an end
|
|
66
|
+
* of its own, so the cap is out of the way and the records age out as they do
|
|
67
|
+
* on AWS.
|
|
68
|
+
*/
|
|
69
|
+
get attemptLimit() {
|
|
70
|
+
if (this.maximumRetryAttempts !== infinite) {
|
|
71
|
+
return this.maximumRetryAttempts;
|
|
72
|
+
}
|
|
73
|
+
return this.maximumRecordAgeInSeconds === infinite
|
|
74
|
+
? defaultAttemptLimit
|
|
75
|
+
: Infinity;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Whether a record written at an instant is too old to be handed over again.
|
|
79
|
+
*
|
|
80
|
+
* A record the stream gave up without a time has no age to read, and is
|
|
81
|
+
* discarded alongside the ones that aged out rather than kept forever against
|
|
82
|
+
* a limit that is about age. Both simulated stream services stamp every
|
|
83
|
+
* record, so this is a guard rather than a case a test can reach.
|
|
84
|
+
*/
|
|
85
|
+
hasAgedOut(writtenAt, now) {
|
|
86
|
+
if (this.maximumRecordAgeInSeconds === infinite) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
if (writtenAt === undefined) {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
const age = now.getTime() - writtenAt.getTime();
|
|
93
|
+
return age > this.maximumRecordAgeInSeconds * millisecondsPerSecond;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* One limit as Lambda takes it, refusing a value outside the range it documents.
|
|
98
|
+
*/
|
|
99
|
+
function checkedLimit(properties) {
|
|
100
|
+
const { value, field, maximum, unit } = properties;
|
|
101
|
+
if (value === undefined) {
|
|
102
|
+
return infinite;
|
|
103
|
+
}
|
|
104
|
+
if (!Number.isSafeInteger(value) || value < infinite || value > maximum) {
|
|
105
|
+
throw new SimLambdaValidationException(`1 validation error detected: Value ${String(value)} at '${field}' ` +
|
|
106
|
+
"failed to satisfy constraint: Member must be a whole number of " +
|
|
107
|
+
`${unit} between 0 and ${String(maximum)}, or -1 for no limit`);
|
|
108
|
+
}
|
|
109
|
+
return value;
|
|
110
|
+
}
|
package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SimLambdaEventSourceBatchRules } from "../../sim-lambda-event-source-batch-rules.js";
|
|
2
|
+
import type { SimLambdaEventSourceRetryLimitRules } from "../../sim-lambda-event-source-retry-limits.js";
|
|
2
3
|
import { SimLambdaEventSourcePollingPermission } from "../../sim-lambda-event-source-polling-permission.js";
|
|
3
4
|
import type { SimLambdaEventSourceStartingPositionRules } from "../../sim-lambda-event-source-starting-position.js";
|
|
4
5
|
/**
|
|
@@ -42,6 +43,10 @@ export declare class SimLambdaKinesisEventSourceArn {
|
|
|
42
43
|
* The starting positions a mapping on this stream may be created with.
|
|
43
44
|
*/
|
|
44
45
|
get startingPositionRules(): SimLambdaEventSourceStartingPositionRules;
|
|
46
|
+
/**
|
|
47
|
+
* The failed-batch limits a mapping on this stream may be created with.
|
|
48
|
+
*/
|
|
49
|
+
get retryLimitRules(): SimLambdaEventSourceRetryLimitRules;
|
|
45
50
|
/**
|
|
46
51
|
* Whether this stream is in an Account and Region.
|
|
47
52
|
*/
|
package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SimLambdaInvalidParameterValueException } from "../../../error/sim-lambda.error.js";
|
|
2
2
|
import { SimLambdaEventSourcePollingPermission } from "../../sim-lambda-event-source-polling-permission.js";
|
|
3
|
-
import { kinesisStreamBatchRules, kinesisStreamPollingOperations, kinesisStreamStartingPositionRules, } from "./sim-lambda-kinesis-event-source-rules.js";
|
|
3
|
+
import { kinesisStreamBatchRules, kinesisStreamPollingOperations, kinesisStreamRetryLimitRules, kinesisStreamStartingPositionRules, } from "./sim-lambda-kinesis-event-source-rules.js";
|
|
4
4
|
/**
|
|
5
5
|
* A Kinesis stream ARN carries the stream name after a `stream/` separator, and
|
|
6
6
|
* a stream name holds no colon and no slash, so the ARN is read in one piece.
|
|
@@ -78,6 +78,12 @@ export class SimLambdaKinesisEventSourceArn {
|
|
|
78
78
|
get startingPositionRules() {
|
|
79
79
|
return kinesisStreamStartingPositionRules;
|
|
80
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* The failed-batch limits a mapping on this stream may be created with.
|
|
83
|
+
*/
|
|
84
|
+
get retryLimitRules() {
|
|
85
|
+
return kinesisStreamRetryLimitRules;
|
|
86
|
+
}
|
|
81
87
|
/**
|
|
82
88
|
* Whether this stream is in an Account and Region.
|
|
83
89
|
*/
|
package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SimLambdaEventSourceBatchRules } from "../../sim-lambda-event-source-batch-rules.js";
|
|
2
|
+
import { SimLambdaStreamRetryLimitRules } from "../../sim-lambda-event-source-retry-limits.js";
|
|
2
3
|
import { SimLambdaStreamStartingPosition } from "../../sim-lambda-event-source-starting-position.js";
|
|
3
4
|
/**
|
|
4
5
|
* What a function's execution role has to be allowed to do on a stream for
|
|
@@ -25,3 +26,8 @@ export declare const kinesisStreamBatchRules: SimLambdaEventSourceBatchRules;
|
|
|
25
26
|
* its records carry the instant they arrived.
|
|
26
27
|
*/
|
|
27
28
|
export declare const kinesisStreamStartingPositionRules: SimLambdaStreamStartingPosition;
|
|
29
|
+
/**
|
|
30
|
+
* A Kinesis stream mapping counts a failed batch's attempts itself, so it takes
|
|
31
|
+
* both of Lambda's failed-batch limits.
|
|
32
|
+
*/
|
|
33
|
+
export declare const kinesisStreamRetryLimitRules: SimLambdaStreamRetryLimitRules;
|
package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SimLambdaEventSourceBatchRules } from "../../sim-lambda-event-source-batch-rules.js";
|
|
2
|
+
import { SimLambdaStreamRetryLimitRules } from "../../sim-lambda-event-source-retry-limits.js";
|
|
2
3
|
import { SimLambdaStreamStartingPosition } from "../../sim-lambda-event-source-starting-position.js";
|
|
3
4
|
/**
|
|
4
5
|
* What a function's execution role has to be allowed to do on a stream for
|
|
@@ -37,3 +38,8 @@ export const kinesisStreamStartingPositionRules = new SimLambdaStreamStartingPos
|
|
|
37
38
|
positions: ["TRIM_HORIZON", "LATEST", "AT_TIMESTAMP"],
|
|
38
39
|
sourceDescription: "a Kinesis stream",
|
|
39
40
|
});
|
|
41
|
+
/**
|
|
42
|
+
* A Kinesis stream mapping counts a failed batch's attempts itself, so it takes
|
|
43
|
+
* both of Lambda's failed-batch limits.
|
|
44
|
+
*/
|
|
45
|
+
export const kinesisStreamRetryLimitRules = new SimLambdaStreamRetryLimitRules();
|
package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SimLambdaEventSourceBatchRules } from "../sim-lambda-event-source-batch-rules.js";
|
|
2
|
-
import { SimLambdaEventSourcePollingPermission } from "../sim-lambda-event-source-polling-permission.js";
|
|
2
|
+
import type { SimLambdaEventSourcePollingPermission } from "../sim-lambda-event-source-polling-permission.js";
|
|
3
|
+
import type { SimLambdaEventSourceRetryLimitRules } from "../sim-lambda-event-source-retry-limits.js";
|
|
3
4
|
import type { SimLambdaEventSourceStartingPositionRules } from "../sim-lambda-event-source-starting-position.js";
|
|
4
5
|
/**
|
|
5
6
|
* The DynamoDB stream ARN an event source mapping is created for.
|
|
@@ -44,6 +45,10 @@ export declare class SimLambdaDynamoDbStreamEventSourceArn {
|
|
|
44
45
|
* The starting positions a mapping on this stream may be created with.
|
|
45
46
|
*/
|
|
46
47
|
get startingPositionRules(): SimLambdaEventSourceStartingPositionRules;
|
|
48
|
+
/**
|
|
49
|
+
* The failed-batch limits a mapping on this stream may be created with.
|
|
50
|
+
*/
|
|
51
|
+
get retryLimitRules(): SimLambdaEventSourceRetryLimitRules;
|
|
47
52
|
/**
|
|
48
53
|
* Whether this stream is in an Account and Region.
|
|
49
54
|
*/
|
package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SimLambdaInvalidParameterValueException } from "../../error/sim-lambda.error.js";
|
|
2
|
-
import {
|
|
3
|
-
import { dynamoDbStreamBatchRules, dynamoDbStreamPollingOperations, dynamoDbStreamStartingPositionRules, } from "./sim-lambda-dynamodb-stream-event-source-rules.js";
|
|
2
|
+
import { dynamoDbStreamBatchRules, dynamoDbStreamPollingPermissions, dynamoDbStreamRetryLimitRules, dynamoDbStreamStartingPositionRules, } from "./sim-lambda-dynamodb-stream-event-source-rules.js";
|
|
4
3
|
/**
|
|
5
4
|
* A stream ARN is a table ARN with a label after it, and the label is an ISO
|
|
6
5
|
* timestamp carrying two colons of its own. Splitting the ARN on colons
|
|
@@ -37,10 +36,7 @@ export class SimLambdaDynamoDbStreamEventSourceArn {
|
|
|
37
36
|
this.accountId = parts["account"] ?? "";
|
|
38
37
|
this.tableName = parts["table"] ?? "";
|
|
39
38
|
this.label = parts["label"] ?? "";
|
|
40
|
-
this.pollingPermissions =
|
|
41
|
-
...dynamoDbStreamPollingOperations.map((operation) => new SimLambdaEventSourcePollingPermission(`dynamodb:${operation}`, value)),
|
|
42
|
-
new SimLambdaEventSourcePollingPermission("dynamodb:ListStreams", "*"),
|
|
43
|
-
];
|
|
39
|
+
this.pollingPermissions = dynamoDbStreamPollingPermissions(value);
|
|
44
40
|
}
|
|
45
41
|
/**
|
|
46
42
|
* Read a stream ARN, answering with nothing when the ARN names something
|
|
@@ -78,6 +74,12 @@ export class SimLambdaDynamoDbStreamEventSourceArn {
|
|
|
78
74
|
get startingPositionRules() {
|
|
79
75
|
return dynamoDbStreamStartingPositionRules;
|
|
80
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* The failed-batch limits a mapping on this stream may be created with.
|
|
79
|
+
*/
|
|
80
|
+
get retryLimitRules() {
|
|
81
|
+
return dynamoDbStreamRetryLimitRules;
|
|
82
|
+
}
|
|
81
83
|
/**
|
|
82
84
|
* Whether this stream is in an Account and Region.
|
|
83
85
|
*/
|
package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { SimLambdaEventSourceBatchRules } from "../sim-lambda-event-source-batch-rules.js";
|
|
2
|
+
import { SimLambdaEventSourcePollingPermission } from "../sim-lambda-event-source-polling-permission.js";
|
|
3
|
+
import { SimLambdaStreamRetryLimitRules } from "../sim-lambda-event-source-retry-limits.js";
|
|
2
4
|
import { SimLambdaStreamStartingPosition } from "../sim-lambda-event-source-starting-position.js";
|
|
3
5
|
/**
|
|
4
|
-
* What
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* These are the three operations a poller performs on the stream itself.
|
|
8
|
-
* `ListStreams` goes with them, on every stream rather than on one: nothing
|
|
9
|
-
* here ever calls it, but both the AWS managed policy and CDK's own grant
|
|
10
|
-
* include it, so a role that would work on AWS is a role that works here.
|
|
6
|
+
* What an execution role has to be allowed before a mapping on one stream can
|
|
7
|
+
* be created, as the permissions simulated IAM is asked for.
|
|
11
8
|
*/
|
|
12
|
-
export declare
|
|
9
|
+
export declare function dynamoDbStreamPollingPermissions(streamArn: string): readonly SimLambdaEventSourcePollingPermission[];
|
|
13
10
|
/**
|
|
14
11
|
* The batch sizes a DynamoDB stream event source delivers with.
|
|
15
12
|
*
|
|
@@ -25,3 +22,8 @@ export declare const dynamoDbStreamBatchRules: SimLambdaEventSourceBatchRules;
|
|
|
25
22
|
* Kinesis stream, and real Lambda refuses it here.
|
|
26
23
|
*/
|
|
27
24
|
export declare const dynamoDbStreamStartingPositionRules: SimLambdaStreamStartingPosition;
|
|
25
|
+
/**
|
|
26
|
+
* A DynamoDB stream mapping counts a failed batch's attempts itself, so it
|
|
27
|
+
* takes both of Lambda's failed-batch limits.
|
|
28
|
+
*/
|
|
29
|
+
export declare const dynamoDbStreamRetryLimitRules: SimLambdaStreamRetryLimitRules;
|
package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { SimLambdaEventSourceBatchRules } from "../sim-lambda-event-source-batch-rules.js";
|
|
2
|
+
import { SimLambdaEventSourcePollingPermission } from "../sim-lambda-event-source-polling-permission.js";
|
|
3
|
+
import { SimLambdaStreamRetryLimitRules } from "../sim-lambda-event-source-retry-limits.js";
|
|
2
4
|
import { SimLambdaStreamStartingPosition } from "../sim-lambda-event-source-starting-position.js";
|
|
3
5
|
/**
|
|
4
6
|
* What a function's execution role has to be allowed to do on a stream for
|
|
@@ -9,11 +11,21 @@ import { SimLambdaStreamStartingPosition } from "../sim-lambda-event-source-star
|
|
|
9
11
|
* here ever calls it, but both the AWS managed policy and CDK's own grant
|
|
10
12
|
* include it, so a role that would work on AWS is a role that works here.
|
|
11
13
|
*/
|
|
12
|
-
|
|
14
|
+
const dynamoDbStreamPollingOperations = [
|
|
13
15
|
"DescribeStream",
|
|
14
16
|
"GetRecords",
|
|
15
17
|
"GetShardIterator",
|
|
16
18
|
];
|
|
19
|
+
/**
|
|
20
|
+
* What an execution role has to be allowed before a mapping on one stream can
|
|
21
|
+
* be created, as the permissions simulated IAM is asked for.
|
|
22
|
+
*/
|
|
23
|
+
export function dynamoDbStreamPollingPermissions(streamArn) {
|
|
24
|
+
return [
|
|
25
|
+
...dynamoDbStreamPollingOperations.map((operation) => new SimLambdaEventSourcePollingPermission(`dynamodb:${operation}`, streamArn)),
|
|
26
|
+
new SimLambdaEventSourcePollingPermission("dynamodb:ListStreams", "*"),
|
|
27
|
+
];
|
|
28
|
+
}
|
|
17
29
|
/**
|
|
18
30
|
* The batch sizes a DynamoDB stream event source delivers with.
|
|
19
31
|
*
|
|
@@ -38,3 +50,8 @@ export const dynamoDbStreamStartingPositionRules = new SimLambdaStreamStartingPo
|
|
|
38
50
|
sourceDescription: "a DynamoDB stream",
|
|
39
51
|
positionElsewhere: "AT_TIMESTAMP is for a Kinesis stream",
|
|
40
52
|
});
|
|
53
|
+
/**
|
|
54
|
+
* A DynamoDB stream mapping counts a failed batch's attempts itself, so it
|
|
55
|
+
* takes both of Lambda's failed-batch limits.
|
|
56
|
+
*/
|
|
57
|
+
export const dynamoDbStreamRetryLimitRules = new SimLambdaStreamRetryLimitRules();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SimLambdaEnvironment } from "../environment/sim-lambda-environment.js";
|
|
2
|
+
import type { SimLambdaOutput } from "../logging/sim-lambda-output.js";
|
|
2
3
|
import type { SimLambdaOutputSink } from "../logging/sim-lambda-output-sink.js";
|
|
3
4
|
import type { SimLambdaHandler } from "../sim-lambda-handler.type.js";
|
|
4
5
|
/**
|
|
@@ -32,8 +33,12 @@ export interface SimLambdaExecutableCode {
|
|
|
32
33
|
/**
|
|
33
34
|
* Record what this code writes to its standard streams, so an invocation's
|
|
34
35
|
* output reaches the function's log group.
|
|
36
|
+
*
|
|
37
|
+
* The output settings come with the sink because they decide what happens to
|
|
38
|
+
* a line once it has been recorded, and only code with somewhere to record
|
|
39
|
+
* is ever given either.
|
|
35
40
|
*/
|
|
36
|
-
recordOutputTo(sink: SimLambdaOutputSink): void;
|
|
41
|
+
recordOutputTo(sink: SimLambdaOutputSink, output: SimLambdaOutput): void;
|
|
37
42
|
/**
|
|
38
43
|
* This code under changed function settings, cold rather than warm.
|
|
39
44
|
*
|
|
@@ -63,7 +68,8 @@ export declare class SimLambdaHandlerReferenceCode implements SimLambdaExecutabl
|
|
|
63
68
|
* function closing over the test's own module scope, and it prints through
|
|
64
69
|
* the process console and the process standard streams. Its invocation is
|
|
65
70
|
* run with those bridged to the function's sink instead, the way the clock
|
|
66
|
-
* and process.env are bridged for the same code.
|
|
71
|
+
* and process.env are bridged for the same code. The output settings reach
|
|
72
|
+
* that bridge by the same route.
|
|
67
73
|
*/
|
|
68
74
|
recordOutputTo(): void;
|
|
69
75
|
/**
|
|
@@ -18,7 +18,8 @@ export class SimLambdaHandlerReferenceCode {
|
|
|
18
18
|
* function closing over the test's own module scope, and it prints through
|
|
19
19
|
* the process console and the process standard streams. Its invocation is
|
|
20
20
|
* run with those bridged to the function's sink instead, the way the clock
|
|
21
|
-
* and process.env are bridged for the same code.
|
|
21
|
+
* and process.env are bridged for the same code. The output settings reach
|
|
22
|
+
* that bridge by the same route.
|
|
22
23
|
*/
|
|
23
24
|
recordOutputTo() {
|
|
24
25
|
// Recorded by the invocation, from the process globals.
|
|
@@ -3,6 +3,7 @@ import type { SimLambdaHandler } from "../sim-lambda-handler.type.js";
|
|
|
3
3
|
import { type SimLambdaVmSdkModuleProvider } from "./vm/sdk/sim-lambda-vm-sdk-module-provider.js";
|
|
4
4
|
import type { SimLambdaCodeConfiguration, SimLambdaExecutableCode } from "./sim-lambda-executable-code.js";
|
|
5
5
|
import { type SimLambdaVmContextProperties } from "./vm/sim-lambda-vm-context.js";
|
|
6
|
+
import type { SimLambdaOutput } from "../logging/sim-lambda-output.js";
|
|
6
7
|
import { type SimLambdaOutputSink } from "../logging/sim-lambda-output-sink.js";
|
|
7
8
|
/**
|
|
8
9
|
* The archive and handler this code runs, on top of everything its sandbox is
|
|
@@ -37,7 +38,7 @@ export declare class SimLambdaVmZipCode implements SimLambdaExecutableCode {
|
|
|
37
38
|
* asks for the handler, so the streams function code is handed already carry
|
|
38
39
|
* the sink by the time any of it runs.
|
|
39
40
|
*/
|
|
40
|
-
recordOutputTo(sink: SimLambdaOutputSink): void;
|
|
41
|
+
recordOutputTo(sink: SimLambdaOutputSink, output: SimLambdaOutput): void;
|
|
41
42
|
/**
|
|
42
43
|
* This archive under changed function settings, ready to cold start again.
|
|
43
44
|
*
|
|
@@ -53,15 +54,5 @@ export declare class SimLambdaVmZipCode implements SimLambdaExecutableCode {
|
|
|
53
54
|
*/
|
|
54
55
|
handlerFunction(): SimLambdaHandler;
|
|
55
56
|
private coldStart;
|
|
56
|
-
/**
|
|
57
|
-
* Look up the handler export, tolerating a module that exported a nullish
|
|
58
|
-
* value so the lookup still reports Runtime.HandlerNotFound.
|
|
59
|
-
*
|
|
60
|
-
* Only own exports count. Walking the prototype chain would let a handler
|
|
61
|
-
* name like `index.constructor` resolve to an `Object.prototype` member and
|
|
62
|
-
* be invoked as the handler, where real Lambda reports HandlerNotFound.
|
|
63
|
-
*/
|
|
64
|
-
private exportedHandler;
|
|
65
|
-
private importHandlerModule;
|
|
66
57
|
}
|
|
67
58
|
export {};
|
|
@@ -4,6 +4,7 @@ import { parseLambdaHandlerName } from "./sim-lambda-handler-name.js";
|
|
|
4
4
|
import { makeSimLambdaVmContext, } from "./vm/sim-lambda-vm-context.js";
|
|
5
5
|
import { simLambdaNoOutputSink, } from "../logging/sim-lambda-output-sink.js";
|
|
6
6
|
import { SimLambdaVmModules } from "./vm/sim-lambda-vm-modules.js";
|
|
7
|
+
import { importSimLambdaHandlerModule, simLambdaExportedHandler, } from "./vm/sim-lambda-vm-handler-lookup.js";
|
|
7
8
|
/**
|
|
8
9
|
* Executable sim Lambda code compiled from a zip archive in a vm context.
|
|
9
10
|
*
|
|
@@ -20,7 +21,10 @@ export class SimLambdaVmZipCode {
|
|
|
20
21
|
*/
|
|
21
22
|
runsInHostScope = false;
|
|
22
23
|
#handler;
|
|
23
|
-
|
|
24
|
+
/** Where this execution environment's output goes, and what happens to it. */
|
|
25
|
+
#recording = {
|
|
26
|
+
sink: simLambdaNoOutputSink,
|
|
27
|
+
};
|
|
24
28
|
constructor(properties) {
|
|
25
29
|
this.properties = properties;
|
|
26
30
|
}
|
|
@@ -31,8 +35,8 @@ export class SimLambdaVmZipCode {
|
|
|
31
35
|
* asks for the handler, so the streams function code is handed already carry
|
|
32
36
|
* the sink by the time any of it runs.
|
|
33
37
|
*/
|
|
34
|
-
recordOutputTo(sink) {
|
|
35
|
-
this.#
|
|
38
|
+
recordOutputTo(sink, output) {
|
|
39
|
+
this.#recording = { sink, output };
|
|
36
40
|
}
|
|
37
41
|
/**
|
|
38
42
|
* This archive under changed function settings, ready to cold start again.
|
|
@@ -62,47 +66,17 @@ export class SimLambdaVmZipCode {
|
|
|
62
66
|
const parsedName = parseLambdaHandlerName(handlerName);
|
|
63
67
|
const modules = new SimLambdaVmModules({
|
|
64
68
|
archive,
|
|
65
|
-
context: makeSimLambdaVmContext({
|
|
69
|
+
context: makeSimLambdaVmContext({
|
|
70
|
+
...this.properties,
|
|
71
|
+
...this.#recording,
|
|
72
|
+
}),
|
|
66
73
|
sdkModuleProvider: sdkModuleProvider ?? new SimLambdaNoVmSdkModuleProvider(),
|
|
67
74
|
});
|
|
68
|
-
const moduleExports =
|
|
69
|
-
const handler =
|
|
75
|
+
const moduleExports = importSimLambdaHandlerModule(modules, parsedName.modulePath);
|
|
76
|
+
const handler = simLambdaExportedHandler(moduleExports, parsedName.exportName);
|
|
70
77
|
if (typeof handler !== "function") {
|
|
71
78
|
throw new SimLambdaRuntimeError("Runtime.HandlerNotFound", `${handlerName} is undefined or not exported by ${parsedName.modulePath}`);
|
|
72
79
|
}
|
|
73
80
|
return handler;
|
|
74
81
|
}
|
|
75
|
-
/**
|
|
76
|
-
* Look up the handler export, tolerating a module that exported a nullish
|
|
77
|
-
* value so the lookup still reports Runtime.HandlerNotFound.
|
|
78
|
-
*
|
|
79
|
-
* Only own exports count. Walking the prototype chain would let a handler
|
|
80
|
-
* name like `index.constructor` resolve to an `Object.prototype` member and
|
|
81
|
-
* be invoked as the handler, where real Lambda reports HandlerNotFound.
|
|
82
|
-
*/
|
|
83
|
-
exportedHandler(moduleExports, exportName) {
|
|
84
|
-
if (moduleExports === null || moduleExports === undefined) {
|
|
85
|
-
return undefined;
|
|
86
|
-
}
|
|
87
|
-
const exportedValues = moduleExports;
|
|
88
|
-
if (!Object.hasOwn(exportedValues, exportName)) {
|
|
89
|
-
return undefined;
|
|
90
|
-
}
|
|
91
|
-
return Reflect.get(exportedValues, exportName);
|
|
92
|
-
}
|
|
93
|
-
importHandlerModule(modules, modulePath) {
|
|
94
|
-
try {
|
|
95
|
-
return modules.requireModule(`./${modulePath}`);
|
|
96
|
-
}
|
|
97
|
-
catch (error) {
|
|
98
|
-
if (error instanceof SimLambdaRuntimeError) {
|
|
99
|
-
throw error;
|
|
100
|
-
}
|
|
101
|
-
let message = String(error);
|
|
102
|
-
if (error instanceof Error) {
|
|
103
|
-
message = error.message;
|
|
104
|
-
}
|
|
105
|
-
throw new SimLambdaRuntimeError("Runtime.ImportModuleError", message);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
82
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import vm from "node:vm";
|
|
2
2
|
import { type SimClock } from "../../../../../util/clock/sim-clock.js";
|
|
3
3
|
import type { SimLambdaEnvironment } from "../../environment/sim-lambda-environment.js";
|
|
4
|
+
import type { SimLambdaOutput } from "../../logging/sim-lambda-output.js";
|
|
4
5
|
import { type SimLambdaOutputSink } from "../../logging/sim-lambda-output-sink.js";
|
|
5
6
|
import type { SimLambdaOutboundHttp } from "../../outbound/sim-lambda-outbound-http.js";
|
|
6
7
|
/**
|
|
@@ -12,6 +13,12 @@ export interface SimLambdaVmContextProperties {
|
|
|
12
13
|
readonly clock?: SimClock | undefined;
|
|
13
14
|
/** Where the sandbox's output is recorded, nowhere by default. */
|
|
14
15
|
readonly sink?: SimLambdaOutputSink | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Whether what the sandbox prints also reaches the host standard streams.
|
|
18
|
+
* A sandbox given none forwards everything, which is what a function with
|
|
19
|
+
* nowhere to record its output needs.
|
|
20
|
+
*/
|
|
21
|
+
readonly output?: SimLambdaOutput | undefined;
|
|
15
22
|
/**
|
|
16
23
|
* Where the sandbox's `fetch` requests to hostnames the simulation serves
|
|
17
24
|
* are answered. Without one every request reaches the network, as the host
|
|
@@ -4,6 +4,8 @@ import { makeSimClockDate } from "../../../../../util/clock/sim-clock-date.js";
|
|
|
4
4
|
import { SimRealClock, } from "../../../../../util/clock/sim-clock.js";
|
|
5
5
|
import { simLambdaNoOutputSink, } from "../../logging/sim-lambda-output-sink.js";
|
|
6
6
|
import { makeSimLambdaOutboundFetch } from "../../outbound/sim-lambda-outbound-fetch.js";
|
|
7
|
+
import { simLambdaClearInterval, simLambdaClearTimeout, } from "../../invoke/timer/sim-lambda-clear-timer.js";
|
|
8
|
+
import { simLambdaSetInterval, simLambdaSetTimeout, } from "../../invoke/timer/sim-lambda-process-timers.js";
|
|
7
9
|
import { SimLambdaVmOutputStream } from "./sim-lambda-vm-output-stream.js";
|
|
8
10
|
/**
|
|
9
11
|
* Create the sandbox vm context that sim Lambda function code runs in.
|
|
@@ -22,12 +24,12 @@ import { SimLambdaVmOutputStream } from "./sim-lambda-vm-output-stream.js";
|
|
|
22
24
|
* from the simulation for the hostnames the simulation serves.
|
|
23
25
|
*/
|
|
24
26
|
export function makeSimLambdaVmContext(properties) {
|
|
25
|
-
const { environment, clock = new SimRealClock(), sink = simLambdaNoOutputSink, outboundHttp, } = properties;
|
|
27
|
+
const { environment, clock = new SimRealClock(), sink = simLambdaNoOutputSink, output, outboundHttp, } = properties;
|
|
26
28
|
// Writable standard streams, as the real runtime provides. Code that builds
|
|
27
29
|
// its own console over them, as AWS Lambda Powertools' logger does, throws
|
|
28
30
|
// at module load without them.
|
|
29
|
-
const stdout = new SimLambdaVmOutputStream(() => process.stdout);
|
|
30
|
-
const stderr = new SimLambdaVmOutputStream(() => process.stderr);
|
|
31
|
+
const stdout = new SimLambdaVmOutputStream(() => process.stdout, output);
|
|
32
|
+
const stderr = new SimLambdaVmOutputStream(() => process.stderr, output);
|
|
31
33
|
// What function code writes reaches the function's log group through here.
|
|
32
34
|
stdout.recordTo(sink);
|
|
33
35
|
stderr.recordTo(sink);
|
|
@@ -45,10 +47,14 @@ export function makeSimLambdaVmContext(properties) {
|
|
|
45
47
|
// Function code asking JavaScript for the time gets the simulation's
|
|
46
48
|
// time, so a frozen or advanced clock reaches the code under test.
|
|
47
49
|
Date: makeSimClockDate(clock),
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
// Timers wait on the simulation's clock too, so a sandboxed handler that
|
|
51
|
+
// sleeps is released by a test advancing time rather than by the host.
|
|
52
|
+
// They belong to whichever invocation is running in the sandbox, which is
|
|
53
|
+
// why they are resolved per call rather than built into it.
|
|
54
|
+
setTimeout: simLambdaSetTimeout,
|
|
55
|
+
clearTimeout: simLambdaClearTimeout,
|
|
56
|
+
setInterval: simLambdaSetInterval,
|
|
57
|
+
clearInterval: simLambdaClearInterval,
|
|
52
58
|
setImmediate,
|
|
53
59
|
queueMicrotask,
|
|
54
60
|
TextEncoder,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SimLambdaVmModules } from "./sim-lambda-vm-modules.js";
|
|
2
|
+
/**
|
|
3
|
+
* Importing a function's handler module and finding the export it names.
|
|
4
|
+
*
|
|
5
|
+
* Both steps report the AWS-like `Runtime.*` error a real cold start reports,
|
|
6
|
+
* which is why they sit together.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Import the module a handler name points at.
|
|
10
|
+
*
|
|
11
|
+
* Anything the import threw that is not already a runtime error becomes a
|
|
12
|
+
* `Runtime.ImportModuleError`, as it does on real Lambda.
|
|
13
|
+
*/
|
|
14
|
+
export declare function importSimLambdaHandlerModule(modules: SimLambdaVmModules, modulePath: string): unknown;
|
|
15
|
+
/**
|
|
16
|
+
* Look up the handler export, tolerating a module that exported a nullish
|
|
17
|
+
* value so the lookup still reports Runtime.HandlerNotFound.
|
|
18
|
+
*
|
|
19
|
+
* Only own exports count. Walking the prototype chain would let a handler
|
|
20
|
+
* name like `index.constructor` resolve to an `Object.prototype` member and
|
|
21
|
+
* be invoked as the handler, where real Lambda reports HandlerNotFound.
|
|
22
|
+
*/
|
|
23
|
+
export declare function simLambdaExportedHandler(moduleExports: unknown, exportName: string): unknown;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { SimLambdaRuntimeError } from "../../../error/sim-lambda-runtime.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Importing a function's handler module and finding the export it names.
|
|
4
|
+
*
|
|
5
|
+
* Both steps report the AWS-like `Runtime.*` error a real cold start reports,
|
|
6
|
+
* which is why they sit together.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Import the module a handler name points at.
|
|
10
|
+
*
|
|
11
|
+
* Anything the import threw that is not already a runtime error becomes a
|
|
12
|
+
* `Runtime.ImportModuleError`, as it does on real Lambda.
|
|
13
|
+
*/
|
|
14
|
+
export function importSimLambdaHandlerModule(modules, modulePath) {
|
|
15
|
+
try {
|
|
16
|
+
return modules.requireModule(`./${modulePath}`);
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
if (error instanceof SimLambdaRuntimeError) {
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
throw new SimLambdaRuntimeError("Runtime.ImportModuleError", error instanceof Error ? error.message : String(error));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Look up the handler export, tolerating a module that exported a nullish
|
|
27
|
+
* value so the lookup still reports Runtime.HandlerNotFound.
|
|
28
|
+
*
|
|
29
|
+
* Only own exports count. Walking the prototype chain would let a handler
|
|
30
|
+
* name like `index.constructor` resolve to an `Object.prototype` member and
|
|
31
|
+
* be invoked as the handler, where real Lambda reports HandlerNotFound.
|
|
32
|
+
*/
|
|
33
|
+
export function simLambdaExportedHandler(moduleExports, exportName) {
|
|
34
|
+
if (moduleExports === null || moduleExports === undefined) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
const exportedValues = moduleExports;
|
|
38
|
+
if (!Object.hasOwn(exportedValues, exportName)) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
return Reflect.get(exportedValues, exportName);
|
|
42
|
+
}
|