@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.
Files changed (299) hide show
  1. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-indexed-table-resource.factory.d.ts +37 -0
  2. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-indexed-table-resource.factory.d.ts.map +1 -0
  3. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-indexed-table-resource.factory.js +63 -0
  4. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-indexed-table-resource.factory.js.map +1 -0
  5. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.d.ts.map +1 -1
  6. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +2 -0
  7. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js.map +1 -1
  8. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts +32 -0
  9. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts.map +1 -0
  10. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js +100 -0
  11. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js.map +1 -0
  12. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.d.ts +22 -0
  13. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.d.ts.map +1 -0
  14. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.js +55 -0
  15. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.js.map +1 -0
  16. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.d.ts +11 -0
  17. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.d.ts.map +1 -0
  18. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.js +16 -0
  19. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.js.map +1 -0
  20. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts +9 -1
  21. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts.map +1 -1
  22. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js +20 -17
  23. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js.map +1 -1
  24. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.d.ts +21 -0
  25. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.d.ts.map +1 -0
  26. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.js +28 -0
  27. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.js.map +1 -0
  28. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts +8 -20
  29. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts.map +1 -1
  30. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js +19 -32
  31. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js.map +1 -1
  32. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.d.ts +11 -0
  33. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.d.ts.map +1 -0
  34. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.js +18 -0
  35. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.js.map +1 -0
  36. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.d.ts +17 -4
  37. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.d.ts.map +1 -1
  38. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.js +45 -16
  39. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.js.map +1 -1
  40. package/dist/service/dynamodb/command/item/sim-dynamodb-item-page.d.ts +6 -4
  41. package/dist/service/dynamodb/command/item/sim-dynamodb-item-page.d.ts.map +1 -1
  42. package/dist/service/dynamodb/command/item/sim-dynamodb-item-page.js +7 -6
  43. package/dist/service/dynamodb/command/item/sim-dynamodb-item-page.js.map +1 -1
  44. package/dist/service/dynamodb/command/query/sim-dynamodb-query-start-key.d.ts +2 -2
  45. package/dist/service/dynamodb/command/query/sim-dynamodb-query-start-key.d.ts.map +1 -1
  46. package/dist/service/dynamodb/command/query/sim-dynamodb-query-start-key.js +8 -7
  47. package/dist/service/dynamodb/command/query/sim-dynamodb-query-start-key.js.map +1 -1
  48. package/dist/service/dynamodb/command/query/sim-dynamodb-query.d.ts.map +1 -1
  49. package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +18 -6
  50. package/dist/service/dynamodb/command/query/sim-dynamodb-query.js.map +1 -1
  51. package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.d.ts.map +1 -1
  52. package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
  53. package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js.map +1 -1
  54. package/dist/service/dynamodb/command/read/sim-dynamodb-consistent-read.d.ts +20 -0
  55. package/dist/service/dynamodb/command/read/sim-dynamodb-consistent-read.d.ts.map +1 -0
  56. package/dist/service/dynamodb/command/read/sim-dynamodb-consistent-read.js +20 -0
  57. package/dist/service/dynamodb/command/read/sim-dynamodb-consistent-read.js.map +1 -0
  58. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +12 -0
  59. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts.map +1 -1
  60. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +19 -1
  61. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js.map +1 -1
  62. package/dist/service/dynamodb/command/read/sim-dynamodb-select.d.ts +18 -0
  63. package/dist/service/dynamodb/command/read/sim-dynamodb-select.d.ts.map +1 -1
  64. package/dist/service/dynamodb/command/read/sim-dynamodb-select.js +35 -5
  65. package/dist/service/dynamodb/command/read/sim-dynamodb-select.js.map +1 -1
  66. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-start-key.d.ts +2 -2
  67. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-start-key.d.ts.map +1 -1
  68. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-start-key.js +3 -3
  69. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-start-key.js.map +1 -1
  70. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.d.ts.map +1 -1
  71. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +13 -5
  72. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js.map +1 -1
  73. package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts.map +1 -1
  74. package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +0 -1
  75. package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js.map +1 -1
  76. package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.d.ts +2 -0
  77. package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.d.ts.map +1 -1
  78. package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.js +3 -0
  79. package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.js.map +1 -1
  80. package/dist/service/dynamodb/command/sim-dynamodb-command.types.d.ts +1 -1
  81. package/dist/service/dynamodb/command/sim-dynamodb-command.types.d.ts.map +1 -1
  82. package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.d.ts.map +1 -1
  83. package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.js +6 -2
  84. package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.js.map +1 -1
  85. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.d.ts +6 -6
  86. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.d.ts.map +1 -1
  87. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.js +6 -19
  88. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.js.map +1 -1
  89. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.d.ts +15 -0
  90. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.d.ts.map +1 -0
  91. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.js +50 -0
  92. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.js.map +1 -0
  93. package/dist/service/dynamodb/command/table/sim-dynamodb-update-table.d.ts +38 -0
  94. package/dist/service/dynamodb/command/table/sim-dynamodb-update-table.d.ts.map +1 -0
  95. package/dist/service/dynamodb/command/table/sim-dynamodb-update-table.js +39 -0
  96. package/dist/service/dynamodb/command/table/sim-dynamodb-update-table.js.map +1 -0
  97. package/dist/service/dynamodb/command/table/table.command.d.ts +36 -1
  98. package/dist/service/dynamodb/command/table/table.command.d.ts.map +1 -1
  99. package/dist/service/dynamodb/command/table/table.types.d.ts +54 -0
  100. package/dist/service/dynamodb/command/table/table.types.d.ts.map +1 -1
  101. package/dist/service/dynamodb/command/time-to-live/sim-dynamodb-time-to-live-commands.js +3 -3
  102. package/dist/service/dynamodb/command/time-to-live/sim-dynamodb-time-to-live-commands.js.map +1 -1
  103. package/dist/service/dynamodb/document/sim-dynamodb-document-route.d.ts +1 -1
  104. package/dist/service/dynamodb/document/sim-dynamodb-document-route.d.ts.map +1 -1
  105. package/dist/service/dynamodb/document/sim-dynamodb-document-routes.d.ts.map +1 -1
  106. package/dist/service/dynamodb/document/sim-dynamodb-document-routes.js.map +1 -1
  107. package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter.d.ts +11 -1
  108. package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter.d.ts.map +1 -1
  109. package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter.js +12 -1
  110. package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter.js.map +1 -1
  111. package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.d.ts.map +1 -1
  112. package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.js +4 -0
  113. package/dist/service/dynamodb/sdk/sim-dynamodb-sdk-command-router.js.map +1 -1
  114. package/dist/service/dynamodb/secondary-index/sim-dynamodb-fetched-index-attributes.d.ts +35 -0
  115. package/dist/service/dynamodb/secondary-index/sim-dynamodb-fetched-index-attributes.d.ts.map +1 -0
  116. package/dist/service/dynamodb/secondary-index/sim-dynamodb-fetched-index-attributes.js +42 -0
  117. package/dist/service/dynamodb/secondary-index/sim-dynamodb-fetched-index-attributes.js.map +1 -0
  118. package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-index.d.ts +43 -11
  119. package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-index.d.ts.map +1 -1
  120. package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-index.js +65 -2
  121. package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-index.js.map +1 -1
  122. package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-indexes.d.ts +39 -14
  123. package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-indexes.d.ts.map +1 -1
  124. package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-indexes.js +61 -61
  125. package/dist/service/dynamodb/secondary-index/sim-dynamodb-global-secondary-indexes.js.map +1 -1
  126. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-attributes.d.ts +44 -0
  127. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-attributes.d.ts.map +1 -0
  128. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-attributes.js +2 -0
  129. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-attributes.js.map +1 -0
  130. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-keys.d.ts +58 -0
  131. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-keys.d.ts.map +1 -0
  132. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-keys.js +77 -0
  133. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-keys.js.map +1 -0
  134. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lifecycle.d.ts +55 -0
  135. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lifecycle.d.ts.map +1 -0
  136. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lifecycle.js +71 -0
  137. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lifecycle.js.map +1 -0
  138. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-limits.d.ts +50 -0
  139. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-limits.d.ts.map +1 -0
  140. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-limits.js +82 -0
  141. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-limits.js.map +1 -0
  142. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lookup.d.ts +13 -0
  143. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lookup.d.ts.map +1 -0
  144. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lookup.js +19 -0
  145. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-lookup.js.map +1 -0
  146. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection-input.d.ts +17 -0
  147. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection-input.d.ts.map +1 -0
  148. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection-input.js +17 -0
  149. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection-input.js.map +1 -0
  150. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection.d.ts +15 -0
  151. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection.d.ts.map +1 -1
  152. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection.js +21 -0
  153. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-projection.js.map +1 -1
  154. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-status.d.ts +6 -7
  155. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-status.d.ts.map +1 -1
  156. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-status.js +7 -11
  157. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-status.js.map +1 -1
  158. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-view.d.ts +76 -0
  159. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-view.d.ts.map +1 -0
  160. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-view.js +107 -0
  161. package/dist/service/dynamodb/secondary-index/sim-dynamodb-index-view.js.map +1 -0
  162. package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-orders.d.ts +12 -0
  163. package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-orders.d.ts.map +1 -0
  164. package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-orders.js +42 -0
  165. package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-orders.js.map +1 -0
  166. package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-table.factory.d.ts +35 -0
  167. package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-table.factory.d.ts.map +1 -0
  168. package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-table.factory.js +59 -0
  169. package/dist/service/dynamodb/secondary-index/sim-dynamodb-indexed-table.factory.js.map +1 -0
  170. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-key-schema.d.ts +21 -0
  171. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-key-schema.d.ts.map +1 -0
  172. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-key-schema.js +47 -0
  173. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-key-schema.js.map +1 -0
  174. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-throughput.d.ts +11 -0
  175. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-throughput.d.ts.map +1 -0
  176. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-throughput.js +29 -0
  177. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-index-throughput.js.map +1 -0
  178. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-index.d.ts +65 -0
  179. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-index.d.ts.map +1 -0
  180. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-index.js +106 -0
  181. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-index.js.map +1 -0
  182. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-indexes.d.ts +31 -0
  183. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-indexes.d.ts.map +1 -0
  184. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-indexes.js +47 -0
  185. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-indexes.js.map +1 -0
  186. package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-orders.d.ts +6 -0
  187. package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-orders.d.ts.map +1 -0
  188. package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-orders.js +40 -0
  189. package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-orders.js.map +1 -0
  190. package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-table.factory.d.ts +34 -0
  191. package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-table.factory.d.ts.map +1 -0
  192. package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-table.factory.js +61 -0
  193. package/dist/service/dynamodb/secondary-index/sim-dynamodb-locally-indexed-table.factory.js.map +1 -0
  194. package/dist/service/dynamodb/secondary-index/sim-dynamodb-projected-index-attributes.d.ts +38 -0
  195. package/dist/service/dynamodb/secondary-index/sim-dynamodb-projected-index-attributes.d.ts.map +1 -0
  196. package/dist/service/dynamodb/secondary-index/sim-dynamodb-projected-index-attributes.js +74 -0
  197. package/dist/service/dynamodb/secondary-index/sim-dynamodb-projected-index-attributes.js.map +1 -0
  198. package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-index.d.ts +54 -0
  199. package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-index.d.ts.map +1 -0
  200. package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-index.js +2 -0
  201. package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-index.js.map +1 -0
  202. package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-indexes.d.ts +59 -0
  203. package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-indexes.d.ts.map +1 -0
  204. package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-indexes.js +77 -0
  205. package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-indexes.js.map +1 -0
  206. package/dist/service/dynamodb/sim-dynamodb.d.ts +6 -14
  207. package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
  208. package/dist/service/dynamodb/sim-dynamodb.js +8 -1
  209. package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
  210. package/dist/service/dynamodb/sim-dynamodb.types.d.ts +26 -0
  211. package/dist/service/dynamodb/sim-dynamodb.types.d.ts.map +1 -0
  212. package/dist/service/dynamodb/sim-dynamodb.types.js +2 -0
  213. package/dist/service/dynamodb/sim-dynamodb.types.js.map +1 -0
  214. package/dist/service/dynamodb/table/sim-dynamodb-attribute-definition.d.ts +14 -0
  215. package/dist/service/dynamodb/table/sim-dynamodb-attribute-definition.d.ts.map +1 -0
  216. package/dist/service/dynamodb/table/sim-dynamodb-attribute-definition.js +33 -0
  217. package/dist/service/dynamodb/table/sim-dynamodb-attribute-definition.js.map +1 -0
  218. package/dist/service/dynamodb/table/sim-dynamodb-attribute-definitions.d.ts +21 -0
  219. package/dist/service/dynamodb/table/sim-dynamodb-attribute-definitions.d.ts.map +1 -1
  220. package/dist/service/dynamodb/table/sim-dynamodb-attribute-definitions.js +53 -27
  221. package/dist/service/dynamodb/table/sim-dynamodb-attribute-definitions.js.map +1 -1
  222. package/dist/service/dynamodb/table/sim-dynamodb-index-update.d.ts +23 -0
  223. package/dist/service/dynamodb/table/sim-dynamodb-index-update.d.ts.map +1 -0
  224. package/dist/service/dynamodb/table/sim-dynamodb-index-update.js +88 -0
  225. package/dist/service/dynamodb/table/sim-dynamodb-index-update.js.map +1 -0
  226. package/dist/service/dynamodb/table/sim-dynamodb-item-collection.d.ts +7 -0
  227. package/dist/service/dynamodb/table/sim-dynamodb-item-collection.d.ts.map +1 -1
  228. package/dist/service/dynamodb/table/sim-dynamodb-item-collection.js +6 -3
  229. package/dist/service/dynamodb/table/sim-dynamodb-item-collection.js.map +1 -1
  230. package/dist/service/dynamodb/table/sim-dynamodb-read-view.d.ts +76 -0
  231. package/dist/service/dynamodb/table/sim-dynamodb-read-view.d.ts.map +1 -0
  232. package/dist/service/dynamodb/table/sim-dynamodb-read-view.js +2 -0
  233. package/dist/service/dynamodb/table/sim-dynamodb-read-view.js.map +1 -0
  234. package/dist/service/dynamodb/table/sim-dynamodb-sort-key-compare.d.ts +30 -0
  235. package/dist/service/dynamodb/table/sim-dynamodb-sort-key-compare.d.ts.map +1 -0
  236. package/dist/service/dynamodb/table/sim-dynamodb-sort-key-compare.js +39 -0
  237. package/dist/service/dynamodb/table/sim-dynamodb-sort-key-compare.js.map +1 -0
  238. package/dist/service/dynamodb/table/sim-dynamodb-sort-key-order.d.ts +34 -20
  239. package/dist/service/dynamodb/table/sim-dynamodb-sort-key-order.d.ts.map +1 -1
  240. package/dist/service/dynamodb/table/sim-dynamodb-sort-key-order.js +47 -50
  241. package/dist/service/dynamodb/table/sim-dynamodb-sort-key-order.js.map +1 -1
  242. package/dist/service/dynamodb/table/sim-dynamodb-table-billing.d.ts +9 -0
  243. package/dist/service/dynamodb/table/sim-dynamodb-table-billing.d.ts.map +1 -1
  244. package/dist/service/dynamodb/table/sim-dynamodb-table-billing.js +17 -0
  245. package/dist/service/dynamodb/table/sim-dynamodb-table-billing.js.map +1 -1
  246. package/dist/service/dynamodb/table/sim-dynamodb-table-definition.d.ts +53 -0
  247. package/dist/service/dynamodb/table/sim-dynamodb-table-definition.d.ts.map +1 -0
  248. package/dist/service/dynamodb/table/sim-dynamodb-table-definition.js +63 -0
  249. package/dist/service/dynamodb/table/sim-dynamodb-table-definition.js.map +1 -0
  250. package/dist/service/dynamodb/table/sim-dynamodb-table-description.d.ts.map +1 -1
  251. package/dist/service/dynamodb/table/sim-dynamodb-table-description.js +2 -2
  252. package/dist/service/dynamodb/table/sim-dynamodb-table-description.js.map +1 -1
  253. package/dist/service/dynamodb/table/sim-dynamodb-table-lifecycle.d.ts +29 -2
  254. package/dist/service/dynamodb/table/sim-dynamodb-table-lifecycle.d.ts.map +1 -1
  255. package/dist/service/dynamodb/table/sim-dynamodb-table-lifecycle.js +45 -4
  256. package/dist/service/dynamodb/table/sim-dynamodb-table-lifecycle.js.map +1 -1
  257. package/dist/service/dynamodb/table/sim-dynamodb-table-read-view.d.ts +26 -0
  258. package/dist/service/dynamodb/table/sim-dynamodb-table-read-view.d.ts.map +1 -0
  259. package/dist/service/dynamodb/table/sim-dynamodb-table-read-view.js +30 -0
  260. package/dist/service/dynamodb/table/sim-dynamodb-table-read-view.js.map +1 -0
  261. package/dist/service/dynamodb/table/sim-dynamodb-table-scan.d.ts +2 -2
  262. package/dist/service/dynamodb/table/sim-dynamodb-table-scan.d.ts.map +1 -1
  263. package/dist/service/dynamodb/table/sim-dynamodb-table-scan.js +1 -2
  264. package/dist/service/dynamodb/table/sim-dynamodb-table-scan.js.map +1 -1
  265. package/dist/service/dynamodb/table/sim-dynamodb-table-update.d.ts +27 -0
  266. package/dist/service/dynamodb/table/sim-dynamodb-table-update.d.ts.map +1 -0
  267. package/dist/service/dynamodb/table/sim-dynamodb-table-update.js +79 -0
  268. package/dist/service/dynamodb/table/sim-dynamodb-table-update.js.map +1 -0
  269. package/dist/service/dynamodb/table/sim-dynamodb-table-view.d.ts +67 -0
  270. package/dist/service/dynamodb/table/sim-dynamodb-table-view.d.ts.map +1 -0
  271. package/dist/service/dynamodb/table/sim-dynamodb-table-view.js +90 -0
  272. package/dist/service/dynamodb/table/sim-dynamodb-table-view.js.map +1 -0
  273. package/dist/service/dynamodb/table/sim-dynamodb-table.d.ts +49 -46
  274. package/dist/service/dynamodb/table/sim-dynamodb-table.d.ts.map +1 -1
  275. package/dist/service/dynamodb/table/sim-dynamodb-table.js +87 -79
  276. package/dist/service/dynamodb/table/sim-dynamodb-table.js.map +1 -1
  277. package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.d.ts +21 -0
  278. package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.d.ts.map +1 -0
  279. package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.js +2 -0
  280. package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.js.map +1 -0
  281. package/dist/service/dynamodb/table/sim-dynamodb-updated-billing.d.ts +17 -0
  282. package/dist/service/dynamodb/table/sim-dynamodb-updated-billing.d.ts.map +1 -0
  283. package/dist/service/dynamodb/table/sim-dynamodb-updated-billing.js +24 -0
  284. package/dist/service/dynamodb/table/sim-dynamodb-updated-billing.js.map +1 -0
  285. package/dist/service/dynamodb/table/sim-dynamodb-updated-indexes.d.ts +16 -0
  286. package/dist/service/dynamodb/table/sim-dynamodb-updated-indexes.d.ts.map +1 -0
  287. package/dist/service/dynamodb/table/sim-dynamodb-updated-indexes.js +32 -0
  288. package/dist/service/dynamodb/table/sim-dynamodb-updated-indexes.js.map +1 -0
  289. package/dist/service/dynamodb/time-to-live/{sim-dynamodb-table-expiry.d.ts → sim-dynamodb-table-time-to-live.d.ts} +28 -9
  290. package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.d.ts.map +1 -0
  291. package/dist/service/dynamodb/time-to-live/{sim-dynamodb-table-expiry.js → sim-dynamodb-table-time-to-live.js} +32 -5
  292. package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.js.map +1 -0
  293. package/dist/service/dynamodb/time-to-live/sim-dynamodb-time-to-live.d.ts +2 -1
  294. package/dist/service/dynamodb/time-to-live/sim-dynamodb-time-to-live.d.ts.map +1 -1
  295. package/dist/service/dynamodb/time-to-live/sim-dynamodb-time-to-live.js +2 -1
  296. package/dist/service/dynamodb/time-to-live/sim-dynamodb-time-to-live.js.map +1 -1
  297. package/package.json +1 -1
  298. package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-expiry.d.ts.map +0 -1
  299. package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-expiry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb-table-view.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-table-view.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAG9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAU3E;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAoB;IACf,WAAW,CAAS;IACpB,SAAS,CAAuB;IAChC,oBAAoB,CAAkC;IAErD,KAAK,CAA6B;IAClC,OAAO,CAAqB;IAC5B,KAAK,CAA0B;IAEhD,YAAY,UAA0C;QACpD,IAAI,CAAC,WAAW,GAAG,SAAS,UAAU,CAAC,SAAS,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,qEAAqE;QACrE,8DAA8D;QAC9D,IAAI,CAAC,KAAK,GAAG,IAAI,uBAAuB,CAAC;YACvC,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,qBAAqB;SAC1D,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,YAAqC;QAErC,OAAO,IAAI,yBAAyB,CAAC;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,oBAAoB,CAAC;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,GAAoB;QACjC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAqB;QAC5B,OAAO,+BAA+B,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAqB;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,OAAO;IACT,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO;IACT,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO;IACT,CAAC;CACF"}
