@kensio/yulin 1.21.2 → 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/factory/sim-cfn-resource-factory.type.d.ts +9 -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 +19 -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/resource/update/sim-cfn-resource-update-validator.d.ts +26 -0
- package/dist/service/cloudformation/resource/update/sim-cfn-resource-update-validator.js +55 -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 +51 -3
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +84 -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 +16 -1
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +27 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +7 -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/cfn/sim-cfn-dynamodb-resource-factory.d.ts +5 -0
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +15 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-update-validator.d.ts +24 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-update-validator.js +38 -0
- 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/dynamodb/table/sim-dynamodb-index-update.js +1 -2
- 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 +8 -2
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { SimLambdaClockTimer } from "./sim-lambda-clock-timer.js";
|
|
2
|
+
import { SimLambdaTimerHandle, } from "./sim-lambda-timer-handle.js";
|
|
3
|
+
/**
|
|
4
|
+
* The timers one sim Lambda invocation has asked for.
|
|
5
|
+
*
|
|
6
|
+
* A handler's `setTimeout` measures its delay on the simulation's clock, so a
|
|
7
|
+
* test advancing time by the delay is what releases a sleeping handler, and a
|
|
8
|
+
* frozen clock leaves it asleep for as long as the test likes. The timers
|
|
9
|
+
* belong to the invocation rather than to the process: two simulations running
|
|
10
|
+
* at once each keep their own, and each one's are given up when its invocation
|
|
11
|
+
* ends, the way a real execution environment is frozen once it has answered.
|
|
12
|
+
*
|
|
13
|
+
* While any of them is outstanding the invocation is waiting on the clock, so
|
|
14
|
+
* whatever is waiting for the simulation to settle stops waiting for it.
|
|
15
|
+
* Nothing but the clock is going to release it, and moving the clock is what
|
|
16
|
+
* that wait is holding up.
|
|
17
|
+
*/
|
|
18
|
+
export class SimLambdaInvocationTimers {
|
|
19
|
+
#background;
|
|
20
|
+
#failed;
|
|
21
|
+
#running = new Map();
|
|
22
|
+
#released;
|
|
23
|
+
constructor(properties) {
|
|
24
|
+
this.#background = properties.background;
|
|
25
|
+
this.#failed = properties.failed;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Run a callback once simulated time has moved on by a delay.
|
|
29
|
+
*/
|
|
30
|
+
setTimeout(callback, delay, ...arguments_) {
|
|
31
|
+
return this.#start(delay, (handle) => {
|
|
32
|
+
this.#forget(handle);
|
|
33
|
+
this.#call(callback, arguments_);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Run a callback every time simulated time moves on by a delay.
|
|
38
|
+
*/
|
|
39
|
+
setInterval(callback, delay, ...arguments_) {
|
|
40
|
+
return this.#start(delay, (_handle, timer) => {
|
|
41
|
+
timer.again();
|
|
42
|
+
this.#call(callback, arguments_);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Give up one timer, as `clearTimeout` and `clearInterval` do.
|
|
47
|
+
*/
|
|
48
|
+
clear(handle) {
|
|
49
|
+
this.#running.get(handle)?.cancel();
|
|
50
|
+
this.#forget(handle);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Give up every timer this invocation still has outstanding.
|
|
54
|
+
*/
|
|
55
|
+
cancelAll() {
|
|
56
|
+
for (const timer of this.#running.values()) {
|
|
57
|
+
timer.cancel();
|
|
58
|
+
}
|
|
59
|
+
this.#running.clear();
|
|
60
|
+
this.#stopWaitingOnClock();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Put one timer on the clock, and keep it while it is outstanding.
|
|
64
|
+
*
|
|
65
|
+
* The work a timer does needs the timer itself, to start the next turn of an
|
|
66
|
+
* interval, and the timer needs the work to be built with, so the work is
|
|
67
|
+
* given both once both exist.
|
|
68
|
+
*/
|
|
69
|
+
#start(delay, work) {
|
|
70
|
+
const handle = new SimLambdaTimerHandle(this);
|
|
71
|
+
const timer = new SimLambdaClockTimer({
|
|
72
|
+
background: this.#background,
|
|
73
|
+
run: () => {
|
|
74
|
+
work(handle, timer);
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
this.#running.set(handle, timer);
|
|
78
|
+
// A timer with nothing to wait for is not waiting on the clock: it is due
|
|
79
|
+
// at the instant the clock already reads, and the next turn of the host
|
|
80
|
+
// event loop runs it.
|
|
81
|
+
if (timer.startIn(delay) > 0) {
|
|
82
|
+
this.#released ??= this.#background.waitingOnClock();
|
|
83
|
+
}
|
|
84
|
+
return handle;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Run one timer's callback, failing the invocation where it throws.
|
|
88
|
+
*
|
|
89
|
+
* An uncaught exception out of a timer callback ends a real invocation, and
|
|
90
|
+
* this one has a whole simulation around it: left to escape, the error would
|
|
91
|
+
* come out of whatever moved the clock instead, which is nothing to do with
|
|
92
|
+
* the handler that scheduled it.
|
|
93
|
+
*/
|
|
94
|
+
#call(callback, arguments_) {
|
|
95
|
+
try {
|
|
96
|
+
callback(...arguments_);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
this.#failed(error);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
#forget(handle) {
|
|
103
|
+
this.#running.delete(handle);
|
|
104
|
+
if (this.#running.size === 0) {
|
|
105
|
+
this.#stopWaitingOnClock();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
#stopWaitingOnClock() {
|
|
109
|
+
this.#released?.();
|
|
110
|
+
this.#released = undefined;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { SimLambdaInvocationTimers } from "./sim-lambda-invocation-timers.js";
|
|
2
|
+
import type { SimLambdaTimerCallback, SimLambdaTimerHandle, SimLambdaTimers } from "./sim-lambda-timer-handle.js";
|
|
3
|
+
/**
|
|
4
|
+
* The timer functions the code running now should be using.
|
|
5
|
+
*
|
|
6
|
+
* A handler function reference is a closure over its own module scope, so it
|
|
7
|
+
* reaches for the same global `setTimeout` as every other line in the test
|
|
8
|
+
* run. Zip code has a sandbox of its own and is given these directly. Both
|
|
9
|
+
* paths end up here, and both find the invocation that is running now through
|
|
10
|
+
* Node.js asynchronous context tracking, exactly as the substitute Date does.
|
|
11
|
+
*
|
|
12
|
+
* Outside an invocation there is nothing to find, and the host's own timers
|
|
13
|
+
* answer instead. That is what keeps the substitutes inert for a test run's
|
|
14
|
+
* own timers, for a test framework's, and for one simulation while another is
|
|
15
|
+
* running an invocation.
|
|
16
|
+
*/
|
|
17
|
+
declare class SimLambdaProcessTimers {
|
|
18
|
+
private readonly storage;
|
|
19
|
+
private installed;
|
|
20
|
+
/**
|
|
21
|
+
* Run an invocation with timers of its own.
|
|
22
|
+
*/
|
|
23
|
+
run<T>(timers: SimLambdaInvocationTimers, run: () => Promise<T>): Promise<T>;
|
|
24
|
+
/**
|
|
25
|
+
* The timers the code running now should use.
|
|
26
|
+
*/
|
|
27
|
+
current(): SimLambdaTimers;
|
|
28
|
+
/**
|
|
29
|
+
* Replace the global timer functions with ones that follow the store.
|
|
30
|
+
*
|
|
31
|
+
* Installed on the first invocation of host-scope code rather than at
|
|
32
|
+
* import, so a test run that never invokes one is left completely alone.
|
|
33
|
+
* Sandboxed code needs none of this: its own globals are built for it, and
|
|
34
|
+
* they are given the same substitutes directly.
|
|
35
|
+
*
|
|
36
|
+
* With no invocation running the substitutes call the host functions and
|
|
37
|
+
* answer with what they answer, so an installed patch behaves exactly like
|
|
38
|
+
* no patch at all. They are never removed, because removing one would be
|
|
39
|
+
* unsafe while another invocation is in flight and there is nothing to gain.
|
|
40
|
+
*/
|
|
41
|
+
install(): void;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Shared because it patches process globals: one patch, one store.
|
|
45
|
+
*/
|
|
46
|
+
export declare const simLambdaProcessTimers: SimLambdaProcessTimers;
|
|
47
|
+
/**
|
|
48
|
+
* Run a callback once a delay has passed, on the clock of the invocation
|
|
49
|
+
* running now.
|
|
50
|
+
*/
|
|
51
|
+
export declare function simLambdaSetTimeout(callback: SimLambdaTimerCallback, delay?: number, ...arguments_: unknown[]): SimLambdaTimerHandle | NodeJS.Timeout;
|
|
52
|
+
/**
|
|
53
|
+
* Run a callback every time a delay passes, on the clock of the invocation
|
|
54
|
+
* running now.
|
|
55
|
+
*/
|
|
56
|
+
export declare function simLambdaSetInterval(callback: SimLambdaTimerCallback, delay?: number, ...arguments_: unknown[]): SimLambdaTimerHandle | NodeJS.Timeout;
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
import { simLambdaClearInterval, simLambdaClearTimeout, } from "./sim-lambda-clear-timer.js";
|
|
3
|
+
import { simLambdaHostTimers } from "./sim-lambda-host-timers.js";
|
|
4
|
+
import { defineSimLambdaTimer } from "./sim-lambda-timer-global.js";
|
|
5
|
+
/**
|
|
6
|
+
* The timer functions the code running now should be using.
|
|
7
|
+
*
|
|
8
|
+
* A handler function reference is a closure over its own module scope, so it
|
|
9
|
+
* reaches for the same global `setTimeout` as every other line in the test
|
|
10
|
+
* run. Zip code has a sandbox of its own and is given these directly. Both
|
|
11
|
+
* paths end up here, and both find the invocation that is running now through
|
|
12
|
+
* Node.js asynchronous context tracking, exactly as the substitute Date does.
|
|
13
|
+
*
|
|
14
|
+
* Outside an invocation there is nothing to find, and the host's own timers
|
|
15
|
+
* answer instead. That is what keeps the substitutes inert for a test run's
|
|
16
|
+
* own timers, for a test framework's, and for one simulation while another is
|
|
17
|
+
* running an invocation.
|
|
18
|
+
*/
|
|
19
|
+
class SimLambdaProcessTimers {
|
|
20
|
+
storage = new AsyncLocalStorage();
|
|
21
|
+
installed = false;
|
|
22
|
+
/**
|
|
23
|
+
* Run an invocation with timers of its own.
|
|
24
|
+
*/
|
|
25
|
+
async run(timers, run) {
|
|
26
|
+
return await this.storage.run(timers, run);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The timers the code running now should use.
|
|
30
|
+
*/
|
|
31
|
+
current() {
|
|
32
|
+
return this.storage.getStore() ?? simLambdaHostTimers;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Replace the global timer functions with ones that follow the store.
|
|
36
|
+
*
|
|
37
|
+
* Installed on the first invocation of host-scope code rather than at
|
|
38
|
+
* import, so a test run that never invokes one is left completely alone.
|
|
39
|
+
* Sandboxed code needs none of this: its own globals are built for it, and
|
|
40
|
+
* they are given the same substitutes directly.
|
|
41
|
+
*
|
|
42
|
+
* With no invocation running the substitutes call the host functions and
|
|
43
|
+
* answer with what they answer, so an installed patch behaves exactly like
|
|
44
|
+
* no patch at all. They are never removed, because removing one would be
|
|
45
|
+
* unsafe while another invocation is in flight and there is nothing to gain.
|
|
46
|
+
*/
|
|
47
|
+
install() {
|
|
48
|
+
if (this.installed) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
this.installed = true;
|
|
52
|
+
defineSimLambdaTimer("setTimeout", simLambdaSetTimeout);
|
|
53
|
+
defineSimLambdaTimer("clearTimeout", simLambdaClearTimeout);
|
|
54
|
+
defineSimLambdaTimer("setInterval", simLambdaSetInterval);
|
|
55
|
+
defineSimLambdaTimer("clearInterval", simLambdaClearInterval);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Shared because it patches process globals: one patch, one store.
|
|
60
|
+
*/
|
|
61
|
+
export const simLambdaProcessTimers = new SimLambdaProcessTimers();
|
|
62
|
+
/**
|
|
63
|
+
* Run a callback once a delay has passed, on the clock of the invocation
|
|
64
|
+
* running now.
|
|
65
|
+
*/
|
|
66
|
+
export function simLambdaSetTimeout(callback, delay, ...arguments_) {
|
|
67
|
+
return simLambdaProcessTimers
|
|
68
|
+
.current()
|
|
69
|
+
.setTimeout(callback, delay, ...arguments_);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Run a callback every time a delay passes, on the clock of the invocation
|
|
73
|
+
* running now.
|
|
74
|
+
*/
|
|
75
|
+
export function simLambdaSetInterval(callback, delay, ...arguments_) {
|
|
76
|
+
return simLambdaProcessTimers
|
|
77
|
+
.current()
|
|
78
|
+
.setInterval(callback, delay, ...arguments_);
|
|
79
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The delay a timer waits, in whole milliseconds of simulated time.
|
|
3
|
+
*
|
|
4
|
+
* A delay that is missing, negative or not a number is no delay at all, which
|
|
5
|
+
* leaves the timer due at the instant it was asked for. Node.js rounds those
|
|
6
|
+
* up to a millisecond of host time; simulated time has nothing to round up to,
|
|
7
|
+
* and a handler yielding with `setTimeout(resolve, 0)` should not need a test
|
|
8
|
+
* to move the clock before it gets going again.
|
|
9
|
+
*/
|
|
10
|
+
export declare function simLambdaTimerDelay(delay: number | undefined): number;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The delay a timer waits, in whole milliseconds of simulated time.
|
|
3
|
+
*
|
|
4
|
+
* A delay that is missing, negative or not a number is no delay at all, which
|
|
5
|
+
* leaves the timer due at the instant it was asked for. Node.js rounds those
|
|
6
|
+
* up to a millisecond of host time; simulated time has nothing to round up to,
|
|
7
|
+
* and a handler yielding with `setTimeout(resolve, 0)` should not need a test
|
|
8
|
+
* to move the clock before it gets going again.
|
|
9
|
+
*/
|
|
10
|
+
export function simLambdaTimerDelay(delay) {
|
|
11
|
+
if (delay === undefined || !Number.isFinite(delay)) {
|
|
12
|
+
return 0;
|
|
13
|
+
}
|
|
14
|
+
return Math.max(Math.trunc(delay), 0);
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Put a substitute in a global timer function's place, keeping everything else
|
|
3
|
+
* about it.
|
|
4
|
+
*
|
|
5
|
+
* The property stays the configurable, writable, non-enumerable global it
|
|
6
|
+
* already was, so anything else replacing it later finds what it expects. The
|
|
7
|
+
* host function's own symbols come across too: `setTimeout` carries the one
|
|
8
|
+
* that makes `util.promisify` answer with the promise form, and code reaching
|
|
9
|
+
* for that would otherwise get a promise of the handle instead.
|
|
10
|
+
*/
|
|
11
|
+
export declare function defineSimLambdaTimer(name: string, substitute: object): void;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Put a substitute in a global timer function's place, keeping everything else
|
|
3
|
+
* about it.
|
|
4
|
+
*
|
|
5
|
+
* The property stays the configurable, writable, non-enumerable global it
|
|
6
|
+
* already was, so anything else replacing it later finds what it expects. The
|
|
7
|
+
* host function's own symbols come across too: `setTimeout` carries the one
|
|
8
|
+
* that makes `util.promisify` answer with the promise form, and code reaching
|
|
9
|
+
* for that would otherwise get a promise of the handle instead.
|
|
10
|
+
*/
|
|
11
|
+
export function defineSimLambdaTimer(name, substitute) {
|
|
12
|
+
const host = Reflect.get(globalThis, name);
|
|
13
|
+
for (const symbol of Object.getOwnPropertySymbols(host)) {
|
|
14
|
+
Object.defineProperty(substitute, symbol, {
|
|
15
|
+
configurable: true,
|
|
16
|
+
value: Reflect.get(host, symbol),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(globalThis, name, {
|
|
20
|
+
configurable: true,
|
|
21
|
+
writable: true,
|
|
22
|
+
value: substitute,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a handler passes to `setTimeout` or `setInterval` to be run later.
|
|
3
|
+
*/
|
|
4
|
+
export type SimLambdaTimerCallback = (...arguments_: unknown[]) => void;
|
|
5
|
+
/**
|
|
6
|
+
* Timer functions of the shape the Node.js runtime gives handler code.
|
|
7
|
+
*/
|
|
8
|
+
export interface SimLambdaTimers {
|
|
9
|
+
setTimeout(callback: SimLambdaTimerCallback, delay?: number, ...arguments_: unknown[]): SimLambdaTimerHandle | NodeJS.Timeout;
|
|
10
|
+
setInterval(callback: SimLambdaTimerCallback, delay?: number, ...arguments_: unknown[]): SimLambdaTimerHandle | NodeJS.Timeout;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Where a timer goes to be given up, which is the set it was made in.
|
|
14
|
+
*/
|
|
15
|
+
export interface SimLambdaTimerOwner {
|
|
16
|
+
clear(handle: SimLambdaTimerHandle): void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The handle a handler gets back from `setTimeout` or `setInterval`.
|
|
20
|
+
*
|
|
21
|
+
* Real timer functions answer with an object rather than a number, and the
|
|
22
|
+
* only thing handler code usually does with it is hand it back to
|
|
23
|
+
* `clearTimeout`. It carries the set it belongs to, so clearing it reaches
|
|
24
|
+
* that set rather than whichever invocation happens to be running.
|
|
25
|
+
*
|
|
26
|
+
* Referencing is answered because a handler is free to ask. A simulated timer
|
|
27
|
+
* is unreferenced already: it waits on a clock a test moves, and holds nothing
|
|
28
|
+
* open whatever it is asked.
|
|
29
|
+
*/
|
|
30
|
+
export declare class SimLambdaTimerHandle {
|
|
31
|
+
#private;
|
|
32
|
+
constructor(owner: SimLambdaTimerOwner);
|
|
33
|
+
/**
|
|
34
|
+
* Give up this timer, as `clearTimeout` and `clearInterval` do.
|
|
35
|
+
*/
|
|
36
|
+
cancel(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Keep the simulation open for this timer, which it already is.
|
|
39
|
+
*/
|
|
40
|
+
ref(): this;
|
|
41
|
+
/**
|
|
42
|
+
* Stop keeping the simulation open for this timer, which it never was.
|
|
43
|
+
*/
|
|
44
|
+
unref(): this;
|
|
45
|
+
/**
|
|
46
|
+
* Whether this timer holds the process open, which a simulated one never
|
|
47
|
+
* does.
|
|
48
|
+
*/
|
|
49
|
+
hasRef(): boolean;
|
|
50
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The handle a handler gets back from `setTimeout` or `setInterval`.
|
|
3
|
+
*
|
|
4
|
+
* Real timer functions answer with an object rather than a number, and the
|
|
5
|
+
* only thing handler code usually does with it is hand it back to
|
|
6
|
+
* `clearTimeout`. It carries the set it belongs to, so clearing it reaches
|
|
7
|
+
* that set rather than whichever invocation happens to be running.
|
|
8
|
+
*
|
|
9
|
+
* Referencing is answered because a handler is free to ask. A simulated timer
|
|
10
|
+
* is unreferenced already: it waits on a clock a test moves, and holds nothing
|
|
11
|
+
* open whatever it is asked.
|
|
12
|
+
*/
|
|
13
|
+
export class SimLambdaTimerHandle {
|
|
14
|
+
#owner;
|
|
15
|
+
constructor(owner) {
|
|
16
|
+
this.#owner = owner;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Give up this timer, as `clearTimeout` and `clearInterval` do.
|
|
20
|
+
*/
|
|
21
|
+
cancel() {
|
|
22
|
+
this.#owner.clear(this);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Keep the simulation open for this timer, which it already is.
|
|
26
|
+
*/
|
|
27
|
+
ref() {
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Stop keeping the simulation open for this timer, which it never was.
|
|
32
|
+
*/
|
|
33
|
+
unref() {
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Whether this timer holds the process open, which a simulated one never
|
|
38
|
+
* does.
|
|
39
|
+
*/
|
|
40
|
+
hasRef() {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SimClock } from "../../../../util/clock/sim-clock.js";
|
|
2
2
|
import type { SimLogsServiceWriter } from "../../../logs/write/sim-logs-service-writer.js";
|
|
3
3
|
import type { SimLambdaOutputSink } from "./sim-lambda-output-sink.js";
|
|
4
|
+
import { SimLambdaOutput } from "./sim-lambda-output.js";
|
|
4
5
|
import type { SimLambdaExecutableCode } from "../code/sim-lambda-executable-code.js";
|
|
5
6
|
interface SimLambdaFunctionLoggingProperties {
|
|
6
7
|
readonly functionName: string;
|
|
@@ -10,6 +11,12 @@ interface SimLambdaFunctionLoggingProperties {
|
|
|
10
11
|
* instance, has no simulated CloudWatch Logs to record to.
|
|
11
12
|
*/
|
|
12
13
|
readonly logs?: SimLogsServiceWriter | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Where this function's output goes besides its log group. Shared with every
|
|
16
|
+
* other function of the same simulated Lambda, and read as each line is
|
|
17
|
+
* written.
|
|
18
|
+
*/
|
|
19
|
+
readonly output?: SimLambdaOutput | undefined;
|
|
13
20
|
}
|
|
14
21
|
/**
|
|
15
22
|
* One function's side of writing its output to a log group.
|
|
@@ -28,6 +35,8 @@ interface SimLambdaFunctionLoggingProperties {
|
|
|
28
35
|
export declare class SimLambdaFunctionLogging {
|
|
29
36
|
#private;
|
|
30
37
|
readonly logGroupName: string;
|
|
38
|
+
/** Where this function's output goes besides its log group. */
|
|
39
|
+
readonly output: SimLambdaOutput;
|
|
31
40
|
constructor(properties: SimLambdaFunctionLoggingProperties);
|
|
32
41
|
/**
|
|
33
42
|
* The stream this function's execution environment writes to, opening it if
|
|
@@ -53,6 +62,14 @@ export declare class SimLambdaFunctionLogging {
|
|
|
53
62
|
* console and standard streams tee into.
|
|
54
63
|
*/
|
|
55
64
|
outputSink(): SimLambdaOutputSink | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Both halves of where a host-scope invocation's output goes, ready to
|
|
67
|
+
* bridge to the process globals it prints through.
|
|
68
|
+
*/
|
|
69
|
+
outputScope(): {
|
|
70
|
+
readonly output: SimLambdaOutputSink | undefined;
|
|
71
|
+
readonly outputSettings: SimLambdaOutput;
|
|
72
|
+
};
|
|
56
73
|
/**
|
|
57
74
|
* Run an invocation, recording whatever it left unterminated once it is
|
|
58
75
|
* over, and the error it ended in when it ended in one.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SimLambdaOutput } from "./sim-lambda-output.js";
|
|
1
2
|
import { simLambdaInvokeErrorLine } from "./sim-lambda-invoke-error-log.js";
|
|
2
3
|
import { SimLambdaLogWriter } from "./sim-lambda-log-writer.js";
|
|
3
4
|
import { simLambdaLogGroupName, simLambdaLogStreamName, } from "./sim-lambda-log-stream-name.js";
|
|
@@ -17,6 +18,8 @@ import { simLambdaLogGroupName, simLambdaLogStreamName, } from "./sim-lambda-log
|
|
|
17
18
|
*/
|
|
18
19
|
export class SimLambdaFunctionLogging {
|
|
19
20
|
logGroupName;
|
|
21
|
+
/** Where this function's output goes besides its log group. */
|
|
22
|
+
output;
|
|
20
23
|
#logs;
|
|
21
24
|
#clock;
|
|
22
25
|
#writer;
|
|
@@ -25,6 +28,7 @@ export class SimLambdaFunctionLogging {
|
|
|
25
28
|
this.logGroupName = simLambdaLogGroupName(properties.functionName);
|
|
26
29
|
this.#logs = properties.logs;
|
|
27
30
|
this.#clock = properties.clock;
|
|
31
|
+
this.output = properties.output ?? new SimLambdaOutput();
|
|
28
32
|
}
|
|
29
33
|
/**
|
|
30
34
|
* The stream this function's execution environment writes to, opening it if
|
|
@@ -47,7 +51,7 @@ export class SimLambdaFunctionLogging {
|
|
|
47
51
|
recordFrom(code) {
|
|
48
52
|
const writer = this.#writer;
|
|
49
53
|
if (writer !== undefined) {
|
|
50
|
-
code.recordOutputTo(writer);
|
|
54
|
+
code.recordOutputTo(writer, this.output);
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
57
|
/**
|
|
@@ -61,6 +65,13 @@ export class SimLambdaFunctionLogging {
|
|
|
61
65
|
outputSink() {
|
|
62
66
|
return this.#writer;
|
|
63
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Both halves of where a host-scope invocation's output goes, ready to
|
|
70
|
+
* bridge to the process globals it prints through.
|
|
71
|
+
*/
|
|
72
|
+
outputScope() {
|
|
73
|
+
return { output: this.#writer, outputSettings: this.output };
|
|
74
|
+
}
|
|
64
75
|
/**
|
|
65
76
|
* Run an invocation, recording whatever it left unterminated once it is
|
|
66
77
|
* over, and the error it ended in when it ended in one.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a simulated Lambda's functions send what they print.
|
|
3
|
+
*
|
|
4
|
+
* Function output always reaches the function's log group. This settles the
|
|
5
|
+
* second destination, the host console the test run itself prints to. Real
|
|
6
|
+
* Lambda sends output to CloudWatch Logs and nowhere else, and Yulin forwards
|
|
7
|
+
* it to the host as well so that a failing test is as easy to read as one
|
|
8
|
+
* whose handler was never simulated.
|
|
9
|
+
*
|
|
10
|
+
* A handler that logs on every request makes that forwarding expensive. AWS
|
|
11
|
+
* Lambda Powertools writes an Embedded Metric Format document for every metric
|
|
12
|
+
* it counts, and a suite invoking a function a few hundred times buries its own
|
|
13
|
+
* output under them. `captureOnly` turns the forwarding off for every function
|
|
14
|
+
* of one simulated Lambda:
|
|
15
|
+
*
|
|
16
|
+
* ```typescript
|
|
17
|
+
* simAws.lambda().output().captureOnly();
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* Nothing is lost by it. The log group holds every line either way, and
|
|
21
|
+
* `FilterLogEvents` reads them back.
|
|
22
|
+
*
|
|
23
|
+
* ## What it leaves alone
|
|
24
|
+
*
|
|
25
|
+
* A function with no simulated CloudWatch Logs behind it keeps printing to the
|
|
26
|
+
* host whatever this says. That is a function built on a standalone SimLambda,
|
|
27
|
+
* outside a SimAws instance, and it has no log group for its output to be read
|
|
28
|
+
* back out of. Silencing it would lose the output altogether.
|
|
29
|
+
*
|
|
30
|
+
* The setting is read as each line is written, so a test can turn forwarding
|
|
31
|
+
* off part way through a run and the functions that have already cold started
|
|
32
|
+
* follow it.
|
|
33
|
+
*/
|
|
34
|
+
export declare class SimLambdaOutput {
|
|
35
|
+
#private;
|
|
36
|
+
/**
|
|
37
|
+
* Record function output to its log group alone.
|
|
38
|
+
*
|
|
39
|
+
* Lines written from then on stay out of the host console. Everything
|
|
40
|
+
* written before it is already printed.
|
|
41
|
+
*/
|
|
42
|
+
captureOnly(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Forward function output to the host console as well as recording it, which
|
|
45
|
+
* is what a simulated Lambda does until told otherwise.
|
|
46
|
+
*/
|
|
47
|
+
teeToHost(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Whether a recorded line still reaches the host console.
|
|
50
|
+
*
|
|
51
|
+
* Read by the two paths that write one, the vm sandbox's standard streams
|
|
52
|
+
* and the process globals a host-scope handler prints through.
|
|
53
|
+
* @internal
|
|
54
|
+
*/
|
|
55
|
+
reachesHost(): boolean;
|
|
56
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a simulated Lambda's functions send what they print.
|
|
3
|
+
*
|
|
4
|
+
* Function output always reaches the function's log group. This settles the
|
|
5
|
+
* second destination, the host console the test run itself prints to. Real
|
|
6
|
+
* Lambda sends output to CloudWatch Logs and nowhere else, and Yulin forwards
|
|
7
|
+
* it to the host as well so that a failing test is as easy to read as one
|
|
8
|
+
* whose handler was never simulated.
|
|
9
|
+
*
|
|
10
|
+
* A handler that logs on every request makes that forwarding expensive. AWS
|
|
11
|
+
* Lambda Powertools writes an Embedded Metric Format document for every metric
|
|
12
|
+
* it counts, and a suite invoking a function a few hundred times buries its own
|
|
13
|
+
* output under them. `captureOnly` turns the forwarding off for every function
|
|
14
|
+
* of one simulated Lambda:
|
|
15
|
+
*
|
|
16
|
+
* ```typescript
|
|
17
|
+
* simAws.lambda().output().captureOnly();
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* Nothing is lost by it. The log group holds every line either way, and
|
|
21
|
+
* `FilterLogEvents` reads them back.
|
|
22
|
+
*
|
|
23
|
+
* ## What it leaves alone
|
|
24
|
+
*
|
|
25
|
+
* A function with no simulated CloudWatch Logs behind it keeps printing to the
|
|
26
|
+
* host whatever this says. That is a function built on a standalone SimLambda,
|
|
27
|
+
* outside a SimAws instance, and it has no log group for its output to be read
|
|
28
|
+
* back out of. Silencing it would lose the output altogether.
|
|
29
|
+
*
|
|
30
|
+
* The setting is read as each line is written, so a test can turn forwarding
|
|
31
|
+
* off part way through a run and the functions that have already cold started
|
|
32
|
+
* follow it.
|
|
33
|
+
*/
|
|
34
|
+
export class SimLambdaOutput {
|
|
35
|
+
#toHost = true;
|
|
36
|
+
/**
|
|
37
|
+
* Record function output to its log group alone.
|
|
38
|
+
*
|
|
39
|
+
* Lines written from then on stay out of the host console. Everything
|
|
40
|
+
* written before it is already printed.
|
|
41
|
+
*/
|
|
42
|
+
captureOnly() {
|
|
43
|
+
this.#toHost = false;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Forward function output to the host console as well as recording it, which
|
|
47
|
+
* is what a simulated Lambda does until told otherwise.
|
|
48
|
+
*/
|
|
49
|
+
teeToHost() {
|
|
50
|
+
this.#toHost = true;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Whether a recorded line still reaches the host console.
|
|
54
|
+
*
|
|
55
|
+
* Read by the two paths that write one, the vm sandbox's standard streams
|
|
56
|
+
* and the process globals a host-scope handler prints through.
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
reachesHost() {
|
|
60
|
+
return this.#toHost;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -36,6 +36,7 @@ interface SimLambdaAwsApiOutboundProperties {
|
|
|
36
36
|
*/
|
|
37
37
|
export declare class SimLambdaAwsApiOutbound implements SimLambdaOutboundHttp {
|
|
38
38
|
private readonly dispatcher;
|
|
39
|
+
private readonly s3;
|
|
39
40
|
constructor(properties: SimLambdaAwsApiOutboundProperties);
|
|
40
41
|
/**
|
|
41
42
|
* Whether a hostname is one of the AWS service API endpoints.
|
|
@@ -43,6 +44,13 @@ export declare class SimLambdaAwsApiOutbound implements SimLambdaOutboundHttp {
|
|
|
43
44
|
serves(hostname: string): boolean;
|
|
44
45
|
/**
|
|
45
46
|
* Answer an AWS API request from the simulated operation it names.
|
|
47
|
+
*
|
|
48
|
+
* A request signed for S3 goes to the endpoint that reads S3's protocol,
|
|
49
|
+
* since S3 names its operation where the wire dispatcher looks for a header.
|
|
50
|
+
* No caller travels with it. The SDK signed it with the placeholder
|
|
51
|
+
* credentials the runtime puts in the environment, and the invocation is
|
|
52
|
+
* already running as the execution Role, the ambient caller every other call
|
|
53
|
+
* out of function code runs as.
|
|
46
54
|
*/
|
|
47
55
|
fetch(request: Request): Promise<Response>;
|
|
48
56
|
}
|