@kensio/yulin 0.45.0 → 0.47.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/dynamodb/cfn/table/sim-cfn-dynamodb-indexed-table-resource.factory.d.ts +37 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-indexed-table-resource.factory.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-indexed-table-resource.factory.js +63 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-indexed-table-resource.factory.js.map +1 -0
- 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 +2 -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-index-rules.d.ts +32 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js +100 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.d.ts +22 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.js +55 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.js.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.d.ts +11 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.js +16 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.js.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts +9 -1
- 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 +20 -17
- 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-error.d.ts +21 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.js +28 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.js.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts +8 -20
- 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 +19 -32
- 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-throughput.d.ts +11 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.d.ts.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.js +18 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.js.map +1 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.d.ts +17 -4
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.d.ts.map +1 -1
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.js +45 -16
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.js.map +1 -1
- package/dist/service/dynamodb/command/item/sim-dynamodb-item-page.d.ts +6 -4
- package/dist/service/dynamodb/command/item/sim-dynamodb-item-page.d.ts.map +1 -1
- package/dist/service/dynamodb/command/item/sim-dynamodb-item-page.js +7 -6
- package/dist/service/dynamodb/command/item/sim-dynamodb-item-page.js.map +1 -1
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-start-key.d.ts +2 -2
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-start-key.d.ts.map +1 -1
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-start-key.js +8 -7
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-start-key.js.map +1 -1
- package/dist/service/dynamodb/command/query/sim-dynamodb-query.d.ts.map +1 -1
- package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +18 -6
- package/dist/service/dynamodb/command/query/sim-dynamodb-query.js.map +1 -1
- package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.d.ts.map +1 -1
- package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
- package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js.map +1 -1
- package/dist/service/dynamodb/command/read/sim-dynamodb-consistent-read.d.ts +20 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-consistent-read.d.ts.map +1 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-consistent-read.js +20 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-consistent-read.js.map +1 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +12 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts.map +1 -1
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +19 -1
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js.map +1 -1
- package/dist/service/dynamodb/command/read/sim-dynamodb-select.d.ts +18 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-select.d.ts.map +1 -1
- package/dist/service/dynamodb/command/read/sim-dynamodb-select.js +35 -5
- package/dist/service/dynamodb/command/read/sim-dynamodb-select.js.map +1 -1
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-start-key.d.ts +2 -2
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-start-key.d.ts.map +1 -1
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-start-key.js +3 -3
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-start-key.js.map +1 -1
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.d.ts.map +1 -1
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +13 -5
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js.map +1 -1
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts.map +1 -1
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +0 -1
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js.map +1 -1
- package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.d.ts +2 -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 +3 -0
- package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.js.map +1 -1
- package/dist/service/dynamodb/command/sim-dynamodb-command.types.d.ts +1 -1
- package/dist/service/dynamodb/command/sim-dynamodb-command.types.d.ts.map +1 -1
- 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 +6 -2
- 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 -6
- 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 -19
- 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 +15 -0
- package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.d.ts.map +1 -0
- package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.js +50 -0
- package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.js.map +1 -0
- package/dist/service/dynamodb/command/table/sim-dynamodb-update-table.d.ts +38 -0
- package/dist/service/dynamodb/command/table/sim-dynamodb-update-table.d.ts.map +1 -0
- package/dist/service/dynamodb/command/table/sim-dynamodb-update-table.js +39 -0
- package/dist/service/dynamodb/command/table/sim-dynamodb-update-table.js.map +1 -0
- package/dist/service/dynamodb/command/table/table.command.d.ts +36 -1
- package/dist/service/dynamodb/command/table/table.command.d.ts.map +1 -1
- package/dist/service/dynamodb/command/table/table.types.d.ts +54 -0
- package/dist/service/dynamodb/command/table/table.types.d.ts.map +1 -1
- package/dist/service/dynamodb/command/time-to-live/sim-dynamodb-time-to-live-commands.js +3 -3
- package/dist/service/dynamodb/command/time-to-live/sim-dynamodb-time-to-live-commands.js.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-route.d.ts +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-route.d.ts.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-routes.d.ts.map +1 -1
- package/dist/service/dynamodb/document/sim-dynamodb-document-routes.js.map +1 -1
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter.d.ts +11 -1
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter.d.ts.map +1 -1
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter.js +12 -1
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter.js.map +1 -1
- package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.d.ts.map +1 -1
- package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.js +4 -0
- package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.js.map +1 -1
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-fetched-index-attributes.d.ts +35 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-fetched-index-attributes.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-fetched-index-attributes.js +42 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-fetched-index-attributes.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-index.d.ts +43 -11
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-index.d.ts.map +1 -1
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-index.js +65 -2
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-index.js.map +1 -1
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-indexes.d.ts +39 -14
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-indexes.d.ts.map +1 -1
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-indexes.js +61 -61
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-indexes.js.map +1 -1
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-attributes.d.ts +44 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-attributes.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-attributes.js +2 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-attributes.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-keys.d.ts +58 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-keys.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-keys.js +77 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-keys.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lifecycle.d.ts +55 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lifecycle.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lifecycle.js +71 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lifecycle.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-limits.d.ts +50 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-limits.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-limits.js +82 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-limits.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lookup.d.ts +13 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lookup.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lookup.js +19 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lookup.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection-input.d.ts +17 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection-input.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection-input.js +17 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection-input.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection.d.ts +15 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection.d.ts.map +1 -1
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection.js +21 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection.js.map +1 -1
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-status.d.ts +6 -7
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-status.d.ts.map +1 -1
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-status.js +7 -11
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-status.js.map +1 -1
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-view.d.ts +76 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-view.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-view.js +107 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-view.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-orders.d.ts +12 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-orders.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-orders.js +42 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-orders.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-table.factory.d.ts +35 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-table.factory.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-table.factory.js +59 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-table.factory.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-key-schema.d.ts +21 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-key-schema.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-key-schema.js +47 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-key-schema.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-throughput.d.ts +11 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-throughput.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-throughput.js +29 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-throughput.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-index.d.ts +65 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-index.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-index.js +106 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-index.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-indexes.d.ts +31 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-indexes.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-indexes.js +47 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-indexes.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-orders.d.ts +6 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-orders.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-orders.js +40 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-orders.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-table.factory.d.ts +34 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-table.factory.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-table.factory.js +61 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-table.factory.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-projected-index-attributes.d.ts +38 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-projected-index-attributes.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-projected-index-attributes.js +74 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-projected-index-attributes.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-index.d.ts +54 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-index.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-index.js +2 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-index.js.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-indexes.d.ts +59 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-indexes.d.ts.map +1 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-indexes.js +77 -0
- package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-indexes.js.map +1 -0
- package/dist/service/dynamodb/sim-dynamodb.d.ts +6 -14
- package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.js +8 -1
- package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.types.d.ts +26 -0
- package/dist/service/dynamodb/sim-dynamodb.types.d.ts.map +1 -0
- package/dist/service/dynamodb/sim-dynamodb.types.js +2 -0
- package/dist/service/dynamodb/sim-dynamodb.types.js.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-attribute-definition.d.ts +14 -0
- package/dist/service/dynamodb/table/sim-dynamodb-attribute-definition.d.ts.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-attribute-definition.js +33 -0
- package/dist/service/dynamodb/table/sim-dynamodb-attribute-definition.js.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-attribute-definitions.d.ts +21 -0
- package/dist/service/dynamodb/table/sim-dynamodb-attribute-definitions.d.ts.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-attribute-definitions.js +53 -27
- package/dist/service/dynamodb/table/sim-dynamodb-attribute-definitions.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-index-update.d.ts +23 -0
- package/dist/service/dynamodb/table/sim-dynamodb-index-update.d.ts.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-index-update.js +88 -0
- package/dist/service/dynamodb/table/sim-dynamodb-index-update.js.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-item-collection.d.ts +7 -0
- package/dist/service/dynamodb/table/sim-dynamodb-item-collection.d.ts.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-item-collection.js +6 -3
- package/dist/service/dynamodb/table/sim-dynamodb-item-collection.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-read-view.d.ts +76 -0
- package/dist/service/dynamodb/table/sim-dynamodb-read-view.d.ts.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-read-view.js +2 -0
- package/dist/service/dynamodb/table/sim-dynamodb-read-view.js.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-sort-key-compare.d.ts +30 -0
- package/dist/service/dynamodb/table/sim-dynamodb-sort-key-compare.d.ts.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-sort-key-compare.js +39 -0
- package/dist/service/dynamodb/table/sim-dynamodb-sort-key-compare.js.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-sort-key-order.d.ts +34 -20
- package/dist/service/dynamodb/table/sim-dynamodb-sort-key-order.d.ts.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-sort-key-order.js +47 -50
- package/dist/service/dynamodb/table/sim-dynamodb-sort-key-order.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-billing.d.ts +9 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-billing.d.ts.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-billing.js +17 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-billing.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-definition.d.ts +53 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-definition.d.ts.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-definition.js +63 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-definition.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 +2 -2
- package/dist/service/dynamodb/table/sim-dynamodb-table-description.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-lifecycle.d.ts +29 -2
- package/dist/service/dynamodb/table/sim-dynamodb-table-lifecycle.d.ts.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-lifecycle.js +45 -4
- package/dist/service/dynamodb/table/sim-dynamodb-table-lifecycle.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-read-view.d.ts +26 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-read-view.d.ts.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-read-view.js +30 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-read-view.js.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-scan.d.ts +2 -2
- package/dist/service/dynamodb/table/sim-dynamodb-table-scan.d.ts.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-scan.js +1 -2
- package/dist/service/dynamodb/table/sim-dynamodb-table-scan.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table-update.d.ts +27 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-update.d.ts.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-update.js +79 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-update.js.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-view.d.ts +67 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-view.d.ts.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-view.js +90 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table-view.js.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-table.d.ts +49 -46
- package/dist/service/dynamodb/table/sim-dynamodb-table.d.ts.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table.js +87 -79
- package/dist/service/dynamodb/table/sim-dynamodb-table.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.d.ts +21 -0
- package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.d.ts.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.js +2 -0
- package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.js.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-updated-billing.d.ts +17 -0
- package/dist/service/dynamodb/table/sim-dynamodb-updated-billing.d.ts.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-updated-billing.js +24 -0
- package/dist/service/dynamodb/table/sim-dynamodb-updated-billing.js.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-updated-indexes.d.ts +16 -0
- package/dist/service/dynamodb/table/sim-dynamodb-updated-indexes.d.ts.map +1 -0
- package/dist/service/dynamodb/table/sim-dynamodb-updated-indexes.js +32 -0
- package/dist/service/dynamodb/table/sim-dynamodb-updated-indexes.js.map +1 -0
- package/dist/service/dynamodb/time-to-live/{sim-dynamodb-table-expiry.d.ts → sim-dynamodb-table-time-to-live.d.ts} +28 -9
- package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.d.ts.map +1 -0
- package/dist/service/dynamodb/time-to-live/{sim-dynamodb-table-expiry.js → sim-dynamodb-table-time-to-live.js} +32 -5
- package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.js.map +1 -0
- package/dist/service/dynamodb/time-to-live/sim-dynamodb-time-to-live.d.ts +2 -1
- package/dist/service/dynamodb/time-to-live/sim-dynamodb-time-to-live.d.ts.map +1 -1
- package/dist/service/dynamodb/time-to-live/sim-dynamodb-time-to-live.js +2 -1
- package/dist/service/dynamodb/time-to-live/sim-dynamodb-time-to-live.js.map +1 -1
- package/package.json +1 -1
- package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-expiry.d.ts.map +0 -1
- package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-expiry.js.map +0 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { SimDynamoDbGlobalSecondaryIndexes } from "./sim-dynamodb-global-secondary-indexes.js";
|
|
2
|
+
import { assertSimDynamoDbIndexNamesDistinct, assertSimDynamoDbProjectedAttributeCount, } from "./sim-dynamodb-index-limits.js";
|
|
3
|
+
import { requiredSimDynamoDbIndex } from "./sim-dynamodb-index-lookup.js";
|
|
4
|
+
import { SimDynamoDbLocalSecondaryIndexes } from "./sim-dynamodb-local-secondary-indexes.js";
|
|
5
|
+
/**
|
|
6
|
+
* Every secondary index one table carries, of both kinds.
|
|
7
|
+
*
|
|
8
|
+
* The two kinds are declared apart and described apart, so each has a
|
|
9
|
+
* collection of its own. What they share is a table: one namespace for their
|
|
10
|
+
* names, one cap on how many attributes they project between them, and one
|
|
11
|
+
* `IndexName` parameter reaching either of them. Those rules live here, since
|
|
12
|
+
* neither collection can see the other.
|
|
13
|
+
*/
|
|
14
|
+
export class SimDynamoDbSecondaryIndexes {
|
|
15
|
+
global;
|
|
16
|
+
local;
|
|
17
|
+
constructor(properties) {
|
|
18
|
+
this.global = properties.global;
|
|
19
|
+
this.local = properties.local;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The indexes of a table declaring none of either kind.
|
|
23
|
+
*/
|
|
24
|
+
static none() {
|
|
25
|
+
return new this({
|
|
26
|
+
global: SimDynamoDbGlobalSecondaryIndexes.none(),
|
|
27
|
+
local: SimDynamoDbLocalSecondaryIndexes.none(),
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Read the secondary indexes a CreateTable request declares.
|
|
32
|
+
*/
|
|
33
|
+
static fromInput(input, table) {
|
|
34
|
+
const indexes = new this({
|
|
35
|
+
global: SimDynamoDbGlobalSecondaryIndexes.fromInput(input.GlobalSecondaryIndexes, table),
|
|
36
|
+
local: SimDynamoDbLocalSecondaryIndexes.fromInput(input.LocalSecondaryIndexes, table),
|
|
37
|
+
});
|
|
38
|
+
assertSimDynamoDbIndexNamesDistinct(indexes.elements);
|
|
39
|
+
assertSimDynamoDbProjectedAttributeCount(indexes.elements);
|
|
40
|
+
return indexes;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Every index the table carries, whichever kind it is.
|
|
44
|
+
*/
|
|
45
|
+
get elements() {
|
|
46
|
+
return [...this.global.elements, ...this.local.elements];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The index a read names, refusing one this table cannot answer with.
|
|
50
|
+
*
|
|
51
|
+
* A name the table does not have is refused, and so is an index that is
|
|
52
|
+
* still being built, since real DynamoDB answers neither.
|
|
53
|
+
*/
|
|
54
|
+
required(indexName, tableName) {
|
|
55
|
+
const index = requiredSimDynamoDbIndex(this.elements, indexName, tableName);
|
|
56
|
+
index.assertReadable();
|
|
57
|
+
return index;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The key schemas these indexes are read by.
|
|
61
|
+
*
|
|
62
|
+
* `AttributeDefinitions` has to name every key attribute of every index as
|
|
63
|
+
* well as the table's own, so the schemas are reachable together.
|
|
64
|
+
*/
|
|
65
|
+
keySchemas() {
|
|
66
|
+
return this.elements.map((index) => index.keySchema);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Refuse an item carrying an index key attribute as the wrong type.
|
|
70
|
+
*/
|
|
71
|
+
assertItemKeyTypes(item, attributeDefinitions) {
|
|
72
|
+
for (const index of this.elements) {
|
|
73
|
+
index.assertItemKeyTypes(item, attributeDefinitions);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=sim-dynamodb-secondary-indexes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-secondary-indexes.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/secondary-index/sim-dynamodb-secondary-indexes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EACL,mCAAmC,EACnC,wCAAwC,GACzC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAqB7F;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IACtB,MAAM,CAAoC;IAC1C,KAAK,CAAmC;IAExD,YAAoB,UAAiD;QACnE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI;QACT,OAAO,IAAI,IAAI,CAAC;YACd,MAAM,EAAE,iCAAiC,CAAC,IAAI,EAAE;YAChD,KAAK,EAAE,gCAAgC,CAAC,IAAI,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACd,KAAuC,EACvC,KAAqC;QAErC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC;YACvB,MAAM,EAAE,iCAAiC,CAAC,SAAS,CACjD,KAAK,CAAC,sBAAsB,EAC5B,KAAK,CACN;YACD,KAAK,EAAE,gCAAgC,CAAC,SAAS,CAC/C,KAAK,CAAC,qBAAqB,EAC3B,KAAK,CACN;SACF,CAAC,CAAC;QAEH,mCAAmC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,wCAAwC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE3D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,SAAiB,EAAE,SAAiB;QAC3C,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5E,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,kBAAkB,CAChB,IAAqB,EACrB,oBAAqD;QAErD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,19 +1,8 @@
|
|
|
1
|
-
import { type BackgroundScheduler } from "../../util/background/background.js";
|
|
2
|
-
import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
|
|
3
1
|
import type * as simDynamoDbCommands from "./command/sim-dynamodb-command.types.js";
|
|
4
|
-
import type { SimAwsCaller } from "../aws/caller/sim-aws-caller.js";
|
|
5
|
-
import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
6
2
|
import type { SimSdkCommandRouter } from "../../sdk/index.js";
|
|
7
3
|
import { SimDynamoDbCfnResourceFactory } from "./cfn/sim-cfn-dynamodb-resource-factory.js";
|
|
8
4
|
import type { SimDynamoDbTable } from "./table/sim-dynamodb-table.js";
|
|
9
|
-
|
|
10
|
-
readonly caller?: SimAwsCaller;
|
|
11
|
-
}
|
|
12
|
-
interface SimDynamoDatabaseProperties {
|
|
13
|
-
readonly accountRegionScope?: SimAwsAccountRegionScope;
|
|
14
|
-
readonly iam?: SimIamInterServiceAuthZ;
|
|
15
|
-
readonly background?: BackgroundScheduler;
|
|
16
|
-
}
|
|
5
|
+
import type { SimDynamoDbProperties, SimDynamoDbRequestOptions } from "./sim-dynamodb.types.js";
|
|
17
6
|
/**
|
|
18
7
|
* Simulated DynamoDB. Handles SDK commands. Emulates AWS behaviour and state.
|
|
19
8
|
*/
|
|
@@ -23,7 +12,7 @@ export declare class SimDynamoDb {
|
|
|
23
12
|
private readonly commands;
|
|
24
13
|
private readonly sdkRouter;
|
|
25
14
|
private readonly cfnFactory;
|
|
26
|
-
constructor(properties?:
|
|
15
|
+
constructor(properties?: SimDynamoDbProperties);
|
|
27
16
|
/**
|
|
28
17
|
* Handle a Create Table Command from the SDK.
|
|
29
18
|
*/
|
|
@@ -32,6 +21,10 @@ export declare class SimDynamoDb {
|
|
|
32
21
|
* Handle a Describe Table Command from the SDK.
|
|
33
22
|
*/
|
|
34
23
|
describeTable(command: simDynamoDbCommands.SimDescribeTableCommand, options?: SimDynamoDbRequestOptions): Promise<simDynamoDbCommands.SimDescribeTableCommandOutput>;
|
|
24
|
+
/**
|
|
25
|
+
* Handle an Update Table Command from the SDK.
|
|
26
|
+
*/
|
|
27
|
+
updateTable(command: simDynamoDbCommands.SimUpdateTableCommand, options?: SimDynamoDbRequestOptions): Promise<simDynamoDbCommands.SimUpdateTableCommandOutput>;
|
|
35
28
|
/**
|
|
36
29
|
* Handle a List Tables Command from the SDK.
|
|
37
30
|
*/
|
|
@@ -118,5 +111,4 @@ export declare class SimDynamoDb {
|
|
|
118
111
|
*/
|
|
119
112
|
sdkCommandRouter(): SimSdkCommandRouter;
|
|
120
113
|
}
|
|
121
|
-
export {};
|
|
122
114
|
//# sourceMappingURL=sim-dynamodb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb.d.ts","sourceRoot":"","sources":["../../../src/service/dynamodb/sim-dynamodb.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-dynamodb.d.ts","sourceRoot":"","sources":["../../../src/service/dynamodb/sim-dynamodb.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { BackgroundTasks, } from "../../util/background/background.js";
|
|
|
2
2
|
import { SimDynamoDbCommandHandlers } from "./command/sim-dynamodb-command-handlers.js";
|
|
3
3
|
import { SimDynamoDbTableStore } from "./table/sim-dynamodb-table-store.js";
|
|
4
4
|
import { simAwsAccountRegionScopeFactory } from "../aws/sim-aws-account-region-scope.factory.js";
|
|
5
|
-
import { SimIamAllowAllAuth
|
|
5
|
+
import { SimIamAllowAllAuth } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
6
6
|
import { SimDynamoDatabaseSdkCommandRouter } from "./sdk/sim-dynamodb-sdk-command-router.js";
|
|
7
7
|
import { SimDynamoDbCfnResourceFactory } from "./cfn/sim-cfn-dynamodb-resource-factory.js";
|
|
8
8
|
/**
|
|
@@ -41,6 +41,13 @@ export class SimDynamoDb {
|
|
|
41
41
|
await this.background.sequence();
|
|
42
42
|
return this.commands.tables.describeTable(command, options);
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Handle an Update Table Command from the SDK.
|
|
46
|
+
*/
|
|
47
|
+
async updateTable(command, options) {
|
|
48
|
+
await this.background.sequence();
|
|
49
|
+
return this.commands.tableUpdates.handle(command, options);
|
|
50
|
+
}
|
|
44
51
|
/**
|
|
45
52
|
* Handle a List Tables Command from the SDK.
|
|
46
53
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb.js","sourceRoot":"","sources":["../../../src/service/dynamodb/sim-dynamodb.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAChB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-dynamodb.js","sourceRoot":"","sources":["../../../src/service/dynamodb/sim-dynamodb.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { BackgroundScheduler } from "../../util/background/background.js";
|
|
2
|
+
import type { SimAwsCaller } from "../aws/caller/sim-aws-caller.js";
|
|
3
|
+
import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
|
|
4
|
+
import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
5
|
+
/**
|
|
6
|
+
* What a caller can say about itself alongside a simulated DynamoDB command.
|
|
7
|
+
*
|
|
8
|
+
* Every command takes the same thing, which is who is asking. Leaving it out
|
|
9
|
+
* makes the request the Account root's, as an unauthenticated caller of a
|
|
10
|
+
* simulated service is.
|
|
11
|
+
*/
|
|
12
|
+
export interface SimDynamoDbRequestOptions {
|
|
13
|
+
readonly caller?: SimAwsCaller;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* What one simulated DynamoDB is built with.
|
|
17
|
+
*
|
|
18
|
+
* Every part has a default, so `new SimDynamoDb()` gives a service of its own
|
|
19
|
+
* with its own tables, its own clock and no authorization.
|
|
20
|
+
*/
|
|
21
|
+
export interface SimDynamoDbProperties {
|
|
22
|
+
readonly accountRegionScope?: SimAwsAccountRegionScope;
|
|
23
|
+
readonly iam?: SimIamInterServiceAuthZ;
|
|
24
|
+
readonly background?: BackgroundScheduler;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=sim-dynamodb.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb.types.d.ts","sourceRoot":"","sources":["../../../src/service/dynamodb/sim-dynamodb.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAEhG;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb.types.js","sourceRoot":"","sources":["../../../src/service/dynamodb/sim-dynamodb.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SimDynamoDbAttributeDefinition, SimDynamoDbAttributeDefinitionInput } from "../command/table/table.types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Read one attribute definition a request carries.
|
|
4
|
+
*/
|
|
5
|
+
export declare function readSimDynamoDbAttributeDefinition(definition: SimDynamoDbAttributeDefinitionInput): SimDynamoDbAttributeDefinition;
|
|
6
|
+
/**
|
|
7
|
+
* Refuse a set of definitions naming one attribute more than once.
|
|
8
|
+
*
|
|
9
|
+
* A request that defines an attribute twice does not say which definition it
|
|
10
|
+
* meant, whether or not the two agree, so both CreateTable and UpdateTable
|
|
11
|
+
* refuse one in the same words.
|
|
12
|
+
*/
|
|
13
|
+
export declare function assertSimDynamoDbDistinctAttributeNames(elements: readonly SimDynamoDbAttributeDefinition[]): void;
|
|
14
|
+
//# sourceMappingURL=sim-dynamodb-attribute-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-attribute-definition.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-attribute-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,mCAAmC,EAEpC,MAAM,iCAAiC,CAAC;AAKzC;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,mCAAmC,GAC9C,8BAA8B,CAoBhC;AAED;;;;;;GAMG;AACH,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,SAAS,8BAA8B,EAAE,GAClD,IAAI,CAQN"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { SimDynamoDbValidationException } from "../error/dynamodb.error.js";
|
|
2
|
+
const scalarAttributeTypes = new Set(["S", "N", "B"]);
|
|
3
|
+
/**
|
|
4
|
+
* Read one attribute definition a request carries.
|
|
5
|
+
*/
|
|
6
|
+
export function readSimDynamoDbAttributeDefinition(definition) {
|
|
7
|
+
const { AttributeName: name, AttributeType: type } = definition;
|
|
8
|
+
if (name === undefined || name === "") {
|
|
9
|
+
throw new SimDynamoDbValidationException("An AttributeDefinition has no AttributeName");
|
|
10
|
+
}
|
|
11
|
+
if (type === undefined || !scalarAttributeTypes.has(type)) {
|
|
12
|
+
throw new SimDynamoDbValidationException(`AttributeDefinition for ${name} has AttributeType '${type ?? ""}'. A ` +
|
|
13
|
+
`key attribute is one of S, N or B.`);
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
AttributeName: name,
|
|
17
|
+
AttributeType: type,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Refuse a set of definitions naming one attribute more than once.
|
|
22
|
+
*
|
|
23
|
+
* A request that defines an attribute twice does not say which definition it
|
|
24
|
+
* meant, whether or not the two agree, so both CreateTable and UpdateTable
|
|
25
|
+
* refuse one in the same words.
|
|
26
|
+
*/
|
|
27
|
+
export function assertSimDynamoDbDistinctAttributeNames(elements) {
|
|
28
|
+
const names = new Set(elements.map((element) => element.AttributeName));
|
|
29
|
+
if (names.size !== elements.length) {
|
|
30
|
+
throw new SimDynamoDbValidationException("AttributeDefinitions names an attribute more than once");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=sim-dynamodb-attribute-definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-attribute-definition.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-attribute-definition.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAE5E,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,UAAU,kCAAkC,CAChD,UAA+C;IAE/C,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IAEhE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,8BAA8B,CACtC,6CAA6C,CAC9C,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,8BAA8B,CACtC,2BAA2B,IAAI,uBAAuB,IAAI,IAAI,EAAE,OAAO;YACrE,oCAAoC,CACvC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,IAAsC;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uCAAuC,CACrD,QAAmD;IAEnD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAExE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,8BAA8B,CACtC,wDAAwD,CACzD,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -14,6 +14,27 @@ export declare class SimDynamoDbAttributeDefinitions {
|
|
|
14
14
|
* Read the attribute definitions a CreateTable request carries.
|
|
15
15
|
*/
|
|
16
16
|
static fromInput(input: readonly SimDynamoDbAttributeDefinitionInput[] | undefined): SimDynamoDbAttributeDefinitions;
|
|
17
|
+
/**
|
|
18
|
+
* These definitions with the ones an UpdateTable request adds.
|
|
19
|
+
*
|
|
20
|
+
* UpdateTable is the only chance to declare the key attributes of an index it
|
|
21
|
+
* is adding, so what it carries is added to what the table already has rather
|
|
22
|
+
* than replacing it. Redeclaring an attribute as another type is refused,
|
|
23
|
+
* since the items already holding it would no longer be readable by an index
|
|
24
|
+
* keyed on it.
|
|
25
|
+
*
|
|
26
|
+
* The result is a set of its own rather than a change to this one, so a
|
|
27
|
+
* request that turns out to be invalid leaves the table's definitions alone.
|
|
28
|
+
*/
|
|
29
|
+
with(input: readonly SimDynamoDbAttributeDefinitionInput[] | undefined): SimDynamoDbAttributeDefinitions;
|
|
30
|
+
/**
|
|
31
|
+
* Refuse a key schema naming an attribute these definitions do not define.
|
|
32
|
+
*
|
|
33
|
+
* This is one half of what CreateTable checks. UpdateTable checks only this
|
|
34
|
+
* half, since a definition the table already carries for an index that has
|
|
35
|
+
* since been deleted is not something the request did wrong.
|
|
36
|
+
*/
|
|
37
|
+
assertDefines(keySchema: SimDynamoDbKeySchema): void;
|
|
17
38
|
/**
|
|
18
39
|
* The type declared for an attribute.
|
|
19
40
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-attribute-definitions.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-attribute-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,mCAAmC,EACnC,8BAA8B,EAC/B,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-attribute-definitions.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-attribute-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,mCAAmC,EACnC,8BAA8B,EAC/B,MAAM,iCAAiC,CAAC;AAOzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;;;;GAMG;AACH,qBAAa,+BAA+B;IAC1C,SAAgB,QAAQ,EAAE,SAAS,8BAA8B,EAAE,CAAC;IAEpE,OAAO,eAEN;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACd,KAAK,EAAE,SAAS,mCAAmC,EAAE,GAAG,SAAS,GAChE,+BAA+B,CAajC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,CACF,KAAK,EAAE,SAAS,mCAAmC,EAAE,GAAG,SAAS,GAChE,+BAA+B,CAgCjC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAanD;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,8BAA8B,CAQ5D;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAsB/D;CACF"}
|
|
@@ -1,23 +1,6 @@
|
|
|
1
1
|
import { assertDefined } from "../../../util/type-guard/defined.js";
|
|
2
2
|
import { SimDynamoDbValidationException } from "../error/dynamodb.error.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Read one attribute definition a request carries.
|
|
6
|
-
*/
|
|
7
|
-
function attributeDefinition(definition) {
|
|
8
|
-
const { AttributeName: name, AttributeType: type } = definition;
|
|
9
|
-
if (name === undefined || name === "") {
|
|
10
|
-
throw new SimDynamoDbValidationException("An AttributeDefinition has no AttributeName");
|
|
11
|
-
}
|
|
12
|
-
if (type === undefined || !scalarAttributeTypes.has(type)) {
|
|
13
|
-
throw new SimDynamoDbValidationException(`AttributeDefinition for ${name} has AttributeType '${type ?? ""}'. A ` +
|
|
14
|
-
`key attribute is one of S, N or B.`);
|
|
15
|
-
}
|
|
16
|
-
return {
|
|
17
|
-
AttributeName: name,
|
|
18
|
-
AttributeType: type,
|
|
19
|
-
};
|
|
20
|
-
}
|
|
3
|
+
import { assertSimDynamoDbDistinctAttributeNames, readSimDynamoDbAttributeDefinition, } from "./sim-dynamodb-attribute-definition.js";
|
|
21
4
|
/**
|
|
22
5
|
* The attributes a simulated table's keys are made of.
|
|
23
6
|
*
|
|
@@ -37,13 +20,59 @@ export class SimDynamoDbAttributeDefinitions {
|
|
|
37
20
|
if (input === undefined || input.length === 0) {
|
|
38
21
|
throw new SimDynamoDbValidationException("An AttributeDefinitions entry is required for every key attribute");
|
|
39
22
|
}
|
|
40
|
-
const elements = input.map((definition) =>
|
|
41
|
-
|
|
42
|
-
if (names.size !== elements.length) {
|
|
43
|
-
throw new SimDynamoDbValidationException("AttributeDefinitions names an attribute more than once");
|
|
44
|
-
}
|
|
23
|
+
const elements = input.map((definition) => readSimDynamoDbAttributeDefinition(definition));
|
|
24
|
+
assertSimDynamoDbDistinctAttributeNames(elements);
|
|
45
25
|
return new this(elements);
|
|
46
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* These definitions with the ones an UpdateTable request adds.
|
|
29
|
+
*
|
|
30
|
+
* UpdateTable is the only chance to declare the key attributes of an index it
|
|
31
|
+
* is adding, so what it carries is added to what the table already has rather
|
|
32
|
+
* than replacing it. Redeclaring an attribute as another type is refused,
|
|
33
|
+
* since the items already holding it would no longer be readable by an index
|
|
34
|
+
* keyed on it.
|
|
35
|
+
*
|
|
36
|
+
* The result is a set of its own rather than a change to this one, so a
|
|
37
|
+
* request that turns out to be invalid leaves the table's definitions alone.
|
|
38
|
+
*/
|
|
39
|
+
with(input) {
|
|
40
|
+
if (input === undefined || input.length === 0) {
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
const added = input.map((definition) => readSimDynamoDbAttributeDefinition(definition));
|
|
44
|
+
assertSimDynamoDbDistinctAttributeNames(added);
|
|
45
|
+
const elements = [...this.elements];
|
|
46
|
+
for (const definition of added) {
|
|
47
|
+
const existing = elements.find((element) => element.AttributeName === definition.AttributeName);
|
|
48
|
+
if (existing === undefined) {
|
|
49
|
+
elements.push(definition);
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (existing.AttributeType !== definition.AttributeType) {
|
|
53
|
+
throw new SimDynamoDbValidationException(`AttributeDefinitions redefines the attribute ` +
|
|
54
|
+
`${definition.AttributeName} as ${definition.AttributeType}, and ` +
|
|
55
|
+
`the table already defines it as ${existing.AttributeType}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return new SimDynamoDbAttributeDefinitions(elements);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Refuse a key schema naming an attribute these definitions do not define.
|
|
62
|
+
*
|
|
63
|
+
* This is one half of what CreateTable checks. UpdateTable checks only this
|
|
64
|
+
* half, since a definition the table already carries for an index that has
|
|
65
|
+
* since been deleted is not something the request did wrong.
|
|
66
|
+
*/
|
|
67
|
+
assertDefines(keySchema) {
|
|
68
|
+
const definedNames = new Set(this.elements.map((element) => element.AttributeName));
|
|
69
|
+
for (const keyName of keySchema.attributeNames()) {
|
|
70
|
+
if (!definedNames.has(keyName)) {
|
|
71
|
+
throw new SimDynamoDbValidationException(`The KeySchema${keySchema.subject.owner} names the attribute ` +
|
|
72
|
+
`${keyName}, which has no AttributeDefinition`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
47
76
|
/**
|
|
48
77
|
* The type declared for an attribute.
|
|
49
78
|
*
|
|
@@ -68,12 +97,9 @@ export class SimDynamoDbAttributeDefinitions {
|
|
|
68
97
|
const definedNames = new Set(this.elements.map((element) => element.AttributeName));
|
|
69
98
|
const keyNames = new Set();
|
|
70
99
|
for (const keySchema of keySchemas) {
|
|
100
|
+
this.assertDefines(keySchema);
|
|
71
101
|
for (const keyName of keySchema.attributeNames()) {
|
|
72
102
|
keyNames.add(keyName);
|
|
73
|
-
if (!definedNames.has(keyName)) {
|
|
74
|
-
throw new SimDynamoDbValidationException(`The KeySchema${keySchema.subject.owner} names the attribute ` +
|
|
75
|
-
`${keyName}, which has no AttributeDefinition`);
|
|
76
|
-
}
|
|
77
103
|
}
|
|
78
104
|
}
|
|
79
105
|
for (const definedName of definedNames) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-attribute-definitions.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-attribute-definitions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-attribute-definitions.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-attribute-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SimDynamoDbGlobalSecondaryIndexUpdateInput, SimDynamoDbSecondaryIndexInput } from "../command/table/table.types.js";
|
|
2
|
+
/**
|
|
3
|
+
* What an UpdateTable request asks to do to a table's global secondary indexes.
|
|
4
|
+
*
|
|
5
|
+
* AWS takes one index creation or one index deletion per call, so this holds at
|
|
6
|
+
* most one of either. The entry is read but not resolved into an index here:
|
|
7
|
+
* what an index is allowed to be depends on the table it is going onto, which
|
|
8
|
+
* is where that is decided.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SimDynamoDbIndexUpdate {
|
|
11
|
+
readonly created: SimDynamoDbSecondaryIndexInput | undefined;
|
|
12
|
+
readonly deletedName: string | undefined;
|
|
13
|
+
private constructor();
|
|
14
|
+
/**
|
|
15
|
+
* Read the `GlobalSecondaryIndexUpdates` an UpdateTable request carries.
|
|
16
|
+
*/
|
|
17
|
+
static fromInput(input: readonly SimDynamoDbGlobalSecondaryIndexUpdateInput[] | undefined): SimDynamoDbIndexUpdate;
|
|
18
|
+
/**
|
|
19
|
+
* Whether this asks for anything at all.
|
|
20
|
+
*/
|
|
21
|
+
get isEmpty(): boolean;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=sim-dynamodb-index-update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-index-update.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-index-update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0CAA0C,EAC1C,8BAA8B,EAC/B,MAAM,iCAAiC,CAAC;AAwEzC;;;;;;;GAOG;AACH,qBAAa,sBAAsB;IACjC,SAAgB,OAAO,EAAE,8BAA8B,GAAG,SAAS,CAAC;IACpE,SAAgB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhD,OAAO,eAGN;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACd,KAAK,EAAE,SAAS,0CAA0C,EAAE,GAAG,SAAS,GACvE,sBAAsB,CAuBxB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { SimDynamoDbUnsupportedOperation, SimDynamoDbValidationException, } from "../error/dynamodb.error.js";
|
|
2
|
+
import { readSimDynamoDbIndexName } from "../secondary-index/sim-dynamodb-index-name.js";
|
|
3
|
+
/**
|
|
4
|
+
* Refuse an entry that does not name exactly one thing to do.
|
|
5
|
+
*
|
|
6
|
+
* One `GlobalSecondaryIndexUpdates` entry is one action. An entry carrying two
|
|
7
|
+
* of them does not say which was meant, and one carrying none asks for nothing.
|
|
8
|
+
*/
|
|
9
|
+
function assertOneAction(entry) {
|
|
10
|
+
const actions = [entry.Create, entry.Delete, entry.Update].filter((action) => action !== undefined);
|
|
11
|
+
if (actions.length !== 1) {
|
|
12
|
+
throw new SimDynamoDbValidationException("One or more parameter values were invalid: a " +
|
|
13
|
+
"GlobalSecondaryIndexUpdates entry names exactly one of Create, " +
|
|
14
|
+
"Delete or Update");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Refuse the throughput change to an existing index that is not simulated.
|
|
19
|
+
*
|
|
20
|
+
* A per-index capacity is read and reported here but enforces nothing, so
|
|
21
|
+
* changing one would move a number that nothing acts on. It is refused rather
|
|
22
|
+
* than applied, so a test cannot come to rely on a change this simulation does
|
|
23
|
+
* not really make.
|
|
24
|
+
*/
|
|
25
|
+
function refuseIndexThroughputUpdate(entry) {
|
|
26
|
+
if (entry.Update === undefined) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
throw new SimDynamoDbUnsupportedOperation("Changing the provisioned capacity of an existing global secondary index " +
|
|
30
|
+
"is not simulated, so UpdateTable refuses a GlobalSecondaryIndexUpdates " +
|
|
31
|
+
"Update rather than reporting a capacity nothing here applies");
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The index name a `Delete` entry names.
|
|
35
|
+
*
|
|
36
|
+
* It is read the way an index name is read everywhere else, so a name DynamoDB
|
|
37
|
+
* would refuse is refused here rather than looked up and not found.
|
|
38
|
+
*/
|
|
39
|
+
function deletedIndexName(entry) {
|
|
40
|
+
if (entry.Delete === undefined) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
return readSimDynamoDbIndexName(entry.Delete.IndexName);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* What an UpdateTable request asks to do to a table's global secondary indexes.
|
|
47
|
+
*
|
|
48
|
+
* AWS takes one index creation or one index deletion per call, so this holds at
|
|
49
|
+
* most one of either. The entry is read but not resolved into an index here:
|
|
50
|
+
* what an index is allowed to be depends on the table it is going onto, which
|
|
51
|
+
* is where that is decided.
|
|
52
|
+
*/
|
|
53
|
+
export class SimDynamoDbIndexUpdate {
|
|
54
|
+
created;
|
|
55
|
+
deletedName;
|
|
56
|
+
constructor(properties) {
|
|
57
|
+
this.created = properties.created;
|
|
58
|
+
this.deletedName = properties.deletedName;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Read the `GlobalSecondaryIndexUpdates` an UpdateTable request carries.
|
|
62
|
+
*/
|
|
63
|
+
static fromInput(input) {
|
|
64
|
+
const entries = input ?? [];
|
|
65
|
+
for (const entry of entries) {
|
|
66
|
+
assertOneAction(entry);
|
|
67
|
+
refuseIndexThroughputUpdate(entry);
|
|
68
|
+
}
|
|
69
|
+
const created = entries
|
|
70
|
+
.map((entry) => entry.Create)
|
|
71
|
+
.filter((entry) => entry !== undefined);
|
|
72
|
+
const deleted = entries
|
|
73
|
+
.map((entry) => deletedIndexName(entry))
|
|
74
|
+
.filter((name) => name !== undefined);
|
|
75
|
+
if (created.length + deleted.length > 1) {
|
|
76
|
+
throw new SimDynamoDbValidationException("You can create or delete only one global secondary index per " +
|
|
77
|
+
"UpdateTable operation");
|
|
78
|
+
}
|
|
79
|
+
return new this({ created: created.at(0), deletedName: deleted.at(0) });
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Whether this asks for anything at all.
|
|
83
|
+
*/
|
|
84
|
+
get isEmpty() {
|
|
85
|
+
return this.created === undefined && this.deletedName === undefined;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=sim-dynamodb-index-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-index-update.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-index-update.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAOzF;;;;;GAKG;AACH,SAAS,eAAe,CACtB,KAAiD;IAEjD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAC/D,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CACjC,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,8BAA8B,CACtC,+CAA+C;YAC7C,iEAAiE;YACjE,kBAAkB,CACrB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,2BAA2B,CAClC,KAAiD;IAEjD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,IAAI,+BAA+B,CACvC,0EAA0E;QACxE,yEAAyE;QACzE,8DAA8D,CACjE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,KAAiD;IAEjD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,sBAAsB;IACjB,OAAO,CAA6C;IACpD,WAAW,CAAqB;IAEhD,YAAoB,UAA4C;QAC9D,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACd,KAAwE;QAExE,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;QAE5B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,OAAO,GAAG,OAAO;aACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;aAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,OAAO;aACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAExC,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,8BAA8B,CACtC,+DAA+D;gBAC7D,uBAAuB,CAC1B,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;IACtE,CAAC;CACF"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { SimDynamoDbKeyCondition } from "../expression/key-condition/sim-dynamodb-key-condition.js";
|
|
2
2
|
import type { SimDynamoDbItem } from "../item/sim-dynamodb-item.js";
|
|
3
3
|
import type { SimDynamoDbKeySchema } from "./sim-dynamodb-key-schema.js";
|
|
4
|
+
import type { SimDynamoDbSortKeyOrder } from "./sim-dynamodb-sort-key-order.js";
|
|
4
5
|
interface SimDynamoDbItemCollectionProperties {
|
|
5
6
|
readonly items: Iterable<SimDynamoDbItem>;
|
|
6
7
|
readonly keySchema: SimDynamoDbKeySchema;
|
|
8
|
+
readonly order: SimDynamoDbSortKeyOrder;
|
|
7
9
|
readonly keyCondition: SimDynamoDbKeyCondition;
|
|
8
10
|
}
|
|
9
11
|
interface SimDynamoDbItemCollectionWalk {
|
|
@@ -18,6 +20,11 @@ interface SimDynamoDbItemCollectionWalk {
|
|
|
18
20
|
* it is read rather than kept that way. Real DynamoDB keeps a collection in
|
|
19
21
|
* sort key order, and a query reads the same items in the same order either
|
|
20
22
|
* way.
|
|
23
|
+
*
|
|
24
|
+
* The key schema is the one being read by, which for a query on an index is the
|
|
25
|
+
* index's own rather than the table's. The order comes in alongside it, since
|
|
26
|
+
* what separates two items sharing a sort key is the view's business rather
|
|
27
|
+
* than the collection's.
|
|
21
28
|
*/
|
|
22
29
|
export declare class SimDynamoDbItemCollection {
|
|
23
30
|
private readonly order;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-item-collection.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-item-collection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2DAA2D,CAAC;AACzG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-item-collection.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-item-collection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2DAA2D,CAAC;AACzG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;CAChD;AAED,UAAU,6BAA6B;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CAC9C;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IAEvD,YAAY,UAAU,EAAE,mCAAmC,EAS1D;IAED;;;OAGG;IACH,IAAI,CAAC,UAAU,EAAE,6BAA6B,GAAG,SAAS,eAAe,EAAE,CAS1E;IAED;;;OAGG;IACH,OAAO,CAAC,KAAK;IAeb;;OAEG;IACH,OAAO,CAAC,OAAO;CAOhB"}
|