@@ -2,16 +2,14 @@ import type { SimArn } from "../../aws/arn.js";
2
2
  import { type BackgroundScheduler } from "../../../util/background/background.js";
3
3
  import type { SimDynamoDbTableClass, SimDynamoDbTableDescription, SimDynamoDbTableStatus } from "../command/table/table.types.js";
4
4
  import type { SimDynamoDbItem } from "../item/sim-dynamodb-item.js";
5
- import type { SimDynamoDbTimeToLiveDescription } from "../command/time-to-live/time-to-live.types.js";
6
- import type { SimDynamoDbTimeToLiveSpecification } from "../time-to-live/sim-dynamodb-time-to-live-specification.js";
7
- import type { SimDynamoDbKeyCondition } from "../expression/key-condition/sim-dynamodb-key-condition.js";
8
- import { SimDynamoDbGlobalSecondaryIndexes } from "../secondary-index/sim-dynamodb-global-secondary-indexes.js";
9
- import { SimDynamoDbItemCollection } from "./sim-dynamodb-item-collection.js";
10
- import { SimDynamoDbTableScan } from "./sim-dynamodb-table-scan.js";
5
+ import { SimDynamoDbTableTimeToLive } from "../time-to-live/sim-dynamodb-table-time-to-live.js";
6
+ import { SimDynamoDbSecondaryIndexes } from "../secondary-index/sim-dynamodb-secondary-indexes.js";
7
+ import type { SimDynamoDbReadView } from "./sim-dynamodb-read-view.js";
11
8
  import { SimDynamoDbTableTags } from "./sim-dynamodb-table-tags.js";
