@kensio/yulin 1.1.0 → 1.2.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/service/aws/factory/sim-aws-account-region-service-builder.d.ts +2 -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 +10 -6
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-service-cache.js +2 -0
- package/dist/service/aws/factory/sim-aws-account-service-cache.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts +2 -0
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js +15 -1
- package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js.map +1 -1
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-comparison.d.ts +27 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-comparison.d.ts.map +1 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-comparison.js +44 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-comparison.js.map +1 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-evaluator.d.ts +36 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-evaluator.d.ts.map +1 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-evaluator.js +68 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-evaluator.js.map +1 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +45 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts.map +1 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +80 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js.map +1 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-conditions.d.ts +28 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-conditions.d.ts.map +1 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-conditions.js +29 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-conditions.js.map +1 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-resource-conditions.d.ts +46 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-resource-conditions.d.ts.map +1 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-resource-conditions.js +94 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-resource-conditions.js.map +1 -0
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +0 -1
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +2 -14
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js.map +1 -1
- package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.d.ts +31 -0
- package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.d.ts.map +1 -0
- package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.js +52 -0
- package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.js.map +1 -0
- package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.d.ts +39 -0
- package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.d.ts.map +1 -0
- package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.js +82 -0
- package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.js.map +1 -0
- package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.d.ts +31 -0
- package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.d.ts.map +1 -0
- package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.js +45 -0
- package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.js.map +1 -0
- package/dist/service/cloudformation/template/node/sim-cfn-list.d.ts +1 -1
- package/dist/service/cloudformation/template/node/sim-cfn-list.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/sim-cfn-list.js +3 -2
- package/dist/service/cloudformation/template/node/sim-cfn-list.js.map +1 -1
- package/dist/service/cloudformation/template/node/sim-cfn-object.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/sim-cfn-object.js +5 -1
- package/dist/service/cloudformation/template/node/sim-cfn-object.js.map +1 -1
- package/dist/service/cloudformation/template/parse/fn/if/sim-cfn-fn-if-parser.d.ts +19 -0
- package/dist/service/cloudformation/template/parse/fn/if/sim-cfn-fn-if-parser.d.ts.map +1 -0
- package/dist/service/cloudformation/template/parse/fn/if/sim-cfn-fn-if-parser.js +33 -0
- package/dist/service/cloudformation/template/parse/fn/if/sim-cfn-fn-if-parser.js.map +1 -0
- package/dist/service/cloudformation/template/parse/fn/select/sim-cfn-fn-select-parser.d.ts +26 -0
- package/dist/service/cloudformation/template/parse/fn/select/sim-cfn-fn-select-parser.d.ts.map +1 -0
- package/dist/service/cloudformation/template/parse/fn/select/sim-cfn-fn-select-parser.js +35 -0
- package/dist/service/cloudformation/template/parse/fn/select/sim-cfn-fn-select-parser.js.map +1 -0
- package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.d.ts +3 -0
- package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.d.ts.map +1 -1
- package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.js +18 -0
- package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.js.map +1 -1
- package/dist/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.d.ts +25 -0
- package/dist/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.d.ts.map +1 -0
- package/dist/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.js +36 -0
- package/dist/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.js.map +1 -0
- package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.d.ts +14 -4
- package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.d.ts.map +1 -1
- package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.js +7 -5
- package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.js.map +1 -1
- package/dist/service/cloudformation/template/sim-cfn-template-body-validator.d.ts.map +1 -1
- package/dist/service/cloudformation/template/sim-cfn-template-body-validator.js +4 -0
- package/dist/service/cloudformation/template/sim-cfn-template-body-validator.js.map +1 -1
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts +14 -0
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts.map +1 -1
- package/dist/service/cloudformation/template/sim-cfn-template.js +44 -12
- package/dist/service/cloudformation/template/sim-cfn-template.js.map +1 -1
- package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.d.ts +20 -0
- package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.d.ts.map +1 -1
- package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.js +32 -2
- package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.js.map +1 -1
- package/dist/service/cloudformation/template/value/sim-cfn-unresolved-expression.d.ts +11 -0
- package/dist/service/cloudformation/template/value/sim-cfn-unresolved-expression.d.ts.map +1 -0
- package/dist/service/cloudformation/template/value/sim-cfn-unresolved-expression.js +21 -0
- package/dist/service/cloudformation/template/value/sim-cfn-unresolved-expression.js.map +1 -0
- package/dist/service/cloudformation/template/value/sim-cfn-value-path.d.ts +22 -0
- package/dist/service/cloudformation/template/value/sim-cfn-value-path.d.ts.map +1 -0
- package/dist/service/cloudformation/template/value/sim-cfn-value-path.js +92 -0
- package/dist/service/cloudformation/template/value/sim-cfn-value-path.js.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +7 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +2 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +10 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +21 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js.map +1 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.d.ts +24 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.d.ts.map +1 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.factory.d.ts +7 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.factory.d.ts.map +1 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.factory.js +38 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.factory.js.map +1 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.js +2 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.js.map +1 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +17 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts.map +1 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +37 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js.map +1 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.d.ts +38 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.d.ts.map +1 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +45 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js.map +1 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts +3 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.js +4 -1
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
- package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.d.ts +4 -0
- package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.d.ts.map +1 -1
- package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.js +2 -0
- package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.js.map +1 -1
- package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.d.ts +6 -0
- package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.d.ts.map +1 -1
- package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.js +11 -0
- package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.js.map +1 -1
- package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.d.ts +6 -5
- package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.d.ts.map +1 -1
- package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.js +6 -16
- package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.js.map +1 -1
- package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.d.ts +4 -4
- package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.d.ts.map +1 -1
- package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.js +4 -9
- package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.js.map +1 -1
- package/dist/service/dynamodb/command/table/table.command.d.ts +2 -1
- package/dist/service/dynamodb/command/table/table.command.d.ts.map +1 -1
- package/dist/service/dynamodb/command/table/table.types.d.ts +4 -7
- package/dist/service/dynamodb/command/table/table.types.d.ts.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.d.ts +42 -60
- package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.js +48 -60
- package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
- package/dist/service/dynamodb/stream/sim-dynamodb-item-change.d.ts +34 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-item-change.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-item-change.js +2 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-item-change.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-activity.d.ts +42 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-activity.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-activity.js +35 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-activity.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-arn.d.ts +22 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-arn.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-arn.js +30 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-arn.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-images.d.ts +22 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-images.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-images.js +27 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-images.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-keys.d.ts +15 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-keys.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-keys.js +25 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-keys.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-size.d.ts +11 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-size.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-size.js +74 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-size.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-record.d.ts +49 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-record.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-record.js +60 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-record.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.d.ts +18 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.js +31 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.d.ts +39 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.js +64 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-specification.d.ts +28 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-specification.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-specification.js +30 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-specification.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.d.ts +26 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.js +29 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-update.d.ts +13 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-update.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-update.js +48 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-update.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-view-type.d.ts +10 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-view-type.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-view-type.js +38 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream-view-type.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream.d.ts +74 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream.js +82 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.d.ts +24 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.js +2 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.d.ts +31 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.js +45 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.js.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-table-stream.d.ts +97 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-table-stream.d.ts.map +1 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-table-stream.js +135 -0
- package/dist/service/dynamodb/stream/sim-dynamodb-table-stream.js.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-description.d.ts.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-description.js +6 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-description.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-items.d.ts +33 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-items.d.ts.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-items.js +46 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-items.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-storage.d.ts +95 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-storage.d.ts.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-storage.js +120 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-storage.js.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-update.d.ts +2 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-update.d.ts.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-update.js +11 -6
- package/dist/service/dynamodb/table/sim-dynamodb-table-update.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table.d.ts +33 -70
- package/dist/service/dynamodb/table/sim-dynamodb-table.d.ts.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table.js +50 -93
- package/dist/service/dynamodb/table/sim-dynamodb-table.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.d.ts +6 -3
- package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.d.ts.map +1 -1
- package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.d.ts.map +1 -1
- package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.js +5 -1
- package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.js.map +1 -1
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +5 -2
- 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 +13 -8
- 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 +4 -0
- 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 +32 -21
- 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 +1 -6
- 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 +1 -22
- 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 +2 -1
- 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 +3 -2
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js.map +1 -1
- package/dist/service/lambda/event-source/poll/sim-lambda-batch-item-failures.d.ts +17 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-batch-item-failures.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-batch-item-failures.js +46 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-batch-item-failures.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-batch-response.d.ts +39 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-batch-response.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-batch-response.js +28 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-batch-response.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.d.ts +33 -7
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.d.ts.map +1 -1
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.js +7 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.js.map +1 -1
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.d.ts +25 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.js +16 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.d.ts +9 -69
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.d.ts.map +1 -1
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.js +1 -135
- package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.js.map +1 -1
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.d.ts +6 -30
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.d.ts.map +1 -1
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.js +9 -66
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.js.map +1 -1
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-delivery.d.ts +17 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-delivery.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-delivery.js +17 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-delivery.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-poller.d.ts +88 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-poller.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-poller.js +132 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-poller.js.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-polled-queue.d.ts +41 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-polled-queue.d.ts.map +1 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-polled-queue.js +60 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-sqs-polled-queue.js.map +1 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +23 -5
- 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 +65 -12
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js.map +1 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts +23 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts.map +1 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js +30 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js.map +1 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.d.ts +26 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.d.ts.map +1 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.js +35 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.js.map +1 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +6 -8
- 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 +6 -9
- 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 +5 -5
- 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 +5 -5
- 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-polling-permission.d.ts +18 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-polling-permission.d.ts.map +1 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-polling-permission.js +23 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-polling-permission.js.map +1 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.d.ts +7 -3
- package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.d.ts.map +1 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.js +13 -21
- package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-lambda-notification.d.ts +7 -25
- package/dist/service/s3/bucket/notification/sim-s3-lambda-notification.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-lambda-notification.js +10 -31
- package/dist/service/s3/bucket/notification/sim-s3-lambda-notification.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.d.ts +6 -10
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js +16 -68
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts +17 -4
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js +19 -10
- package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-ids.d.ts +9 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-ids.d.ts.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-ids.js +18 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-ids.js.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-overlap.d.ts +5 -3
- package/dist/service/s3/bucket/notification/sim-s3-notification-overlap.d.ts.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-overlap.js +3 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-overlap.js.map +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-properties.d.ts +19 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-properties.d.ts.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-properties.js +27 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-properties.js.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification.d.ts +61 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification.d.ts.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification.js +50 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification.js.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-queue-notification.d.ts +21 -0
- package/dist/service/s3/bucket/notification/sim-s3-queue-notification.d.ts.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-queue-notification.js +24 -0
- package/dist/service/s3/bucket/notification/sim-s3-queue-notification.js.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts +10 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts.map +1 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js +31 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js.map +1 -0
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts +3 -0
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts.map +1 -1
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js +30 -1
- package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js.map +1 -1
- package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts +2 -1
- package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts +10 -1
- package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.d.ts +0 -4
- package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +1 -4
- package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-notification-destination-check.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-notification-destination-check.js +6 -4
- package/dist/service/s3/notification/destination/sim-s3-notification-destination-check.js.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts +20 -2
- package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts +12 -10
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js +19 -17
- package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js.map +1 -1
- package/dist/service/s3/notification/destination/sim-s3-service-principal.d.ts +8 -0
- package/dist/service/s3/notification/destination/sim-s3-service-principal.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sim-s3-service-principal.js +8 -0
- package/dist/service/s3/notification/destination/sim-s3-service-principal.js.map +1 -0
- package/dist/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.d.ts +40 -0
- package/dist/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.js +52 -0
- package/dist/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.js.map +1 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.d.ts +33 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.js +64 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.js.map +1 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.d.ts +33 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js +55 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js.map +1 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queues.d.ts +23 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queues.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queues.js +2 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queues.js.map +1 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.d.ts +40 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.d.ts.map +1 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.js +51 -0
- package/dist/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.js.map +1 -0
- package/dist/service/s3/notification/sim-s3-notification-dispatcher.d.ts +2 -2
- package/dist/service/s3/notification/sim-s3-notification-dispatcher.d.ts.map +1 -1
- package/dist/service/s3/notification/sim-s3-notification-dispatcher.js +6 -3
- package/dist/service/s3/notification/sim-s3-notification-dispatcher.js.map +1 -1
- package/dist/service/sqs/command/authorize/sim-sqs-condition-context.d.ts.map +1 -1
- package/dist/service/sqs/command/authorize/sim-sqs-condition-context.js +9 -5
- package/dist/service/sqs/command/authorize/sim-sqs-condition-context.js.map +1 -1
- package/dist/service/sqs/command/authorize/sim-sqs-service-send-authorizer.d.ts +40 -0
- package/dist/service/sqs/command/authorize/sim-sqs-service-send-authorizer.d.ts.map +1 -0
- package/dist/service/sqs/command/authorize/sim-sqs-service-send-authorizer.js +40 -0
- package/dist/service/sqs/command/authorize/sim-sqs-service-send-authorizer.js.map +1 -0
- package/dist/service/sqs/command/sim-sqs-request-options.d.ts +16 -0
- package/dist/service/sqs/command/sim-sqs-request-options.d.ts.map +1 -1
- package/dist/service/sqs/command/sim-sqs-request-options.js +9 -0
- package/dist/service/sqs/command/sim-sqs-request-options.js.map +1 -1
- package/dist/service/sqs/index.d.ts +2 -2
- package/dist/service/sqs/index.d.ts.map +1 -1
- package/dist/service/sqs/index.js +2 -2
- package/dist/service/sqs/index.js.map +1 -1
- package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts +17 -2
- package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts.map +1 -1
- package/dist/service/sqs/queue/sim-sqs-queue-arn.js +9 -5
- package/dist/service/sqs/queue/sim-sqs-queue-arn.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { SimDynamoDbValidationException } from "../error/dynamodb.error.js";
|
|
2
|
+
import { readSimDynamoDbStreamSpecification, } from "./sim-dynamodb-stream-specification.js";
|
|
3
|
+
/**
|
|
4
|
+
* Refuse a request to switch on a stream the table already has.
|
|
5
|
+
*
|
|
6
|
+
* A stream's view type is fixed for the life of the stream, so there is no such
|
|
7
|
+
* thing as changing it in place: what an application wants is a new stream, and
|
|
8
|
+
* AWS makes it ask for one by switching this one off first. The refusal says so
|
|
9
|
+
* rather than leaving a reader to work out why the obvious request failed.
|
|
10
|
+
*/
|
|
11
|
+
function refuseSecondStream(request, stream) {
|
|
12
|
+
const current = stream.current;
|
|
13
|
+
if (current === undefined || !request.enabled) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (request.viewType === current.viewType) {
|
|
17
|
+
throw new SimDynamoDbValidationException("Table already has an enabled stream");
|
|
18
|
+
}
|
|
19
|
+
throw new SimDynamoDbValidationException(`Table already has an enabled stream, and a stream's StreamViewType ` +
|
|
20
|
+
`cannot be changed in place: switch the ${current.viewType} stream off ` +
|
|
21
|
+
`and on again to get a ${request.viewType} one`);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Refuse a request to switch off a stream the table does not have.
|
|
25
|
+
*/
|
|
26
|
+
function refuseAbsentStream(request, stream) {
|
|
27
|
+
if (!request.enabled && stream.current === undefined) {
|
|
28
|
+
throw new SimDynamoDbValidationException("Table does not have an enabled stream to disable");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Read the change an UpdateTable request asks a table's stream for.
|
|
33
|
+
*
|
|
34
|
+
* Unlike CreateTable, where a stream specification describes a table that does
|
|
35
|
+
* not exist yet, this is read against the stream the table already has. A
|
|
36
|
+
* request that asks for the state the table is already in is refused rather
|
|
37
|
+
* than accepted as a no-op, which is what real DynamoDB does with both of them.
|
|
38
|
+
*/
|
|
39
|
+
export function readSimDynamoDbStreamUpdate(input, stream) {
|
|
40
|
+
const request = readSimDynamoDbStreamSpecification(input.StreamSpecification);
|
|
41
|
+
if (request === undefined) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
refuseSecondStream(request, stream);
|
|
45
|
+
refuseAbsentStream(request, stream);
|
|
46
|
+
return request;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=sim-dynamodb-stream-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream-update.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/stream/sim-dynamodb-stream-update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EACL,kCAAkC,GAEnC,MAAM,wCAAwC,CAAC;AAGhD;;;;;;;GAOG;AACH,SAAS,kBAAkB,CACzB,OAAiC,EACjC,MAA8B;IAE9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAE/B,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,8BAA8B,CACtC,qCAAqC,CACtC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,8BAA8B,CACtC,qEAAqE;QACnE,0CAA0C,OAAO,CAAC,QAAQ,cAAc;QACxE,yBAAyB,OAAO,CAAC,QAAQ,MAAM,CAClD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,OAAiC,EACjC,MAA8B;IAE9B,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,IAAI,8BAA8B,CACtC,kDAAkD,CACnD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAiC,EACjC,MAA8B;IAE9B,MAAM,OAAO,GAAG,kCAAkC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAE9E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEpC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SimDynamoDbStreamViewType } from "./sim-dynamodb-stream.types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Read the view type a stream is being enabled with.
|
|
4
|
+
*
|
|
5
|
+
* A stream that is on has one: a record with no view type would be a record
|
|
6
|
+
* with no rule about which images it carries. Real DynamoDB requires it the
|
|
7
|
+
* same way, so a request leaving it out is refused rather than defaulted.
|
|
8
|
+
*/
|
|
9
|
+
export declare function readSimDynamoDbStreamViewType(value: string | undefined): SimDynamoDbStreamViewType;
|
|
10
|
+
//# sourceMappingURL=sim-dynamodb-stream-view-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream-view-type.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/stream/sim-dynamodb-stream-view-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAuBhF;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,yBAAyB,CAgB3B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { SimDynamoDbValidationException } from "../error/dynamodb.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Every view type a stream can be enabled with.
|
|
4
|
+
*
|
|
5
|
+
* The keys of the changed item are on every record whichever of these a stream
|
|
6
|
+
* was enabled with, so `KEYS_ONLY` is the floor rather than an exception.
|
|
7
|
+
*/
|
|
8
|
+
const streamViewTypes = [
|
|
9
|
+
"KEYS_ONLY",
|
|
10
|
+
"NEW_IMAGE",
|
|
11
|
+
"OLD_IMAGE",
|
|
12
|
+
"NEW_AND_OLD_IMAGES",
|
|
13
|
+
];
|
|
14
|
+
/**
|
|
15
|
+
* Whether some text names a view type.
|
|
16
|
+
*/
|
|
17
|
+
function isStreamViewType(value) {
|
|
18
|
+
return streamViewTypes.includes(value);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Read the view type a stream is being enabled with.
|
|
22
|
+
*
|
|
23
|
+
* A stream that is on has one: a record with no view type would be a record
|
|
24
|
+
* with no rule about which images it carries. Real DynamoDB requires it the
|
|
25
|
+
* same way, so a request leaving it out is refused rather than defaulted.
|
|
26
|
+
*/
|
|
27
|
+
export function readSimDynamoDbStreamViewType(value) {
|
|
28
|
+
if (value === undefined) {
|
|
29
|
+
throw new SimDynamoDbValidationException("One or more parameter values were invalid: StreamViewType is " +
|
|
30
|
+
"required when StreamEnabled is true");
|
|
31
|
+
}
|
|
32
|
+
if (!isStreamViewType(value)) {
|
|
33
|
+
throw new SimDynamoDbValidationException(`One or more parameter values were invalid: Unknown StreamViewType ` +
|
|
34
|
+
`${value}, expected one of ${streamViewTypes.join(", ")}`);
|
|
35
|
+
}
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=sim-dynamodb-stream-view-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream-view-type.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/stream/sim-dynamodb-stream-view-type.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,eAAe,GAAyC;IAC5D,WAAW;IACX,WAAW;IACX,WAAW;IACX,oBAAoB;CACrB,CAAC;AAEF;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAkC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,8BAA8B,CACtC,+DAA+D;YAC7D,qCAAqC,CACxC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,8BAA8B,CACtC,oEAAoE;YAClE,GAAG,KAAK,qBAAqB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { SimArn } from "../../aws/arn.js";
|
|
2
|
+
import type { SimDynamoDbStreamViewType } from "./sim-dynamodb-stream.types.js";
|
|
3
|
+
import type { SimDynamoDbKeySchema } from "../table/sim-dynamodb-key-schema.js";
|
|
4
|
+
import type { SimDynamoDbItemChange } from "./sim-dynamodb-item-change.js";
|
|
5
|
+
import { SimDynamoDbStreamRecord } from "./sim-dynamodb-stream-record.js";
|
|
6
|
+
import { SimDynamoDbStreamShard } from "./sim-dynamodb-stream-shard.js";
|
|
7
|
+
/**
|
|
8
|
+
* Where a stream is between being enabled and being disabled.
|
|
9
|
+
*
|
|
10
|
+
* Real DynamoDB also has `ENABLING` and `DISABLING`, which it passes through
|
|
11
|
+
* while it brings the stream up or takes it down. Nothing here takes any time
|
|
12
|
+
* over either, so a stream switches straight between the two settled states.
|
|
13
|
+
*/
|
|
14
|
+
export type SimDynamoDbStreamStatus = "ENABLED" | "DISABLED";
|
|
15
|
+
interface SimDynamoDbStreamProperties {
|
|
16
|
+
readonly tableName: string;
|
|
17
|
+
readonly tableArn: SimArn;
|
|
18
|
+
readonly keySchema: SimDynamoDbKeySchema;
|
|
19
|
+
readonly viewType: SimDynamoDbStreamViewType;
|
|
20
|
+
readonly enabledAt: Date;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* One stream of one table: everything that changed while it was on.
|
|
24
|
+
*
|
|
25
|
+
* A stream is made when a stream is enabled and is never remade. Disabling one
|
|
26
|
+
* and enabling another gives the table a second stream with a label and an ARN
|
|
27
|
+
* of its own, which is why the table holds these rather than being one.
|
|
28
|
+
*
|
|
29
|
+
* The key schema is held here because a record's `Keys` are cut with it, and a
|
|
30
|
+
* table's key schema never changes, so the stream can be given it once.
|
|
31
|
+
*/
|
|
32
|
+
export declare class SimDynamoDbStream {
|
|
33
|
+
readonly arn: SimArn;
|
|
34
|
+
readonly label: string;
|
|
35
|
+
readonly tableName: string;
|
|
36
|
+
readonly tableArn: SimArn;
|
|
37
|
+
readonly viewType: SimDynamoDbStreamViewType;
|
|
38
|
+
readonly enabledAt: Date;
|
|
39
|
+
readonly shard: SimDynamoDbStreamShard;
|
|
40
|
+
private readonly keySchema;
|
|
41
|
+
private readonly sequenceNumbers;
|
|
42
|
+
private enabled;
|
|
43
|
+
constructor(properties: SimDynamoDbStreamProperties);
|
|
44
|
+
/**
|
|
45
|
+
* Whether this stream is still taking the table's changes.
|
|
46
|
+
*/
|
|
47
|
+
get status(): SimDynamoDbStreamStatus;
|
|
48
|
+
/**
|
|
49
|
+
* The records this stream has taken, oldest first.
|
|
50
|
+
*/
|
|
51
|
+
get records(): readonly SimDynamoDbStreamRecord[];
|
|
52
|
+
/**
|
|
53
|
+
* Take one change to the table's items.
|
|
54
|
+
*
|
|
55
|
+
* Capture is eager, and that is deliberately against the house style. An
|
|
56
|
+
* index is derived when it is read because an index is a function of the
|
|
57
|
+
* table's current state. A stream is not: put A, then B, then A leaves state
|
|
58
|
+
* A while owing two `MODIFY` records, and an insert followed by a delete
|
|
59
|
+
* leaves the table empty while owing an `INSERT` and a `REMOVE`. Nothing
|
|
60
|
+
* readable afterwards reconstructs either, so the transition is written down
|
|
61
|
+
* as it happens.
|
|
62
|
+
*/
|
|
63
|
+
capture(change: SimDynamoDbItemChange, at: Date): SimDynamoDbStreamRecord;
|
|
64
|
+
/**
|
|
65
|
+
* Stop this stream taking the table's changes.
|
|
66
|
+
*
|
|
67
|
+
* The records already on it stay where they are. Real DynamoDB keeps a
|
|
68
|
+
* disabled stream readable for the rest of its retention window, and closing
|
|
69
|
+
* the shard is how a reader finds out there will be no more.
|
|
70
|
+
*/
|
|
71
|
+
disable(): void;
|
|
72
|
+
}
|
|
73
|
+
export {};
|
|
74
|
+
//# sourceMappingURL=sim-dynamodb-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/stream/sim-dynamodb-stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAK3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,UAAU,CAAC;AAE7D,UAAU,2BAA2B;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IAC5B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,QAAQ,EAAE,yBAAyB,CAAC;IACpD,SAAgB,SAAS,EAAE,IAAI,CAAC;IAChC,SAAgB,KAAK,EAAE,sBAAsB,CAAC;IAE9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;IAC1E,OAAO,CAAC,OAAO,CAAQ;IAEvB,YAAY,UAAU,EAAE,2BAA2B,EASlD;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,uBAAuB,CAEpC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,SAAS,uBAAuB,EAAE,CAEhD;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,EAAE,IAAI,GAAG,uBAAuB,CAYxE;IAED;;;;;;OAMG;IACH,OAAO,IAAI,IAAI,CAGd;CACF"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { simDynamoDbStreamArn, simDynamoDbStreamLabel, } from "./sim-dynamodb-stream-arn.js";
|
|
2
|
+
import { SimDynamoDbStreamRecord } from "./sim-dynamodb-stream-record.js";
|
|
3
|
+
import { SimDynamoDbStreamSequenceNumbers } from "./sim-dynamodb-stream-sequence-numbers.js";
|
|
4
|
+
import { SimDynamoDbStreamShard } from "./sim-dynamodb-stream-shard.js";
|
|
5
|
+
/**
|
|
6
|
+
* One stream of one table: everything that changed while it was on.
|
|
7
|
+
*
|
|
8
|
+
* A stream is made when a stream is enabled and is never remade. Disabling one
|
|
9
|
+
* and enabling another gives the table a second stream with a label and an ARN
|
|
10
|
+
* of its own, which is why the table holds these rather than being one.
|
|
11
|
+
*
|
|
12
|
+
* The key schema is held here because a record's `Keys` are cut with it, and a
|
|
13
|
+
* table's key schema never changes, so the stream can be given it once.
|
|
14
|
+
*/
|
|
15
|
+
export class SimDynamoDbStream {
|
|
16
|
+
arn;
|
|
17
|
+
label;
|
|
18
|
+
tableName;
|
|
19
|
+
tableArn;
|
|
20
|
+
viewType;
|
|
21
|
+
enabledAt;
|
|
22
|
+
shard;
|
|
23
|
+
keySchema;
|
|
24
|
+
sequenceNumbers = new SimDynamoDbStreamSequenceNumbers();
|
|
25
|
+
enabled = true;
|
|
26
|
+
constructor(properties) {
|
|
27
|
+
this.label = simDynamoDbStreamLabel(properties.enabledAt);
|
|
28
|
+
this.arn = simDynamoDbStreamArn(properties.tableArn, this.label);
|
|
29
|
+
this.tableName = properties.tableName;
|
|
30
|
+
this.tableArn = properties.tableArn;
|
|
31
|
+
this.viewType = properties.viewType;
|
|
32
|
+
this.enabledAt = properties.enabledAt;
|
|
33
|
+
this.keySchema = properties.keySchema;
|
|
34
|
+
this.shard = new SimDynamoDbStreamShard(properties.enabledAt);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Whether this stream is still taking the table's changes.
|
|
38
|
+
*/
|
|
39
|
+
get status() {
|
|
40
|
+
return this.enabled ? "ENABLED" : "DISABLED";
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The records this stream has taken, oldest first.
|
|
44
|
+
*/
|
|
45
|
+
get records() {
|
|
46
|
+
return this.shard.records;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Take one change to the table's items.
|
|
50
|
+
*
|
|
51
|
+
* Capture is eager, and that is deliberately against the house style. An
|
|
52
|
+
* index is derived when it is read because an index is a function of the
|
|
53
|
+
* table's current state. A stream is not: put A, then B, then A leaves state
|
|
54
|
+
* A while owing two `MODIFY` records, and an insert followed by a delete
|
|
55
|
+
* leaves the table empty while owing an `INSERT` and a `REMOVE`. Nothing
|
|
56
|
+
* readable afterwards reconstructs either, so the transition is written down
|
|
57
|
+
* as it happens.
|
|
58
|
+
*/
|
|
59
|
+
capture(change, at) {
|
|
60
|
+
const record = new SimDynamoDbStreamRecord({
|
|
61
|
+
change,
|
|
62
|
+
keySchema: this.keySchema,
|
|
63
|
+
viewType: this.viewType,
|
|
64
|
+
sequenceNumber: this.sequenceNumbers.take(),
|
|
65
|
+
at,
|
|
66
|
+
});
|
|
67
|
+
this.shard.append(record);
|
|
68
|
+
return record;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Stop this stream taking the table's changes.
|
|
72
|
+
*
|
|
73
|
+
* The records already on it stay where they are. Real DynamoDB keeps a
|
|
74
|
+
* disabled stream readable for the rest of its retention window, and closing
|
|
75
|
+
* the shard is how a reader finds out there will be no more.
|
|
76
|
+
*/
|
|
77
|
+
disable() {
|
|
78
|
+
this.enabled = false;
|
|
79
|
+
this.shard.close();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=sim-dynamodb-stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/stream/sim-dynamodb-stream.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAmBxE;;;;;;;;;GASG;AACH,MAAM,OAAO,iBAAiB;IACZ,GAAG,CAAS;IACZ,KAAK,CAAS;IACd,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,QAAQ,CAA4B;IACpC,SAAS,CAAO;IAChB,KAAK,CAAyB;IAE7B,SAAS,CAAuB;IAChC,eAAe,GAAG,IAAI,gCAAgC,EAAE,CAAC;IAClE,OAAO,GAAG,IAAI,CAAC;IAEvB,YAAY,UAAuC;QACjD,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,GAAG,oBAAoB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAsB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAA6B,EAAE,EAAQ;QAC7C,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC;YACzC,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;YAC3C,EAAE;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal structural sim DynamoDB stream specification, as a request carries
|
|
3
|
+
* it.
|
|
4
|
+
*/
|
|
5
|
+
export interface SimDynamoDbStreamSpecification {
|
|
6
|
+
readonly StreamEnabled?: boolean | undefined;
|
|
7
|
+
readonly StreamViewType?: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Minimal structural sim DynamoDB stream specification, as a table reports it.
|
|
11
|
+
*
|
|
12
|
+
* A table that has a stream reports the view type it was enabled with. One that
|
|
13
|
+
* had a stream and no longer does reports only that it is off, as real DynamoDB
|
|
14
|
+
* does, since the view type belonged to the stream rather than to the table.
|
|
15
|
+
*/
|
|
16
|
+
export interface SimDynamoDbStreamSpecificationDescription {
|
|
17
|
+
readonly StreamEnabled: boolean;
|
|
18
|
+
readonly StreamViewType?: SimDynamoDbStreamViewType | undefined;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Minimal structural sim DynamoDB stream view type.
|
|
22
|
+
*/
|
|
23
|
+
export type SimDynamoDbStreamViewType = "KEYS_ONLY" | "NEW_IMAGE" | "OLD_IMAGE" | "NEW_AND_OLD_IMAGES";
|
|
24
|
+
//# sourceMappingURL=sim-dynamodb-stream.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream.types.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/stream/sim-dynamodb-stream.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GACnC,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-stream.types.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/stream/sim-dynamodb-stream.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { AsyncMappedFactory } from "@kensio/part-factory";
|
|
2
|
+
import type { SimAws } from "../../aws/sim-aws.js";
|
|
3
|
+
import type { SimDynamoDbStreamViewType } from "./sim-dynamodb-stream.types.js";
|
|
4
|
+
import type { SimDynamoDbTable } from "../table/sim-dynamodb-table.js";
|
|
5
|
+
/**
|
|
6
|
+
* What a test asks for when it wants a table that captures its changes.
|
|
7
|
+
*/
|
|
8
|
+
export interface SimDynamoDbStreamedTableInput {
|
|
9
|
+
readonly tableName: string;
|
|
10
|
+
readonly partitionKeyName: string;
|
|
11
|
+
/**
|
|
12
|
+
* Which images the stream's records carry.
|
|
13
|
+
*/
|
|
14
|
+
readonly viewType: SimDynamoDbStreamViewType;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Creates a table with a stream already switched on, through CreateTable.
|
|
18
|
+
*
|
|
19
|
+
* The table went through the ordinary command, so it is the table an
|
|
20
|
+
* application would have rather than one built around the commands, and it is
|
|
21
|
+
* ACTIVE by the time this answers.
|
|
22
|
+
*
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const table = await simDynamoDbStreamedTableFactory.make(
|
|
25
|
+
* { tableName: "orders", viewType: "NEW_AND_OLD_IMAGES" },
|
|
26
|
+
* simAws,
|
|
27
|
+
* );
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare const simDynamoDbStreamedTableFactory: AsyncMappedFactory<SimDynamoDbStreamedTableInput, SimDynamoDbTable, SimAws>;
|
|
31
|
+
//# sourceMappingURL=sim-dynamodb-streamed-table.factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-streamed-table.factory.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;CAC9C;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,+BAA+B,6EAwC3C,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { AsyncMappedFactory } from "@kensio/part-factory";
|
|
2
|
+
import { assertDefined } from "../../../util/type-guard/defined.js";
|
|
3
|
+
/**
|
|
4
|
+
* Creates a table with a stream already switched on, through CreateTable.
|
|
5
|
+
*
|
|
6
|
+
* The table went through the ordinary command, so it is the table an
|
|
7
|
+
* application would have rather than one built around the commands, and it is
|
|
8
|
+
* ACTIVE by the time this answers.
|
|
9
|
+
*
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const table = await simDynamoDbStreamedTableFactory.make(
|
|
12
|
+
* { tableName: "orders", viewType: "NEW_AND_OLD_IMAGES" },
|
|
13
|
+
* simAws,
|
|
14
|
+
* );
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export const simDynamoDbStreamedTableFactory = new AsyncMappedFactory(() => ({
|
|
18
|
+
tableName: "orders",
|
|
19
|
+
partitionKeyName: "orderId",
|
|
20
|
+
viewType: "NEW_AND_OLD_IMAGES",
|
|
21
|
+
}), async (input, simAws) => {
|
|
22
|
+
const simDynamoDb = simAws.dynamoDb();
|
|
23
|
+
await simDynamoDb.createTable({
|
|
24
|
+
input: {
|
|
25
|
+
TableName: input.tableName,
|
|
26
|
+
KeySchema: [{ AttributeName: input.partitionKeyName, KeyType: "HASH" }],
|
|
27
|
+
AttributeDefinitions: [
|
|
28
|
+
{ AttributeName: input.partitionKeyName, AttributeType: "S" },
|
|
29
|
+
],
|
|
30
|
+
BillingMode: "PAY_PER_REQUEST",
|
|
31
|
+
StreamSpecification: {
|
|
32
|
+
StreamEnabled: true,
|
|
33
|
+
StreamViewType: input.viewType,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
await simAws.backgroundTasksComplete();
|
|
38
|
+
// A name CreateTable accepted is a table the store holds, so this is only
|
|
39
|
+
// missing if something is wrong with the simulator itself.
|
|
40
|
+
const table = simDynamoDb.findTable(input.tableName);
|
|
41
|
+
assertDefined(table, `Simulated DynamoDB created the table ${input.tableName} and then did ` +
|
|
42
|
+
`not hold it`);
|
|
43
|
+
return table;
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=sim-dynamodb-streamed-table.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-streamed-table.factory.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAkBpE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,kBAAkB,CAKnE,GAAG,EAAE,CAAC,CAAC;IACL,SAAS,EAAE,QAAQ;IACnB,gBAAgB,EAAE,SAAS;IAC3B,QAAQ,EAAE,oBAAoB;CAC/B,CAAC,EACF,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IACtB,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAEtC,MAAM,WAAW,CAAC,WAAW,CAAC;QAC5B,KAAK,EAAE;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACvE,oBAAoB,EAAE;gBACpB,EAAE,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE,aAAa,EAAE,GAAG,EAAE;aAC9D;YACD,WAAW,EAAE,iBAAiB;YAC9B,mBAAmB,EAAE;gBACnB,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,KAAK,CAAC,QAAQ;aAC/B;SACF;KACF,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,uBAAuB,EAAE,CAAC;IAEvC,0EAA0E;IAC1E,2DAA2D;IAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrD,aAAa,CACX,KAAK,EACL,wCAAwC,KAAK,CAAC,SAAS,gBAAgB;QACrE,aAAa,CAChB,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { SimArn } from "../../aws/arn.js";
|
|
2
|
+
import type { SimClock } from "../../../util/clock/sim-clock.js";
|
|
3
|
+
import type { SimDynamoDbStreamSpecificationDescription } from "./sim-dynamodb-stream.types.js";
|
|
4
|
+
import type { SimDynamoDbKeySchema } from "../table/sim-dynamodb-key-schema.js";
|
|
5
|
+
import type { SimDynamoDbItemChange, SimDynamoDbItemChanges } from "./sim-dynamodb-item-change.js";
|
|
6
|
+
import { SimDynamoDbStream } from "./sim-dynamodb-stream.js";
|
|
7
|
+
import { SimDynamoDbStreamActivity } from "./sim-dynamodb-stream-activity.js";
|
|
8
|
+
import type { SimDynamoDbStreamRequest } from "./sim-dynamodb-stream-specification.js";
|
|
9
|
+
import { SimDynamoDbStreamStore } from "./sim-dynamodb-stream-store.js";
|
|
10
|
+
interface SimDynamoDbTableStreamProperties {
|
|
11
|
+
readonly tableName: string;
|
|
12
|
+
readonly tableArn: SimArn;
|
|
13
|
+
readonly keySchema: SimDynamoDbKeySchema;
|
|
14
|
+
readonly clock: SimClock;
|
|
15
|
+
readonly activity?: SimDynamoDbStreamActivity | undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* One table's stream: the setting, and what the changes are captured on.
|
|
19
|
+
*
|
|
20
|
+
* The setting and the log are held together for the same reason time to live
|
|
21
|
+
* holds the setting and the removals it drives: switching the setting on is
|
|
22
|
+
* what gives the table somewhere to write its changes, and switching it off is
|
|
23
|
+
* what stops it.
|
|
24
|
+
*
|
|
25
|
+
* A table can have had several streams over its life, since disabling one and
|
|
26
|
+
* enabling another makes a second with a label and an ARN of its own. Only one
|
|
27
|
+
* of them is ever taking changes. `latest` is the one `LatestStreamArn` names,
|
|
28
|
+
* which real DynamoDB goes on reporting after the stream has been switched off.
|
|
29
|
+
*/
|
|
30
|
+
export declare class SimDynamoDbTableStream implements SimDynamoDbItemChanges {
|
|
31
|
+
private readonly tableName;
|
|
32
|
+
private readonly tableArn;
|
|
33
|
+
private readonly keySchema;
|
|
34
|
+
private readonly clock;
|
|
35
|
+
private readonly activity;
|
|
36
|
+
private streams;
|
|
37
|
+
private enabled;
|
|
38
|
+
private newest;
|
|
39
|
+
constructor(properties: SimDynamoDbTableStreamProperties);
|
|
40
|
+
/**
|
|
41
|
+
* The stream taking this table's changes, when one is switched on.
|
|
42
|
+
*/
|
|
43
|
+
get current(): SimDynamoDbStream | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* The last stream this table had, switched on or not.
|
|
46
|
+
*/
|
|
47
|
+
get latest(): SimDynamoDbStream | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* How this table reports its stream setting, when it has ever had one.
|
|
50
|
+
*
|
|
51
|
+
* A table that has never had a stream reports no `StreamSpecification` at
|
|
52
|
+
* all, rather than one saying it is off, which is how a caller tells a table
|
|
53
|
+
* that never had a stream from one whose stream was switched off.
|
|
54
|
+
*/
|
|
55
|
+
specification(): SimDynamoDbStreamSpecificationDescription | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* Hand this table's streams to the store that resolves one by ARN.
|
|
58
|
+
*
|
|
59
|
+
* A table is built before the name it is taking has been checked, so a table
|
|
60
|
+
* that is refused for a name already in use has still made its stream by
|
|
61
|
+
* then. Registering when the table becomes real rather than when it is built
|
|
62
|
+
* is what keeps that stream from being resolvable by an ARN nobody was ever
|
|
63
|
+
* given. Until this is called a table keeps its streams to itself, which is
|
|
64
|
+
* what a table built with no simulated DynamoDB holding it does for good.
|
|
65
|
+
*/
|
|
66
|
+
publishTo(streams: SimDynamoDbStreamStore): void;
|
|
67
|
+
/**
|
|
68
|
+
* Apply a stream request that has already been checked against this table.
|
|
69
|
+
*
|
|
70
|
+
* Nothing here refuses anything. A request asking for the stream the table
|
|
71
|
+
* already has, or for the removal of one it does not have, was refused while
|
|
72
|
+
* the request was being read.
|
|
73
|
+
*/
|
|
74
|
+
apply(request: SimDynamoDbStreamRequest | undefined): void;
|
|
75
|
+
/**
|
|
76
|
+
* Take one change to the table's items.
|
|
77
|
+
*
|
|
78
|
+
* This is the choke point every item mutation passes through exactly once. A
|
|
79
|
+
* table with no stream on captures nothing, which is the ordinary case and
|
|
80
|
+
* costs one comparison.
|
|
81
|
+
*/
|
|
82
|
+
capture(change: SimDynamoDbItemChange): void;
|
|
83
|
+
/**
|
|
84
|
+
* Switch a stream on, which makes a new one.
|
|
85
|
+
*
|
|
86
|
+
* The label and the ARN come from the instant it was enabled, so re-enabling
|
|
87
|
+
* a stream gives a different ARN to the one the table had before. Anything
|
|
88
|
+
* holding the old ARN is holding the old stream, as it would be on AWS.
|
|
89
|
+
*/
|
|
90
|
+
private enable;
|
|
91
|
+
/**
|
|
92
|
+
* Switch the stream off, leaving what it captured where it is.
|
|
93
|
+
*/
|
|
94
|
+
private disable;
|
|
95
|
+
}
|
|
96
|
+
export {};
|
|
97
|
+
//# sourceMappingURL=sim-dynamodb-table-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-table-stream.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/stream/sim-dynamodb-table-stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EACV,yCAAyC,EAE1C,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,UAAU,gCAAgC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;CAC3D;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAuB,YAAW,sBAAsB;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,MAAM,CAAgC;IAE9C,YAAY,UAAU,EAAE,gCAAgC,EAMvD;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,iBAAiB,GAAG,SAAS,CAE3C;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,iBAAiB,GAAG,SAAS,CAE1C;IAED;;;;;;OAMG;IACH,aAAa,IAAI,yCAAyC,GAAG,SAAS,CAMrE;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAM/C;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,EAAE,wBAAwB,GAAG,SAAS,GAAG,IAAI,CAYzD;IAED;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAS3C;IAED;;;;;;OAMG;IACH,OAAO,CAAC,MAAM;IAkBd;;OAEG;IACH,OAAO,CAAC,OAAO;CAIhB"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { SimDynamoDbStream } from "./sim-dynamodb-stream.js";
|
|
2
|
+
import { SimDynamoDbStreamActivity } from "./sim-dynamodb-stream-activity.js";
|
|
3
|
+
import { simDynamoDbStreamLabelInstant } from "./sim-dynamodb-stream-arn.js";
|
|
4
|
+
import { SimDynamoDbStreamStore } from "./sim-dynamodb-stream-store.js";
|
|
5
|
+
/**
|
|
6
|
+
* One table's stream: the setting, and what the changes are captured on.
|
|
7
|
+
*
|
|
8
|
+
* The setting and the log are held together for the same reason time to live
|
|
9
|
+
* holds the setting and the removals it drives: switching the setting on is
|
|
10
|
+
* what gives the table somewhere to write its changes, and switching it off is
|
|
11
|
+
* what stops it.
|
|
12
|
+
*
|
|
13
|
+
* A table can have had several streams over its life, since disabling one and
|
|
14
|
+
* enabling another makes a second with a label and an ARN of its own. Only one
|
|
15
|
+
* of them is ever taking changes. `latest` is the one `LatestStreamArn` names,
|
|
16
|
+
* which real DynamoDB goes on reporting after the stream has been switched off.
|
|
17
|
+
*/
|
|
18
|
+
export class SimDynamoDbTableStream {
|
|
19
|
+
tableName;
|
|
20
|
+
tableArn;
|
|
21
|
+
keySchema;
|
|
22
|
+
clock;
|
|
23
|
+
activity;
|
|
24
|
+
streams = new SimDynamoDbStreamStore();
|
|
25
|
+
enabled;
|
|
26
|
+
newest;
|
|
27
|
+
constructor(properties) {
|
|
28
|
+
this.tableName = properties.tableName;
|
|
29
|
+
this.tableArn = properties.tableArn;
|
|
30
|
+
this.keySchema = properties.keySchema;
|
|
31
|
+
this.clock = properties.clock;
|
|
32
|
+
this.activity = properties.activity ?? new SimDynamoDbStreamActivity();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The stream taking this table's changes, when one is switched on.
|
|
36
|
+
*/
|
|
37
|
+
get current() {
|
|
38
|
+
return this.enabled;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The last stream this table had, switched on or not.
|
|
42
|
+
*/
|
|
43
|
+
get latest() {
|
|
44
|
+
return this.newest;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* How this table reports its stream setting, when it has ever had one.
|
|
48
|
+
*
|
|
49
|
+
* A table that has never had a stream reports no `StreamSpecification` at
|
|
50
|
+
* all, rather than one saying it is off, which is how a caller tells a table
|
|
51
|
+
* that never had a stream from one whose stream was switched off.
|
|
52
|
+
*/
|
|
53
|
+
specification() {
|
|
54
|
+
if (this.enabled !== undefined) {
|
|
55
|
+
return { StreamEnabled: true, StreamViewType: this.enabled.viewType };
|
|
56
|
+
}
|
|
57
|
+
return this.newest === undefined ? undefined : { StreamEnabled: false };
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Hand this table's streams to the store that resolves one by ARN.
|
|
61
|
+
*
|
|
62
|
+
* A table is built before the name it is taking has been checked, so a table
|
|
63
|
+
* that is refused for a name already in use has still made its stream by
|
|
64
|
+
* then. Registering when the table becomes real rather than when it is built
|
|
65
|
+
* is what keeps that stream from being resolvable by an ARN nobody was ever
|
|
66
|
+
* given. Until this is called a table keeps its streams to itself, which is
|
|
67
|
+
* what a table built with no simulated DynamoDB holding it does for good.
|
|
68
|
+
*/
|
|
69
|
+
publishTo(streams) {
|
|
70
|
+
this.streams = streams;
|
|
71
|
+
if (this.enabled !== undefined) {
|
|
72
|
+
streams.add(this.enabled);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Apply a stream request that has already been checked against this table.
|
|
77
|
+
*
|
|
78
|
+
* Nothing here refuses anything. A request asking for the stream the table
|
|
79
|
+
* already has, or for the removal of one it does not have, was refused while
|
|
80
|
+
* the request was being read.
|
|
81
|
+
*/
|
|
82
|
+
apply(request) {
|
|
83
|
+
if (request === undefined) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (request.enabled) {
|
|
87
|
+
this.enable(request.viewType);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
this.disable();
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Take one change to the table's items.
|
|
94
|
+
*
|
|
95
|
+
* This is the choke point every item mutation passes through exactly once. A
|
|
96
|
+
* table with no stream on captures nothing, which is the ordinary case and
|
|
97
|
+
* costs one comparison.
|
|
98
|
+
*/
|
|
99
|
+
capture(change) {
|
|
100
|
+
const stream = this.enabled;
|
|
101
|
+
if (stream === undefined) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
stream.capture(change, this.clock.now());
|
|
105
|
+
this.activity.recordsAvailable(stream.arn);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Switch a stream on, which makes a new one.
|
|
109
|
+
*
|
|
110
|
+
* The label and the ARN come from the instant it was enabled, so re-enabling
|
|
111
|
+
* a stream gives a different ARN to the one the table had before. Anything
|
|
112
|
+
* holding the old ARN is holding the old stream, as it would be on AWS.
|
|
113
|
+
*/
|
|
114
|
+
enable(viewType) {
|
|
115
|
+
const enabledAt = simDynamoDbStreamLabelInstant(this.clock.now(), this.newest?.enabledAt);
|
|
116
|
+
const stream = new SimDynamoDbStream({
|
|
117
|
+
tableName: this.tableName,
|
|
118
|
+
tableArn: this.tableArn,
|
|
119
|
+
keySchema: this.keySchema,
|
|
120
|
+
viewType,
|
|
121
|
+
enabledAt,
|
|
122
|
+
});
|
|
123
|
+
this.enabled = stream;
|
|
124
|
+
this.newest = stream;
|
|
125
|
+
this.streams.add(stream);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Switch the stream off, leaving what it captured where it is.
|
|
129
|
+
*/
|
|
130
|
+
disable() {
|
|
131
|
+
this.enabled?.disable();
|
|
132
|
+
this.enabled = undefined;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=sim-dynamodb-table-stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-table-stream.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/stream/sim-dynamodb-table-stream.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAUxE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,sBAAsB;IAChB,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,SAAS,CAAuB;IAChC,KAAK,CAAW;IAChB,QAAQ,CAA4B;IAC7C,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACvC,OAAO,CAAgC;IACvC,MAAM,CAAgC;IAE9C,YAAY,UAA4C;QACtD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,IAAI,yBAAyB,EAAE,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxE,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAC1E,CAAC;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,OAA+B;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAA6C;QACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,MAA6B;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,QAAmC;QAChD,MAAM,SAAS,GAAG,6BAA6B,CAC7C,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAChB,IAAI,CAAC,MAAM,EAAE,SAAS,CACvB,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ;YACR,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,OAAO;QACb,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;CACF"}
|