@kensio/yulin 1.2.0 → 1.3.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 (328) hide show
  1. package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
  3. package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
  4. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +3 -2
  5. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
  6. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +7 -2
  7. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
  8. package/dist/service/aws/sim-aws-account-region-scope.d.ts +9 -1
  9. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  10. package/dist/service/aws/sim-aws-account-region-scope.js +10 -0
  11. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  12. package/dist/service/aws/sim-aws-account.d.ts +5 -1
  13. package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
  14. package/dist/service/aws/sim-aws-account.js +6 -0
  15. package/dist/service/aws/sim-aws-account.js.map +1 -1
  16. package/dist/service/aws/sim-aws-region.d.ts +5 -1
  17. package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
  18. package/dist/service/aws/sim-aws-region.js +6 -0
  19. package/dist/service/aws/sim-aws-region.js.map +1 -1
  20. package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -1
  21. package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
  22. package/dist/service/aws/sim-aws-service-accessors.js +4 -0
  23. package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
  24. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts +11 -3
  25. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts.map +1 -1
  26. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js +20 -6
  27. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js.map +1 -1
  28. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.d.ts.map +1 -1
  29. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +1 -0
  30. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js.map +1 -1
  31. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts +5 -0
  32. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts.map +1 -1
  33. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js +7 -0
  34. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js.map +1 -1
  35. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts +5 -4
  36. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts.map +1 -1
  37. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js +16 -11
  38. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js.map +1 -1
  39. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts +23 -0
  40. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts.map +1 -0
  41. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js +62 -0
  42. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js.map +1 -0
  43. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts +17 -0
  44. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts.map +1 -0
  45. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.js +24 -0
  46. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.js.map +1 -0
  47. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.d.ts +11 -0
  48. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.d.ts.map +1 -1
  49. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.js +13 -0
  50. package/dist/service/dynamodb/command/authorize/sim-dynamodb-authorizer.js.map +1 -1
  51. package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.d.ts +43 -0
  52. package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.d.ts.map +1 -0
  53. package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.js +5 -0
  54. package/dist/service/dynamodb/command/stream/describe-stream/describe-stream.command.js.map +1 -0
  55. package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.d.ts +26 -0
  56. package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.d.ts.map +1 -0
  57. package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.js +77 -0
  58. package/dist/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.js.map +1 -0
  59. package/dist/service/dynamodb/command/stream/get-records/get-records.command.d.ts +32 -0
  60. package/dist/service/dynamodb/command/stream/get-records/get-records.command.d.ts.map +1 -0
  61. package/dist/service/dynamodb/command/stream/get-records/get-records.command.js +5 -0
  62. package/dist/service/dynamodb/command/stream/get-records/get-records.command.js.map +1 -0
  63. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.d.ts +29 -0
  64. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.d.ts.map +1 -0
  65. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.js +60 -0
  66. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.js.map +1 -0
  67. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.d.ts +12 -0
  68. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.d.ts.map +1 -0
  69. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.js +52 -0
  70. package/dist/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.js.map +1 -0
  71. package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.d.ts +31 -0
  72. package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.d.ts.map +1 -0
  73. package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.js +5 -0
  74. package/dist/service/dynamodb/command/stream/get-shard-iterator/get-shard-iterator.command.js.map +1 -0
  75. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.d.ts +27 -0
  76. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.d.ts.map +1 -0
  77. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.js +42 -0
  78. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-get-shard-iterator.js.map +1 -0
  79. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.d.ts +11 -0
  80. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.d.ts.map +1 -0
  81. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.js +53 -0
  82. package/dist/service/dynamodb/command/stream/get-shard-iterator/sim-dynamodb-shard-iterator-position.js.map +1 -0
  83. package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.d.ts +33 -0
  84. package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.d.ts.map +1 -0
  85. package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.js +5 -0
  86. package/dist/service/dynamodb/command/stream/list-streams/list-streams.command.js.map +1 -0
  87. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.d.ts +26 -0
  88. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.d.ts.map +1 -0
  89. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.js +31 -0
  90. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-list-streams.js.map +1 -0
  91. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.d.ts +28 -0
  92. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.d.ts.map +1 -0
  93. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.js +59 -0
  94. package/dist/service/dynamodb/command/stream/list-streams/sim-dynamodb-stream-page.js.map +1 -0
  95. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.d.ts +44 -0
  96. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.d.ts.map +1 -0
  97. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.js +53 -0
  98. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-access.js.map +1 -0
  99. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.d.ts +8 -0
  100. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.d.ts.map +1 -0
  101. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.js +2 -0
  102. package/dist/service/dynamodb/command/stream/sim-dynamodb-stream-command.types.js.map +1 -0
  103. package/dist/service/dynamodb/command/stream/stream.types.d.ts +84 -0
  104. package/dist/service/dynamodb/command/stream/stream.types.d.ts.map +1 -0
  105. package/dist/service/dynamodb/command/stream/stream.types.js +2 -0
  106. package/dist/service/dynamodb/command/stream/stream.types.js.map +1 -0
  107. package/dist/service/dynamodb/error/dynamodb.error.d.ts +17 -0
  108. package/dist/service/dynamodb/error/dynamodb.error.d.ts.map +1 -1
  109. package/dist/service/dynamodb/error/dynamodb.error.js +19 -0
  110. package/dist/service/dynamodb/error/dynamodb.error.js.map +1 -1
  111. package/dist/service/dynamodb/index.d.ts +1 -0
  112. package/dist/service/dynamodb/index.d.ts.map +1 -1
  113. package/dist/service/dynamodb/index.js +1 -0
  114. package/dist/service/dynamodb/index.js.map +1 -1
  115. package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.d.ts +24 -0
  116. package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.d.ts.map +1 -0
  117. package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.js +46 -0
  118. package/dist/service/dynamodb/sdk/sim-dynamodb-streams-sdk-command-router.js.map +1 -0
  119. package/dist/service/dynamodb/sim-dynamodb-streams.d.ts +59 -0
  120. package/dist/service/dynamodb/sim-dynamodb-streams.d.ts.map +1 -0
  121. package/dist/service/dynamodb/sim-dynamodb-streams.js +79 -0
  122. package/dist/service/dynamodb/sim-dynamodb-streams.js.map +1 -0
  123. package/dist/service/dynamodb/sim-dynamodb.d.ts +6 -3
  124. package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
  125. package/dist/service/dynamodb/sim-dynamodb.js +16 -5
  126. package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
  127. package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.d.ts +31 -0
  128. package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.d.ts.map +1 -0
  129. package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.js +13 -0
  130. package/dist/service/dynamodb/stream/sim-dynamodb-stream-position.js.map +1 -0
  131. package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.d.ts +33 -0
  132. package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.d.ts.map +1 -0
  133. package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.js +66 -0
  134. package/dist/service/dynamodb/stream/sim-dynamodb-stream-read.js.map +1 -0
  135. package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.d.ts +17 -0
  136. package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.d.ts.map +1 -0
  137. package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.js +24 -0
  138. package/dist/service/dynamodb/stream/sim-dynamodb-stream-retention.js.map +1 -0
  139. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.d.ts +16 -0
  140. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.d.ts.map +1 -1
  141. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.js +32 -0
  142. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.js.map +1 -1
  143. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.d.ts +25 -0
  144. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.d.ts.map +1 -0
  145. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.js +74 -0
  146. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard-iterator.js.map +1 -0
  147. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.d.ts +33 -0
  148. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.d.ts.map +1 -1
  149. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.js +49 -0
  150. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.js.map +1 -1
  151. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.d.ts +16 -0
  152. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.d.ts.map +1 -1
  153. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.js +25 -0
  154. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.js.map +1 -1
  155. package/dist/service/dynamodb/stream/sim-dynamodb-stream.d.ts +14 -0
  156. package/dist/service/dynamodb/stream/sim-dynamodb-stream.d.ts.map +1 -1
  157. package/dist/service/dynamodb/stream/sim-dynamodb-stream.js +18 -0
  158. package/dist/service/dynamodb/stream/sim-dynamodb-stream.js.map +1 -1
  159. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.d.ts +31 -0
  160. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.d.ts.map +1 -0
  161. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.js +33 -0
  162. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.js.map +1 -0
  163. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts +14 -0
  164. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts.map +1 -1
  165. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +29 -1
  166. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js.map +1 -1
  167. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.d.ts.map +1 -1
  168. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +8 -2
  169. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js.map +1 -1
  170. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +2 -0
  171. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts.map +1 -1
  172. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +7 -1
  173. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js.map +1 -1
  174. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.d.ts.map +1 -1
  175. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +25 -7
  176. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js.map +1 -1
  177. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts +4 -0
  178. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts.map +1 -1
  179. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js +4 -0
  180. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js.map +1 -1
  181. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts +5 -2
  182. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts.map +1 -1
  183. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +12 -8
  184. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js.map +1 -1
  185. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.d.ts +3 -1
  186. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.d.ts.map +1 -1
  187. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.js +1 -1
  188. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.js.map +1 -1
  189. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.d.ts +23 -0
  190. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.d.ts.map +1 -0
  191. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.js +55 -0
  192. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-event-image.js.map +1 -0
  193. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.d.ts +27 -0
  194. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.d.ts.map +1 -0
  195. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.js +41 -0
  196. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-polled-stream.js.map +1 -0
  197. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.d.ts +42 -0
  198. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.d.ts.map +1 -0
  199. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +52 -0
  200. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js.map +1 -0
  201. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.d.ts +77 -0
  202. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.d.ts.map +1 -0
  203. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.js +114 -0
  204. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.js.map +1 -0
  205. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.d.ts +21 -0
  206. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.d.ts.map +1 -0
  207. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.js +56 -0
  208. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.js.map +1 -0
  209. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.d.ts +78 -0
  210. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.d.ts.map +1 -0
  211. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.js +8 -0
  212. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event.types.js.map +1 -0
  213. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.d.ts +40 -0
  214. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.d.ts.map +1 -0
  215. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.js +45 -0
  216. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-turn.js.map +1 -0
  217. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.d.ts +5 -4
  218. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.d.ts.map +1 -1
  219. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.js +18 -5
  220. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.js.map +1 -1
  221. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +37 -0
  222. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts.map +1 -0
  223. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +51 -0
  224. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js.map +1 -0
  225. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +29 -0
  226. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts.map +1 -0
  227. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +71 -0
  228. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js.map +1 -0
  229. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +36 -0
  230. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts.map +1 -0
  231. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +41 -0
  232. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js.map +1 -0
  233. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +65 -0
  234. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts.map +1 -0
  235. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +92 -0
  236. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js.map +1 -0
  237. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +36 -0
  238. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts.map +1 -0
  239. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +47 -0
  240. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js.map +1 -0
  241. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +7 -1
  242. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts.map +1 -1
  243. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +10 -27
  244. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js.map +1 -1
  245. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +24 -0
  246. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts.map +1 -0
  247. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +33 -0
  248. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js.map +1 -0
  249. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts +6 -4
  250. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts.map +1 -1
  251. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js +8 -5
  252. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js.map +1 -1
  253. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.d.ts +5 -1
  254. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.d.ts.map +1 -1
  255. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.js +8 -3
  256. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.js.map +1 -1
  257. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +9 -0
  258. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts.map +1 -1
  259. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +8 -0
  260. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js.map +1 -1
  261. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts +2 -0
  262. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts.map +1 -1
  263. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.js.map +1 -1
  264. package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.d.ts +27 -0
  265. package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.d.ts.map +1 -0
  266. package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.js +40 -0
  267. package/dist/service/lambda/event-source/sim-lambda-event-source-reachable.js.map +1 -0
  268. package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.d.ts +60 -0
  269. package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.d.ts.map +1 -0
  270. package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.js +51 -0
  271. package/dist/service/lambda/event-source/sim-lambda-event-source-starting-position.js.map +1 -0
  272. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.d.ts +31 -0
  273. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.d.ts.map +1 -0
  274. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.js +29 -0
  275. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-positions.js.map +1 -0
  276. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.d.ts +32 -0
  277. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.d.ts.map +1 -0
  278. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.js +48 -0
  279. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-reader.js.map +1 -0
  280. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.d.ts +28 -0
  281. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.d.ts.map +1 -0
  282. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.js +71 -0
  283. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-stream-shard.js.map +1 -0
  284. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.d.ts +42 -0
  285. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.d.ts.map +1 -0
  286. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.js +55 -0
  287. package/dist/service/lambda/event-source/stream/sim-dynamodb-event-source-streams.js.map +1 -0
  288. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.d.ts +150 -0
  289. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.d.ts.map +1 -0
  290. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.js +2 -0
  291. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-attribute-value.js.map +1 -0
  292. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +52 -0
  293. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts.map +1 -0
  294. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +88 -0
  295. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js.map +1 -0
  296. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +25 -0
  297. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts.map +1 -0
  298. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +34 -0
  299. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js.map +1 -0
  300. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.d.ts +31 -0
  301. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.d.ts.map +1 -0
  302. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.js +33 -0
  303. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-delivery-context.js.map +1 -0
  304. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.d.ts +73 -0
  305. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.d.ts.map +1 -0
  306. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.js +2 -0
  307. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-stream-service.js.map +1 -0
  308. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.d.ts +148 -0
  309. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.d.ts.map +1 -0
  310. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.js +37 -0
  311. package/dist/service/lambda/event-source/stream/sim-lambda-event-source-streams.js.map +1 -0
  312. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.d.ts +36 -0
  313. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.d.ts.map +1 -0
  314. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.js +50 -0
  315. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade-guard.js.map +1 -0
  316. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.d.ts +24 -0
  317. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.d.ts.map +1 -0
  318. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.js +24 -0
  319. package/dist/service/lambda/event-source/stream/sim-lambda-stream-cascade.error.js.map +1 -0
  320. package/dist/service/lambda/index.d.ts +3 -0
  321. package/dist/service/lambda/index.d.ts.map +1 -1
  322. package/dist/service/lambda/index.js +1 -0
  323. package/dist/service/lambda/index.js.map +1 -1
  324. package/dist/service/lambda/sim-lambda-commands.d.ts +2 -0
  325. package/dist/service/lambda/sim-lambda-commands.d.ts.map +1 -1
  326. package/dist/service/lambda/sim-lambda-commands.js +7 -3
  327. package/dist/service/lambda/sim-lambda-commands.js.map +1 -1
  328. package/package.json +3 -2
