@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,6 +1,5 @@
|
|
|
1
1
|
import { assertDefined } from "../../../util/type-guard/defined.js";
|
|
2
2
|
import { simDynamoDbValuesEqual } from "../item/sim-dynamodb-value-comparison.js";
|
|
3
|
-
import { SimDynamoDbSortKeyOrder } from "./sim-dynamodb-sort-key-order.js";
|
|
4
3
|
/**
|
|
5
4
|
* The items one key condition names, in sort key order.
|
|
6
5
|
*
|
|
@@ -9,13 +8,17 @@ import { SimDynamoDbSortKeyOrder } from "./sim-dynamodb-sort-key-order.js";
|
|
|
9
8
|
* it is read rather than kept that way. Real DynamoDB keeps a collection in
|
|
10
9
|
* sort key order, and a query reads the same items in the same order either
|
|
11
10
|
* way.
|
|
11
|
+
*
|
|
12
|
+
* The key schema is the one being read by, which for a query on an index is the
|
|
13
|
+
* index's own rather than the table's. The order comes in alongside it, since
|
|
14
|
+
* what separates two items sharing a sort key is the view's business rather
|
|
15
|
+
* than the collection's.
|
|
12
16
|
*/
|
|
13
17
|
export class SimDynamoDbItemCollection {
|
|
14
18
|
order;
|
|
15
19
|
ascending;
|
|
16
20
|
constructor(properties) {
|
|
17
|
-
const { keySchema, keyCondition } = properties;
|
|
18
|
-
const order = new SimDynamoDbSortKeyOrder(keySchema.rangeKeyAttributeName);
|
|
21
|
+
const { keySchema, keyCondition, order } = properties;
|
|
19
22
|
this.order = order;
|
|
20
23
|
this.ascending = order.ascending([...properties.items].filter((item) => this.named(item, keySchema, keyCondition)));
|
|
21
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-item-collection.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-item-collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-item-collection.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-item-collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAgBlF;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,yBAAyB;IACnB,KAAK,CAA0B;IAC/B,SAAS,CAA6B;IAEvD,YAAY,UAA+C;QACzD,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;QAEtD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAC9B,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACpC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAC1C,CACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,UAAyC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAE/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACK,KAAK,CACX,IAAqB,EACrB,SAA+B,EAC/B,YAAqC;QAErC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAEpE,aAAa,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC;QAE9D,OAAO,CACL,sBAAsB,CAAC,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC;YACpE,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,OAAO,CAAC,OAAgB;QAC9B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { SimDynamoDbAttributeValue } from "../command/item/item.types.js";
|
|
2
|
+
import type { SimDynamoDbKeyCondition } from "../expression/key-condition/sim-dynamodb-key-condition.js";
|
|
3
|
+
import type { SimDynamoDbDocumentPath } from "../expression/sim-dynamodb-document-path.js";
|
|
4
|
+
import type { SimDynamoDbItem } from "../item/sim-dynamodb-item.js";
|
|
5
|
+
import type { SimDynamoDbAttributeDefinitions } from "./sim-dynamodb-attribute-definitions.js";
|
|
6
|
+
import type { SimDynamoDbItemCollection } from "./sim-dynamodb-item-collection.js";
|
|
7
|
+
import type { SimDynamoDbKeySchema } from "./sim-dynamodb-key-schema.js";
|
|
8
|
+
import type { SimDynamoDbTableScan } from "./sim-dynamodb-table-scan.js";
|
|
9
|
+
/**
|
|
10
|
+
* What a Query or a Scan reads: a table, or one of its secondary indexes.
|
|
11
|
+
*
|
|
12
|
+
* The two answer the same questions and answer them differently, which is the
|
|
13
|
+
* whole of what `IndexName` does to a read. A table view holds every item and
|
|
14
|
+
* every attribute of it. An index view holds the items carrying the index key,
|
|
15
|
+
* keyed by that key, and only the attributes the index projects.
|
|
16
|
+
*
|
|
17
|
+
* A view is built per read rather than kept, since an index is derived when it
|
|
18
|
+
* is looked at rather than maintained on the write path.
|
|
19
|
+
*/
|
|
20
|
+
export interface SimDynamoDbReadView {
|
|
21
|
+
/**
|
|
22
|
+
* How a refusal names what is being read.
|
|
23
|
+
*/
|
|
24
|
+
readonly description: string;
|
|
25
|
+
/**
|
|
26
|
+
* The key a read of this walks by, which for an index is its own.
|
|
27
|
+
*/
|
|
28
|
+
readonly keySchema: SimDynamoDbKeySchema;
|
|
29
|
+
/**
|
|
30
|
+
* The types the key attributes were declared with, which the table owns
|
|
31
|
+
* whichever view uses them.
|
|
32
|
+
*/
|
|
33
|
+
readonly attributeDefinitions: SimDynamoDbAttributeDefinitions;
|
|
34
|
+
/**
|
|
35
|
+
* The items one key condition names, in sort key order.
|
|
36
|
+
*/
|
|
37
|
+
itemCollection(keyCondition: SimDynamoDbKeyCondition): SimDynamoDbItemCollection;
|
|
38
|
+
/**
|
|
39
|
+
* Every item this view holds, in the order a Scan reads them.
|
|
40
|
+
*/
|
|
41
|
+
scan(): SimDynamoDbTableScan;
|
|
42
|
+
/**
|
|
43
|
+
* Refuse an `ExclusiveStartKey` this view could not have handed out.
|
|
44
|
+
*/
|
|
45
|
+
assertStartKey(key: SimDynamoDbItem): void;
|
|
46
|
+
/**
|
|
47
|
+
* The key attributes a pagination token carries for this view.
|
|
48
|
+
*/
|
|
49
|
+
tokenKey(item: SimDynamoDbItem): Record<string, SimDynamoDbAttributeValue>;
|
|
50
|
+
/**
|
|
51
|
+
* Cut an item down to what this view carries.
|
|
52
|
+
*/
|
|
53
|
+
project(item: SimDynamoDbItem): SimDynamoDbItem;
|
|
54
|
+
/**
|
|
55
|
+
* Refuse a read asking for whole items where this view holds part of them.
|
|
56
|
+
*/
|
|
57
|
+
assertCarriesWholeItem(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Refuse an expression naming an attribute this view does not carry.
|
|
60
|
+
*
|
|
61
|
+
* A path into an attribute an index does not project would match nothing
|
|
62
|
+
* here, which reads as a collection that happens to be empty. Real DynamoDB
|
|
63
|
+
* refuses it, so this does too rather than answering with a page that means
|
|
64
|
+
* something else.
|
|
65
|
+
*/
|
|
66
|
+
assertCarriesPaths(paths: readonly SimDynamoDbDocumentPath[]): void;
|
|
67
|
+
/**
|
|
68
|
+
* Refuse a strongly consistent read this view cannot answer.
|
|
69
|
+
*
|
|
70
|
+
* Only a global secondary index refuses one. It is maintained asynchronously
|
|
71
|
+
* on AWS, so it cannot answer a strongly consistent read whatever the
|
|
72
|
+
* simulation does. A table and a local secondary index both can.
|
|
73
|
+
*/
|
|
74
|
+
assertConsistentRead(): void;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=sim-dynamodb-read-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-read-view.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-read-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2DAA2D,CAAC;AACzG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAC/F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IAEzC;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,+BAA+B,CAAC;IAE/D;;OAEG;IACH,cAAc,CACZ,YAAY,EAAE,uBAAuB,GACpC,yBAAyB,CAAC;IAE7B;;OAEG;IACH,IAAI,IAAI,oBAAoB,CAAC;IAE7B;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAE3E;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC;IAEhD;;OAEG;IACH,sBAAsB,IAAI,IAAI,CAAC;IAE/B;;;;;;;OAOG;IACH,kBAAkB,CAAC,KAAK,EAAE,SAAS,uBAAuB,EAAE,GAAG,IAAI,CAAC;IAEpE;;;;;;OAMG;IACH,oBAAoB,IAAI,IAAI,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-read-view.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-read-view.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { SimDynamoDbItem } from "../item/sim-dynamodb-item.js";
|
|
2
|
+
import type { SimDynamoDbValue } from "../item/sim-dynamodb-value.js";
|
|
3
|
+
import type { SimDynamoDbItemKey } from "./sim-dynamodb-item-key.js";
|
|
4
|
+
/**
|
|
5
|
+
* The sort key a stored item holds.
|
|
6
|
+
*
|
|
7
|
+
* Every item of a collection carries the key attributes it is walked by. A
|
|
8
|
+
* write that left a table key attribute out was refused, and an index holds
|
|
9
|
+
* only the items carrying the whole of its key, so the value is there either
|
|
10
|
+
* way.
|
|
11
|
+
*/
|
|
12
|
+
export declare function simDynamoDbSortKeyValue(item: SimDynamoDbItem, attributeName: string): SimDynamoDbValue;
|
|
13
|
+
/**
|
|
14
|
+
* Order two items by their sort keys.
|
|
15
|
+
*
|
|
16
|
+
* Two items of one collection always order: every key attribute is checked
|
|
17
|
+
* against its declared type on the way in, so no collection holds two sort keys
|
|
18
|
+
* of different types.
|
|
19
|
+
*/
|
|
20
|
+
export declare function compareSimDynamoDbSortKeys(first: SimDynamoDbItem, second: SimDynamoDbItem, attributeName: string): number;
|
|
21
|
+
/**
|
|
22
|
+
* Separate two items their sort keys did not, by the key that identifies them.
|
|
23
|
+
*
|
|
24
|
+
* The marshalled key is compared as UTF-8 bytes, which is the order the rest of
|
|
25
|
+
* the simulation compares text in. Nothing depends on which of two items comes
|
|
26
|
+
* first, only that the answer is the same every time, since an
|
|
27
|
+
* `ExclusiveStartKey` could not resume a walk otherwise.
|
|
28
|
+
*/
|
|
29
|
+
export declare function compareSimDynamoDbItemIdentities(first: SimDynamoDbItem, second: SimDynamoDbItem, identity: SimDynamoDbItemKey): number;
|
|
30
|
+
//# sourceMappingURL=sim-dynamodb-sort-key-compare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-sort-key-compare.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-sort-key-compare.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAKpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,eAAe,EACrB,aAAa,EAAE,MAAM,GACpB,gBAAgB,CAMlB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,MAAM,GACpB,MAAM,CASR;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CAKR"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { assertDefined } from "../../../util/type-guard/defined.js";
|
|
2
|
+
import { compareSimDynamoDbBytes, compareSimDynamoDbValues, } from "../item/sim-dynamodb-value-order.js";
|
|
3
|
+
/**
|
|
4
|
+
* The sort key a stored item holds.
|
|
5
|
+
*
|
|
6
|
+
* Every item of a collection carries the key attributes it is walked by. A
|
|
7
|
+
* write that left a table key attribute out was refused, and an index holds
|
|
8
|
+
* only the items carrying the whole of its key, so the value is there either
|
|
9
|
+
* way.
|
|
10
|
+
*/
|
|
11
|
+
export function simDynamoDbSortKeyValue(item, attributeName) {
|
|
12
|
+
const value = item.attribute(attributeName);
|
|
13
|
+
assertDefined(value, `sort key ${attributeName} of a stored item`);
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Order two items by their sort keys.
|
|
18
|
+
*
|
|
19
|
+
* Two items of one collection always order: every key attribute is checked
|
|
20
|
+
* against its declared type on the way in, so no collection holds two sort keys
|
|
21
|
+
* of different types.
|
|
22
|
+
*/
|
|
23
|
+
export function compareSimDynamoDbSortKeys(first, second, attributeName) {
|
|
24
|
+
const order = compareSimDynamoDbValues(simDynamoDbSortKeyValue(first, attributeName), simDynamoDbSortKeyValue(second, attributeName));
|
|
25
|
+
assertDefined(order, `order of two ${attributeName} sort keys`);
|
|
26
|
+
return order;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Separate two items their sort keys did not, by the key that identifies them.
|
|
30
|
+
*
|
|
31
|
+
* The marshalled key is compared as UTF-8 bytes, which is the order the rest of
|
|
32
|
+
* the simulation compares text in. Nothing depends on which of two items comes
|
|
33
|
+
* first, only that the answer is the same every time, since an
|
|
34
|
+
* `ExclusiveStartKey` could not resume a walk otherwise.
|
|
35
|
+
*/
|
|
36
|
+
export function compareSimDynamoDbItemIdentities(first, second, identity) {
|
|
37
|
+
return compareSimDynamoDbBytes(Buffer.from(identity.of(first), "utf8"), Buffer.from(identity.of(second), "utf8"));
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=sim-dynamodb-sort-key-compare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-sort-key-compare.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-sort-key-compare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,qCAAqC,CAAC;AAI7C;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAqB,EACrB,aAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAE5C,aAAa,CAAC,KAAK,EAAE,YAAY,aAAa,mBAAmB,CAAC,CAAC;IAEnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAsB,EACtB,MAAuB,EACvB,aAAqB;IAErB,MAAM,KAAK,GAAG,wBAAwB,CACpC,uBAAuB,CAAC,KAAK,EAAE,aAAa,CAAC,EAC7C,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC,CAC/C,CAAC;IAEF,aAAa,CAAC,KAAK,EAAE,gBAAgB,aAAa,YAAY,CAAC,CAAC;IAEhE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gCAAgC,CAC9C,KAAsB,EACtB,MAAuB,EACvB,QAA4B;IAE5B,OAAO,uBAAuB,CAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EACvC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CACzC,CAAC;AACJ,CAAC"}
|
|
@@ -1,21 +1,33 @@
|
|
|
1
1
|
import type { SimDynamoDbItem } from "../item/sim-dynamodb-item.js";
|
|
2
2
|
import type { SimDynamoDbValue } from "../item/sim-dynamodb-value.js";
|
|
3
|
+
import type { SimDynamoDbItemKey } from "./sim-dynamodb-item-key.js";
|
|
4
|
+
interface SimDynamoDbSortKeyOrderProperties {
|
|
5
|
+
readonly attributeName: string | undefined;
|
|
6
|
+
readonly identity?: SimDynamoDbItemKey | undefined;
|
|
7
|
+
}
|
|
3
8
|
/**
|
|
4
|
-
* The order a
|
|
9
|
+
* The order a sort key puts an item collection in.
|
|
5
10
|
*
|
|
6
11
|
* A table with no sort key holds at most one item under a partition key, so
|
|
7
12
|
* every question here has a trivial answer for one. That is why the attribute
|
|
8
13
|
* name is optional rather than each caller asking whether there is one.
|
|
9
14
|
*
|
|
10
|
-
* The order is DynamoDB's rather than JavaScript's
|
|
11
|
-
*
|
|
12
|
-
*
|
|
15
|
+
* The order is DynamoDB's rather than JavaScript's: numbers order by value
|
|
16
|
+
* however they were written, strings by their UTF-8 bytes, and binary as
|
|
17
|
+
* unsigned bytes.
|
|
18
|
+
*
|
|
19
|
+
* An index needs one thing more. Index key values are not unique, so a sort key
|
|
20
|
+
* settles nothing between two items sharing one, and a walk that could not tell
|
|
21
|
+
* them apart could not resume after either. The identity is what separates
|
|
22
|
+
* them: the table primary key, which is unique by definition. That is why a
|
|
23
|
+
* read of an index hands out a token carrying both.
|
|
13
24
|
*/
|
|
14
25
|
export declare class SimDynamoDbSortKeyOrder {
|
|
15
26
|
private readonly attributeName;
|
|
16
|
-
|
|
27
|
+
private readonly identity;
|
|
28
|
+
constructor(properties: SimDynamoDbSortKeyOrderProperties);
|
|
17
29
|
/**
|
|
18
|
-
* The sort key of an item, or nothing when the
|
|
30
|
+
* The sort key of an item, or nothing when the collection has no sort key.
|
|
19
31
|
*/
|
|
20
32
|
valueOf(item: SimDynamoDbItem): SimDynamoDbValue | undefined;
|
|
21
33
|
/**
|
|
@@ -25,29 +37,31 @@ export declare class SimDynamoDbSortKeyOrder {
|
|
|
25
37
|
/**
|
|
26
38
|
* The items past the one a request resumes after, in the walk direction.
|
|
27
39
|
*
|
|
28
|
-
* With
|
|
29
|
-
* token names, so nothing comes after it.
|
|
40
|
+
* With nothing to order a collection by, it holds one item, and that is the
|
|
41
|
+
* item the token names, so nothing comes after it.
|
|
30
42
|
*/
|
|
31
43
|
beyond(items: readonly SimDynamoDbItem[], after: SimDynamoDbItem, forward: boolean): readonly SimDynamoDbItem[];
|
|
32
44
|
/**
|
|
33
|
-
* Order two items of one
|
|
45
|
+
* Order two items of one collection, by sort key and then by identity.
|
|
34
46
|
*
|
|
35
|
-
* With
|
|
36
|
-
* that reach here are the same item and nothing
|
|
37
|
-
* a whole table this way once it has ordered by
|
|
47
|
+
* With neither a sort key nor an identity, a partition key value names at
|
|
48
|
+
* most one item, so two items that reach here are the same item and nothing
|
|
49
|
+
* separates them. A scan orders a whole table this way once it has ordered by
|
|
50
|
+
* partition key.
|
|
38
51
|
*/
|
|
39
52
|
compareItems(first: SimDynamoDbItem, second: SimDynamoDbItem): number;
|
|
40
53
|
/**
|
|
41
|
-
*
|
|
54
|
+
* Order two items by their sort keys, if the collection has one.
|
|
42
55
|
*/
|
|
43
|
-
private
|
|
56
|
+
private compareSortKeys;
|
|
44
57
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* Two items in one table always order: the table checks the type of every key
|
|
48
|
-
* attribute on the way in, so no collection holds two sort keys of different
|
|
49
|
-
* types.
|
|
58
|
+
* Separate two items their sort keys did not, where something can.
|
|
50
59
|
*/
|
|
51
|
-
private
|
|
60
|
+
private compareIdentities;
|
|
61
|
+
/**
|
|
62
|
+
* Which way along the sort key the walk is going.
|
|
63
|
+
*/
|
|
64
|
+
private direction;
|
|
52
65
|
}
|
|
66
|
+
export {};
|
|
53
67
|
//# sourceMappingURL=sim-dynamodb-sort-key-order.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-sort-key-order.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-sort-key-order.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-sort-key-order.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-sort-key-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAOrE,UAAU,iCAAiC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAE1D,YAAY,UAAU,EAAE,iCAAiC,EAGxD;IAED;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,gBAAgB,GAAG,SAAS,CAQ3D;IAED;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,eAAe,EAAE,CAEvE;IAED;;;;;OAKG;IACH,MAAM,CACJ,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,OAAO,GACf,SAAS,eAAe,EAAE,CAM5B;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CAQpE;IAED;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,SAAS;CAOlB"}
|
|
@@ -1,68 +1,88 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { compareSimDynamoDbValues } from "../item/sim-dynamodb-value-order.js";
|
|
1
|
+
import { compareSimDynamoDbItemIdentities, compareSimDynamoDbSortKeys, simDynamoDbSortKeyValue, } from "./sim-dynamodb-sort-key-compare.js";
|
|
3
2
|
/**
|
|
4
|
-
* The order a
|
|
3
|
+
* The order a sort key puts an item collection in.
|
|
5
4
|
*
|
|
6
5
|
* A table with no sort key holds at most one item under a partition key, so
|
|
7
6
|
* every question here has a trivial answer for one. That is why the attribute
|
|
8
7
|
* name is optional rather than each caller asking whether there is one.
|
|
9
8
|
*
|
|
10
|
-
* The order is DynamoDB's rather than JavaScript's
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* The order is DynamoDB's rather than JavaScript's: numbers order by value
|
|
10
|
+
* however they were written, strings by their UTF-8 bytes, and binary as
|
|
11
|
+
* unsigned bytes.
|
|
12
|
+
*
|
|
13
|
+
* An index needs one thing more. Index key values are not unique, so a sort key
|
|
14
|
+
* settles nothing between two items sharing one, and a walk that could not tell
|
|
15
|
+
* them apart could not resume after either. The identity is what separates
|
|
16
|
+
* them: the table primary key, which is unique by definition. That is why a
|
|
17
|
+
* read of an index hands out a token carrying both.
|
|
13
18
|
*/
|
|
14
19
|
export class SimDynamoDbSortKeyOrder {
|
|
15
20
|
attributeName;
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
identity;
|
|
22
|
+
constructor(properties) {
|
|
23
|
+
this.attributeName = properties.attributeName;
|
|
24
|
+
this.identity = properties.identity;
|
|
18
25
|
}
|
|
19
26
|
/**
|
|
20
|
-
* The sort key of an item, or nothing when the
|
|
27
|
+
* The sort key of an item, or nothing when the collection has no sort key.
|
|
21
28
|
*/
|
|
22
29
|
valueOf(item) {
|
|
23
30
|
const attributeName = this.attributeName;
|
|
24
31
|
if (attributeName === undefined) {
|
|
25
32
|
return undefined;
|
|
26
33
|
}
|
|
27
|
-
return
|
|
34
|
+
return simDynamoDbSortKeyValue(item, attributeName);
|
|
28
35
|
}
|
|
29
36
|
/**
|
|
30
37
|
* Items in ascending sort key order.
|
|
31
38
|
*/
|
|
32
39
|
ascending(items) {
|
|
33
|
-
|
|
34
|
-
if (attributeName === undefined) {
|
|
35
|
-
return items;
|
|
36
|
-
}
|
|
37
|
-
return items.toSorted((first, second) => this.compare(first, second, attributeName));
|
|
40
|
+
return items.toSorted((first, second) => this.compareItems(first, second));
|
|
38
41
|
}
|
|
39
42
|
/**
|
|
40
43
|
* The items past the one a request resumes after, in the walk direction.
|
|
41
44
|
*
|
|
42
|
-
* With
|
|
43
|
-
* token names, so nothing comes after it.
|
|
45
|
+
* With nothing to order a collection by, it holds one item, and that is the
|
|
46
|
+
* item the token names, so nothing comes after it.
|
|
44
47
|
*/
|
|
45
48
|
beyond(items, after, forward) {
|
|
46
|
-
const attributeName = this.attributeName;
|
|
47
|
-
if (attributeName === undefined) {
|
|
48
|
-
return [];
|
|
49
|
-
}
|
|
50
49
|
const direction = this.direction(forward);
|
|
51
|
-
return items.filter((item) => this.
|
|
50
|
+
return items.filter((item) => this.compareItems(item, after) * direction > 0);
|
|
52
51
|
}
|
|
53
52
|
/**
|
|
54
|
-
* Order two items of one
|
|
53
|
+
* Order two items of one collection, by sort key and then by identity.
|
|
55
54
|
*
|
|
56
|
-
* With
|
|
57
|
-
* that reach here are the same item and nothing
|
|
58
|
-
* a whole table this way once it has ordered by
|
|
55
|
+
* With neither a sort key nor an identity, a partition key value names at
|
|
56
|
+
* most one item, so two items that reach here are the same item and nothing
|
|
57
|
+
* separates them. A scan orders a whole table this way once it has ordered by
|
|
58
|
+
* partition key.
|
|
59
59
|
*/
|
|
60
60
|
compareItems(first, second) {
|
|
61
|
+
const bySortKey = this.compareSortKeys(first, second);
|
|
62
|
+
if (bySortKey !== 0) {
|
|
63
|
+
return bySortKey;
|
|
64
|
+
}
|
|
65
|
+
return this.compareIdentities(first, second);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Order two items by their sort keys, if the collection has one.
|
|
69
|
+
*/
|
|
70
|
+
compareSortKeys(first, second) {
|
|
61
71
|
const attributeName = this.attributeName;
|
|
62
72
|
if (attributeName === undefined) {
|
|
63
73
|
return 0;
|
|
64
74
|
}
|
|
65
|
-
return
|
|
75
|
+
return compareSimDynamoDbSortKeys(first, second, attributeName);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Separate two items their sort keys did not, where something can.
|
|
79
|
+
*/
|
|
80
|
+
compareIdentities(first, second) {
|
|
81
|
+
const identity = this.identity;
|
|
82
|
+
if (identity === undefined) {
|
|
83
|
+
return 0;
|
|
84
|
+
}
|
|
85
|
+
return compareSimDynamoDbItemIdentities(first, second, identity);
|
|
66
86
|
}
|
|
67
87
|
/**
|
|
68
88
|
* Which way along the sort key the walk is going.
|
|
@@ -73,28 +93,5 @@ export class SimDynamoDbSortKeyOrder {
|
|
|
73
93
|
}
|
|
74
94
|
return -1;
|
|
75
95
|
}
|
|
76
|
-
/**
|
|
77
|
-
* Order two items by their sort keys.
|
|
78
|
-
*
|
|
79
|
-
* Two items in one table always order: the table checks the type of every key
|
|
80
|
-
* attribute on the way in, so no collection holds two sort keys of different
|
|
81
|
-
* types.
|
|
82
|
-
*/
|
|
83
|
-
compare(first, second, attributeName) {
|
|
84
|
-
const order = compareSimDynamoDbValues(sortKeyValue(first, attributeName), sortKeyValue(second, attributeName));
|
|
85
|
-
assertDefined(order, `order of two ${attributeName} sort keys`);
|
|
86
|
-
return order;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* The sort key a stored item holds.
|
|
91
|
-
*
|
|
92
|
-
* Every item in a table carries its key attributes: a write that left one out
|
|
93
|
-
* was refused, so the value is there by the time an item is stored.
|
|
94
|
-
*/
|
|
95
|
-
function sortKeyValue(item, attributeName) {
|
|
96
|
-
const value = item.attribute(attributeName);
|
|
97
|
-
assertDefined(value, `sort key ${attributeName} of a stored item`);
|
|
98
|
-
return value;
|
|
99
96
|
}
|
|
100
97
|
//# sourceMappingURL=sim-dynamodb-sort-key-order.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-sort-key-order.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-sort-key-order.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-sort-key-order.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-sort-key-order.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gCAAgC,EAChC,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAO5C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,uBAAuB;IACjB,aAAa,CAAqB;IAClC,QAAQ,CAAiC;IAE1D,YAAY,UAA6C;QACvD,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAqB;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEzC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,uBAAuB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAiC;QACzC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACH,MAAM,CACJ,KAAiC,EACjC,KAAsB,EACtB,OAAgB;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE1C,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,SAAS,GAAG,CAAC,CACzD,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,KAAsB,EAAE,MAAuB;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEtD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACK,eAAe,CACrB,KAAsB,EACtB,MAAuB;QAEvB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEzC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACK,iBAAiB,CACvB,KAAsB,EACtB,MAAuB;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,gCAAgC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,OAAgB;QAChC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;CACF"}
|
|
@@ -18,6 +18,15 @@ export declare class SimDynamoDbTableBilling {
|
|
|
18
18
|
* Read the billing mode and throughput a CreateTable request carries.
|
|
19
19
|
*/
|
|
20
20
|
static fromInput(input: SimDynamoDbTableBillingInput): SimDynamoDbTableBilling;
|
|
21
|
+
/**
|
|
22
|
+
* This billing with the capacity an UpdateTable request names.
|
|
23
|
+
*
|
|
24
|
+
* A request carrying capacity and no `BillingMode` is asking to reprovision
|
|
25
|
+
* the table rather than to bill it another way, so the mode is kept. Whether
|
|
26
|
+
* the table reports a `BillingModeSummary` is kept too, since that says
|
|
27
|
+
* whether the request that made it named a mode, and this request did not.
|
|
28
|
+
*/
|
|
29
|
+
withThroughput(throughput: SimDynamoDbProvisionedThroughput | undefined): SimDynamoDbTableBilling;
|
|
21
30
|
/**
|
|
22
31
|
* How the table reports its throughput.
|
|
23
32
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-table-billing.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-table-billing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,6BAA6B,EAC7B,gCAAgC,EAChC,2CAA2C,EAC5C,MAAM,iCAAiC,CAAC;AAIzC,UAAU,4BAA4B;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,gCAAgC,GAAG,SAAS,CAAC;CAC/E;AA2DD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,SAAgB,IAAI,EAAE,sBAAsB,CAAC;IAE7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,OAAO,eAIN;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACd,KAAK,EAAE,4BAA4B,GAClC,uBAAuB,CAQzB;IAED;;OAEG;IACH,qBAAqB,IAAI,2CAA2C,CAEnE;IAED;;OAEG;IACH,OAAO,IAAI,6BAA6B,GAAG,SAAS,CAMnD;CACF"}
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-table-billing.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-table-billing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,6BAA6B,EAC7B,gCAAgC,EAChC,2CAA2C,EAC5C,MAAM,iCAAiC,CAAC;AAIzC,UAAU,4BAA4B;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,gCAAgC,GAAG,SAAS,CAAC;CAC/E;AA2DD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,SAAgB,IAAI,EAAE,sBAAsB,CAAC;IAE7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,OAAO,eAIN;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACd,KAAK,EAAE,4BAA4B,GAClC,uBAAuB,CAQzB;IAED;;;;;;;OAOG;IACH,cAAc,CACZ,UAAU,EAAE,gCAAgC,GAAG,SAAS,GACvD,uBAAuB,CAQzB;IAED;;OAEG;IACH,qBAAqB,IAAI,2CAA2C,CAEnE;IAED;;OAEG;IACH,OAAO,IAAI,6BAA6B,GAAG,SAAS,CAMnD;CACF"}
|
|
@@ -61,6 +61,23 @@ export class SimDynamoDbTableBilling {
|
|
|
61
61
|
requestedMode: input.BillingMode !== undefined,
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* This billing with the capacity an UpdateTable request names.
|
|
66
|
+
*
|
|
67
|
+
* A request carrying capacity and no `BillingMode` is asking to reprovision
|
|
68
|
+
* the table rather than to bill it another way, so the mode is kept. Whether
|
|
69
|
+
* the table reports a `BillingModeSummary` is kept too, since that says
|
|
70
|
+
* whether the request that made it named a mode, and this request did not.
|
|
71
|
+
*/
|
|
72
|
+
withThroughput(throughput) {
|
|
73
|
+
return new SimDynamoDbTableBilling({
|
|
74
|
+
mode: this.mode,
|
|
75
|
+
throughput: readThroughput(this.mode, {
|
|
76
|
+
ProvisionedThroughput: throughput,
|
|
77
|
+
}),
|
|
78
|
+
requestedMode: this.requestedMode,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
64
81
|
/**
|
|
65
82
|
* How the table reports its throughput.
|
|
66
83
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-dynamodb-table-billing.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-table-billing.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAahF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IAChD,aAAa;IACb,iBAAiB;CAClB,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,eAAe,CACtB,SAA6B;IAE7B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,8BAA8B,CACtC,gBAAgB,SAAS,4CAA4C;YACnE,kBAAkB,CACrB,CAAC;IACJ,CAAC;IAED,OAAO,SAAmC,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CACrB,IAA4B,EAC5B,KAAmC;IAEnC,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,OAAO,0BAA0B,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,KAAK,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,8BAA8B,CACtC,uEAAuE;YACrE,8DAA8D;YAC9D,iBAAiB,CACpB,CAAC;IACJ,CAAC;IAED,OAAO,0BAA0B,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAuB;IAClB,IAAI,CAAyB;IAE5B,UAAU,CAA6B;IACvC,aAAa,CAAU;IAExC,YAAoB,UAA6C;QAC/D,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACd,KAAmC;QAEnC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEhD,OAAO,IAAI,IAAI,CAAC;YACd,IAAI;YACJ,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;YACvC,aAAa,EAAE,KAAK,CAAC,WAAW,KAAK,SAAS;SAC/C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-table-billing.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-table-billing.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAahF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IAChD,aAAa;IACb,iBAAiB;CAClB,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,eAAe,CACtB,SAA6B;IAE7B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,8BAA8B,CACtC,gBAAgB,SAAS,4CAA4C;YACnE,kBAAkB,CACrB,CAAC;IACJ,CAAC;IAED,OAAO,SAAmC,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CACrB,IAA4B,EAC5B,KAAmC;IAEnC,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,OAAO,0BAA0B,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,KAAK,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,8BAA8B,CACtC,uEAAuE;YACrE,8DAA8D;YAC9D,iBAAiB,CACpB,CAAC;IACJ,CAAC;IAED,OAAO,0BAA0B,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAuB;IAClB,IAAI,CAAyB;IAE5B,UAAU,CAA6B;IACvC,aAAa,CAAU;IAExC,YAAoB,UAA6C;QAC/D,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACd,KAAmC;QAEnC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEhD,OAAO,IAAI,IAAI,CAAC;YACd,IAAI;YACJ,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;YACvC,aAAa,EAAE,KAAK,CAAC,WAAW,KAAK,SAAS;SAC/C,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CACZ,UAAwD;QAExD,OAAO,IAAI,uBAAuB,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE;gBACpC,qBAAqB,EAAE,UAAU;aAClC,CAAC;YACF,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { SimDynamoDbTableClass } from "../command/table/table.types.js";
|
|
2
|
+
import type { SimDynamoDbAttributeDefinitions } from "./sim-dynamodb-attribute-definitions.js";
|
|
3
|
+
import { SimDynamoDbItemKey } from "./sim-dynamodb-item-key.js";
|
|
4
|
+
import type { SimDynamoDbKeySchema } from "./sim-dynamodb-key-schema.js";
|
|
5
|
+
import type { SimDynamoDbTableBilling } from "./sim-dynamodb-table-billing.js";
|
|
6
|
+
import type { SimDynamoDbTableUpdate } from "./sim-dynamodb-table-update.js";
|
|
7
|
+
interface SimDynamoDbTableDefinitionProperties {
|
|
8
|
+
readonly keySchema: SimDynamoDbKeySchema;
|
|
9
|
+
readonly attributeDefinitions: SimDynamoDbAttributeDefinitions;
|
|
10
|
+
readonly billing: SimDynamoDbTableBilling;
|
|
11
|
+
readonly tableClass: SimDynamoDbTableClass | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* What a table is, as far as UpdateTable can change it.
|
|
15
|
+
*
|
|
16
|
+
* A table's key schema is fixed for its whole life, and everything here is not:
|
|
17
|
+
* the attributes its keys are made of grow when an index is added, and how it is
|
|
18
|
+
* billed and which class it is stored under can both be changed. Holding them
|
|
19
|
+
* together is what lets an update replace them in one step, while everything
|
|
20
|
+
* already holding the table goes on reading the table.
|
|
21
|
+
*/
|
|
22
|
+
export declare class SimDynamoDbTableDefinition {
|
|
23
|
+
#private;
|
|
24
|
+
readonly keySchema: SimDynamoDbKeySchema;
|
|
25
|
+
constructor(properties: SimDynamoDbTableDefinitionProperties);
|
|
26
|
+
/**
|
|
27
|
+
* The attributes the table's keys are made of, its own and its indexes'.
|
|
28
|
+
*/
|
|
29
|
+
get attributeDefinitions(): SimDynamoDbAttributeDefinitions;
|
|
30
|
+
/**
|
|
31
|
+
* How the table is billed, and what it is provisioned for.
|
|
32
|
+
*/
|
|
33
|
+
get billing(): SimDynamoDbTableBilling;
|
|
34
|
+
/**
|
|
35
|
+
* The class the table is stored under, when it was given one.
|
|
36
|
+
*/
|
|
37
|
+
get tableClass(): SimDynamoDbTableClass | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* How the table reads the primary key of an item.
|
|
40
|
+
*/
|
|
41
|
+
get itemKey(): SimDynamoDbItemKey;
|
|
42
|
+
/**
|
|
43
|
+
* Take the part of an UpdateTable that changes what the table is.
|
|
44
|
+
*
|
|
45
|
+
* The attribute definitions always come through, since an update that added
|
|
46
|
+
* none gives back the set the table already had. The item key is rebuilt from
|
|
47
|
+
* them, so a key attribute is still checked against the type the table
|
|
48
|
+
* declares for it.
|
|
49
|
+
*/
|
|
50
|
+
apply(update: SimDynamoDbTableUpdate): void;
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=sim-dynamodb-table-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-dynamodb-table-definition.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-table-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,oBAAoB,EAAE,+BAA+B,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,qBAAqB,GAAG,SAAS,CAAC;CACxD;AAED;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;;IACrC,SAAgB,SAAS,EAAE,oBAAoB,CAAC;IAOhD,YAAY,UAAU,EAAE,oCAAoC,EAS3D;IAED;;OAEG;IACH,IAAI,oBAAoB,IAAI,+BAA+B,CAE1D;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,uBAAuB,CAErC;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,qBAAqB,GAAG,SAAS,CAElD;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,kBAAkB,CAEhC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAQ1C;CACF"}
|