@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
|
@@ -1,18 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
/**
|
|
3
|
-
* Build the error a property of an AWS::DynamoDB::Table Resource is refused
|
|
4
|
-
* with.
|
|
5
|
-
*
|
|
6
|
-
* The wording matters. Sim CloudFormation skips a Resource whose error reads as
|
|
7
|
-
* an unsupported Resource type, and skipping is the wrong answer for a table
|
|
8
|
-
* the template described in a way it cannot be created: nothing is missing from
|
|
9
|
-
* the simulation, the template is wrong, and the same template would fail on
|
|
10
|
-
* real CloudFormation.
|
|
11
|
-
*/
|
|
12
|
-
export declare function dynamoDbTablePropertyError(logicalId: string, reason: string): Error;
|
|
1
|
+
import type { SimCfnDynamoDbTableValues } from "./sim-cfn-dynamodb-table-values.js";
|
|
13
2
|
interface SimCfnDynamoDbTablePropertyRulesProperties {
|
|
14
3
|
readonly logicalId: string;
|
|
15
|
-
readonly
|
|
4
|
+
readonly values: SimCfnDynamoDbTableValues;
|
|
16
5
|
}
|
|
17
6
|
/**
|
|
18
7
|
* Which AWS::DynamoDB::Table properties simulated DynamoDB can act on.
|
|
@@ -22,10 +11,13 @@ interface SimCfnDynamoDbTablePropertyRulesProperties {
|
|
|
22
11
|
* was left out. Anything that is not an AWS::DynamoDB::Table property at all
|
|
23
12
|
* fails the Resource instead, because that is a template real CloudFormation
|
|
24
13
|
* would refuse too.
|
|
14
|
+
*
|
|
15
|
+
* The two index properties carry properties of their own, which are held to the
|
|
16
|
+
* same rule a level down.
|
|
25
17
|
*/
|
|
26
18
|
export declare class SimCfnDynamoDbTablePropertyRules {
|
|
27
19
|
private readonly logicalId;
|
|
28
|
-
private readonly
|
|
20
|
+
private readonly values;
|
|
29
21
|
constructor(properties: SimCfnDynamoDbTablePropertyRulesProperties);
|
|
30
22
|
/**
|
|
31
23
|
* Refuse everything about this Resource that is not simulated.
|
|
@@ -33,13 +25,9 @@ export declare class SimCfnDynamoDbTablePropertyRules {
|
|
|
33
25
|
assertSimulated(): void;
|
|
34
26
|
private assertSimulatedProperty;
|
|
35
27
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* The "Unsupported sim ... CloudFormation" wording is what marks the Resource
|
|
39
|
-
* as skipped rather than failing the stack, so the rest of the template still
|
|
40
|
-
* deploys and the skip reason names the property.
|
|
28
|
+
* Refuse what the entries of the two index properties ask for and cannot get.
|
|
41
29
|
*/
|
|
42
|
-
private
|
|
30
|
+
private assertSimulatedIndexes;
|
|
43
31
|
}
|
|
44
32
|
export {};
|
|
45
33
|
//# sourceMappingURL=sim-cfn-dynamodb-table-property-rules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-dynamodb-table-property-rules.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-table-property-rules.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AA0CpF,UAAU,0CAA0C;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;CAC5C;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,gCAAgC;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IAEnD,YAAY,UAAU,EAAE,0CAA0C,EAGjE;IAED;;OAEG;IACH,eAAe,IAAI,IAAI,CAMtB;IAED,OAAO,CAAC,uBAAuB;IAe/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAQ/B"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { SimCfnDynamoDbTableIndexRules } from "./sim-cfn-dynamodb-table-index-rules.js";
|
|
2
|
+
import { dynamoDbTablePropertyError, dynamoDbTableUnsimulatedPropertyError, } from "./sim-cfn-dynamodb-table-property-error.js";
|
|
1
3
|
/**
|
|
2
4
|
* The AWS::DynamoDB::Table properties this simulation acts on.
|
|
3
5
|
*
|
|
@@ -9,7 +11,9 @@ const simulatedPropertyNames = new Set([
|
|
|
9
11
|
"AttributeDefinitions",
|
|
10
12
|
"BillingMode",
|
|
11
13
|
"DeletionProtectionEnabled",
|
|
14
|
+
"GlobalSecondaryIndexes",
|
|
12
15
|
"KeySchema",
|
|
16
|
+
"LocalSecondaryIndexes",
|
|
13
17
|
"ProvisionedThroughput",
|
|
14
18
|
"TableClass",
|
|
15
19
|
"TableName",
|
|
@@ -19,16 +23,14 @@ const simulatedPropertyNames = new Set([
|
|
|
19
23
|
/**
|
|
20
24
|
* Real AWS::DynamoDB::Table properties this simulation does not model.
|
|
21
25
|
*
|
|
22
|
-
* Each one changes what the table does. A table deployed without its
|
|
23
|
-
*
|
|
24
|
-
* than deployed as something else.
|
|
26
|
+
* Each one changes what the table does. A table deployed without the stream its
|
|
27
|
+
* changes were meant to be published to would leave whatever reads that stream
|
|
28
|
+
* waiting, so the Resource is skipped rather than deployed as something else.
|
|
25
29
|
*/
|
|
26
30
|
const unsimulatedPropertyNames = new Set([
|
|
27
31
|
"ContributorInsightsSpecification",
|
|
28
|
-
"GlobalSecondaryIndexes",
|
|
29
32
|
"ImportSourceSpecification",
|
|
30
33
|
"KinesisStreamSpecification",
|
|
31
|
-
"LocalSecondaryIndexes",
|
|
32
34
|
"OnDemandThroughput",
|
|
33
35
|
"PointInTimeRecoverySpecification",
|
|
34
36
|
"ResourcePolicy",
|
|
@@ -36,19 +38,6 @@ const unsimulatedPropertyNames = new Set([
|
|
|
36
38
|
"StreamSpecification",
|
|
37
39
|
"WarmThroughput",
|
|
38
40
|
]);
|
|
39
|
-
/**
|
|
40
|
-
* Build the error a property of an AWS::DynamoDB::Table Resource is refused
|
|
41
|
-
* with.
|
|
42
|
-
*
|
|
43
|
-
* The wording matters. Sim CloudFormation skips a Resource whose error reads as
|
|
44
|
-
* an unsupported Resource type, and skipping is the wrong answer for a table
|
|
45
|
-
* the template described in a way it cannot be created: nothing is missing from
|
|
46
|
-
* the simulation, the template is wrong, and the same template would fail on
|
|
47
|
-
* real CloudFormation.
|
|
48
|
-
*/
|
|
49
|
-
export function dynamoDbTablePropertyError(logicalId, reason) {
|
|
50
|
-
return new Error(`Invalid AWS::DynamoDB::Table Resource ${logicalId}: ${reason}`);
|
|
51
|
-
}
|
|
52
41
|
/**
|
|
53
42
|
* Which AWS::DynamoDB::Table properties simulated DynamoDB can act on.
|
|
54
43
|
*
|
|
@@ -57,43 +46,41 @@ export function dynamoDbTablePropertyError(logicalId, reason) {
|
|
|
57
46
|
* was left out. Anything that is not an AWS::DynamoDB::Table property at all
|
|
58
47
|
* fails the Resource instead, because that is a template real CloudFormation
|
|
59
48
|
* would refuse too.
|
|
49
|
+
*
|
|
50
|
+
* The two index properties carry properties of their own, which are held to the
|
|
51
|
+
* same rule a level down.
|
|
60
52
|
*/
|
|
61
53
|
export class SimCfnDynamoDbTablePropertyRules {
|
|
62
54
|
logicalId;
|
|
63
|
-
|
|
55
|
+
values;
|
|
64
56
|
constructor(properties) {
|
|
65
57
|
this.logicalId = properties.logicalId;
|
|
66
|
-
this.
|
|
58
|
+
this.values = properties.values;
|
|
67
59
|
}
|
|
68
60
|
/**
|
|
69
61
|
* Refuse everything about this Resource that is not simulated.
|
|
70
62
|
*/
|
|
71
63
|
assertSimulated() {
|
|
72
|
-
for (const name of
|
|
64
|
+
for (const name of this.values.names) {
|
|
73
65
|
this.assertSimulatedProperty(name);
|
|
74
66
|
}
|
|
67
|
+
this.assertSimulatedIndexes();
|
|
75
68
|
}
|
|
76
69
|
assertSimulatedProperty(name) {
|
|
77
70
|
if (simulatedPropertyNames.has(name)) {
|
|
78
71
|
return;
|
|
79
72
|
}
|
|
80
73
|
if (unsimulatedPropertyNames.has(name)) {
|
|
81
|
-
throw this.
|
|
74
|
+
throw dynamoDbTableUnsimulatedPropertyError(this.logicalId, name);
|
|
82
75
|
}
|
|
83
76
|
throw dynamoDbTablePropertyError(this.logicalId, `${name} is not an AWS::DynamoDB::Table property`);
|
|
84
77
|
}
|
|
85
78
|
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* The "Unsupported sim ... CloudFormation" wording is what marks the Resource
|
|
89
|
-
* as skipped rather than failing the stack, so the rest of the template still
|
|
90
|
-
* deploys and the skip reason names the property.
|
|
79
|
+
* Refuse what the entries of the two index properties ask for and cannot get.
|
|
91
80
|
*/
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
`DynamoDB does not simulate, so the table is skipped rather than ` +
|
|
96
|
-
`created without it`);
|
|
81
|
+
assertSimulatedIndexes() {
|
|
82
|
+
SimCfnDynamoDbTableIndexRules.global(this.logicalId).assertSimulated(this.values.list("GlobalSecondaryIndexes"));
|
|
83
|
+
SimCfnDynamoDbTableIndexRules.local(this.logicalId).assertSimulated(this.values.list("LocalSecondaryIndexes"));
|
|
97
84
|
}
|
|
98
85
|
}
|
|
99
86
|
//# sourceMappingURL=sim-cfn-dynamodb-table-property-rules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-dynamodb-table-property-rules.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-table-property-rules.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,qCAAqC,GACtC,MAAM,4CAA4C,CAAC;AAGpD;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IAC1D,sBAAsB;IACtB,aAAa;IACb,2BAA2B;IAC3B,wBAAwB;IACxB,WAAW;IACX,uBAAuB;IACvB,uBAAuB;IACvB,YAAY;IACZ,WAAW;IACX,MAAM;IACN,yBAAyB;CAC1B,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,kCAAkC;IAClC,2BAA2B;IAC3B,4BAA4B;IAC5B,oBAAoB;IACpB,kCAAkC;IAClC,gBAAgB;IAChB,kBAAkB;IAClB,qBAAqB;IACrB,gBAAgB;CACjB,CAAC,CAAC;AAOH;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,gCAAgC;IAC1B,SAAS,CAAS;IAClB,MAAM,CAA4B;IAEnD,YAAY,UAAsD;QAChE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAEO,uBAAuB,CAAC,IAAY;QAC1C,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,qCAAqC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,0BAA0B,CAC9B,IAAI,CAAC,SAAS,EACd,GAAG,IAAI,0CAA0C,CAClD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,CAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAC3C,CAAC;QACF,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,CACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAC1C,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SimDynamoDbProvisionedThroughput } from "../../command/table/table.types.js";
|
|
2
|
+
import type { SimCfnDynamoDbTableValues } from "./sim-cfn-dynamodb-table-values.js";
|
|
3
|
+
/**
|
|
4
|
+
* Read the capacity a `ProvisionedThroughput` property asks for.
|
|
5
|
+
*
|
|
6
|
+
* A table and each of its global secondary indexes are provisioned separately
|
|
7
|
+
* and state it the same way, so both are read here rather than each carrying a
|
|
8
|
+
* copy of the shape.
|
|
9
|
+
*/
|
|
10
|
+
export declare function readSimCfnDynamoDbThroughput(values: SimCfnDynamoDbTableValues): SimDynamoDbProvisionedThroughput | undefined;
|
|
11
|
+
//# sourceMappingURL=sim-cfn-dynamodb-table-throughput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-table-throughput.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEpF;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,yBAAyB,GAChC,gCAAgC,GAAG,SAAS,CAW9C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read the capacity a `ProvisionedThroughput` property asks for.
|
|
3
|
+
*
|
|
4
|
+
* A table and each of its global secondary indexes are provisioned separately
|
|
5
|
+
* and state it the same way, so both are read here rather than each carrying a
|
|
6
|
+
* copy of the shape.
|
|
7
|
+
*/
|
|
8
|
+
export function readSimCfnDynamoDbThroughput(values) {
|
|
9
|
+
const throughput = values.object("ProvisionedThroughput");
|
|
10
|
+
if (throughput === undefined) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
ReadCapacityUnits: throughput.number("ReadCapacityUnits"),
|
|
15
|
+
WriteCapacityUnits: throughput.number("WriteCapacityUnits"),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=sim-cfn-dynamodb-table-throughput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-table-throughput.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAAiC;IAEjC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAE1D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACzD,kBAAkB,EAAE,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC;KAC5D,CAAC;AACJ,CAAC"}
|
|
@@ -20,6 +20,10 @@ export declare class SimCfnDynamoDbTableValues {
|
|
|
20
20
|
private readonly entries;
|
|
21
21
|
private readonly path;
|
|
22
22
|
constructor(properties: SimCfnDynamoDbTableValuesProperties);
|
|
23
|
+
/**
|
|
24
|
+
* The names of the properties this object holds.
|
|
25
|
+
*/
|
|
26
|
+
get names(): readonly string[];
|
|
23
27
|
/**
|
|
24
28
|
* Read a property holding a list of objects, such as a key schema.
|
|
25
29
|
*
|
|
@@ -27,6 +31,15 @@ export declare class SimCfnDynamoDbTableValues {
|
|
|
27
31
|
* CreateTable then refuses in its own words.
|
|
28
32
|
*/
|
|
29
33
|
list(name: string): readonly SimCfnDynamoDbTableValues[];
|
|
34
|
+
/**
|
|
35
|
+
* Read a property holding a list of strings, such as the attributes an index
|
|
36
|
+
* projection names.
|
|
37
|
+
*
|
|
38
|
+
* A property the template leaves out reads as nothing rather than as an empty
|
|
39
|
+
* list, since the two say different things: an index projecting no named
|
|
40
|
+
* attributes is not the same as one that named none.
|
|
41
|
+
*/
|
|
42
|
+
strings(name: string): readonly string[] | undefined;
|
|
30
43
|
/**
|
|
31
44
|
* Read a property holding an object, where the template may leave it out.
|
|
32
45
|
*/
|
|
@@ -55,13 +68,13 @@ export declare class SimCfnDynamoDbTableValues {
|
|
|
55
68
|
*/
|
|
56
69
|
error(reason: string): Error;
|
|
57
70
|
/**
|
|
58
|
-
*
|
|
71
|
+
* The whole path a property sits at, for a refusal to name.
|
|
59
72
|
*/
|
|
60
|
-
|
|
73
|
+
pathTo(name: string): string;
|
|
61
74
|
/**
|
|
62
|
-
*
|
|
75
|
+
* A reader over a nested value, refusing one that is not an object.
|
|
63
76
|
*/
|
|
64
|
-
private
|
|
77
|
+
private reader;
|
|
65
78
|
}
|
|
66
79
|
export {};
|
|
67
80
|
//# sourceMappingURL=sim-cfn-dynamodb-table-values.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-dynamodb-table-values.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,kEAAkE,CAAC;AAG1E,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2C;IACnE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAE9B,YAAY,UAAU,EAAE,mCAAmC,EAI1D;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,yBAAyB,EAAE,CAcvD;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAQ1D;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYvC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBvC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAgBzC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAE3B;IAED;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-table-values.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,kEAAkE,CAAC;AAG1E,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2C;IACnE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAE9B,YAAY,UAAU,EAAE,mCAAmC,EAI1D;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,SAAS,MAAM,EAAE,CAE7B;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,yBAAyB,EAAE,CAcvD;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAoBnD;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAQ1D;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYvC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBvC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAgBzC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAE3B;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM3B;IAED;;OAEG;IACH,OAAO,CAAC,MAAM;CAcf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dynamoDbTablePropertyError } from "./sim-cfn-dynamodb-table-property-
|
|
1
|
+
import { dynamoDbTablePropertyError } from "./sim-cfn-dynamodb-table-property-error.js";
|
|
2
2
|
/**
|
|
3
3
|
* Reads the plain shapes an AWS::DynamoDB::Table property can hold.
|
|
4
4
|
*
|
|
@@ -19,6 +19,12 @@ export class SimCfnDynamoDbTableValues {
|
|
|
19
19
|
this.entries = new Map(Object.entries(properties.properties));
|
|
20
20
|
this.path = properties.path ?? "";
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* The names of the properties this object holds.
|
|
24
|
+
*/
|
|
25
|
+
get names() {
|
|
26
|
+
return this.entries.keys().toArray();
|
|
27
|
+
}
|
|
22
28
|
/**
|
|
23
29
|
* Read a property holding a list of objects, such as a key schema.
|
|
24
30
|
*
|
|
@@ -31,10 +37,33 @@ export class SimCfnDynamoDbTableValues {
|
|
|
31
37
|
return [];
|
|
32
38
|
}
|
|
33
39
|
if (!Array.isArray(value)) {
|
|
34
|
-
throw this.error(`${this.
|
|
40
|
+
throw this.error(`${this.pathTo(name)} must be a list`);
|
|
41
|
+
}
|
|
42
|
+
return value.map((element, index) => {
|
|
43
|
+
return this.reader(element, `${this.pathTo(name)}.${index.toString()}`);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Read a property holding a list of strings, such as the attributes an index
|
|
48
|
+
* projection names.
|
|
49
|
+
*
|
|
50
|
+
* A property the template leaves out reads as nothing rather than as an empty
|
|
51
|
+
* list, since the two say different things: an index projecting no named
|
|
52
|
+
* attributes is not the same as one that named none.
|
|
53
|
+
*/
|
|
54
|
+
strings(name) {
|
|
55
|
+
const value = this.entries.get(name);
|
|
56
|
+
if (value === undefined) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
if (!Array.isArray(value)) {
|
|
60
|
+
throw this.error(`${this.pathTo(name)} must be a list`);
|
|
35
61
|
}
|
|
36
62
|
return value.map((element, index) => {
|
|
37
|
-
|
|
63
|
+
if (typeof element !== "string") {
|
|
64
|
+
throw this.error(`${this.pathTo(name)}.${index.toString()} must be a string`);
|
|
65
|
+
}
|
|
66
|
+
return element;
|
|
38
67
|
});
|
|
39
68
|
}
|
|
40
69
|
/**
|
|
@@ -45,7 +74,7 @@ export class SimCfnDynamoDbTableValues {
|
|
|
45
74
|
if (value === undefined) {
|
|
46
75
|
return undefined;
|
|
47
76
|
}
|
|
48
|
-
return this.reader(value, this.
|
|
77
|
+
return this.reader(value, this.pathTo(name));
|
|
49
78
|
}
|
|
50
79
|
/**
|
|
51
80
|
* Read a property holding a string, where the template may leave it out.
|
|
@@ -56,7 +85,7 @@ export class SimCfnDynamoDbTableValues {
|
|
|
56
85
|
return undefined;
|
|
57
86
|
}
|
|
58
87
|
if (typeof value !== "string") {
|
|
59
|
-
throw this.error(`${this.
|
|
88
|
+
throw this.error(`${this.pathTo(name)} must be a string`);
|
|
60
89
|
}
|
|
61
90
|
return value;
|
|
62
91
|
}
|
|
@@ -80,7 +109,7 @@ export class SimCfnDynamoDbTableValues {
|
|
|
80
109
|
return parsed;
|
|
81
110
|
}
|
|
82
111
|
}
|
|
83
|
-
throw this.error(`${this.
|
|
112
|
+
throw this.error(`${this.pathTo(name)} must be a number`);
|
|
84
113
|
}
|
|
85
114
|
/**
|
|
86
115
|
* Read a property holding a boolean.
|
|
@@ -100,7 +129,7 @@ export class SimCfnDynamoDbTableValues {
|
|
|
100
129
|
if (value === false || value === "false") {
|
|
101
130
|
return false;
|
|
102
131
|
}
|
|
103
|
-
throw this.error(`${this.
|
|
132
|
+
throw this.error(`${this.pathTo(name)} must be true or false`);
|
|
104
133
|
}
|
|
105
134
|
/**
|
|
106
135
|
* Build the error this Resource is refused with.
|
|
@@ -108,6 +137,15 @@ export class SimCfnDynamoDbTableValues {
|
|
|
108
137
|
error(reason) {
|
|
109
138
|
return dynamoDbTablePropertyError(this.logicalId, reason);
|
|
110
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* The whole path a property sits at, for a refusal to name.
|
|
142
|
+
*/
|
|
143
|
+
pathTo(name) {
|
|
144
|
+
if (this.path === "") {
|
|
145
|
+
return name;
|
|
146
|
+
}
|
|
147
|
+
return `${this.path}.${name}`;
|
|
148
|
+
}
|
|
111
149
|
/**
|
|
112
150
|
* A reader over a nested value, refusing one that is not an object.
|
|
113
151
|
*/
|
|
@@ -121,14 +159,5 @@ export class SimCfnDynamoDbTableValues {
|
|
|
121
159
|
path,
|
|
122
160
|
});
|
|
123
161
|
}
|
|
124
|
-
/**
|
|
125
|
-
* The whole path a property sits at, for a refusal to name.
|
|
126
|
-
*/
|
|
127
|
-
at(name) {
|
|
128
|
-
if (this.path === "") {
|
|
129
|
-
return name;
|
|
130
|
-
}
|
|
131
|
-
return `${this.path}.${name}`;
|
|
132
|
-
}
|
|
133
162
|
}
|
|
134
163
|
//# sourceMappingURL=sim-cfn-dynamodb-table-values.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-cfn-dynamodb-table-values.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAQxF;;;;;;;;;;GAUG;AACH,MAAM,OAAO,yBAAyB;IACnB,SAAS,CAAS;IAClB,OAAO,CAA2C;IAClD,IAAI,CAAS;IAE9B,YAAY,UAA+C;QACzD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAY;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"sim-cfn-dynamodb-table-values.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { SimDynamoDbItem } from "../../item/sim-dynamodb-item.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { SimDynamoDbReadView } from "../../table/sim-dynamodb-read-view.js";
|
|
3
3
|
import type { SimDynamoDbAttributeValue } from "./item.types.js";
|
|
4
4
|
interface SimDynamoDbItemPageProperties {
|
|
5
5
|
/** The items the walk reached, already in the order they are read in. */
|
|
6
6
|
readonly items: readonly SimDynamoDbItem[];
|
|
7
7
|
readonly limit: number | undefined;
|
|
8
|
-
readonly
|
|
8
|
+
readonly view: SimDynamoDbReadView;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* One page of items, as a Query hands them out.
|
|
@@ -20,8 +20,10 @@ interface SimDynamoDbItemPageProperties {
|
|
|
20
20
|
* is absent therefore reads one empty page at the end. That is what real
|
|
21
21
|
* DynamoDB does: it cannot know the range is exhausted without looking past it.
|
|
22
22
|
*
|
|
23
|
-
* Scan pages the same way, so this takes items and
|
|
24
|
-
* query.
|
|
23
|
+
* Scan pages the same way, so this takes items and the view they came from
|
|
24
|
+
* rather than a query. The view is also what decides which key attributes the
|
|
25
|
+
* token carries: a read of an index names the item it stopped on by the index
|
|
26
|
+
* key and the table key together, since an index key is not unique.
|
|
25
27
|
*/
|
|
26
28
|
export declare class SimDynamoDbItemPage {
|
|
27
29
|
readonly items: readonly SimDynamoDbItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-item-page.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/item/sim-dynamodb-item-page.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-item-page.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/item/sim-dynamodb-item-page.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAwBjE,UAAU,6BAA6B;IACrC,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,SAAgB,gBAAgB,EAC9B,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,GAAG,SAAS,CAAC;IAExD,YAAY,UAAU,EAAE,6BAA6B,EAKpD;IAED;;;OAGG;IACH,OAAO,CAAC,QAAQ;CAYjB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { SimDynamoDbValidationException } from "../../error/dynamodb.error.js";
|
|
2
|
-
import { simDynamoDbPrimaryKeyAttributes } from "../../table/sim-dynamodb-primary-key.js";
|
|
3
2
|
/**
|
|
4
3
|
* Read the page size a request asks for.
|
|
5
4
|
*
|
|
@@ -30,8 +29,10 @@ function readLimit(limit) {
|
|
|
30
29
|
* is absent therefore reads one empty page at the end. That is what real
|
|
31
30
|
* DynamoDB does: it cannot know the range is exhausted without looking past it.
|
|
32
31
|
*
|
|
33
|
-
* Scan pages the same way, so this takes items and
|
|
34
|
-
* query.
|
|
32
|
+
* Scan pages the same way, so this takes items and the view they came from
|
|
33
|
+
* rather than a query. The view is also what decides which key attributes the
|
|
34
|
+
* token carries: a read of an index names the item it stopped on by the index
|
|
35
|
+
* key and the table key together, since an index key is not unique.
|
|
35
36
|
*/
|
|
36
37
|
export class SimDynamoDbItemPage {
|
|
37
38
|
items;
|
|
@@ -39,18 +40,18 @@ export class SimDynamoDbItemPage {
|
|
|
39
40
|
constructor(properties) {
|
|
40
41
|
const limit = readLimit(properties.limit);
|
|
41
42
|
this.items = properties.items.slice(0, limit);
|
|
42
|
-
this.lastEvaluatedKey = this.tokenFor(properties.
|
|
43
|
+
this.lastEvaluatedKey = this.tokenFor(properties.view, limit);
|
|
43
44
|
}
|
|
44
45
|
/**
|
|
45
46
|
* The key to resume from, when the walk stopped at the limit rather than at
|
|
46
47
|
* the end of the range.
|
|
47
48
|
*/
|
|
48
|
-
tokenFor(
|
|
49
|
+
tokenFor(view, limit) {
|
|
49
50
|
const last = this.items.at(-1);
|
|
50
51
|
if (last === undefined || this.items.length < limit) {
|
|
51
52
|
return undefined;
|
|
52
53
|
}
|
|
53
|
-
return
|
|
54
|
+
return view.tokenKey(last);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
//# sourceMappingURL=sim-dynamodb-item-page.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-item-page.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/item/sim-dynamodb-item-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-item-page.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/item/sim-dynamodb-item-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAK/E;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,KAAyB;IAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,8BAA8B,CACtC,SAAS,KAAK,CAAC,QAAQ,EAAE,0CAA0C;YACjE,UAAU,CACb,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AASD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,mBAAmB;IACd,KAAK,CAA6B;IAClC,gBAAgB,CACwB;IAExD,YAAY,UAAyC;QACnD,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACK,QAAQ,CACd,IAAyB,EACzB,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YACpD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { SimDynamoDbKeyCondition } from "../../expression/key-condition/sim-dynamodb-key-condition.js";
|
|
2
2
|
import { SimDynamoDbItem } from "../../item/sim-dynamodb-item.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SimDynamoDbReadView } from "../../table/sim-dynamodb-read-view.js";
|
|
4
4
|
import type { SimDynamoDbAttributeValue } from "../item/item.types.js";
|
|
5
5
|
interface SimDynamoDbQueryStartKeyProperties {
|
|
6
|
-
readonly
|
|
6
|
+
readonly view: SimDynamoDbReadView;
|
|
7
7
|
readonly keyCondition: SimDynamoDbKeyCondition;
|
|
8
8
|
readonly exclusiveStartKey: Readonly<Record<string, SimDynamoDbAttributeValue>> | undefined;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-query-start-key.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/query/sim-dynamodb-query-start-key.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-query-start-key.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/query/sim-dynamodb-query-start-key.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EACxB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,GAAG,SAAS,CAAC;CACnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,kCAAkC,GAC7C,eAAe,GAAG,SAAS,CAyB7B"}
|
|
@@ -15,7 +15,7 @@ import { simDynamoDbValuesEqual } from "../../item/sim-dynamodb-value-comparison
|
|
|
15
15
|
* rather than quietly reading from the start.
|
|
16
16
|
*/
|
|
17
17
|
export function readSimDynamoDbQueryStartKey(properties) {
|
|
18
|
-
const {
|
|
18
|
+
const { view, keyCondition } = properties;
|
|
19
19
|
const attributeValues = properties.exclusiveStartKey;
|
|
20
20
|
if (attributeValues === undefined) {
|
|
21
21
|
return undefined;
|
|
@@ -25,17 +25,18 @@ export function readSimDynamoDbQueryStartKey(properties) {
|
|
|
25
25
|
"names no attribute at all");
|
|
26
26
|
}
|
|
27
27
|
const startKey = SimDynamoDbItem.fromAttributeValues(attributeValues);
|
|
28
|
-
// Reading the key through the
|
|
29
|
-
// is what makes a token DynamoDB would refuse refused here too.
|
|
30
|
-
table.
|
|
31
|
-
|
|
28
|
+
// Reading the key through the view checks it against the key schema, which
|
|
29
|
+
// is what makes a token DynamoDB would refuse refused here too. A read of an
|
|
30
|
+
// index takes a token carrying the index key and the table key together.
|
|
31
|
+
view.assertStartKey(startKey);
|
|
32
|
+
assertSamePartition(startKey, view, keyCondition);
|
|
32
33
|
return startKey;
|
|
33
34
|
}
|
|
34
35
|
/**
|
|
35
36
|
* Refuse a token from an item collection other than the one being read.
|
|
36
37
|
*/
|
|
37
|
-
function assertSamePartition(startKey,
|
|
38
|
-
const attributeName =
|
|
38
|
+
function assertSamePartition(startKey, view, keyCondition) {
|
|
39
|
+
const attributeName = view.keySchema.hashKeyAttributeName;
|
|
39
40
|
const value = startKey.attribute(attributeName);
|
|
40
41
|
assertDefined(value, `partition key ${attributeName} of an ExclusiveStartKey`);
|
|
41
42
|
if (!simDynamoDbValuesEqual(value, keyCondition.partitionKeyValue)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-query-start-key.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/query/sim-dynamodb-query-start-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAWrF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAA8C;IAE9C,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-query-start-key.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/query/sim-dynamodb-query-start-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAWrF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAA8C;IAE9C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC;IAC1C,MAAM,eAAe,GAAG,UAAU,CAAC,iBAAiB,CAAC;IAErD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,8BAA8B,CACtC,oEAAoE;YAClE,2BAA2B,CAC9B,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAEtE,2EAA2E;IAC3E,6EAA6E;IAC7E,yEAAyE;IACzE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE9B,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAElD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,QAAyB,EACzB,IAAyB,EACzB,YAAqC;IAErC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;IAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAEhD,aAAa,CACX,KAAK,EACL,iBAAiB,aAAa,0BAA0B,CACzD,CAAC;IAEF,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,8BAA8B,CACtC,iDAAiD,aAAa,QAAQ;YACpE,uEAAuE,CAC1E,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-query.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/query/sim-dynamodb-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-query.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/query/sim-dynamodb-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAK1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAM5B,UAAU,0BAA0B;IAClC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC;AAED,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAEhD,YAAY,UAAU,EAAE,0BAA0B,EAEjD;IAED;;OAEG;IACH,MAAM,CACJ,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,uBAAuB,GAChC,qBAAqB,CAgEvB;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SimDynamoDbItemPage } from "../item/sim-dynamodb-item-page.js";
|
|
2
2
|
import { SimDynamoDbReadAnswer } from "../read/sim-dynamodb-read-answer.js";
|
|
3
|
+
import { assertSimDynamoDbConsistentReadAnswerable } from "../read/sim-dynamodb-consistent-read.js";
|
|
3
4
|
import { SimDynamoDbSelect } from "../read/sim-dynamodb-select.js";
|
|
4
5
|
import { readSimDynamoDbQueryExpressions } from "./sim-dynamodb-query-expressions.js";
|
|
5
6
|
import { refuseSimDynamoDbQuerySegment } from "./sim-dynamodb-query-segment.js";
|
|
@@ -30,31 +31,42 @@ export class SimDynamoDbQuery {
|
|
|
30
31
|
refuseSimDynamoDbQuerySegment(input);
|
|
31
32
|
const expressions = readSimDynamoDbQueryExpressions(input);
|
|
32
33
|
const table = this.access.required("dynamodb:Query", input.TableName, options?.caller);
|
|
33
|
-
|
|
34
|
+
// What is being read is settled here: the table, or one of its indexes. An
|
|
35
|
+
// IndexName the table does not have is refused rather than read as the
|
|
36
|
+
// table. Everything after this asks the view rather than the table, so a
|
|
37
|
+
// query of an index is the same query against a narrower thing.
|
|
38
|
+
const view = table.view(input.IndexName);
|
|
39
|
+
// Whether a strongly consistent read is answerable depends on which of the
|
|
40
|
+
// two index kinds is being read, so it waits for the view as well.
|
|
41
|
+
assertSimDynamoDbConsistentReadAnswerable(input, view);
|
|
42
|
+
const keyCondition = expressions.terms.forTable(view);
|
|
43
|
+
select.assertAnswerableBy(view);
|
|
34
44
|
// A query has narrowed the read by its key condition already, so a filter
|
|
35
45
|
// naming a key attribute is refused. That needs the key schema, so it
|
|
36
|
-
// waits for the
|
|
37
|
-
expressions.filter?.assertNamesNoKeyAttribute(
|
|
46
|
+
// waits for the view the same way the key condition does.
|
|
47
|
+
expressions.filter?.assertNamesNoKeyAttribute(view.keySchema);
|
|
48
|
+
expressions.filter?.assertNamesOnlyCarried(view);
|
|
38
49
|
// The token names an item of the collection being read, so it can only be
|
|
39
50
|
// checked once that collection is known.
|
|
40
51
|
const after = readSimDynamoDbQueryStartKey({
|
|
41
|
-
|
|
52
|
+
view,
|
|
42
53
|
keyCondition,
|
|
43
54
|
exclusiveStartKey: input.ExclusiveStartKey,
|
|
44
55
|
});
|
|
45
56
|
const page = new SimDynamoDbItemPage({
|
|
46
|
-
items:
|
|
57
|
+
items: view.itemCollection(keyCondition).walk({
|
|
47
58
|
forward: input.ScanIndexForward ?? true,
|
|
48
59
|
after,
|
|
49
60
|
}),
|
|
50
61
|
limit: input.Limit,
|
|
51
|
-
|
|
62
|
+
view,
|
|
52
63
|
});
|
|
53
64
|
return {
|
|
54
65
|
...new SimDynamoDbReadAnswer({
|
|
55
66
|
page,
|
|
56
67
|
filter: expressions.filter,
|
|
57
68
|
select,
|
|
69
|
+
view,
|
|
58
70
|
}).fields(),
|
|
59
71
|
$metadata: {},
|
|
60
72
|
};
|