@@ -1,5 +1,6 @@
1
1
  import { SimCfnDynamoDbTableIndexRules } from "./sim-cfn-dynamodb-table-index-rules.js";
2
2
  import { dynamoDbTablePropertyError, dynamoDbTableUnsimulatedPropertyError, } from "./sim-cfn-dynamodb-table-property-error.js";
3
+ import { SimCfnDynamoDbTableStreamRules } from "./sim-cfn-dynamodb-table-stream-rules.js";
3
4
  /**
4
5
  * The AWS::DynamoDB::Table properties this simulation acts on.
5
6
  *
@@ -15,6 +16,7 @@ const simulatedPropertyNames = new Set([
15
16
  "KeySchema",
16
17
  "LocalSecondaryIndexes",
17
18
  "ProvisionedThroughput",
19
+ "StreamSpecification",
18
20
  "TableClass",
19
21
  "TableName",
20
22
  "Tags",
@@ -23,9 +25,10 @@ const simulatedPropertyNames = new Set([
23
25
  /**
24
26
  * Real AWS::DynamoDB::Table properties this simulation does not model.
25
27
  *
26
- * Each one changes what the table does. A table deployed without the stream its
27
- * changes were meant to be published to would leave whatever reads that stream
28
- * waiting, so the Resource is skipped rather than deployed as something else.
28
+ * Each one changes what the table does. A table deployed without the Kinesis
29
+ * stream its changes were meant to be published to would leave whatever reads
30
+ * that stream waiting, so the Resource is skipped rather than deployed as
31
+ * something else.
29
32
  */