12
9
  import type { SimDynamoDbAttributeDefinitions } from "./sim-dynamodb-attribute-definitions.js";
13
10
  import type { SimDynamoDbKeySchema } from "./sim-dynamodb-key-schema.js";
14
11
  import type { SimDynamoDbTableBilling } from "./sim-dynamodb-table-billing.js";
12
+ import type { SimDynamoDbTableUpdate } from "./sim-dynamodb-table-update.js";
15
13
  import type { DynamoDbTableName, SimDynamoDbTableName } from "./sim-dynamodb-table-name.js";
16
14
  interface SimDynamoDbTableProperties {
17
15
  readonly name: SimDynamoDbTableName;
@@ -19,7 +17,7 @@ interface SimDynamoDbTableProperties {
19
17
  readonly keySchema: SimDynamoDbKeySchema;
20
18
  readonly attributeDefinitions: SimDynamoDbAttributeDefinitions;
21
19
  readonly billing: SimDynamoDbTableBilling;
22
- readonly indexes?: SimDynamoDbGlobalSecondaryIndexes;
20
+ readonly indexes?: SimDynamoDbSecondaryIndexes;
23
21
  readonly tableClass?: SimDynamoDbTableClass | undefined;
24
22
  readonly deletionProtectionEnabled?: boolean | undefined;
25
23
  readonly tags?: SimDynamoDbTableTags;
@@ -39,18 +37,14 @@ export declare class SimDynamoDbTable {
39
37
  readonly arn: SimArn;
40
38
  readonly tableId: string;
41
39
  readonly keySchema: SimDynamoDbKeySchema;
42
- readonly attributeDefinitions: SimDynamoDbAttributeDefinitions;
43
- readonly billing: SimDynamoDbTableBilling;
44
40
  /**
45
- * The global secondary indexes this table carries.
41
+ * The secondary indexes this table carries, global and local.
46
42
  *
47
43
  * Which items an index holds is worked out when it is read rather than kept
48
44
  * up to date on every write, so nothing here is more than what the index was
49
45
  * declared as.
50
46
  */
51
- readonly indexes: SimDynamoDbGlobalSecondaryIndexes;
52
- readonly tableClass: SimDynamoDbTableClass | undefined;
53
- readonly deletionProtectionEnabled: boolean;
47
+ readonly indexes: SimDynamoDbSecondaryIndexes;
54
48
  /**
55
49
  * The tags this table carries.
56
50
  *
@@ -58,20 +52,56 @@ export declare class SimDynamoDbTable {
58
52
  * TagResource, UntagResource and ListTagsOfResource all work through this.
59
53
  */
60
54
  readonly tags: SimDynamoDbTableTags;
55
+ /**
56
+ * This table's time to live, and the item removals it drives.
57
+ */
58
+ readonly timeToLive: SimDynamoDbTableTimeToLive;
61
59
  private readonly items;
62
- private readonly itemKey;
60
+ private readonly definition;
63
61
  private readonly lifecycle;
64
- private readonly timeToLive;
65
- private readonly expiry;
66
62
  constructor(properties: SimDynamoDbTableProperties);
67
63
  /**
68
64
  * Get the current table status.
69
65
  */
70
66
  get status(): SimDynamoDbTableStatus;
71
67
  /**
72
- * Simulate the table entering ACTIVE status.
68
+ * The attributes this table's keys are made of.
69
+ */
70
+ get attributeDefinitions(): SimDynamoDbAttributeDefinitions;
71
+ /**
72
+ * How this table is billed, and what it is provisioned for.
73
+ */
74
+ get billing(): SimDynamoDbTableBilling;
75
+ /**
76
+ * The class this table is stored under, when it was given one.
77
+ */
78
+ get tableClass(): SimDynamoDbTableClass | undefined;
79
+ /**
80
+ * Whether this table is protected from deletion.
81
+ */
82
+ get deletionProtectionEnabled(): boolean;
83
+ /**
84
+ * Simulate the table entering ACTIVE status, with its indexes.
85
+ *
86
+ * An index added by UpdateTable has no backfill to run here: which items an
87
+ * index holds is worked out when it is read, so the CREATING window is a
88
+ * status the scheduler advances rather than work being done. The index
89
+ * answers for the items already on the table the moment it goes ACTIVE,
90
+ * which is what AWS gets to by copying them into it.
73
91
  */
74
92
  activate(): Promise<void>;
93
+ /**
94
+ * Refuse an update this table is not in a state to take.
95
+ */
96
+ assertUpdatable(): void;
97
+ /**
98
+ * Apply a change UpdateTable has already checked against this table.
99
+ *
100
+ * Nothing here refuses anything. Everything the request asked for was read
101
+ * and checked against the table as it stood, so by this point the change
102
+ * either applies whole or was never built.
103
+ */
104
+ applyUpdate(update: SimDynamoDbTableUpdate): void;
75
105
  /**
76
106
  * Refuse a delete this table is not in a state to take.
77
107
  */
@@ -94,21 +124,6 @@ export declare class SimDynamoDbTable {
94
124
  * write once it is durable, so a read that follows it finds it.
95
125
  */
96
126
  putItem(item: SimDynamoDbItem): SimDynamoDbItem | undefined;
97
- /**
98
- * Take an UpdateTimeToLive on this table.
99
- *
100
- * Switching it on reaches the items already there as well as the ones written
101
- * afterwards, since their TTL attributes were only inert while it was off.
102
- */
103
- updateTimeToLive(specification: SimDynamoDbTimeToLiveSpecification, at: Date): void;
104
- /**
105
- * Finish an UpdateTimeToLive, moving it off ENABLING or DISABLING.
106
- */
107
- settleTimeToLive(): Promise<void>;
108
- /**
109
- * Describe this table's time to live the way DynamoDB reports it.
110
- */
111
- timeToLiveDescription(): SimDynamoDbTimeToLiveDescription;
112
127
  /**
113
128
  * The item already stored under the same primary key as this one.
114
129
  *
@@ -143,21 +158,9 @@ export declare class SimDynamoDbTable {
143
158
  */
144
159
  deleteItem(key: SimDynamoDbItem): SimDynamoDbItem | undefined;
145
160
  /**
146
- * The items a key condition names, in sort key order.
147
- *
148
- * A Query reads a whole item collection rather than one key, so the items are
149
- * reachable together as well as one at a time. The ordering belongs to the
150
- * collection rather than to the command that reads it.
151
- */
152
- itemCollection(keyCondition: SimDynamoDbKeyCondition): SimDynamoDbItemCollection;
153
- /**
154
- * Every item this table holds, in the order a Scan reads them.
155
- *
156
- * A Scan needs no key knowledge, so unlike an item collection this is the
157
- * whole table. The order and the parallel scan segments both belong to the
158
- * scan rather than to the command that reads it.
161
+ * What a Query or a Scan reads: this table, or one of its indexes.
159
162
  */
160
- scan(): SimDynamoDbTableScan;
163
+ view(indexName: string | undefined): SimDynamoDbReadView;
161
164
  }
162
165
  export {};
163
166
  //# sourceMappingURL=sim-dynamodb-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-dynamodb-table.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-dynamodb-table.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-table.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,12 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { BackgroundTasks, } from "../../../util/background/background.js";
3
- import { SimDynamoDbTableExpiry } from "../time-to-live/sim-dynamodb-table-expiry.js";
4
- import { SimDynamoDbTimeToLive } from "../time-to-live/sim-dynamodb-time-to-live.js";
5
- import { SimDynamoDbGlobalSecondaryIndexes } from "../secondary-index/sim-dynamodb-global-secondary-indexes.js";
6
- import { SimDynamoDbItemCollection } from "./sim-dynamodb-item-collection.js";
7
- import { SimDynamoDbItemKey } from "./sim-dynamodb-item-key.js";
3
+ import { SimDynamoDbTableTimeToLive } from "../time-to-live/sim-dynamodb-table-time-to-live.js";
4
+ import { SimDynamoDbSecondaryIndexes } from "../secondary-index/sim-dynamodb-secondary-indexes.js";
8
5
  import { describeSimDynamoDbTable } from "./sim-dynamodb-table-description.js";
6
+ import { SimDynamoDbTableDefinition } from "./sim-dynamodb-table-definition.js";
9
7
  import { SimDynamoDbTableItems } from "./sim-dynamodb-table-items.js";
10
8
  import { SimDynamoDbTableLifecycle } from "./sim-dynamodb-table-lifecycle.js";
11
- import { SimDynamoDbTableScan } from "./sim-dynamodb-table-scan.js";
9
+ import { simDynamoDbTableReadView } from "./sim-dynamodb-table-read-view.js";
12
10
  import { SimDynamoDbTableTags } from "./sim-dynamodb-table-tags.js";
13
11
  /**
14
12
  * One simulated DynamoDB Table.
@@ -24,18 +22,14 @@ export class SimDynamoDbTable {
24
22
  arn;
25
23
  tableId;
26
24
  keySchema;
27
- attributeDefinitions;
28
- billing;
29
25
  /**
30
- * The global secondary indexes this table carries.
26
+ * The secondary indexes this table carries, global and local.
31
27
  *
32
28
  * Which items an index holds is worked out when it is read rather than kept
33
29
  * up to date on every write, so nothing here is more than what the index was
34
30
  * declared as.
35
31
  */
36
32
  indexes;
37
- tableClass;
38
- deletionProtectionEnabled;
39
33
  /**
40
34
  * The tags this table carries.
41
35
  *
@@ -43,32 +37,34 @@ export class SimDynamoDbTable {
43
37
  * TagResource, UntagResource and ListTagsOfResource all work through this.
44
38
  */
45
39
  tags;
40
+ /**
41
+ * This table's time to live, and the item removals it drives.
42
+ */
43
+ timeToLive;
46
44
  items = new SimDynamoDbTableItems();
47
- itemKey;
45
+ definition;
48
46
  lifecycle;
49
- timeToLive;
50
- expiry;
51
47
  constructor(properties) {
52
- const { name, keySchema, attributeDefinitions, billing, indexes = SimDynamoDbGlobalSecondaryIndexes.none(), deletionProtectionEnabled = false, tags = SimDynamoDbTableTags.fromInput([]), background = new BackgroundTasks(), } = properties;
48
+ const { name, keySchema, attributeDefinitions, billing, indexes = SimDynamoDbSecondaryIndexes.none(), deletionProtectionEnabled = false, tags = SimDynamoDbTableTags.fromInput([]), background = new BackgroundTasks(), } = properties;
53
49
  this.tableName = name.value;
54
50
  this.arn = properties.arn;
55
51
  this.tableId = randomUUID();
56
52
  this.keySchema = keySchema;
57
- this.attributeDefinitions = attributeDefinitions;
58
- this.billing = billing;
59
53
  this.indexes = indexes;
60
- this.tableClass = properties.tableClass;
61
- this.deletionProtectionEnabled = deletionProtectionEnabled;
62
54
  this.tags = tags;
63
- this.itemKey = new SimDynamoDbItemKey(keySchema, attributeDefinitions);
55
+ this.definition = new SimDynamoDbTableDefinition({
56
+ keySchema,
57
+ attributeDefinitions,
58
+ billing,
59
+ tableClass: properties.tableClass,
60
+ });
64
61
  this.lifecycle = new SimDynamoDbTableLifecycle({
65
62
  tableName: name.value,
66
63
  deletionProtectionEnabled,
67
64
  });
68
- this.timeToLive = new SimDynamoDbTimeToLive(name.value);
69
- this.expiry = new SimDynamoDbTableExpiry({
65
+ this.timeToLive = new SimDynamoDbTableTimeToLive({
66
+ tableName: name.value,
70
67
  items: this.items,
71
- timeToLive: this.timeToLive,
72
68
  background,
73
69
  });
74
70
  this.creationDateTime = background.now();
@@ -80,12 +76,61 @@ export class SimDynamoDbTable {
80
76
  return this.lifecycle.status;
81
77
  }
82
78
  /**
83
- * Simulate the table entering ACTIVE status.
79
+ * The attributes this table's keys are made of.
80
+ */
81
+ get attributeDefinitions() {
82
+ return this.definition.attributeDefinitions;
83
+ }
84
+ /**
85
+ * How this table is billed, and what it is provisioned for.
86
+ */
87
+ get billing() {
88
+ return this.definition.billing;
89
+ }
90
+ /**
91
+ * The class this table is stored under, when it was given one.
92
+ */
93
+ get tableClass() {
94
+ return this.definition.tableClass;
95
+ }
96
+ /**
97
+ * Whether this table is protected from deletion.
98
+ */
99
+ get deletionProtectionEnabled() {
100
+ return this.lifecycle.deletionProtectionEnabled;
101
+ }
102
+ /**
103
+ * Simulate the table entering ACTIVE status, with its indexes.
104
+ *
105
+ * An index added by UpdateTable has no backfill to run here: which items an
106
+ * index holds is worked out when it is read, so the CREATING window is a
107
+ * status the scheduler advances rather than work being done. The index
108
+ * answers for the items already on the table the moment it goes ACTIVE,
109
+ * which is what AWS gets to by copying them into it.
84
110
  */
85
111
  activate() {
86
112
  this.lifecycle.activate();
113
+ this.indexes.global.activate();
87
114
  return Promise.resolve();
88
115
  }
116
+ /**
117
+ * Refuse an update this table is not in a state to take.
118
+ */
119
+ assertUpdatable() {
120
+ this.lifecycle.assertUpdatable();
121
+ }
122
+ /**
123
+ * Apply a change UpdateTable has already checked against this table.
124
+ *
125
+ * Nothing here refuses anything. Everything the request asked for was read
126
+ * and checked against the table as it stood, so by this point the change
127
+ * either applies whole or was never built.
128
+ */
129
+ applyUpdate(update) {
130
+ this.definition.apply(update);
131
+ this.indexes.global.applyUpdate(update);
132
+ this.lifecycle.applyUpdate(update);
133
+ }
89
134
  /**
90
135
  * Refuse a delete this table is not in a state to take.
91
136
  */
@@ -114,38 +159,15 @@ export class SimDynamoDbTable {
114
159
  * write once it is durable, so a read that follows it finds it.
115
160
  */
116
161
  putItem(item) {
117
- const key = this.itemKey.of(item);
118
- // An item need not carry an index's key attributes, since a global
119
- // secondary index is sparse. Carrying one as a type the index did not
162
+ const key = this.definition.itemKey.of(item);
163
+ // An item need not carry an index's key attributes, since a secondary
164
+ // index of either kind is sparse. Carrying one as a type the index did not
120
165
  // declare is refused, since the index could never hold it.
121
166
  this.indexes.assertItemKeyTypes(item, this.attributeDefinitions);
122
167
  const replaced = this.items.put(key, item);
123
- this.expiry.scheduleFor(key, item);
168
+ this.timeToLive.scheduleFor(key, item);
124
169
  return replaced;
125
170
  }
126
- /**
127
- * Take an UpdateTimeToLive on this table.
128
- *
129
- * Switching it on reaches the items already there as well as the ones written
130
- * afterwards, since their TTL attributes were only inert while it was off.
131
- */
132
- updateTimeToLive(specification, at) {
133
- this.timeToLive.update(specification, at);
134
- this.expiry.scheduleForAll();
135
- }
136
- /**
137
- * Finish an UpdateTimeToLive, moving it off ENABLING or DISABLING.
138
- */
139
- settleTimeToLive() {
140
- this.timeToLive.settle();
141
- return Promise.resolve();
142
- }
143
- /**
144
- * Describe this table's time to live the way DynamoDB reports it.
145
- */
146
- timeToLiveDescription() {
147
- return this.timeToLive.description();
148
- }
149
171
  /**
150
172
  * The item already stored under the same primary key as this one.
151
173
  *
@@ -155,7 +177,7 @@ export class SimDynamoDbTable {
155
177
  * written does not quietly find nothing here either.
156
178
  */
157
179
  itemUnder(item) {
158
- return this.items.get(this.itemKey.of(item));
180
+ return this.items.get(this.definition.itemKey.of(item));
159
181
  }
160
182
  /**
161
183
  * The primary key an item is stored under, as this table marshals it.
@@ -166,13 +188,13 @@ export class SimDynamoDbTable {
166
188
  * refused here too.
167
189
  */
168
190
  keyOfItem(item) {
169
- return this.itemKey.of(item);
191
+ return this.definition.itemKey.of(item);
170
192
  }
171
193
  /**
172
194
  * The primary key a request's Key names, as this table marshals it.
173
195
  */
174
196
  keyOfKey(key) {
175
- return this.itemKey.ofKey(key);
197
+ return this.definition.itemKey.ofKey(key);
176
198
  }
177
199
  /**
178
200
  * Read the item a primary key names, if the table holds one.
@@ -181,40 +203,26 @@ export class SimDynamoDbTable {
181
203
  * one. That is what real DynamoDB gives a strongly consistent read.
182
204
  */
183
205
  getItem(key) {
184
- return this.items.get(this.itemKey.ofKey(key));
206
+ return this.items.get(this.definition.itemKey.ofKey(key));
185
207
  }
186
208
  /**
187
209
  * Remove the item a primary key names, and answer with whatever was removed.
188
210
  */
189
211
  deleteItem(key) {
190
- return this.items.remove(this.itemKey.ofKey(key));
212
+ return this.items.remove(this.definition.itemKey.ofKey(key));
191
213
  }
192
214
  /**
193
- * The items a key condition names, in sort key order.
194
- *
195
- * A Query reads a whole item collection rather than one key, so the items are
196
- * reachable together as well as one at a time. The ordering belongs to the
197
- * collection rather than to the command that reads it.
198
- */
199
- itemCollection(keyCondition) {
200
- return new SimDynamoDbItemCollection({
201
- items: this.items.entries().values(),
202
- keySchema: this.keySchema,
203
- keyCondition,
204
- });
205
- }
206
- /**
207
- * Every item this table holds, in the order a Scan reads them.
208
- *
209
- * A Scan needs no key knowledge, so unlike an item collection this is the
210
- * whole table. The order and the parallel scan segments both belong to the
211
- * scan rather than to the command that reads it.
215
+ * What a Query or a Scan reads: this table, or one of its indexes.
212
216
  */
213
- scan() {
214
- return new SimDynamoDbTableScan({
215
- items: this.items.entries().values(),
217
+ view(indexName) {
218
+ return simDynamoDbTableReadView({
219
+ tableName: this.tableName,
220
+ indexName,
221
+ items: this.items.entries().values().toArray(),
216
222
  keySchema: this.keySchema,
217
- itemKey: this.itemKey,
223
+ attributeDefinitions: this.attributeDefinitions,
224
+ indexes: this.indexes,
225
+ itemKey: this.definition.itemKey,
218
226
  });
219
227
  }
220
228
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-dynamodb-table.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAEL,eAAe,GAChB,MAAM,wCAAwC,CAAC;AAQhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAGrF,OAAO,EAAE,iCAAiC,EAAE,MAAM,6DAA6D,CAAC;AAChH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAsBpE;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IACX,gBAAgB,CAAO;IACvB,SAAS,CAAoB;IAC7B,GAAG,CAAS;IACZ,OAAO,CAAS;IAChB,SAAS,CAAuB;IAChC,oBAAoB,CAAkC;IACtD,OAAO,CAA0B;IAEjD;;;;;;OAMG;IACa,OAAO,CAAoC;IAE3C,UAAU,CAAoC;IAC9C,yBAAyB,CAAU;IAEnD;;;;;OAKG;IACa,IAAI,CAAuB;IAE1B,KAAK,GAAG,IAAI,qBAAqB,EAAE,CAAC;IACpC,OAAO,CAAqB;IAC5B,SAAS,CAA4B;IACrC,UAAU,CAAwB;IAClC,MAAM,CAAyB;IAEhD,YAAY,UAAsC;QAChD,MAAM,EACJ,IAAI,EACJ,SAAS,EACT,oBAAoB,EACpB,OAAO,EACP,OAAO,GAAG,iCAAiC,CAAC,IAAI,EAAE,EAClD,yBAAyB,GAAG,KAAK,EACjC,IAAI,GAAG,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC,EACzC,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,GAAG,IAAI,yBAAyB,CAAC;YAC7C,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,yBAAyB;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU;SACX,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACX,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,IAAqB;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAElC,mEAAmE;QACnE,sEAAsE;QACtE,2DAA2D;QAC3D,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CACd,aAAiD,EACjD,EAAQ;QAER,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAEzB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACI,SAAS,CAAC,IAAqB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;OAOG;IACI,SAAS,CAAC,IAAqB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,GAAoB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,GAAoB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,GAAoB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CACnB,YAAqC;QAErC,OAAO,IAAI,yBAAyB,CAAC;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,IAAI;QACT,OAAO,IAAI,oBAAoB,CAAC;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"sim-dynamodb-table.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAEL,eAAe,GAChB,MAAM,wCAAwC,CAAC;AAOhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAChG,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AAEnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAuBpE;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IACX,gBAAgB,CAAO;IACvB,SAAS,CAAoB;IAC7B,GAAG,CAAS;IACZ,OAAO,CAAS;IAChB,SAAS,CAAuB;IAEhD;;;;;;OAMG;IACa,OAAO,CAA8B;IAErD;;;;;OAKG;IACa,IAAI,CAAuB;IAE3C;;OAEG;IACa,UAAU,CAA6B;IAEtC,KAAK,GAAG,IAAI,qBAAqB,EAAE,CAAC;IACpC,UAAU,CAA6B;IACvC,SAAS,CAA4B;IAEtD,YAAY,UAAsC;QAChD,MAAM,EACJ,IAAI,EACJ,SAAS,EACT,oBAAoB,EACpB,OAAO,EACP,OAAO,GAAG,2BAA2B,CAAC,IAAI,EAAE,EAC5C,yBAAyB,GAAG,KAAK,EACjC,IAAI,GAAG,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC,EACzC,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,0BAA0B,CAAC;YAC/C,SAAS;YACT,oBAAoB;YACpB,OAAO;YACP,UAAU,EAAE,UAAU,CAAC,UAAU;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,yBAAyB,CAAC;YAC7C,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,yBAAyB;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,0BAA0B,CAAC;YAC/C,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU;SACX,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAW,yBAAyB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;IAClD,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ;QACN,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,MAA8B;QACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACX,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,IAAqB;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAE7C,sEAAsE;QACtE,2EAA2E;QAC3E,2DAA2D;QAC3D,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEvC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACI,SAAS,CAAC,IAAqB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;OAOG;IACI,SAAS,CAAC,IAAqB;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,GAAoB;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,GAAoB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,GAAoB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,SAA6B;QACvC,OAAO,wBAAwB,CAAC;YAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;YAC9C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;SACjC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ import type { SimArn } from "../../aws/arn.js";
2
+ import type { SimDynamoDbSecondaryIndexes } from "../secondary-index/sim-dynamodb-secondary-indexes.js";
3
+ import type { SimDynamoDbAttributeDefinitions } from "./sim-dynamodb-attribute-definitions.js";
4
+ import type { SimDynamoDbKeySchema } from "./sim-dynamodb-key-schema.js";
5
+ import type { SimDynamoDbTableBilling } from "./sim-dynamodb-table-billing.js";
6
+ /**
7
+ * What an update needs to know about the table it is going to be applied to.
8
+ *
9
+ * An index is declared against the table that will carry it, and a capacity
10
+ * change is read against the mode the table is already billed under, so the
11
+ * request cannot be checked without it.
12
+ */
13
+ export interface SimDynamoDbUpdatableTable {
14
+ readonly tableName: string;
15
+ readonly arn: SimArn;
16
+ readonly keySchema: SimDynamoDbKeySchema;
17
+ readonly attributeDefinitions: SimDynamoDbAttributeDefinitions;
18
+ readonly billing: SimDynamoDbTableBilling;
19
+ readonly indexes: SimDynamoDbSecondaryIndexes;
20
+ }
21
+ //# sourceMappingURL=sim-dynamodb-updatable-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb-updatable-table.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-updatable-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACxG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAC/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,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,OAAO,EAAE,2BAA2B,CAAC;CAC/C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sim-dynamodb-updatable-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb-updatable-table.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-updatable-table.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import type { SimUpdateTableCommandInput } from "../command/table/table.command.js";
2
+ import { SimDynamoDbTableBilling } from "./sim-dynamodb-table-billing.js";
3
+ import type { SimDynamoDbUpdatableTable } from "./sim-dynamodb-updatable-table.js";
4
+ /**
5
+ * Read the billing an UpdateTable request asks for, when it asks for one.
6
+ *
7
+ * A request carrying capacity and no `BillingMode` reprovisions the table under
8
+ * the mode it already has, which is how an on-demand table asking for capacity
9
+ * comes to be refused.
10
+ *
11
+ * A divergence: real DynamoDB lets a switch to `PROVISIONED` leave the capacity
12
+ * out and estimates it from the last half hour of consumption. Nothing here
13
+ * measures consumption, so an estimate would be a made-up number that a
14
+ * deployment then reads back. The capacity has to be stated instead.
15
+ */
16
+ export declare function readSimDynamoDbUpdatedBilling(input: SimUpdateTableCommandInput, table: SimDynamoDbUpdatableTable): SimDynamoDbTableBilling | undefined;
17
+ //# sourceMappingURL=sim-dynamodb-updated-billing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb-updated-billing.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-updated-billing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnF;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,0BAA0B,EACjC,KAAK,EAAE,yBAAyB,GAC/B,uBAAuB,GAAG,SAAS,CAarC"}
@@ -0,0 +1,24 @@
1
+ import { SimDynamoDbTableBilling } from "./sim-dynamodb-table-billing.js";
2
+ /**
3
+ * Read the billing an UpdateTable request asks for, when it asks for one.
4
+ *
5
+ * A request carrying capacity and no `BillingMode` reprovisions the table under
6
+ * the mode it already has, which is how an on-demand table asking for capacity
7
+ * comes to be refused.
8
+ *
9
+ * A divergence: real DynamoDB lets a switch to `PROVISIONED` leave the capacity
10
+ * out and estimates it from the last half hour of consumption. Nothing here
11
+ * measures consumption, so an estimate would be a made-up number that a
12
+ * deployment then reads back. The capacity has to be stated instead.
13
+ */
14
+ export function readSimDynamoDbUpdatedBilling(input, table) {
15
+ if (input.BillingMode === undefined &&
16
+ input.ProvisionedThroughput === undefined) {
17
+ return undefined;
18
+ }
19
+ if (input.BillingMode === undefined) {
20
+ return table.billing.withThroughput(input.ProvisionedThroughput);
21
+ }
22
+ return SimDynamoDbTableBilling.fromInput(input);
23
+ }
24
+ //# sourceMappingURL=sim-dynamodb-updated-billing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb-updated-billing.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-updated-billing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG1E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAiC,EACjC,KAAgC;IAEhC,IACE,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,KAAK,CAAC,qBAAqB,KAAK,SAAS,EACzC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { SimDynamoDbGlobalSecondaryIndex } from "../secondary-index/sim-dynamodb-global-secondary-index.js";
2
+ import type { SimDynamoDbAttributeDefinitions } from "./sim-dynamodb-attribute-definitions.js";
3
+ import type { SimDynamoDbIndexUpdate } from "./sim-dynamodb-index-update.js";
4
+ import type { SimDynamoDbUpdatableTable } from "./sim-dynamodb-updatable-table.js";
5
+ /**
6
+ * Build the index an UpdateTable adds, checked against the table it goes onto.
7
+ *
8
+ * The definitions are the merged ones rather than the table's, since the key
9
+ * attributes of a new index are declared on the same call that adds it.
10
+ */
11
+ export declare function simDynamoDbCreatedIndex(indexUpdate: SimDynamoDbIndexUpdate, table: SimDynamoDbUpdatableTable, attributeDefinitions: SimDynamoDbAttributeDefinitions): SimDynamoDbGlobalSecondaryIndex | undefined;
12
+ /**
13
+ * The name of the index an UpdateTable removes, refusing one the table lacks.
14
+ */
15
+ export declare function simDynamoDbDeletedIndexName(indexUpdate: SimDynamoDbIndexUpdate, table: SimDynamoDbUpdatableTable): string | undefined;
16
+ //# sourceMappingURL=sim-dynamodb-updated-indexes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb-updated-indexes.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-updated-indexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,2DAA2D,CAAC;AAE5G,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAC/F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,sBAAsB,EACnC,KAAK,EAAE,yBAAyB,EAChC,oBAAoB,EAAE,+BAA+B,GACpD,+BAA+B,GAAG,SAAS,CAe7C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,sBAAsB,EACnC,KAAK,EAAE,yBAAyB,GAC/B,MAAM,GAAG,SAAS,CAOpB"}
@@ -0,0 +1,32 @@
1
+ import { SimDynamoDbGlobalSecondaryIndex } from "../secondary-index/sim-dynamodb-global-secondary-index.js";
2
+ import { assertSimDynamoDbIndexAddable } from "../secondary-index/sim-dynamodb-index-limits.js";
3
+ /**
4
+ * Build the index an UpdateTable adds, checked against the table it goes onto.
5
+ *
6
+ * The definitions are the merged ones rather than the table's, since the key
7
+ * attributes of a new index are declared on the same call that adds it.
8
+ */
9
+ export function simDynamoDbCreatedIndex(indexUpdate, table, attributeDefinitions) {
10
+ if (indexUpdate.created === undefined) {
11
+ return undefined;
12
+ }
13
+ const index = SimDynamoDbGlobalSecondaryIndex.added(indexUpdate.created, {
14
+ tableArn: table.arn,
15
+ keySchema: table.keySchema,
16
+ billing: table.billing,
17
+ });
18
+ attributeDefinitions.assertDefines(index.keySchema);
19
+ assertSimDynamoDbIndexAddable(table.indexes.elements, index);
20
+ return index;
21
+ }
22
+ /**
23
+ * The name of the index an UpdateTable removes, refusing one the table lacks.
24
+ */
25
+ export function simDynamoDbDeletedIndexName(indexUpdate, table) {
26
+ if (indexUpdate.deletedName === undefined) {
27
+ return undefined;
28
+ }
29
+ return table.indexes.global.required(indexUpdate.deletedName, table.tableName)
30
+ .name;
31
+ }
32
+ //# sourceMappingURL=sim-dynamodb-updated-indexes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb-updated-indexes.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/sim-dynamodb-updated-indexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,2DAA2D,CAAC;AAC5G,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAKhG;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAAmC,EACnC,KAAgC,EAChC,oBAAqD;IAErD,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,+BAA+B,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE;QACvE,QAAQ,EAAE,KAAK,CAAC,GAAG;QACnB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IAEH,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpD,6BAA6B,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE7D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,WAAmC,EACnC,KAAgC;IAEhC,IAAI,WAAW,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;SAC3E,IAAI,CAAC;AACV,CAAC"}