@kensio/yulin 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
- package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +3 -2
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +7 -2
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +9 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +10 -0
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-account.d.ts +5 -1
- package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account.js +6 -0
- package/dist/service/aws/sim-aws-account.js.map +1 -1
- package/dist/service/aws/sim-aws-region.d.ts +5 -1
- package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-region.js +6 -0
- package/dist/service/aws/sim-aws-region.js.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -1
- package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.js +4 -0
- package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts +11 -3
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js +20 -6
- package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts +5 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js +7 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts +5 -4
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js +16 -11
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts +23 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js +62 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts +17 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.js +24 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.js.map +1 -0
- package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.d.ts +11 -0
- package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.d.ts.map +1 -1
- package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.js +13 -0
- package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.js.map +1 -1
- package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.d.ts +43 -0
- package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.js +5 -0
- package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.js.map +1 -0
- package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.d.ts +26 -0
- package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.js +77 -0
- package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.js.map +1 -0
- package/dist/service/dynamodb/command/stream/get-records/get-records.command.d.ts +32 -0
- package/dist/service/dynamodb/command/stream/get-records/get-records.command.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/get-records/get-records.command.js +5 -0
- package/dist/service/dynamodb/command/stream/get-records/get-records.command.js.map +1 -0
- package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.d.ts +29 -0
- package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.js +60 -0
- package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.js.map +1 -0
- package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.d.ts +12 -0
- package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.js +52 -0
- package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.js.map +1 -0
- package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.d.ts +31 -0
- package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.js +5 -0
- package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.js.map +1 -0
- package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.d.ts +27 -0
- package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.js +42 -0
- package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.js.map +1 -0
- package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.d.ts +11 -0
- package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.js +53 -0
- package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.js.map +1 -0
- package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.d.ts +33 -0
- package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.js +5 -0
- package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.js.map +1 -0
- package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.d.ts +26 -0
- package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.js +31 -0
- package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.js.map +1 -0
- package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.d.ts +28 -0
- package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.js +59 -0
- package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.js.map +1 -0
- package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.d.ts +44 -0
- package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.js +53 -0
- package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.js.map +1 -0
- package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.d.ts +8 -0
- package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.js +2 -0
- package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.js.map +1 -0
- package/dist/service/dynamodb/command/stream/stream.types.d.ts +84 -0
- package/dist/service/dynamodb/command/stream/stream.types.d.ts.map +1 -0
- package/dist/service/dynamodb/command/stream/stream.types.js +2 -0
- package/dist/service/dynamodb/command/stream/stream.types.js.map +1 -0
- package/dist/service/dynamodb/error/dynamodb.error.d.ts +17 -0
- package/dist/service/dynamodb/error/dynamodb.error.d.ts.map +1 -1
- package/dist/service/dynamodb/error/dynamodb.error.js +19 -0
- package/dist/service/dynamodb/error/dynamodb.error.js.map +1 -1
- package/dist/service/dynamodb/index.d.ts +1 -0
- package/dist/service/dynamodb/index.d.ts.map +1 -1
- package/dist/service/dynamodb/index.js +1 -0
- package/dist/service/dynamodb/index.js.map +1 -1
- package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.d.ts +24 -0
- package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.d.ts.map +1 -0
- package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.js +46 -0
- package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.js.map +1 -0
- package/dist/service/dynamodb/sim-dynamodb-streams.d.ts +59 -0
- package/dist/service/dynamodb/sim-dynamodb-streams.d.ts.map +1 -0
- package/dist/service/dynamodb/sim-dynamodb-streams.js +79 -0
- package/dist/service/dynamodb/sim-dynamodb-streams.js.map +1 -0
- package/dist/service/dynamodb/sim-dynamodb.d.ts +6 -3
- package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.js +16 -5
- package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.d.ts +31 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.js +13 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.d.ts +33 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.js +66 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.d.ts +17 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.js +24 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.d.ts +16 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.d.ts.map +1 -1
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.js +32 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.js.map +1 -1
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.d.ts +25 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.js +74 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.d.ts +33 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.d.ts.map +1 -1
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.js +49 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.js.map +1 -1
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.d.ts +16 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.d.ts.map +1 -1
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.js +25 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.js.map +1 -1
- package/dist/service/dynamodb/stream/sim-dynamodb-stream.d.ts +14 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream.d.ts.map +1 -1
- package/dist/service/dynamodb/stream/sim-dynamodb-stream.js +18 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream.js.map +1 -1
- package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.d.ts +31 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.js +33 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.js.map +1 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts +14 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts.map +1 -1
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +29 -1
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js.map +1 -1
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.d.ts.map +1 -1
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +8 -2
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js.map +1 -1
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +2 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts.map +1 -1
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +7 -1
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js.map +1 -1
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.d.ts.map +1 -1
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +25 -7
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js.map +1 -1
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts +4 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts.map +1 -1
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js +4 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js.map +1 -1
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts +5 -2
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts.map +1 -1
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +12 -8
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js.map +1 -1
- package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.d.ts +3 -1
- package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.d.ts.map +1 -1
- package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.js +1 -1
- package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.js.map +1 -1
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.d.ts +23 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.js +55 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.d.ts +27 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.js +41 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.d.ts +42 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +52 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.d.ts +77 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.js +114 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.d.ts +21 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.js +56 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.d.ts +78 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.js +8 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.d.ts +40 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.js +45 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.d.ts +5 -4
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.d.ts.map +1 -1
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.js +18 -5
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.js.map +1 -1
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +37 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +51 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +29 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +71 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +36 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +41 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +65 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +92 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +36 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +47 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js.map +1 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +7 -1
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts.map +1 -1
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +10 -27
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js.map +1 -1
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +24 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts.map +1 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +33 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js.map +1 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts +6 -4
- package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts.map +1 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js +8 -5
- package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js.map +1 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.d.ts +5 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.d.ts.map +1 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.js +8 -3
- package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.js.map +1 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +9 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts.map +1 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +8 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js.map +1 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts +2 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts.map +1 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.js.map +1 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.d.ts +27 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.d.ts.map +1 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.js +40 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.js.map +1 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.d.ts +60 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.d.ts.map +1 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.js +51 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.js.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.d.ts +31 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.d.ts.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.js +29 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.js.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.d.ts +32 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.d.ts.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.js +48 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.js.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.d.ts +28 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.d.ts.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.js +71 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.js.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.d.ts +42 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.d.ts.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.js +55 -0
- package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.js.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.d.ts +150 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.d.ts.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.js +2 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.js.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +52 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +88 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +25 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +34 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.d.ts +31 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.d.ts.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.js +33 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.js.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.d.ts +73 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.d.ts.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.js +2 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.js.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.d.ts +148 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.d.ts.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.js +37 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.js.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.d.ts +36 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.d.ts.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.js +50 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.js.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.d.ts +24 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.d.ts.map +1 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.js +24 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.js.map +1 -0
- package/dist/service/lambda/index.d.ts +3 -0
- package/dist/service/lambda/index.d.ts.map +1 -1
- package/dist/service/lambda/index.js +1 -0
- package/dist/service/lambda/index.js.map +1 -1
- package/dist/service/lambda/sim-lambda-commands.d.ts +2 -0
- package/dist/service/lambda/sim-lambda-commands.d.ts.map +1 -1
- package/dist/service/lambda/sim-lambda-commands.js +7 -3
- package/dist/service/lambda/sim-lambda-commands.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The record format version the Streams API reports.
|
|
3
|
+
*
|
|
4
|
+
* AWS documents this as subject to change and tells clients not to depend on
|
|
5
|
+
* a particular value. It is here because a record carries it, not because
|
|
6
|
+
* anything should be read from it.
|
|
7
|
+
*/
|
|
8
|
+
const eventVersion = "1.1";
|
|
9
|
+
/**
|
|
10
|
+
* Who made a change, as the Streams API capitalizes it.
|
|
11
|
+
*
|
|
12
|
+
* The Lambda event carries the same two values under `principalId` and `type`,
|
|
13
|
+
* which is why the stored record keeps them in its own terms and each surface
|
|
14
|
+
* renders its own. Sharing one payload between the two would leave one of them
|
|
15
|
+
* quietly wrong.
|
|
16
|
+
*/
|
|
17
|
+
function identityOf(record) {
|
|
18
|
+
if (record.userIdentity === undefined) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
PrincipalId: record.userIdentity.principalId,
|
|
23
|
+
Type: record.userIdentity.type,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Render a captured record the way the DynamoDB Streams API hands it back.
|
|
28
|
+
*
|
|
29
|
+
* `ApproximateCreationDateTime` is a Date here, where the Lambda event has
|
|
30
|
+
* epoch seconds in the same place. The SDK deserializes a timestamp into a
|
|
31
|
+
* Date, so this is what an application reading GetRecords already expects.
|
|
32
|
+
*/
|
|
33
|
+
export function simDynamoDbStreamsApiRecord(record, awsRegion) {
|
|
34
|
+
return {
|
|
35
|
+
eventID: record.eventId,
|
|
36
|
+
eventName: record.eventName,
|
|
37
|
+
eventVersion,
|
|
38
|
+
eventSource: "aws:dynamodb",
|
|
39
|
+
awsRegion,
|
|
40
|
+
dynamodb: {
|
|
41
|
+
ApproximateCreationDateTime: record.approximateCreationDateTime,
|
|
42
|
+
Keys: record.keys.toAttributeValues(),
|
|
43
|
+
NewImage: record.newImage?.toAttributeValues(),
|
|
44
|
+
OldImage: record.oldImage?.toAttributeValues(),
|
|
45
|
+
SequenceNumber: record.sequenceNumber,
|
|
46
|
+
SizeBytes: record.sizeBytes,
|
|
47
|
+
StreamViewType: record.streamViewType,
|
|
48
|
+
},
|
|
49
|
+
userIdentity: identityOf(record),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=sim-dynamodb-streams-api-record.js.map
|
package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-streams-api-record.js","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,KAAK,CAAC;AAE3B;;;;;;;GAOG;AACH,SAAS,UAAU,CACjB,MAA+B;IAE/B,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,WAAW;QAC5C,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI;KAC/B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAA+B,EAC/B,SAAwB;IAExB,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY;QACZ,WAAW,EAAE,cAAc;QAC3B,SAAS;QACT,QAAQ,EAAE;YACR,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;YAC/D,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE;YAC9C,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE;YAC9C,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC;QACD,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC;KACjC,CAAC;AACJ,CAAC"}
|
package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dynamodb-streams/command/GetShardIteratorCommand/
|
|
3
|
+
*/
|
|
4
|
+
import type { SimResponseMetadata } from "../../../../aws/metadata/response-metadata.type.js";
|
|
5
|
+
/**
|
|
6
|
+
* Minimal structural sim DynamoDB Streams GetShardIterator command.
|
|
7
|
+
*/
|
|
8
|
+
export interface SimGetShardIteratorCommand {
|
|
9
|
+
readonly input: SimGetShardIteratorCommandInput;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Minimal structural sim DynamoDB Streams GetShardIterator input.
|
|
13
|
+
*
|
|
14
|
+
* `SequenceNumber` belongs with the two iterator types that name a record, and
|
|
15
|
+
* is refused with the two that do not, so a request cannot half-say where it
|
|
16
|
+
* means to start.
|
|
17
|
+
*/
|
|
18
|
+
export interface SimGetShardIteratorCommandInput {
|
|
19
|
+
readonly StreamArn?: string | undefined;
|
|
20
|
+
readonly ShardId?: string | undefined;
|
|
21
|
+
readonly ShardIteratorType?: string | undefined;
|
|
22
|
+
readonly SequenceNumber?: string | undefined;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Minimal structural sim DynamoDB Streams GetShardIterator output.
|
|
26
|
+
*/
|
|
27
|
+
export interface SimGetShardIteratorCommandOutput {
|
|
28
|
+
readonly ShardIterator?: string | undefined;
|
|
29
|
+
readonly $metadata: SimResponseMetadata;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=get-shard-iterator.command.d.ts.map
|
package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-shard-iterator.command.d.ts","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAE9F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,+BAA+B,CAAC;CACjD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
|
package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-shard-iterator.command.js","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimDynamoDbStreamAccess } from "../sim-dynamodb-stream-access.js";
|
|
3
|
+
import type { SimGetShardIteratorCommand, SimGetShardIteratorCommandOutput } from "./get-shard-iterator.command.js";
|
|
4
|
+
interface SimDynamoDbGetShardIteratorProperties {
|
|
5
|
+
readonly access: SimDynamoDbStreamAccess;
|
|
6
|
+
}
|
|
7
|
+
interface SimDynamoDbGetShardIteratorOptions {
|
|
8
|
+
readonly caller?: SimAwsCaller;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The command that hands out a place to start reading a shard from.
|
|
12
|
+
*/
|
|
13
|
+
export declare class SimDynamoDbGetShardIterator {
|
|
14
|
+
private readonly access;
|
|
15
|
+
constructor(properties: SimDynamoDbGetShardIteratorProperties);
|
|
16
|
+
/**
|
|
17
|
+
* Get an iterator for a shard of a stream.
|
|
18
|
+
*
|
|
19
|
+
* A sequence number the retention window has already outlived is refused
|
|
20
|
+
* here rather than at the GetRecords that would have used the iterator, so a
|
|
21
|
+
* consumer resuming from a checkpoint it kept too long finds out at the call
|
|
22
|
+
* that asked.
|
|
23
|
+
*/
|
|
24
|
+
handle(command: SimGetShardIteratorCommand, options?: SimDynamoDbGetShardIteratorOptions): SimGetShardIteratorCommandOutput;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=sim-dynamodb-get-shard-iterator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-get-shard-iterator.d.ts","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAO7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,iCAAiC,CAAC;AAEzC,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C;AAED,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAEjD,YAAY,UAAU,EAAE,qCAAqC,EAE5D;IAED;;;;;;;OAOG;IACH,MAAM,CACJ,OAAO,EAAE,0BAA0B,EACnC,OAAO,CAAC,EAAE,kCAAkC,GAC3C,gCAAgC,CAkClC;CACF"}
|
package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { SimDynamoDbResourceNotFoundException, SimDynamoDbValidationException, } from "../../../error/dynamodb.error.js";
|
|
2
|
+
import { assertSimDynamoDbStreamPositionReadable } from "../../../stream/sim-dynamodb-stream-read.js";
|
|
3
|
+
import { simDynamoDbShardIteratorToken } from "../../../stream/sim-dynamodb-stream-shard-iterator.js";
|
|
4
|
+
import { simDynamoDbShardIteratorPosition } from "./sim-dynamodb-shard-iterator-position.js";
|
|
5
|
+
/**
|
|
6
|
+
* The command that hands out a place to start reading a shard from.
|
|
7
|
+
*/
|
|
8
|
+
export class SimDynamoDbGetShardIterator {
|
|
9
|
+
access;
|
|
10
|
+
constructor(properties) {
|
|
11
|
+
this.access = properties.access;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Get an iterator for a shard of a stream.
|
|
15
|
+
*
|
|
16
|
+
* A sequence number the retention window has already outlived is refused
|
|
17
|
+
* here rather than at the GetRecords that would have used the iterator, so a
|
|
18
|
+
* consumer resuming from a checkpoint it kept too long finds out at the call
|
|
19
|
+
* that asked.
|
|
20
|
+
*/
|
|
21
|
+
handle(command, options) {
|
|
22
|
+
const stream = this.access.required("dynamodb:GetShardIterator", command.input.StreamArn, options?.caller);
|
|
23
|
+
const shardId = command.input.ShardId;
|
|
24
|
+
if (shardId === undefined) {
|
|
25
|
+
throw new SimDynamoDbValidationException("GetShardIterator requires a ShardId");
|
|
26
|
+
}
|
|
27
|
+
if (shardId !== stream.shard.shardId) {
|
|
28
|
+
throw new SimDynamoDbResourceNotFoundException(`Stream ${stream.arn} has no shard ${shardId}`);
|
|
29
|
+
}
|
|
30
|
+
const position = simDynamoDbShardIteratorPosition(command.input, stream.shard);
|
|
31
|
+
assertSimDynamoDbStreamPositionReadable(stream.shard, position);
|
|
32
|
+
return {
|
|
33
|
+
ShardIterator: simDynamoDbShardIteratorToken({
|
|
34
|
+
streamArn: stream.arn,
|
|
35
|
+
shardId: stream.shard.shardId,
|
|
36
|
+
position,
|
|
37
|
+
}),
|
|
38
|
+
$metadata: {},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=sim-dynamodb-get-shard-iterator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-get-shard-iterator.js","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,uCAAuC,EAAE,MAAM,6CAA6C,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,uDAAuD,CAAC;AAEtG,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAc7F;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACrB,MAAM,CAA0B;IAEjD,YAAY,UAAiD;QAC3D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CACJ,OAAmC,EACnC,OAA4C;QAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CACjC,2BAA2B,EAC3B,OAAO,CAAC,KAAK,CAAC,SAAS,EACvB,OAAO,EAAE,MAAM,CAChB,CAAC;QAEF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QACtC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,8BAA8B,CACtC,qCAAqC,CACtC,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,oCAAoC,CAC5C,UAAU,MAAM,CAAC,GAAG,iBAAiB,OAAO,EAAE,CAC/C,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,gCAAgC,CAC/C,OAAO,CAAC,KAAK,EACb,MAAM,CAAC,KAAK,CACb,CAAC;QACF,uCAAuC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEhE,OAAO;YACL,aAAa,EAAE,6BAA6B,CAAC;gBAC3C,SAAS,EAAE,MAAM,CAAC,GAAG;gBACrB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;gBAC7B,QAAQ;aACT,CAAC;YACF,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type SimDynamoDbStreamPosition } from "../../../stream/sim-dynamodb-stream-position.js";
|
|
2
|
+
import type { SimDynamoDbStreamShard } from "../../../stream/sim-dynamodb-stream-shard.js";
|
|
3
|
+
import type { SimGetShardIteratorCommandInput } from "./get-shard-iterator.command.js";
|
|
4
|
+
/**
|
|
5
|
+
* Where on a shard the iterator type a request asks for starts reading.
|
|
6
|
+
*
|
|
7
|
+
* LATEST on an empty shard is the start of it, which is the same place: an
|
|
8
|
+
* empty shard has nothing before its end either.
|
|
9
|
+
*/
|
|
10
|
+
export declare function simDynamoDbShardIteratorPosition(input: SimGetShardIteratorCommandInput, shard: SimDynamoDbStreamShard): SimDynamoDbStreamPosition;
|
|
11
|
+
//# sourceMappingURL=sim-dynamodb-shard-iterator-position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-shard-iterator-position.d.ts","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,yBAAyB,EAE/B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAgCvF;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,+BAA+B,EACtC,KAAK,EAAE,sBAAsB,GAC5B,yBAAyB,CAiC3B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { SimDynamoDbValidationException } from "../../../error/dynamodb.error.js";
|
|
2
|
+
import { simDynamoDbStreamAfter, simDynamoDbStreamStart, } from "../../../stream/sim-dynamodb-stream-position.js";
|
|
3
|
+
import { readSimDynamoDbSequenceNumber } from "../../../stream/sim-dynamodb-stream-sequence-numbers.js";
|
|
4
|
+
/**
|
|
5
|
+
* The iterator types that name a record, and so carry a sequence number.
|
|
6
|
+
*/
|
|
7
|
+
const sequenceNumberTypes = new Set([
|
|
8
|
+
"AT_SEQUENCE_NUMBER",
|
|
9
|
+
"AFTER_SEQUENCE_NUMBER",
|
|
10
|
+
]);
|
|
11
|
+
/**
|
|
12
|
+
* Refuse a sequence number given with an iterator type that has no place for
|
|
13
|
+
* one.
|
|
14
|
+
*
|
|
15
|
+
* TRIM_HORIZON and LATEST are both ends of the shard rather than a record on
|
|
16
|
+
* it, so a request that gives one of them a sequence number is saying two
|
|
17
|
+
* different things about where to start. Taking the type and dropping the
|
|
18
|
+
* number would silently read from somewhere the caller did not ask for.
|
|
19
|
+
*/
|
|
20
|
+
function assertNoSequenceNumber(input, iteratorType) {
|
|
21
|
+
if (input.SequenceNumber !== undefined) {
|
|
22
|
+
throw new SimDynamoDbValidationException(`GetShardIterator takes no SequenceNumber with the ShardIteratorType ${iteratorType}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Where on a shard the iterator type a request asks for starts reading.
|
|
27
|
+
*
|
|
28
|
+
* LATEST on an empty shard is the start of it, which is the same place: an
|
|
29
|
+
* empty shard has nothing before its end either.
|
|
30
|
+
*/
|
|
31
|
+
export function simDynamoDbShardIteratorPosition(input, shard) {
|
|
32
|
+
const iteratorType = input.ShardIteratorType;
|
|
33
|
+
if (iteratorType === "TRIM_HORIZON") {
|
|
34
|
+
assertNoSequenceNumber(input, iteratorType);
|
|
35
|
+
return simDynamoDbStreamStart;
|
|
36
|
+
}
|
|
37
|
+
if (iteratorType === "LATEST") {
|
|
38
|
+
assertNoSequenceNumber(input, iteratorType);
|
|
39
|
+
const newest = shard.records.at(-1);
|
|
40
|
+
return newest === undefined
|
|
41
|
+
? simDynamoDbStreamStart
|
|
42
|
+
: simDynamoDbStreamAfter(newest.sequenceNumber);
|
|
43
|
+
}
|
|
44
|
+
if (iteratorType === undefined || !sequenceNumberTypes.has(iteratorType)) {
|
|
45
|
+
throw new SimDynamoDbValidationException(`GetShardIterator needs a ShardIteratorType of TRIM_HORIZON, LATEST, ` +
|
|
46
|
+
`AT_SEQUENCE_NUMBER or AFTER_SEQUENCE_NUMBER`);
|
|
47
|
+
}
|
|
48
|
+
const sequenceNumber = readSimDynamoDbSequenceNumber(input.SequenceNumber, `GetShardIterator with the ShardIteratorType ${iteratorType}`);
|
|
49
|
+
return iteratorType === "AT_SEQUENCE_NUMBER"
|
|
50
|
+
? { kind: "at", sequenceNumber }
|
|
51
|
+
: simDynamoDbStreamAfter(sequenceNumber);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=sim-dynamodb-shard-iterator-position.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-shard-iterator-position.js","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EACL,sBAAsB,EAEtB,sBAAsB,GACvB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AAIxG;;GAEG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,oBAAoB;IACpB,uBAAuB;CACxB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAC7B,KAAsC,EACtC,YAAoB;IAEpB,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,IAAI,8BAA8B,CACtC,uEACE,YACF,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAC9C,KAAsC,EACtC,KAA6B;IAE7B,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAE7C,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;QACpC,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAE5C,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpC,OAAO,MAAM,KAAK,SAAS;YACzB,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,8BAA8B,CACtC,sEAAsE;YACpE,6CAA6C,CAChD,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,6BAA6B,CAClD,KAAK,CAAC,cAAc,EACpB,+CAA+C,YAAY,EAAE,CAC9D,CAAC;IAEF,OAAO,YAAY,KAAK,oBAAoB;QAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE;QAChC,CAAC,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dynamodb-streams/command/ListStreamsCommand/
|
|
3
|
+
*/
|
|
4
|
+
import type { SimArn } from "../../../../aws/arn.js";
|
|
5
|
+
import type { SimResponseMetadata } from "../../../../aws/metadata/response-metadata.type.js";
|
|
6
|
+
import type { SimDynamoDbStreamSummary } from "../stream.types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Minimal structural sim DynamoDB Streams ListStreams command.
|
|
9
|
+
*/
|
|
10
|
+
export interface SimListStreamsCommand {
|
|
11
|
+
readonly input: SimListStreamsCommandInput;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Minimal structural sim DynamoDB Streams ListStreams input.
|
|
15
|
+
*
|
|
16
|
+
* `TableName` narrows the answer to one table's streams. Real DynamoDB takes
|
|
17
|
+
* the table's name here rather than its ARN, unlike the DynamoDB API's own
|
|
18
|
+
* `TableName` parameters.
|
|
19
|
+
*/
|
|
20
|
+
export interface SimListStreamsCommandInput {
|
|
21
|
+
readonly TableName?: string | undefined;
|
|
22
|
+
readonly Limit?: number | undefined;
|
|
23
|
+
readonly ExclusiveStartStreamArn?: string | undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Minimal structural sim DynamoDB Streams ListStreams output.
|
|
27
|
+
*/
|
|
28
|
+
export interface SimListStreamsCommandOutput {
|
|
29
|
+
readonly Streams?: readonly SimDynamoDbStreamSummary[] | undefined;
|
|
30
|
+
readonly LastEvaluatedStreamArn?: SimArn | undefined;
|
|
31
|
+
readonly $metadata: SimResponseMetadata;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=list-streams.command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-streams.command.d.ts","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/list-streams/list-streams.command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,wBAAwB,EAAE,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-streams.command.js","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/list-streams/list-streams.command.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimDynamoDbStreamAccess } from "../sim-dynamodb-stream-access.js";
|
|
3
|
+
import type { SimListStreamsCommand, SimListStreamsCommandOutput } from "./list-streams.command.js";
|
|
4
|
+
interface SimDynamoDbListStreamsProperties {
|
|
5
|
+
readonly access: SimDynamoDbStreamAccess;
|
|
6
|
+
}
|
|
7
|
+
interface SimDynamoDbListStreamsOptions {
|
|
8
|
+
readonly caller?: SimAwsCaller;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The command that lists the streams of this Account and Region.
|
|
12
|
+
*
|
|
13
|
+
* A stream stays listed once its table has switched it off, since a disabled
|
|
14
|
+
* stream is readable for the rest of its retention window and a consumer has to
|
|
15
|
+
* be able to find it.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SimDynamoDbListStreams {
|
|
18
|
+
private readonly access;
|
|
19
|
+
constructor(properties: SimDynamoDbListStreamsProperties);
|
|
20
|
+
/**
|
|
21
|
+
* List the streams here, optionally only one table's.
|
|
22
|
+
*/
|
|
23
|
+
handle(command: SimListStreamsCommand, options?: SimDynamoDbListStreamsOptions): SimListStreamsCommandOutput;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=sim-dynamodb-list-streams.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-list-streams.d.ts","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,2BAA2B,CAAC;AAEnC,UAAU,gCAAgC;IACxC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C;AAED,UAAU,6BAA6B;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAEjD,YAAY,UAAU,EAAE,gCAAgC,EAEvD;IAED;;OAEG;IACH,MAAM,CACJ,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,6BAA6B,GACtC,2BAA2B,CAa7B;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SimDynamoDbStreamPage } from "./sim-dynamodb-stream-page.js";
|
|
2
|
+
/**
|
|
3
|
+
* The command that lists the streams of this Account and Region.
|
|
4
|
+
*
|
|
5
|
+
* A stream stays listed once its table has switched it off, since a disabled
|
|
6
|
+
* stream is readable for the rest of its retention window and a consumer has to
|
|
7
|
+
* be able to find it.
|
|
8
|
+
*/
|
|
9
|
+
export class SimDynamoDbListStreams {
|
|
10
|
+
access;
|
|
11
|
+
constructor(properties) {
|
|
12
|
+
this.access = properties.access;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* List the streams here, optionally only one table's.
|
|
16
|
+
*/
|
|
17
|
+
handle(command, options) {
|
|
18
|
+
const streams = this.access.all("dynamodb:ListStreams", options?.caller);
|
|
19
|
+
const page = new SimDynamoDbStreamPage(streams, command.input);
|
|
20
|
+
return {
|
|
21
|
+
Streams: page.streams.map((stream) => ({
|
|
22
|
+
StreamArn: stream.arn,
|
|
23
|
+
TableName: stream.tableName,
|
|
24
|
+
StreamLabel: stream.label,
|
|
25
|
+
})),
|
|
26
|
+
LastEvaluatedStreamArn: page.lastEvaluatedStreamArn,
|
|
27
|
+
$metadata: {},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=sim-dynamodb-list-streams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-list-streams.js","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AActE;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IAChB,MAAM,CAA0B;IAEjD,YAAY,UAA4C;QACtD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,MAAM,CACJ,OAA8B,EAC9B,OAAuC;QAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,IAAI,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAE/D,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACrC,SAAS,EAAE,MAAM,CAAC,GAAG;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,WAAW,EAAE,MAAM,CAAC,KAAK;aAC1B,CAAC,CAAC;YACH,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { SimArn } from "../../../../aws/arn.js";
|
|
2
|
+
import type { SimDynamoDbStream } from "../../../stream/sim-dynamodb-stream.js";
|
|
3
|
+
import type { SimListStreamsCommandInput } from "./list-streams.command.js";
|
|
4
|
+
/**
|
|
5
|
+
* One page of streams, as ListStreams hands them out.
|
|
6
|
+
*
|
|
7
|
+
* The token is a stream ARN rather than an opaque cursor, matching the way
|
|
8
|
+
* ListTables pages by table name, so a page resumes at the first ARN after it.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SimDynamoDbStreamPage {
|
|
11
|
+
readonly streams: readonly SimDynamoDbStream[];
|
|
12
|
+
readonly lastEvaluatedStreamArn: SimArn | undefined;
|
|
13
|
+
constructor(streams: readonly SimDynamoDbStream[], input: SimListStreamsCommandInput);
|
|
14
|
+
/**
|
|
15
|
+
* The streams of the table a request named, or all of them when it named
|
|
16
|
+
* none.
|
|
17
|
+
*
|
|
18
|
+
* A table with no stream, and a name no table ever had, both list nothing.
|
|
19
|
+
* Real DynamoDB does not refuse either: ListStreams reports what is there
|
|
20
|
+
* rather than checking that the table is.
|
|
21
|
+
*/
|
|
22
|
+
private ofTable;
|
|
23
|
+
/**
|
|
24
|
+
* The streams left to list after the ARN a request resumes from.
|
|
25
|
+
*/
|
|
26
|
+
private after;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=sim-dynamodb-stream-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream-page.d.ts","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAuB5E;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,SAAgB,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACtD,SAAgB,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3D,YACE,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,KAAK,EAAE,0BAA0B,EAUlC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;IAWf;;OAEG;IACH,OAAO,CAAC,KAAK;CAYd"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { SimDynamoDbValidationException } from "../../../error/dynamodb.error.js";
|
|
2
|
+
const defaultLimit = 100;
|
|
3
|
+
const greatestLimit = 100;
|
|
4
|
+
/**
|
|
5
|
+
* Read the page size a ListStreams request asks for.
|
|
6
|
+
*/
|
|
7
|
+
function readLimit(limit) {
|
|
8
|
+
if (limit === undefined) {
|
|
9
|
+
return defaultLimit;
|
|
10
|
+
}
|
|
11
|
+
if (!Number.isSafeInteger(limit) || limit < 1 || limit > greatestLimit) {
|
|
12
|
+
throw new SimDynamoDbValidationException(`Limit ${limit.toString()} is invalid. It is a whole number between 1 ` +
|
|
13
|
+
`and ${greatestLimit.toString()}.`);
|
|
14
|
+
}
|
|
15
|
+
return limit;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* One page of streams, as ListStreams hands them out.
|
|
19
|
+
*
|
|
20
|
+
* The token is a stream ARN rather than an opaque cursor, matching the way
|
|
21
|
+
* ListTables pages by table name, so a page resumes at the first ARN after it.
|
|
22
|
+
*/
|
|
23
|
+
export class SimDynamoDbStreamPage {
|
|
24
|
+
streams;
|
|
25
|
+
lastEvaluatedStreamArn;
|
|
26
|
+
constructor(streams, input) {
|
|
27
|
+
const named = this.ofTable(streams, input.TableName);
|
|
28
|
+
const remaining = this.after(named, input.ExclusiveStartStreamArn);
|
|
29
|
+
this.streams = remaining.slice(0, readLimit(input.Limit));
|
|
30
|
+
this.lastEvaluatedStreamArn =
|
|
31
|
+
this.streams.length === remaining.length
|
|
32
|
+
? undefined
|
|
33
|
+
: this.streams.at(-1)?.arn;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The streams of the table a request named, or all of them when it named
|
|
37
|
+
* none.
|
|
38
|
+
*
|
|
39
|
+
* A table with no stream, and a name no table ever had, both list nothing.
|
|
40
|
+
* Real DynamoDB does not refuse either: ListStreams reports what is there
|
|
41
|
+
* rather than checking that the table is.
|
|
42
|
+
*/
|
|
43
|
+
ofTable(streams, tableName) {
|
|
44
|
+
if (tableName === undefined) {
|
|
45
|
+
return streams;
|
|
46
|
+
}
|
|
47
|
+
return streams.filter((stream) => stream.tableName === tableName);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The streams left to list after the ARN a request resumes from.
|
|
51
|
+
*/
|
|
52
|
+
after(streams, exclusiveStartStreamArn) {
|
|
53
|
+
if (exclusiveStartStreamArn === undefined) {
|
|
54
|
+
return streams;
|
|
55
|
+
}
|
|
56
|
+
return streams.filter((stream) => stream.arn.localeCompare(exclusiveStartStreamArn) > 0);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=sim-dynamodb-stream-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream-page.js","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAIlF,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;;GAEG;AACH,SAAS,SAAS,CAAC,KAAyB;IAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,aAAa,EAAE,CAAC;QACvE,MAAM,IAAI,8BAA8B,CACtC,SAAS,KAAK,CAAC,QAAQ,EAAE,8CAA8C;YACrE,OAAO,aAAa,CAAC,QAAQ,EAAE,GAAG,CACrC,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IAChB,OAAO,CAA+B;IACtC,sBAAsB,CAAqB;IAE3D,YACE,OAAqC,EACrC,KAAiC;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAEnE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,sBAAsB;YACzB,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;gBACtC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACjC,CAAC;IAED;;;;;;;OAOG;IACK,OAAO,CACb,OAAqC,EACrC,SAA6B;QAE7B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACK,KAAK,CACX,OAAqC,EACrC,uBAA2C;QAE3C,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAClE,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { SimClock } from "../../../../util/clock/sim-clock.js";
|
|
2
|
+
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
3
|
+
import type { SimDynamoDbStream } from "../../stream/sim-dynamodb-stream.js";
|
|
4
|
+
import type { SimDynamoDbStreamStore } from "../../stream/sim-dynamodb-stream-store.js";
|
|
5
|
+
import type { SimDynamoDbAuthorizer } from "../authorize/sim-dynamodb-authorizer.js";
|
|
6
|
+
interface SimDynamoDbStreamAccessProperties {
|
|
7
|
+
readonly streams: SimDynamoDbStreamStore;
|
|
8
|
+
readonly authorizer: SimDynamoDbAuthorizer;
|
|
9
|
+
readonly clock: SimClock;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* How a Streams command reaches the stream a request names.
|
|
13
|
+
*
|
|
14
|
+
* Every one of them goes through the same three steps in the same order: bring
|
|
15
|
+
* the streams up to date for the retention window, authorize the caller
|
|
16
|
+
* against the ARN the request carries, then look the stream up. Keeping them
|
|
17
|
+
* here is what makes that order the same for all of them, so no command can
|
|
18
|
+
* tell an unauthorized caller which stream ARNs are real.
|
|
19
|
+
*/
|
|
20
|
+
export declare class SimDynamoDbStreamAccess {
|
|
21
|
+
private readonly streams;
|
|
22
|
+
private readonly authorizer;
|
|
23
|
+
private readonly clock;
|
|
24
|
+
constructor(properties: SimDynamoDbStreamAccessProperties);
|
|
25
|
+
/**
|
|
26
|
+
* Find the stream an ARN names, refusing the caller before looking it up.
|
|
27
|
+
*
|
|
28
|
+
* A request with no `StreamArn` at all is refused before authorization,
|
|
29
|
+
* since there is no resource to authorize it against. Everything past that
|
|
30
|
+
* is authorized first, so an unauthorized caller cannot find out which ARNs
|
|
31
|
+
* name a real stream.
|
|
32
|
+
*/
|
|
33
|
+
required(action: string, streamArn: string | undefined, caller: SimAwsCaller | undefined): SimDynamoDbStream;
|
|
34
|
+
/**
|
|
35
|
+
* Every stream in this scope, once the caller is allowed to list them.
|
|
36
|
+
*
|
|
37
|
+
* ListStreams names no stream, so it authorizes the way ListTables does:
|
|
38
|
+
* against every resource, and without filtering the answer by what the caller
|
|
39
|
+
* could go on to read.
|
|
40
|
+
*/
|
|
41
|
+
all(action: string, caller: SimAwsCaller | undefined): readonly SimDynamoDbStream[];
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=sim-dynamodb-stream-access.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream-access.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/stream/sim-dynamodb-stream-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAK1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAErF,UAAU,iCAAiC;IACzC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IAEjC,YAAY,UAAU,EAAE,iCAAiC,EAIxD;IAED;;;;;;;OAOG;IACH,QAAQ,CACN,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,YAAY,GAAG,SAAS,GAC/B,iBAAiB,CAkBnB;IAED;;;;;;OAMG;IACH,GAAG,CACD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GAAG,SAAS,GAC/B,SAAS,iBAAiB,EAAE,CAK9B;CACF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { SimDynamoDbResourceNotFoundException, SimDynamoDbValidationException, } from "../../error/dynamodb.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* How a Streams command reaches the stream a request names.
|
|
4
|
+
*
|
|
5
|
+
* Every one of them goes through the same three steps in the same order: bring
|
|
6
|
+
* the streams up to date for the retention window, authorize the caller
|
|
7
|
+
* against the ARN the request carries, then look the stream up. Keeping them
|
|
8
|
+
* here is what makes that order the same for all of them, so no command can
|
|
9
|
+
* tell an unauthorized caller which stream ARNs are real.
|
|
10
|
+
*/
|
|
11
|
+
export class SimDynamoDbStreamAccess {
|
|
12
|
+
streams;
|
|
13
|
+
authorizer;
|
|
14
|
+
clock;
|
|
15
|
+
constructor(properties) {
|
|
16
|
+
this.streams = properties.streams;
|
|
17
|
+
this.authorizer = properties.authorizer;
|
|
18
|
+
this.clock = properties.clock;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Find the stream an ARN names, refusing the caller before looking it up.
|
|
22
|
+
*
|
|
23
|
+
* A request with no `StreamArn` at all is refused before authorization,
|
|
24
|
+
* since there is no resource to authorize it against. Everything past that
|
|
25
|
+
* is authorized first, so an unauthorized caller cannot find out which ARNs
|
|
26
|
+
* name a real stream.
|
|
27
|
+
*/
|
|
28
|
+
required(action, streamArn, caller) {
|
|
29
|
+
if (streamArn === undefined || streamArn === "") {
|
|
30
|
+
throw new SimDynamoDbValidationException(`${action.replace("dynamodb:", "")} requires a StreamArn`);
|
|
31
|
+
}
|
|
32
|
+
this.streams.applyRetention(this.clock.now());
|
|
33
|
+
this.authorizer.authorizeStream(action, streamArn, caller);
|
|
34
|
+
const stream = this.streams.findByArn(streamArn);
|
|
35
|
+
if (stream === undefined) {
|
|
36
|
+
throw new SimDynamoDbResourceNotFoundException(`No DynamoDB Stream with ARN ${streamArn}`);
|
|
37
|
+
}
|
|
38
|
+
return stream;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Every stream in this scope, once the caller is allowed to list them.
|
|
42
|
+
*
|
|
43
|
+
* ListStreams names no stream, so it authorizes the way ListTables does:
|
|
44
|
+
* against every resource, and without filtering the answer by what the caller
|
|
45
|
+
* could go on to read.
|
|
46
|
+
*/
|
|
47
|
+
all(action, caller) {
|
|
48
|
+
this.streams.applyRetention(this.clock.now());
|
|
49
|
+
this.authorizer.authorizeAnyTable(action, caller);
|
|
50
|
+
return this.streams.inArnOrder();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=sim-dynamodb-stream-access.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream-access.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/stream/sim-dynamodb-stream-access.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC;AAWvC;;;;;;;;GAQG;AACH,MAAM,OAAO,uBAAuB;IACjB,OAAO,CAAyB;IAChC,UAAU,CAAwB;IAClC,KAAK,CAAW;IAEjC,YAAY,UAA6C;QACvD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CACN,MAAc,EACd,SAA6B,EAC7B,MAAgC;QAEhC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,8BAA8B,CACtC,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,uBAAuB,CAC1D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,oCAAoC,CAC5C,+BAA+B,SAAS,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,GAAG,CACD,MAAc,EACd,MAAgC;QAEhC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The sim DynamoDB Streams Command types, gathered for the service facade.
|
|
3
|
+
*/
|
|
4
|
+
export type { SimListStreamsCommand, SimListStreamsCommandInput, SimListStreamsCommandOutput, } from "./list-streams/list-streams.command.js";
|
|
5
|
+
export type { SimDescribeStreamCommand, SimDescribeStreamCommandInput, SimDescribeStreamCommandOutput, } from "./describe-stream/describe-stream.command.js";
|
|
6
|
+
export type { SimGetShardIteratorCommand, SimGetShardIteratorCommandInput, SimGetShardIteratorCommandOutput, } from "./get-shard-iterator/get-shard-iterator.command.js";
|
|
7
|
+
export type { SimGetRecordsCommand, SimGetRecordsCommandInput, SimGetRecordsCommandOutput, } from "./get-records/get-records.command.js";
|
|
8
|
+
//# sourceMappingURL=sim-dynamodb-stream-command.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream-command.types.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,YAAY,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,8CAA8C,CAAC;AACtD,YAAY,EACV,0BAA0B,EAC1B,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,oDAAoD,CAAC;AAC5D,YAAY,EACV,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,sCAAsC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream-command.types.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.ts"],"names":[],"mappings":""}
|