30
33
  const unsimulatedPropertyNames = new Set([
31
34
  "ContributorInsightsSpecification",
@@ -35,7 +38,6 @@ const unsimulatedPropertyNames = new Set([
35
38
  "PointInTimeRecoverySpecification",
36
39
  "ResourcePolicy",
37
40
  "SSESpecification",
38
- "StreamSpecification",
39
41
  "WarmThroughput",
40
42
  ]);
41
43
  /**
@@ -47,8 +49,8 @@ const unsimulatedPropertyNames = new Set([
47
49
  * fails the Resource instead, because that is a template real CloudFormation
48
50
  * would refuse too.
49
51
  *
50
- * The two index properties carry properties of their own, which are held to the
51
- * same rule a level down.
52
+ * The two index properties and the stream specification carry properties of
53
+ * their own, which are held to the same rule a level down.
52
54
  */
53
55
  export class SimCfnDynamoDbTablePropertyRules {
54
56
  logicalId;
@@ -64,7 +66,7 @@ export class SimCfnDynamoDbTablePropertyRules {
64
66
  for (const name of this.values.names) {
65
67
  this.assertSimulatedProperty(name);
66
68
  }
67
- this.assertSimulatedIndexes();
69
+ this.assertSimulatedMembers();
68
70
  }
69
71
  assertSimulatedProperty(name) {
70
72
  if (simulatedPropertyNames.has(name)) {
@@ -76,11 +78,14 @@ export class SimCfnDynamoDbTablePropertyRules {
76
78
  throw dynamoDbTablePropertyError(this.logicalId, `${name} is not an AWS::DynamoDB::Table property`);
77
79
  }
78
80
  /**
79
- * Refuse what the entries of the two index properties ask for and cannot get.
81
+ * Refuse what the properties carrying properties of their own ask for and
82
+ * cannot get: the two index lists, and the stream specification.
80
83
  */
81
- assertSimulatedIndexes() {
82
- SimCfnDynamoDbTableIndexRules.global(this.logicalId).assertSimulated(this.values.list("GlobalSecondaryIndexes"));
83
- SimCfnDynamoDbTableIndexRules.local(this.logicalId).assertSimulated(this.values.list("LocalSecondaryIndexes"));
84
+ assertSimulatedMembers() {
85
+ const logicalId = this.logicalId;
86
+ SimCfnDynamoDbTableIndexRules.global(logicalId).assertSimulated(this.values.list("GlobalSecondaryIndexes"));
87
+ SimCfnDynamoDbTableIndexRules.local(logicalId).assertSimulated(this.values.list("LocalSecondaryIndexes"));
88
+ new SimCfnDynamoDbTableStreamRules(logicalId).assertSimulated(this.values);
84
89
  }
85
90
  }
86
91
  //# sourceMappingURL=sim-cfn-dynamodb-table-property-rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-dynamodb-table-property-rules.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,qCAAqC,GACtC,MAAM,4CAA4C,CAAC;AAGpD;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IAC1D,sBAAsB;IACtB,aAAa;IACb,2BAA2B;IAC3B,wBAAwB;IACxB,WAAW;IACX,uBAAuB;IACvB,uBAAuB;IACvB,YAAY;IACZ,WAAW;IACX,MAAM;IACN,yBAAyB;CAC1B,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,kCAAkC;IAClC,2BAA2B;IAC3B,4BAA4B;IAC5B,oBAAoB;IACpB,kCAAkC;IAClC,gBAAgB;IAChB,kBAAkB;IAClB,qBAAqB;IACrB,gBAAgB;CACjB,CAAC,CAAC;AAOH;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,gCAAgC;IAC1B,SAAS,CAAS;IAClB,MAAM,CAA4B;IAEnD,YAAY,UAAsD;QAChE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAEO,uBAAuB,CAAC,IAAY;QAC1C,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,qCAAqC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,0BAA0B,CAC9B,IAAI,CAAC,SAAS,EACd,GAAG,IAAI,0CAA0C,CAClD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,CAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAC3C,CAAC;QACF,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,CACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAC1C,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cfn-dynamodb-table-property-rules.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,qCAAqC,GACtC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAG1F;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IAC1D,sBAAsB;IACtB,aAAa;IACb,2BAA2B;IAC3B,wBAAwB;IACxB,WAAW;IACX,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,YAAY;IACZ,WAAW;IACX,MAAM;IACN,yBAAyB;CAC1B,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,kCAAkC;IAClC,2BAA2B;IAC3B,4BAA4B;IAC5B,oBAAoB;IACpB,kCAAkC;IAClC,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;CACjB,CAAC,CAAC;AAOH;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,gCAAgC;IAC1B,SAAS,CAAS;IAClB,MAAM,CAA4B;IAEnD,YAAY,UAAsD;QAChE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAEO,uBAAuB,CAAC,IAAY;QAC1C,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,qCAAqC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,0BAA0B,CAC9B,IAAI,CAAC,SAAS,EACd,GAAG,IAAI,0CAA0C,CAClD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,sBAAsB;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,6BAA6B,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAC3C,CAAC;QACF,6BAA6B,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,eAAe,CAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAC1C,CAAC;QACF,IAAI,8BAA8B,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import type { SimCfnDynamoDbTableValues } from "./sim-cfn-dynamodb-table-values.js";
2
+ /**
3
+ * Which properties of a table's StreamSpecification simulated DynamoDB can act
4
+ * on.
5
+ *
6
+ * This is the table's own property rule applied a level down, as the index
7
+ * rules are. A real property that is not simulated skips the table, since a
8
+ * stream deployed without a policy the template asked for would be read by
9
+ * whatever that policy was meant to keep out.
10
+ */
11
+ export declare class SimCfnDynamoDbTableStreamRules {
12
+ private readonly logicalId;
13
+ constructor(logicalId: string);
14
+ /**
15
+ * Refuse everything about the table's StreamSpecification that is not
16
+ * simulated.
17
+ *
18
+ * A table declaring no stream has nothing here to refuse.
19
+ */
20
+ assertSimulated(values: SimCfnDynamoDbTableValues): void;
21
+ private assertSimulatedProperty;
22
+ }
23
+ //# sourceMappingURL=sim-cfn-dynamodb-table-stream-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-table-stream-rules.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAwBpF;;;;;;;;GAQG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,YAAY,SAAS,EAAE,MAAM,EAE5B;IAED;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI,CAUvD;IAED,OAAO,CAAC,uBAAuB;CAqBhC"}
@@ -0,0 +1,62 @@
1
+ import { dynamoDbTablePropertyError, dynamoDbTableUnsimulatedPropertyError, } from "./sim-cfn-dynamodb-table-property-error.js";
2
+ /**
3
+ * The StreamSpecification properties this simulation acts on.
4
+ *
5
+ * CloudFormation's StreamSpecification is not the SDK's: it has no
6
+ * `StreamEnabled` field at all, so a template declaring the property at all is
7
+ * asking for a stream, and the view type is the only thing left to say.
8
+ */
9
+ const simulatedStreamPropertyNames = new Set([
10
+ "StreamViewType",
11
+ ]);
12
+ /**
13
+ * Real StreamSpecification properties this simulation does not model.
14
+ *
15
+ * The nested `ResourcePolicy` is a policy on the stream rather than on the
16
+ * table, and is a different property from the table's own `ResourcePolicy`, so
17
+ * it is named here rather than left to read as a property that does not exist.
18
+ */
19
+ const unsimulatedStreamPropertyNames = new Set([
20
+ "ResourcePolicy",
21
+ ]);
22
+ /**
23
+ * Which properties of a table's StreamSpecification simulated DynamoDB can act
24
+ * on.
25
+ *
26
+ * This is the table's own property rule applied a level down, as the index
27
+ * rules are. A real property that is not simulated skips the table, since a
28
+ * stream deployed without a policy the template asked for would be read by
29
+ * whatever that policy was meant to keep out.
30
+ */
31
+ export class SimCfnDynamoDbTableStreamRules {
32
+ logicalId;
33
+ constructor(logicalId) {
34
+ this.logicalId = logicalId;
35
+ }
36
+ /**
37
+ * Refuse everything about the table's StreamSpecification that is not
38
+ * simulated.
39
+ *
40
+ * A table declaring no stream has nothing here to refuse.
41
+ */
42
+ assertSimulated(values) {
43
+ const specification = values.object("StreamSpecification");
44
+ if (specification === undefined) {
45
+ return;
46
+ }
47
+ for (const name of specification.names) {
48
+ this.assertSimulatedProperty(specification, name);
49
+ }
50
+ }
51
+ assertSimulatedProperty(specification, name) {
52
+ if (simulatedStreamPropertyNames.has(name)) {
53
+ return;
54
+ }
55
+ if (unsimulatedStreamPropertyNames.has(name)) {
56
+ throw dynamoDbTableUnsimulatedPropertyError(this.logicalId, specification.pathTo(name));
57
+ }
58
+ throw dynamoDbTablePropertyError(this.logicalId, `${specification.pathTo(name)} is not an AWS::DynamoDB::Table ` +
59
+ `StreamSpecification property`);
60
+ }
61
+ }
62
+ //# sourceMappingURL=sim-cfn-dynamodb-table-stream-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-table-stream-rules.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,qCAAqC,GACtC,MAAM,4CAA4C,CAAC;AAGpD;;;;;;GAMG;AACH,MAAM,4BAA4B,GAAwB,IAAI,GAAG,CAAC;IAChE,gBAAgB;CACjB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,8BAA8B,GAAwB,IAAI,GAAG,CAAC;IAClE,gBAAgB;CACjB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,OAAO,8BAA8B;IACxB,SAAS,CAAS;IAEnC,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,MAAiC;QAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAE3D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEO,uBAAuB,CAC7B,aAAwC,EACxC,IAAY;QAEZ,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,qCAAqC,CACzC,IAAI,CAAC,SAAS,EACd,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAC3B,CAAC;QACJ,CAAC;QAED,MAAM,0BAA0B,CAC9B,IAAI,CAAC,SAAS,EACd,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC;YAC7D,8BAA8B,CACjC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import type { SimDynamoDbStreamSpecification } from "../../stream/sim-dynamodb-stream.types.js";
2
+ import type { SimCfnDynamoDbTableValues } from "./sim-cfn-dynamodb-table-values.js";
3
+ /**
4
+ * Read the stream an AWS::DynamoDB::Table Resource asks for.
5
+ *
6
+ * CloudFormation's StreamSpecification carries no `StreamEnabled`, where the
7
+ * SDK's requires one, so declaring the property is how a template says it wants
8
+ * a stream. `StreamEnabled` is synthesized from the property being there at
9
+ * all, because passing the block straight through would make a table whose
10
+ * stream was never switched on.
11
+ *
12
+ * The view type is passed through as the template wrote it, so a template
13
+ * naming one that does not exist is refused in the words CreateTable refuses it
14
+ * in.
15
+ */
16
+ export declare function readSimCfnDynamoDbTableStream(values: SimCfnDynamoDbTableValues): SimDynamoDbStreamSpecification | undefined;
17
+ //# sourceMappingURL=sim-cfn-dynamodb-table-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-table-stream.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEpF;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,yBAAyB,GAChC,8BAA8B,GAAG,SAAS,CAW5C"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Read the stream an AWS::DynamoDB::Table Resource asks for.
3
+ *
4
+ * CloudFormation's StreamSpecification carries no `StreamEnabled`, where the
5
+ * SDK's requires one, so declaring the property is how a template says it wants
6
+ * a stream. `StreamEnabled` is synthesized from the property being there at
7
+ * all, because passing the block straight through would make a table whose
8
+ * stream was never switched on.
9
+ *
10
+ * The view type is passed through as the template wrote it, so a template
11
+ * naming one that does not exist is refused in the words CreateTable refuses it
12
+ * in.
13
+ */
14
+ export function readSimCfnDynamoDbTableStream(values) {
15
+ const specification = values.object("StreamSpecification");
16
+ if (specification === undefined) {
17
+ return undefined;
18
+ }
19
+ return {
20
+ StreamEnabled: true,
21
+ StreamViewType: specification.string("StreamViewType"),
22
+ };
23
+ }
24
+ //# sourceMappingURL=sim-cfn-dynamodb-table-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-dynamodb-table-stream.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,6BAA6B,CAC3C,MAAiC;IAEjC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE3D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC;KACvD,CAAC;AACJ,CAAC"}
@@ -30,6 +30,17 @@ export declare class SimDynamoDbAuthorizer {
30
30
  * caller.
31
31
  */
32
32
  authorizeTable(action: string, tableName: string, caller?: SimAwsCaller): SimAwsResolvedCaller;
33
+ /**
34
+ * Ensure the caller may perform an action on a table's stream.
35
+ *
36
+ * The resource is the stream's own ARN, which is the table's ARN and then
37
+ * the stream's label, so a statement naming only the table does not reach it.
38
+ * The ARN comes from the request rather than being built here: a stream is
39
+ * named by an ARN a caller was handed, and one naming no stream is refused
40
+ * before anything looks it up, as real IAM refuses a request before the
41
+ * service sees it.
42
+ */
43
+ authorizeStream(action: string, streamArn: string, caller?: SimAwsCaller): SimAwsResolvedCaller;
33
44
  /**
34
45
  * Ensure the caller may perform an action that names no particular table.
35
46
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sim-dynamodb-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/authorize/sim-dynamodb-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAItG,UAAU,+BAA+B;IACvC,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAC9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAE9D,YAAY,UAAU,EAAE,+BAA+B,EAGtD;IAED;;;;;;;;;;;OAWG;IACH,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,YAAY,GACpB,oBAAoB,CAMtB;IAED;;;;;OAKG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,YAAY,GACpB,oBAAoB,CAEtB;IAED,OAAO,CAAC,iBAAiB;CAiB1B"}
1
+ {"version":3,"file":"sim-dynamodb-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/authorize/sim-dynamodb-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAItG,UAAU,+BAA+B;IACvC,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAC9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAE9D,YAAY,UAAU,EAAE,+BAA+B,EAGtD;IAED;;;;;;;;;;;OAWG;IACH,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,YAAY,GACpB,oBAAoB,CAMtB;IAED;;;;;;;;;OASG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,YAAY,GACpB,oBAAoB,CAEtB;IAED;;;;;OAKG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,YAAY,GACpB,oBAAoB,CAEtB;IAED,OAAO,CAAC,iBAAiB;CAiB1B"}
@@ -29,6 +29,19 @@ export class SimDynamoDbAuthorizer {
29
29
  authorizeTable(action, tableName, caller) {
30
30
  return this.authorizeResource(action, simDynamoDbTableArn(this.accountRegionScope, tableName), caller);
31
31
  }
32
+ /**
33
+ * Ensure the caller may perform an action on a table's stream.
34
+ *
35
+ * The resource is the stream's own ARN, which is the table's ARN and then
36
+ * the stream's label, so a statement naming only the table does not reach it.
37
+ * The ARN comes from the request rather than being built here: a stream is
38
+ * named by an ARN a caller was handed, and one naming no stream is refused
39
+ * before anything looks it up, as real IAM refuses a request before the
40
+ * service sees it.
41
+ */
42
+ authorizeStream(action, streamArn, caller) {
43
+ return this.authorizeResource(action, streamArn, caller);
44
+ }
32
45
  /**
33
46
  * Ensure the caller may perform an action that names no particular table.
34
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sim-dynamodb-authorizer.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/authorize/sim-dynamodb-authorizer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAO5E;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IACf,GAAG,CAA0B;IAC7B,kBAAkB,CAA2B;IAE9D,YAAY,UAA2C;QACrD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;OAWG;IACH,cAAc,CACZ,MAAc,EACd,SAAiB,EACjB,MAAqB;QAErB,OAAO,IAAI,CAAC,iBAAiB,CAC3B,MAAM,EACN,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,EACvD,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CACf,MAAc,EACd,MAAqB;QAErB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAEO,iBAAiB,CACvB,MAAc,EACd,QAAgB,EAChB,MAAgC;QAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAElE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,kBAAkB,CAAC;gBAC3B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;gBACpC,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"sim-dynamodb-authorizer.js","sourceRoot":"","sources":["../../../../../src/service/dynamodb/command/authorize/sim-dynamodb-authorizer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAO5E;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IACf,GAAG,CAA0B;IAC7B,kBAAkB,CAA2B;IAE9D,YAAY,UAA2C;QACrD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;OAWG;IACH,cAAc,CACZ,MAAc,EACd,SAAiB,EACjB,MAAqB;QAErB,OAAO,IAAI,CAAC,iBAAiB,CAC3B,MAAM,EACN,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,EACvD,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,eAAe,CACb,MAAc,EACd,SAAiB,EACjB,MAAqB;QAErB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CACf,MAAc,EACd,MAAqB;QAErB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAEO,iBAAiB,CACvB,MAAc,EACd,QAAgB,EAChB,MAAgC;QAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAElE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,kBAAkB,CAAC;gBAC3B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;gBACpC,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dynamodb-streams/command/DescribeStreamCommand/
3
+ */
4
+ import type { SimResponseMetadata } from "../../../../aws/metadata/response-metadata.type.js";
5
+ import type { SimDynamoDbStreamDescription } from "../stream.types.js";
6
+ /**
7
+ * Minimal structural sim DynamoDB Streams shard filter.
8
+ *
9
+ * Declared so a request asking for one is refused by name. A simulated stream
10
+ * has one shard and never splits, so there is no lineage for a filter to walk.
11
+ */
12
+ export interface SimDynamoDbShardFilter {
13
+ readonly Type?: string | undefined;
14
+ readonly ShardId?: string | undefined;
15
+ }
16
+ /**
17
+ * Minimal structural sim DynamoDB Streams DescribeStream command.
18
+ */
19
+ export interface SimDescribeStreamCommand {
20
+ readonly input: SimDescribeStreamCommandInput;
21
+ }
22
+ /**
23
+ * Minimal structural sim DynamoDB Streams DescribeStream input.
24
+ *
25
+ * `Limit` and `ExclusiveStartShardId` page through a stream's shards. A
26
+ * simulated stream has exactly one, so a `Limit` of at least one never cuts a
27
+ * page short, and `ExclusiveStartShardId` naming that shard leaves a page with
28
+ * nothing on it.
29
+ */
30
+ export interface SimDescribeStreamCommandInput {
31
+ readonly StreamArn?: string | undefined;
32
+ readonly Limit?: number | undefined;
33
+ readonly ExclusiveStartShardId?: string | undefined;
34
+ readonly ShardFilter?: SimDynamoDbShardFilter | undefined;
35
+ }
36
+ /**
37
+ * Minimal structural sim DynamoDB Streams DescribeStream output.
38
+ */
39
+ export interface SimDescribeStreamCommandOutput {
40
+ readonly StreamDescription?: SimDynamoDbStreamDescription | undefined;
41
+ readonly $metadata: SimResponseMetadata;
42
+ }
43
+ //# sourceMappingURL=describe-stream.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describe-stream.command.d.ts","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/describe-stream/describe-stream.command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC;CAC/C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dynamodb-streams/command/DescribeStreamCommand/
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=describe-stream.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describe-stream.command.js","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/describe-stream/describe-stream.command.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,26 @@
1
+ import type { SimAwsCaller } from "../../../../aws/caller/sim-aws-caller.js";
2
+ import type { SimDynamoDbStreamAccess } from "../sim-dynamodb-stream-access.js";
3
+ import type { SimDescribeStreamCommand, SimDescribeStreamCommandOutput } from "./describe-stream.command.js";
4
+ interface SimDynamoDbDescribeStreamProperties {
5
+ readonly access: SimDynamoDbStreamAccess;
6
+ }
7
+ interface SimDynamoDbDescribeStreamOptions {
8
+ readonly caller?: SimAwsCaller;
9
+ }
10
+ /**
11
+ * The command that reports a stream, its shard and what its records carry.
12
+ */
13
+ export declare class SimDynamoDbDescribeStream {
14
+ private readonly access;
15
+ constructor(properties: SimDynamoDbDescribeStreamProperties);
16
+ /**
17
+ * Describe the stream an ARN names.
18
+ *
19
+ * `LastEvaluatedShardId` is never reported: there is one shard, so a page of
20
+ * them is always the whole of them, and a token would send a caller round a
21
+ * loop for a shard that does not exist.
22
+ */
23
+ handle(command: SimDescribeStreamCommand, options?: SimDynamoDbDescribeStreamOptions): SimDescribeStreamCommandOutput;
24
+ }
25
+ export {};
26
+ //# sourceMappingURL=sim-dynamodb-describe-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb-describe-stream.d.ts","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAO7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EACV,wBAAwB,EACxB,8BAA8B,EAC/B,MAAM,8BAA8B,CAAC;AAEtC,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C;AAED,UAAU,gCAAgC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAkDD;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAEjD,YAAY,UAAU,EAAE,mCAAmC,EAE1D;IAED;;;;;;OAMG;IACH,MAAM,CACJ,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE,gCAAgC,GACzC,8BAA8B,CA6BhC;CACF"}
@@ -0,0 +1,77 @@
1
+ import { SimDynamoDbUnsupportedOperation, SimDynamoDbValidationException, } from "../../../error/dynamodb.error.js";
2
+ /**
3
+ * The greatest number of shards one DescribeStream reports.
4
+ */
5
+ const greatestLimit = 100;
6
+ /**
7
+ * Refuse a page size DynamoDB would not take.
8
+ */
9
+ function assertLimit(limit) {
10
+ if (limit === undefined) {
11
+ return;
12
+ }
13
+ if (!Number.isSafeInteger(limit) || limit < 1 || limit > greatestLimit) {
14
+ throw new SimDynamoDbValidationException(`Limit ${limit.toString()} is invalid. It is a whole number between 1 ` +
15
+ `and ${greatestLimit.toString()}.`);
16
+ }
17
+ }
18
+ /**
19
+ * The shards of a stream a request asks for, which is its one shard or none.
20
+ *
21
+ * A simulated stream has one shard, so a `Limit` of at least one never cuts the
22
+ * page short. `ExclusiveStartShardId` naming that shard does leave nothing to
23
+ * report, which is what a caller resuming from it means, so it is honoured
24
+ * rather than ignored.
25
+ */
26
+ function shardsOf(stream, exclusiveStartShardId) {
27
+ if (exclusiveStartShardId === stream.shard.shardId) {
28
+ return [];
29
+ }
30
+ return [
31
+ {
32
+ ShardId: stream.shard.shardId,
33
+ SequenceNumberRange: {
34
+ StartingSequenceNumber: stream.shard.startingSequenceNumber,
35
+ EndingSequenceNumber: stream.shard.endingSequenceNumber,
36
+ },
37
+ },
38
+ ];
39
+ }
40
+ /**
41
+ * The command that reports a stream, its shard and what its records carry.
42
+ */
43
+ export class SimDynamoDbDescribeStream {
44
+ access;
45
+ constructor(properties) {
46
+ this.access = properties.access;
47
+ }
48
+ /**
49
+ * Describe the stream an ARN names.
50
+ *
51
+ * `LastEvaluatedShardId` is never reported: there is one shard, so a page of
52
+ * them is always the whole of them, and a token would send a caller round a
53
+ * loop for a shard that does not exist.
54
+ */
55
+ handle(command, options) {
56
+ const stream = this.access.required("dynamodb:DescribeStream", command.input.StreamArn, options?.caller);
57
+ if (command.input.ShardFilter !== undefined) {
58
+ throw new SimDynamoDbUnsupportedOperation("DescribeStream ShardFilter is not simulated: a simulated stream has " +
59
+ "one shard and never splits, so it has no shard lineage to filter");
60
+ }
61
+ assertLimit(command.input.Limit);
62
+ return {
63
+ StreamDescription: {
64
+ StreamArn: stream.arn,
65
+ StreamLabel: stream.label,
66
+ StreamStatus: stream.status,
67
+ StreamViewType: stream.viewType,
68
+ CreationRequestDateTime: stream.enabledAt,
69
+ TableName: stream.tableName,
70
+ KeySchema: stream.keySchemaElements,
71
+ Shards: shardsOf(stream, command.input.ExclusiveStartShardId),
72
+ },
73
+ $metadata: {},
74
+ };
75
+ }
76
+ }
77
+ //# sourceMappingURL=sim-dynamodb-describe-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb-describe-stream.js","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/describe-stream/sim-dynamodb-describe-stream.ts"],"names":[],"mappings":"AACA,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,kCAAkC,CAAC;AAiB1C;;GAEG;AACH,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;;GAEG;AACH,SAAS,WAAW,CAAC,KAAyB;IAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,aAAa,EAAE,CAAC;QACvE,MAAM,IAAI,8BAA8B,CACtC,SAAS,KAAK,CAAC,QAAQ,EAAE,8CAA8C;YACrE,OAAO,aAAa,CAAC,QAAQ,EAAE,GAAG,CACrC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,QAAQ,CACf,MAAyB,EACzB,qBAAyC;IAEzC,IAAI,qBAAqB,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO;QACL;YACE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;YAC7B,mBAAmB,EAAE;gBACnB,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,sBAAsB;gBAC3D,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB;aACxD;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACnB,MAAM,CAA0B;IAEjD,YAAY,UAA+C;QACzD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CACJ,OAAiC,EACjC,OAA0C;QAE1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CACjC,yBAAyB,EACzB,OAAO,CAAC,KAAK,CAAC,SAAS,EACvB,OAAO,EAAE,MAAM,CAChB,CAAC;QAEF,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,+BAA+B,CACvC,sEAAsE;gBACpE,kEAAkE,CACrE,CAAC;QACJ,CAAC;QAED,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEjC,OAAO;YACL,iBAAiB,EAAE;gBACjB,SAAS,EAAE,MAAM,CAAC,GAAG;gBACrB,WAAW,EAAE,MAAM,CAAC,KAAK;gBACzB,YAAY,EAAE,MAAM,CAAC,MAAM;gBAC3B,cAAc,EAAE,MAAM,CAAC,QAAQ;gBAC/B,uBAAuB,EAAE,MAAM,CAAC,SAAS;gBACzC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,iBAAiB;gBACnC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC;aAC9D;YACD,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dynamodb-streams/command/GetRecordsCommand/
3
+ */
4
+ import type { SimResponseMetadata } from "../../../../aws/metadata/response-metadata.type.js";
5
+ import type { SimDynamoDbStreamsRecord } from "../stream.types.js";
6
+ /**
7
+ * Minimal structural sim DynamoDB Streams GetRecords command.
8
+ */
9
+ export interface SimGetRecordsCommand {
10
+ readonly input: SimGetRecordsCommandInput;
11
+ }
12
+ /**
13
+ * Minimal structural sim DynamoDB Streams GetRecords input.
14
+ */
15
+ export interface SimGetRecordsCommandInput {
16
+ readonly ShardIterator?: string | undefined;
17
+ readonly Limit?: number | undefined;
18
+ }
19
+ /**
20
+ * Minimal structural sim DynamoDB Streams GetRecords output.
21
+ *
22
+ * An empty `Records` with a `NextShardIterator` is the ordinary answer for a
23
+ * reader that has caught up, and is not smoothed away into anything else.
24
+ * `NextShardIterator` is absent only when the shard is closed and the reader
25
+ * has reached the end of it, which is how a consumer knows to stop.
26
+ */
27
+ export interface SimGetRecordsCommandOutput {
28
+ readonly Records?: readonly SimDynamoDbStreamsRecord[] | undefined;
29
+ readonly NextShardIterator?: string | undefined;
30
+ readonly $metadata: SimResponseMetadata;
31
+ }
32
+ //# sourceMappingURL=get-records.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-records.command.d.ts","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/get-records/get-records.command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,wBAAwB,EAAE,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dynamodb-streams/command/GetRecordsCommand/
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=get-records.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-records.command.js","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/get-records/get-records.command.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,29 @@
1
+ import type { SimAwsCaller } from "../../../../aws/caller/sim-aws-caller.js";
2
+ import type { SimAwsAccountRegionScope } from "../../../../aws/sim-aws-account-region-scope.js";
3
+ import type { SimDynamoDbStreamAccess } from "../sim-dynamodb-stream-access.js";
4
+ import type { SimGetRecordsCommand, SimGetRecordsCommandOutput } from "./get-records.command.js";
5
+ interface SimDynamoDbGetRecordsProperties {
6
+ readonly access: SimDynamoDbStreamAccess;
7
+ readonly accountRegionScope: SimAwsAccountRegionScope;
8
+ }
9
+ interface SimDynamoDbGetRecordsOptions {
10
+ readonly caller?: SimAwsCaller;
11
+ }
12
+ /**
13
+ * The command that reads records off a shard.
14
+ */
15
+ export declare class SimDynamoDbGetRecords {
16
+ private readonly access;
17
+ private readonly accountRegionScope;
18
+ constructor(properties: SimDynamoDbGetRecordsProperties);
19
+ /**
20
+ * Read from where a shard iterator points, and say where to carry on.
21
+ *
22
+ * The iterator carries the stream it belongs to, so the caller is authorized
23
+ * against that stream's ARN rather than against anything the request names
24
+ * separately.
25
+ */
26
+ handle(command: SimGetRecordsCommand, options?: SimDynamoDbGetRecordsOptions): SimGetRecordsCommandOutput;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=sim-dynamodb-get-records.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb-get-records.d.ts","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAUhG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AAOlC,UAAU,+BAA+B;IACvC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED,UAAU,4BAA4B;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAwBD;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAE9D,YAAY,UAAU,EAAE,+BAA+B,EAGtD;IAED;;;;;;OAMG;IACH,MAAM,CACJ,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,4BAA4B,GACrC,0BAA0B,CA4B5B;CACF"}
@@ -0,0 +1,60 @@
1
+ import { SimDynamoDbResourceNotFoundException, SimDynamoDbValidationException, } from "../../../error/dynamodb.error.js";
2
+ import { simDynamoDbStreamRead } from "../../../stream/sim-dynamodb-stream-read.js";
3
+ import { readSimDynamoDbShardIteratorToken, simDynamoDbShardIteratorToken, } from "../../../stream/sim-dynamodb-stream-shard-iterator.js";
4
+ import { simDynamoDbStreamsApiRecord } from "./sim-dynamodb-streams-api-record.js";
5
+ /**
6
+ * The most records one GetRecords hands back, whatever the request asks for.
7
+ */
8
+ const greatestLimit = 1000;
9
+ /**
10
+ * Read the batch size a request asks for.
11
+ *
12
+ * A request asking for more than the cap is refused rather than quietly given
13
+ * fewer, since a consumer that thinks it asked for 5000 and got 1000 has no way
14
+ * of telling that from having caught up.
15
+ */
16
+ function readLimit(limit) {
17
+ if (limit === undefined) {
18
+ return greatestLimit;
19
+ }
20
+ if (!Number.isSafeInteger(limit) || limit < 1 || limit > greatestLimit) {
21
+ throw new SimDynamoDbValidationException(`Limit ${limit.toString()} is invalid. It is a whole number between 1 ` +
22
+ `and ${greatestLimit.toString()}.`);
23
+ }
24
+ return limit;
25
+ }
26
+ /**
27
+ * The command that reads records off a shard.
28
+ */
29
+ export class SimDynamoDbGetRecords {
30
+ access;
31
+ accountRegionScope;
32
+ constructor(properties) {
33
+ this.access = properties.access;
34
+ this.accountRegionScope = properties.accountRegionScope;
35
+ }
36
+ /**
37
+ * Read from where a shard iterator points, and say where to carry on.
38
+ *
39
+ * The iterator carries the stream it belongs to, so the caller is authorized
40
+ * against that stream's ARN rather than against anything the request names
41
+ * separately.
42
+ */
43
+ handle(command, options) {
44
+ const iterator = readSimDynamoDbShardIteratorToken(command.input.ShardIterator);
45
+ const limit = readLimit(command.input.Limit);
46
+ const stream = this.access.required("dynamodb:GetRecords", iterator.streamArn, options?.caller);
47
+ if (iterator.shardId !== stream.shard.shardId) {
48
+ throw new SimDynamoDbResourceNotFoundException(`Stream ${stream.arn} has no shard ${iterator.shardId}`);
49
+ }
50
+ const read = simDynamoDbStreamRead(stream.shard, iterator.position, limit);
51
+ return {
52
+ Records: read.records.map((record) => simDynamoDbStreamsApiRecord(record, this.accountRegionScope.regionName)),
53
+ NextShardIterator: read.drained
54
+ ? undefined
55
+ : simDynamoDbShardIteratorToken({ ...iterator, position: read.next }),
56
+ $metadata: {},
57
+ };
58
+ }
59
+ }
60
+ //# sourceMappingURL=sim-dynamodb-get-records.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb-get-records.js","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/get-records/sim-dynamodb-get-records.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EACL,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,uDAAuD,CAAC;AAE/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAMnF;;GAEG;AACH,MAAM,aAAa,GAAG,IAAI,CAAC;AAW3B;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,KAAyB;IAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,aAAa,EAAE,CAAC;QACvE,MAAM,IAAI,8BAA8B,CACtC,SAAS,KAAK,CAAC,QAAQ,EAAE,8CAA8C;YACrE,OAAO,aAAa,CAAC,QAAQ,EAAE,GAAG,CACrC,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACf,MAAM,CAA0B;IAChC,kBAAkB,CAA2B;IAE9D,YAAY,UAA2C;QACrD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CACJ,OAA6B,EAC7B,OAAsC;QAEtC,MAAM,QAAQ,GAAG,iCAAiC,CAChD,OAAO,CAAC,KAAK,CAAC,aAAa,CAC5B,CAAC;QACF,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CACjC,qBAAqB,EACrB,QAAQ,CAAC,SAAS,EAClB,OAAO,EAAE,MAAM,CAChB,CAAC;QAEF,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9C,MAAM,IAAI,oCAAoC,CAC5C,UAAU,MAAM,CAAC,GAAG,iBAAiB,QAAQ,CAAC,OAAO,EAAE,CACxD,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE3E,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACnC,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CACxE;YACD,iBAAiB,EAAE,IAAI,CAAC,OAAO;gBAC7B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,6BAA6B,CAAC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACvE,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import type { AwsRegionName } from "../../../../aws/sim-aws-region.js";
2
+ import type { SimDynamoDbStreamRecord } from "../../../stream/sim-dynamodb-stream-record.js";
3
+ import type { SimDynamoDbStreamsRecord } from "../stream.types.js";
4
+ /**
5
+ * Render a captured record the way the DynamoDB Streams API hands it back.
6
+ *
7
+ * `ApproximateCreationDateTime` is a Date here, where the Lambda event has
8
+ * epoch seconds in the same place. The SDK deserializes a timestamp into a
9
+ * Date, so this is what an application reading GetRecords already expects.
10
+ */
11
+ export declare function simDynamoDbStreamsApiRecord(record: SimDynamoDbStreamRecord, awsRegion: AwsRegionName): SimDynamoDbStreamsRecord;
12
+ //# sourceMappingURL=sim-dynamodb-streams-api-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb-streams-api-record.d.ts","sourceRoot":"","sources":["../../../../../../src/service/dynamodb/command/stream/get-records/sim-dynamodb-streams-api-record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,KAAK,EAEV,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAgC5B;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,aAAa,GACvB,wBAAwB,CAkB1B"}