@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
@@ -0,0 +1,36 @@
1
+ /**
2
+ * How long a mapping waits before handing a failed batch to its function
3
+ * again, and when it stops trying.
4
+ *
5
+ * Both are simulator constraints rather than AWS behaviour, and both are
6
+ * deliberate.
7
+ *
8
+ * AWS documents no delay between attempts. A delay of zero here would be
9
+ * scheduled at the instant the clock already reads, and advancing the clock
10
+ * keeps dispatching whatever falls due inside the interval it is moving
11
+ * through, so a batch the function always throws on would leave `advanceBy`
12
+ * with work to do forever. The delay is therefore strictly positive and grows
13
+ * with each attempt, which is also what a consumer under load actually wants.
14
+ *
15
+ * AWS retries a stream batch until the records age out of the stream, which is
16
+ * a day. Waiting out a simulated day for a handler that is never going to
17
+ * succeed is the same hang with more steps, so the attempts are counted
18
+ * instead. What happens at the end is AWS's own behaviour: the records are
19
+ * discarded and the mapping carries on with the stream.
20
+ */
21
+ export declare class SimLambdaStreamRetryBackoff {
22
+ private attempts;
23
+ /**
24
+ * Whether this batch has had all the attempts it gets.
25
+ */
26
+ get isExhausted(): boolean;
27
+ /**
28
+ * How long to wait before the next attempt, in seconds.
29
+ */
30
+ nextSeconds(): number;
31
+ /**
32
+ * Start counting again, which a batch that is finished with does.
33
+ */
34
+ reset(): void;
35
+ }
36
+ //# sourceMappingURL=sim-lambda-stream-retry-backoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-stream-retry-backoff.d.ts","sourceRoot":"","sources":["../../../../../src/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAK;IAErB;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,WAAW,IAAI,MAAM,CAIpB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAEZ;CACF"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * How many times one batch is delivered again before it is given up on.
3
+ */
4
+ const attemptLimit = 5;
5
+ /**
6
+ * How long a mapping waits before handing a failed batch to its function
7
+ * again, and when it stops trying.
8
+ *
9
+ * Both are simulator constraints rather than AWS behaviour, and both are
10
+ * deliberate.
11
+ *
12
+ * AWS documents no delay between attempts. A delay of zero here would be
13
+ * scheduled at the instant the clock already reads, and advancing the clock
14
+ * keeps dispatching whatever falls due inside the interval it is moving
15
+ * through, so a batch the function always throws on would leave `advanceBy`
16
+ * with work to do forever. The delay is therefore strictly positive and grows
17
+ * with each attempt, which is also what a consumer under load actually wants.
18
+ *
19
+ * AWS retries a stream batch until the records age out of the stream, which is
20
+ * a day. Waiting out a simulated day for a handler that is never going to
21
+ * succeed is the same hang with more steps, so the attempts are counted
22
+ * instead. What happens at the end is AWS's own behaviour: the records are
23
+ * discarded and the mapping carries on with the stream.
24
+ */
25
+ export class SimLambdaStreamRetryBackoff {
26
+ attempts = 0;
27
+ /**
28
+ * Whether this batch has had all the attempts it gets.
29
+ */
30
+ get isExhausted() {
31
+ return this.attempts >= attemptLimit;
32
+ }
33
+ /**
34
+ * How long to wait before the next attempt, in seconds.
35
+ */
36
+ nextSeconds() {
37
+ this.attempts += 1;
38
+ return 2 ** (this.attempts - 1);
39
+ }
40
+ /**
41
+ * Start counting again, which a batch that is finished with does.
42
+ */
43
+ reset() {
44
+ this.attempts = 0;
45
+ }
46
+ }
47
+ //# sourceMappingURL=sim-lambda-stream-retry-backoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-stream-retry-backoff.js","sourceRoot":"","sources":["../../../../../src/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,2BAA2B;IAC9B,QAAQ,GAAG,CAAC,CAAC;IAErB;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
- import { SimLambdaEventSourceBatchRules } from "../sim-lambda-event-source-batch-rules.js";
1
+ import type { SimLambdaEventSourceBatchRules } from "../sim-lambda-event-source-batch-rules.js";
2
2
  import { SimLambdaEventSourcePollingPermission } from "../sim-lambda-event-source-polling-permission.js";
3
+ import type { SimLambdaEventSourceStartingPositionRules } from "../sim-lambda-event-source-starting-position.js";
3
4
  /**
4
5
  * The queue ARN an event source mapping is created for.
5
6
  *
@@ -38,6 +39,11 @@ export declare class SimLambdaSqsEventSourceArn {
38
39
  * The batch sizes a mapping on this queue may deliver with.
39
40
  */
40
41
  get batchRules(): SimLambdaEventSourceBatchRules;
42
+ /**
43
+ * The starting positions a mapping on this queue may be created with, which
44
+ * is none of them.
45
+ */
46
+ get startingPositionRules(): SimLambdaEventSourceStartingPositionRules;
41
47
  /**
42
48
  * The URL SQS requests name this queue by.
43
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-lambda-sqs-event-source-arn.d.ts","sourceRoot":"","sources":["../../../../../src/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,qCAAqC,EAAE,MAAM,kDAAkD,CAAC;AA+BzG;;;;;;;GAOG;AACH,qBAAa,0BAA0B;IACrC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,wEAC+C;IAEvE,SAAgB,IAAI,EAAG,KAAK,CAAU;IACtC,SAAgB,YAAY,SAAS;IACrC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,kBAAkB,EAAE,SAAS,qCAAqC,EAAE,CAAC;IAErF,OAAO,eASN;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,CAQrE;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,CAUtD;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,8BAA8B,CAE/C;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAMrB;IAED;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAEnD;CACF"}
1
+ {"version":3,"file":"sim-lambda-sqs-event-source-arn.d.ts","sourceRoot":"","sources":["../../../../../src/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,qCAAqC,EAAE,MAAM,kDAAkD,CAAC;AACzG,OAAO,KAAK,EAAE,yCAAyC,EAAE,MAAM,iDAAiD,CAAC;AAUjH;;;;;;;GAOG;AACH,qBAAa,0BAA0B;IACrC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,wEAC+C;IAEvE,SAAgB,IAAI,EAAG,KAAK,CAAU;IACtC,SAAgB,YAAY,SAAS;IACrC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,kBAAkB,EAAE,SAAS,qCAAqC,EAAE,CAAC;IAErF,OAAO,eASN;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,CAQrE;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,CAUtD;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,8BAA8B,CAE/C;IAED;;;OAGG;IACH,IAAI,qBAAqB,IAAI,yCAAyC,CAErE;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAMrB;IAED;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAEnD;CACF"}
@@ -1,32 +1,8 @@
1
1
  import { SimLambdaInvalidParameterValueException } from "../../error/sim-lambda.error.js";
2
2
  import { sqsQueueUrl } from "../../../sqs/queue/sim-sqs-queue-arn.js";
3
- import { SimLambdaEventSourceBatchRules } from "../sim-lambda-event-source-batch-rules.js";
4
3
  import { SimLambdaEventSourcePollingPermission } from "../sim-lambda-event-source-polling-permission.js";
4
+ import { sqsBatchRules, sqsPollingOperations, sqsStartingPositionRules, } from "./sim-lambda-sqs-event-source-rules.js";
5
5
  const queueArnPattern = /^arn:aws:sqs:(?<region>[a-z0-9-]+):(?<account>\d{12}):(?<name>[\w-]{1,80})$/u;
6
- /**
7
- * What a function's execution role has to be allowed to do on a queue for
8
- * Lambda to poll it.
9
- *
10
- * These are the three operations real Lambda checks when an SQS event source
11
- * mapping is created, and the three its poller performs afterwards.
12
- */
13
- const queuePollingOperations = [
14
- "ReceiveMessage",
15
- "DeleteMessage",
16
- "GetQueueAttributes",
17
- ];
18
- /**
19
- * The batch sizes an SQS event source delivers with.
20
- *
21
- * Ten is both the batch real Lambda uses when the mapping names none, and the
22
- * largest batch it delivers from a standard queue without a batching window to
23
- * fill a bigger one.
24
- */
25
- const queueBatchRules = new SimLambdaEventSourceBatchRules({
26
- defaultSize: 10,
27
- maximumSize: 10,
28
- sourceDescription: "a queue with no batching window",
29
- });
30
6
  /**
31
7
  * The queue ARN an event source mapping is created for.
32
8
  *
@@ -53,7 +29,7 @@ export class SimLambdaSqsEventSourceArn {
53
29
  this.regionName = parts["region"] ?? "";
54
30
  this.accountId = parts["account"] ?? "";
55
31
  this.queueName = parts["name"] ?? "";
56
- this.pollingPermissions = queuePollingOperations.map((operation) => new SimLambdaEventSourcePollingPermission(`sqs:${operation}`, value));
32
+ this.pollingPermissions = sqsPollingOperations.map((operation) => new SimLambdaEventSourcePollingPermission(`sqs:${operation}`, value));
57
33
  }
58
34
  /**
59
35
  * Read a queue ARN, answering with nothing when the ARN names something
@@ -83,7 +59,14 @@ export class SimLambdaSqsEventSourceArn {
83
59
  * The batch sizes a mapping on this queue may deliver with.
84
60
  */
85
61
  get batchRules() {
86
- return queueBatchRules;
62
+ return sqsBatchRules;
63
+ }
64
+ /**
65
+ * The starting positions a mapping on this queue may be created with, which
66
+ * is none of them.
67
+ */
68
+ get startingPositionRules() {
69
+ return sqsStartingPositionRules;
87
70
  }
88
71
  /**
89
72
  * The URL SQS requests name this queue by.
@@ -1 +1 @@
1
- {"version":3,"file":"sim-lambda-sqs-event-source-arn.js","sourceRoot":"","sources":["../../../../../src/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,qCAAqC,EAAE,MAAM,kDAAkD,CAAC;AAEzG,MAAM,eAAe,GACnB,8EAA8E,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG;IAC7B,gBAAgB;IAChB,eAAe;IACf,oBAAoB;CACZ,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,IAAI,8BAA8B,CAAC;IACzD,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IACf,iBAAiB,EAAE,iCAAiC;CACrD,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,OAAO,0BAA0B;IACrC;;;OAGG;IACH,MAAM,CAAU,QAAQ,GACtB,oEAAoE,CAAC;IAEvD,IAAI,GAAG,KAAc,CAAC;IACtB,YAAY,GAAG,KAAK,CAAC;IACrB,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,SAAS,CAAS;IAClB,kBAAkB,CAAmD;IAErF,YAAoB,KAAa,EAAE,KAA6B;QAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,sBAAsB,CAAC,GAAG,CAClD,CAAC,SAAS,EAAE,EAAE,CACZ,IAAI,qCAAqC,CAAC,OAAO,SAAS,EAAE,EAAE,KAAK,CAAC,CACvE,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,QAAgB;QAC3B,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAErD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,QAAgB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,uCAAuC,CAC/C,GAAG,QAAQ,6BAA6B,IAAI,CAAC,QAAQ,EAAE,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,WAAW,CAAC;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,SAAiB,EAAE,UAAkB;QACxC,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC;IACxE,CAAC;CACF"}
1
+ {"version":3,"file":"sim-lambda-sqs-event-source-arn.js","sourceRoot":"","sources":["../../../../../src/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAEtE,OAAO,EAAE,qCAAqC,EAAE,MAAM,kDAAkD,CAAC;AAEzG,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,eAAe,GACnB,8EAA8E,CAAC;AAEjF;;;;;;;GAOG;AACH,MAAM,OAAO,0BAA0B;IACrC;;;OAGG;IACH,MAAM,CAAU,QAAQ,GACtB,oEAAoE,CAAC;IAEvD,IAAI,GAAG,KAAc,CAAC;IACtB,YAAY,GAAG,KAAK,CAAC;IACrB,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,SAAS,CAAS;IAClB,kBAAkB,CAAmD;IAErF,YAAoB,KAAa,EAAE,KAA6B;QAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAChD,CAAC,SAAS,EAAE,EAAE,CACZ,IAAI,qCAAqC,CAAC,OAAO,SAAS,EAAE,EAAE,KAAK,CAAC,CACvE,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,QAAgB;QAC3B,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAErD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,QAAgB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,uCAAuC,CAC/C,GAAG,QAAQ,6BAA6B,IAAI,CAAC,QAAQ,EAAE,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,IAAI,qBAAqB;QACvB,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,WAAW,CAAC;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,SAAiB,EAAE,UAAkB;QACxC,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC;IACxE,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ import { SimLambdaEventSourceBatchRules } from "../sim-lambda-event-source-batch-rules.js";
2
+ import { SimLambdaNoStartingPosition } from "../sim-lambda-event-source-starting-position.js";
3
+ /**
4
+ * What a function's execution role has to be allowed to do on a queue for
5
+ * Lambda to poll it.
6
+ *
7
+ * These are the three operations real Lambda checks when an SQS event source
8
+ * mapping is created, and the three its poller performs afterwards.
9
+ */
10
+ export declare const sqsPollingOperations: readonly ["ReceiveMessage", "DeleteMessage", "GetQueueAttributes"];
11
+ /**
12
+ * The batch sizes an SQS event source delivers with.
13
+ *
14
+ * Ten is both the batch real Lambda uses when the mapping names none, and the
15
+ * largest batch it delivers from a standard queue without a batching window to
16
+ * fill a bigger one.
17
+ */
18
+ export declare const sqsBatchRules: SimLambdaEventSourceBatchRules;
19
+ /**
20
+ * A queue has no starting position: a mapping on one takes whatever is at the
21
+ * front of the queue, and there is nowhere else it could start from.
22
+ */
23
+ export declare const sqsStartingPositionRules: SimLambdaNoStartingPosition;
24
+ //# sourceMappingURL=sim-lambda-sqs-event-source-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-sqs-event-source-rules.d.ts","sourceRoot":"","sources":["../../../../../src/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;AAE9F;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,YAC/B,gBAAgB,EAChB,eAAe,EACf,oBAAoB,CACZ,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,gCAKxB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,wBAAwB,6BAEpC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { SimLambdaEventSourceBatchRules } from "../sim-lambda-event-source-batch-rules.js";
2
+ import { SimLambdaNoStartingPosition } from "../sim-lambda-event-source-starting-position.js";
3
+ /**
4
+ * What a function's execution role has to be allowed to do on a queue for
5
+ * Lambda to poll it.
6
+ *
7
+ * These are the three operations real Lambda checks when an SQS event source
8
+ * mapping is created, and the three its poller performs afterwards.
9
+ */
10
+ export const sqsPollingOperations = [
11
+ "ReceiveMessage",
12
+ "DeleteMessage",
13
+ "GetQueueAttributes",
14
+ ];
15
+ /**
16
+ * The batch sizes an SQS event source delivers with.
17
+ *
18
+ * Ten is both the batch real Lambda uses when the mapping names none, and the
19
+ * largest batch it delivers from a standard queue without a batching window to
20
+ * fill a bigger one.
21
+ */
22
+ export const sqsBatchRules = new SimLambdaEventSourceBatchRules({
23
+ defaultSize: 10,
24
+ maximumSize: 10,
25
+ sourceDescription: "a queue with no batching window",
26
+ unitName: "messages",
27
+ });
28
+ /**
29
+ * A queue has no starting position: a mapping on one takes whatever is at the
30
+ * front of the queue, and there is nowhere else it could start from.
31
+ */
32
+ export const sqsStartingPositionRules = new SimLambdaNoStartingPosition("a queue");
33
+ //# sourceMappingURL=sim-lambda-sqs-event-source-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-sqs-event-source-rules.js","sourceRoot":"","sources":["../../../../../src/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;AAE9F;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,gBAAgB;IAChB,eAAe;IACf,oBAAoB;CACZ,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,8BAA8B,CAAC;IAC9D,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IACf,iBAAiB,EAAE,iCAAiC;IACpD,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,2BAA2B,CACrE,SAAS,CACV,CAAC"}
@@ -1,17 +1,19 @@
1
1
  import { SimLambdaSqsEventSourceArn } from "./queue/sim-lambda-sqs-event-source-arn.js";
2
+ import { SimLambdaDynamoDbStreamEventSourceArn } from "./stream/sim-lambda-dynamodb-stream-event-source-arn.js";
2
3
  /**
3
4
  * The ARN of an event source a mapping can name.
4
5
  *
5
6
  * A union discriminated by `kind`, so the poller a mapping gets, the
6
- * permissions its execution role is checked for and the batch sizes it may ask
7
- * for all come from the source the mapping names rather than being assumed.
7
+ * permissions its execution role is checked for, the batch sizes it may ask
8
+ * for and whether it has a starting position at all come from the source the
9
+ * mapping names rather than being assumed.
8
10
  */
9
- export type SimLambdaEventSourceArn = SimLambdaSqsEventSourceArn;
11
+ export type SimLambdaEventSourceArn = SimLambdaSqsEventSourceArn | SimLambdaDynamoDbStreamEventSourceArn;
10
12
  /**
11
13
  * What this simulation polls, said in one place so every refusal that mentions
12
14
  * it says the same thing.
13
15
  */
14
- export declare const simulatedEventSourcesDescription = "SQS queues are the only simulated event source";
16
+ export declare const simulatedEventSourcesDescription = "SQS queues and DynamoDB streams are the simulated event sources";
15
17
  /**
16
18
  * Read an event source ARN, refusing one that names no simulated event source.
17
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sim-lambda-event-source-arn.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-arn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAExF;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,gCAAgC,mDACK,CAAC;AASnD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,MAAM,GACrB,uBAAuB,CAazB"}
1
+ {"version":3,"file":"sim-lambda-event-source-arn.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-arn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,qCAAqC,EAAE,MAAM,yDAAyD,CAAC;AAEhH;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GACjC,0BAA0B,GAAG,qCAAqC,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,gCAAgC,oEACsB,CAAC;AAUpE;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,MAAM,GACrB,uBAAuB,CAezB"}
@@ -1,15 +1,17 @@
1
1
  import { SimLambdaInvalidParameterValueException } from "../error/sim-lambda.error.js";
2
2
  import { SimLambdaSqsEventSourceArn } from "./queue/sim-lambda-sqs-event-source-arn.js";
3
+ import { SimLambdaDynamoDbStreamEventSourceArn } from "./stream/sim-lambda-dynamodb-stream-event-source-arn.js";
3
4
  /**
4
5
  * What this simulation polls, said in one place so every refusal that mentions
5
6
  * it says the same thing.
6
7
  */
7
- export const simulatedEventSourcesDescription = "SQS queues are the only simulated event source";
8
+ export const simulatedEventSourcesDescription = "SQS queues and DynamoDB streams are the simulated event sources";
8
9
  /**
9
10
  * The ARN shapes those event sources are named by.
10
11
  */
11
12
  const simulatedEventSourceArnShapes = [
12
13
  SimLambdaSqsEventSourceArn.arnShape,
14
+ SimLambdaDynamoDbStreamEventSourceArn.arnShape,
13
15
  ];
14
16
  /**
15
17
  * Read an event source ARN, refusing one that names no simulated event source.
@@ -19,12 +21,13 @@ const simulatedEventSourceArnShapes = [
19
21
  * delivered from.
20
22
  */
21
23
  export function simLambdaEventSourceArnOf(eventSourceArn) {
22
- const queueArn = SimLambdaSqsEventSourceArn.parse(eventSourceArn);
23
- if (queueArn === undefined) {
24
- const arnShapes = simulatedEventSourceArnShapes.join(" ");
24
+ const parsed = SimLambdaSqsEventSourceArn.parse(eventSourceArn) ??
25
+ SimLambdaDynamoDbStreamEventSourceArn.parse(eventSourceArn);
26
+ if (parsed === undefined) {
27
+ const arnShapes = simulatedEventSourceArnShapes.join(". ");
25
28
  throw new SimLambdaInvalidParameterValueException(`EventSourceArn ${eventSourceArn} names no simulated Lambda event ` +
26
29
  `source. ${simulatedEventSourcesDescription}. ${arnShapes}`);
27
30
  }
28
- return queueArn;
31
+ return parsed;
29
32
  }
30
33
  //# sourceMappingURL=sim-lambda-event-source-arn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-lambda-event-source-arn.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-arn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAWxF;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C,gDAAgD,CAAC;AAEnD;;GAEG;AACH,MAAM,6BAA6B,GAAsB;IACvD,0BAA0B,CAAC,QAAQ;CACpC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,cAAsB;IAEtB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAElE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1D,MAAM,IAAI,uCAAuC,CAC/C,kBAAkB,cAAc,mCAAmC;YACjE,WAAW,gCAAgC,KAAK,SAAS,EAAE,CAC9D,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"sim-lambda-event-source-arn.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-arn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,qCAAqC,EAAE,MAAM,yDAAyD,CAAC;AAahH;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C,iEAAiE,CAAC;AAEpE;;GAEG;AACH,MAAM,6BAA6B,GAAsB;IACvD,0BAA0B,CAAC,QAAQ;IACnC,qCAAqC,CAAC,QAAQ;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,cAAsB;IAEtB,MAAM,MAAM,GACV,0BAA0B,CAAC,KAAK,CAAC,cAAc,CAAC;QAChD,qCAAqC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE9D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3D,MAAM,IAAI,uCAAuC,CAC/C,kBAAkB,cAAc,mCAAmC;YACjE,WAAW,gCAAgC,KAAK,SAAS,EAAE,CAC9D,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -2,6 +2,7 @@ interface SimLambdaEventSourceBatchRulesProperties {
2
2
  readonly defaultSize: number;
3
3
  readonly maximumSize: number;
4
4
  readonly sourceDescription: string;
5
+ readonly unitName: string;
5
6
  }
6
7
  /**
7
8
  * The batch sizes one kind of event source delivers with.
@@ -9,12 +10,15 @@ interface SimLambdaEventSourceBatchRulesProperties {
9
10
  * The default and the maximum belong to the source rather than to the mapping:
10
11
  * how much a queue hands out in one receive is not how much another kind of
11
12
  * source would, and neither is what makes a larger request pointless. The
12
- * source description is the clause a refusal explains the range with.
13
+ * source description is the clause a refusal explains the range with, and the
14
+ * unit name is what that source hands out: a queue has messages, a stream has
15
+ * records.
13
16
  */
14
17
  export declare class SimLambdaEventSourceBatchRules {
15
18
  readonly defaultSize: number;
16
19
  readonly maximumSize: number;
17
20
  private readonly sourceDescription;
21
+ private readonly unitName;
18
22
  constructor(properties: SimLambdaEventSourceBatchRulesProperties);
19
23
  /**
20
24
  * The batch size a mapping delivers with, refusing one this source would
@@ -1 +1 @@
1
- {"version":3,"file":"sim-lambda-event-source-batch-rules.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-batch-rules.ts"],"names":[],"mappings":"AAEA,UAAU,wCAAwC;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,qBAAa,8BAA8B;IACzC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAE3C,YAAY,UAAU,EAAE,wCAAwC,EAI/D;IAED;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAgB5C;CACF"}
1
+ {"version":3,"file":"sim-lambda-event-source-batch-rules.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-batch-rules.ts"],"names":[],"mappings":"AAEA,UAAU,wCAAwC;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,qBAAa,8BAA8B;IACzC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,YAAY,UAAU,EAAE,wCAAwC,EAK/D;IAED;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAiB5C;CACF"}
@@ -5,16 +5,20 @@ import { SimLambdaInvalidParameterValueException } from "../error/sim-lambda.err
5
5
  * The default and the maximum belong to the source rather than to the mapping:
6
6
  * how much a queue hands out in one receive is not how much another kind of
7
7
  * source would, and neither is what makes a larger request pointless. The
8
- * source description is the clause a refusal explains the range with.
8
+ * source description is the clause a refusal explains the range with, and the
9
+ * unit name is what that source hands out: a queue has messages, a stream has
10
+ * records.
9
11
  */
10
12
  export class SimLambdaEventSourceBatchRules {
11
13
  defaultSize;
12
14
  maximumSize;
13
15
  sourceDescription;
16
+ unitName;
14
17
  constructor(properties) {
15
18
  this.defaultSize = properties.defaultSize;
16
19
  this.maximumSize = properties.maximumSize;
17
20
  this.sourceDescription = properties.sourceDescription;
21
+ this.unitName = properties.unitName;
18
22
  }
19
23
  /**
20
24
  * The batch size a mapping delivers with, refusing one this source would
@@ -26,8 +30,9 @@ export class SimLambdaEventSourceBatchRules {
26
30
  batchSize < 1 ||
27
31
  batchSize > this.maximumSize) {
28
32
  throw new SimLambdaInvalidParameterValueException(`BatchSize ${String(batchSize)} is out of range: ` +
29
- `${this.sourceDescription} delivers a whole number of messages ` +
30
- `between 1 and ${String(this.maximumSize)} at a time`);
33
+ `${this.sourceDescription} delivers a whole number of ` +
34
+ `${this.unitName} between 1 and ${String(this.maximumSize)} at a ` +
35
+ "time");
31
36
  }
32
37
  return batchSize;
33
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-lambda-event-source-batch-rules.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-batch-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,8BAA8B,CAAC;AAQvF;;;;;;;GAOG;AACH,MAAM,OAAO,8BAA8B;IACzB,WAAW,CAAS;IACpB,WAAW,CAAS;IAEnB,iBAAiB,CAAS;IAE3C,YAAY,UAAoD;QAC9D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAA6B;QAClC,MAAM,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC;QAEhD,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;YAChC,SAAS,GAAG,CAAC;YACb,SAAS,GAAG,IAAI,CAAC,WAAW,EAC5B,CAAC;YACD,MAAM,IAAI,uCAAuC,CAC/C,aAAa,MAAM,CAAC,SAAS,CAAC,oBAAoB;gBAChD,GAAG,IAAI,CAAC,iBAAiB,uCAAuC;gBAChE,iBAAiB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"sim-lambda-event-source-batch-rules.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-batch-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,8BAA8B,CAAC;AASvF;;;;;;;;;GASG;AACH,MAAM,OAAO,8BAA8B;IACzB,WAAW,CAAS;IACpB,WAAW,CAAS;IAEnB,iBAAiB,CAAS;IAC1B,QAAQ,CAAS;IAElC,YAAY,UAAoD;QAC9D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAA6B;QAClC,MAAM,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC;QAEhD,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;YAChC,SAAS,GAAG,CAAC;YACb,SAAS,GAAG,IAAI,CAAC,WAAW,EAC5B,CAAC;YACD,MAAM,IAAI,uCAAuC,CAC/C,aAAa,MAAM,CAAC,SAAS,CAAC,oBAAoB;gBAChD,GAAG,IAAI,CAAC,iBAAiB,8BAA8B;gBACvD,GAAG,IAAI,CAAC,QAAQ,kBAAkB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ;gBAClE,MAAM,CACT,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
2
2
  import type { SimLambdaFunctionArn } from "../function/sim-lambda-function.js";
3
+ import type { SimLambdaEventSourceStartingPosition } from "./sim-lambda-event-source-starting-position.js";
3
4
  /**
4
5
  * Event source mapping ARNs address the mapping by its UUID.
5
6
  */
@@ -24,6 +25,7 @@ interface SimLambdaEventSourceMappingProperties {
24
25
  readonly functionName: string;
25
26
  readonly functionArn: SimLambdaFunctionArn;
26
27
  readonly batchSize: number;
28
+ readonly startingPosition?: SimLambdaEventSourceStartingPosition | undefined;
27
29
  readonly enabled?: boolean | undefined;
28
30
  readonly functionResponseTypes?: readonly SimLambdaFunctionResponseType[] | undefined;
29
31
  readonly createdAt: Date;
@@ -39,6 +41,7 @@ export interface SimLambdaEventSourceMappingConfiguration {
39
41
  readonly EventSourceArn: string;
40
42
  readonly FunctionArn: SimLambdaFunctionArn;
41
43
  readonly BatchSize: number;
44
+ readonly StartingPosition?: SimLambdaEventSourceStartingPosition | undefined;
42
45
  readonly MaximumBatchingWindowInSeconds: number;
43
46
  readonly FunctionResponseTypes: readonly SimLambdaFunctionResponseType[];
44
47
  readonly State: SimLambdaEventSourceMappingState;
@@ -62,6 +65,12 @@ export declare class SimLambdaEventSourceMapping {
62
65
  readonly functionName: string;
63
66
  readonly functionArn: SimLambdaFunctionArn;
64
67
  readonly batchSize: number;
68
+ /**
69
+ * Where this mapping started reading, for a source that has a choice.
70
+ *
71
+ * A queue mapping has none, because a queue only has a front.
72
+ */
73
+ readonly startingPosition: SimLambdaEventSourceStartingPosition | undefined;
65
74
  readonly functionResponseTypes: readonly SimLambdaFunctionResponseType[];
66
75
  private readonly accountRegionScope;
67
76
  private readonly enabled;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-lambda-event-source-mapping.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-mapping.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,8BAA8B,GACxC,kBAAkB,MAAM,IAAI,MAAM,yBAAyB,MAAM,EAAE,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG,yBAAyB,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,MAAM,gCAAgC,GAC1C,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AAEtC,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAC7B,SAAS,6BAA6B,EAAE,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;IAC/D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,qBAAqB,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACzE,QAAQ,CAAC,KAAK,EAAE,gCAAgC,CAAC;IACjD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,qBAAa,2BAA2B;;IACtC,SAAgB,IAAI,EAAE,MAAM,CAAgB;IAC5C,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,WAAW,EAAE,oBAAoB,CAAC;IAClD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,qBAAqB,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAEhF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAO;IAGpC,YAAY,UAAU,EAAE,qCAAqC,EAW5D;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,8BAA8B,CAIxC;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,gCAAgC,CAE5C;IAED;;;;;OAKG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,wBAAwB,IAAI,OAAO,CAEtC;IAED;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAIxB;IAED;;OAEG;IACH,aAAa,IAAI,wCAAwC,CAexD;CACF"}
1
+ {"version":3,"file":"sim-lambda-event-source-mapping.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-mapping.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,gDAAgD,CAAC;AAE3G;;GAEG;AACH,MAAM,MAAM,8BAA8B,GACxC,kBAAkB,MAAM,IAAI,MAAM,yBAAyB,MAAM,EAAE,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG,yBAAyB,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,MAAM,gCAAgC,GAC1C,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AAEtC,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,oCAAoC,GAAG,SAAS,CAAC;IAC7E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAC7B,SAAS,6BAA6B,EAAE,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;IAC/D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,oCAAoC,GAAG,SAAS,CAAC;IAC7E,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,qBAAqB,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACzE,QAAQ,CAAC,KAAK,EAAE,gCAAgC,CAAC;IACjD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,qBAAa,2BAA2B;;IACtC,SAAgB,IAAI,EAAE,MAAM,CAAgB;IAC5C,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,WAAW,EAAE,oBAAoB,CAAC;IAClD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC;;;;OAIG;IACH,SAAgB,gBAAgB,EAC9B,oCAAoC,GAAG,SAAS,CAAC;IACnD,SAAgB,qBAAqB,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAEhF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAO;IAGpC,YAAY,UAAU,EAAE,qCAAqC,EAY5D;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,8BAA8B,CAIxC;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,gCAAgC,CAE5C;IAED;;;;;OAKG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,wBAAwB,IAAI,OAAO,CAEtC;IAED;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAIxB;IAED;;OAEG;IACH,aAAa,IAAI,wCAAwC,CAgBxD;CACF"}
@@ -15,6 +15,12 @@ export class SimLambdaEventSourceMapping {
15
15
  functionName;
16
16
  functionArn;
17
17
  batchSize;
18
+ /**
19
+ * Where this mapping started reading, for a source that has a choice.
20
+ *
21
+ * A queue mapping has none, because a queue only has a front.
22
+ */
23
+ startingPosition;
18
24
  functionResponseTypes;
19
25
  accountRegionScope;
20
26
  enabled;
@@ -26,6 +32,7 @@ export class SimLambdaEventSourceMapping {
26
32
  this.functionName = properties.functionName;
27
33
  this.functionArn = properties.functionArn;
28
34
  this.batchSize = properties.batchSize;
35
+ this.startingPosition = properties.startingPosition;
29
36
  // Copied rather than held, so a caller keeping the list it passed in
30
37
  // cannot change what this mapping does with a batch afterwards.
31
38
  this.functionResponseTypes = [...(properties.functionResponseTypes ?? [])];
@@ -77,6 +84,7 @@ export class SimLambdaEventSourceMapping {
77
84
  EventSourceArn: this.eventSourceArn,
78
85
  FunctionArn: this.functionArn,
79
86
  BatchSize: this.batchSize,
87
+ StartingPosition: this.startingPosition,
80
88
  // Partial batches are delivered as soon as anything is available, so the
81
89
  // batching window is always zero. Anything else is refused at creation.
82
90
  MaximumBatchingWindowInSeconds: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"sim-lambda-event-source-mapping.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA0DzC;;;;;;;;;GASG;AACH,MAAM,OAAO,2BAA2B;IACtB,IAAI,GAAW,UAAU,EAAE,CAAC;IAC5B,cAAc,CAAS;IACvB,YAAY,CAAS;IACrB,WAAW,CAAuB;IAClC,SAAS,CAAS;IAClB,qBAAqB,CAA2C;IAE/D,kBAAkB,CAA2B;IAC7C,OAAO,CAAU;IACjB,YAAY,CAAO;IACpC,MAAM,GAAqC,UAAU,CAAC;IAEtD,YAAY,UAAiD;QAC3D,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,qEAAqE;QACrE,gEAAgE;QAChE,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACL,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAE1D,OAAO,kBAAkB,UAAU,IAAI,SAAS,yBAAyB,IAAI,CAAC,IAAI,EAAE,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAEpD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,qBAAqB,EAAE,IAAI,CAAC,GAAG;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,yEAAyE;YACzE,wEAAwE;YACxE,8BAA8B,EAAE,CAAC;YACjC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,qBAAqB,EAAE,gBAAgB;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"sim-lambda-event-source-mapping.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6DzC;;;;;;;;;GASG;AACH,MAAM,OAAO,2BAA2B;IACtB,IAAI,GAAW,UAAU,EAAE,CAAC;IAC5B,cAAc,CAAS;IACvB,YAAY,CAAS;IACrB,WAAW,CAAuB;IAClC,SAAS,CAAS;IAClC;;;;OAIG;IACa,gBAAgB,CACmB;IACnC,qBAAqB,CAA2C;IAE/D,kBAAkB,CAA2B;IAC7C,OAAO,CAAU;IACjB,YAAY,CAAO;IACpC,MAAM,GAAqC,UAAU,CAAC;IAEtD,YAAY,UAAiD;QAC3D,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,qEAAqE;QACrE,gEAAgE;QAChE,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACL,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAE1D,OAAO,kBAAkB,UAAU,IAAI,SAAS,yBAAyB,IAAI,CAAC,IAAI,EAAE,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAEpD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,qBAAqB,EAAE,IAAI,CAAC,GAAG;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,yEAAyE;YACzE,wEAAwE;YACxE,8BAA8B,EAAE,CAAC;YACjC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,qBAAqB,EAAE,gBAAgB;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;CACF"}
@@ -3,9 +3,11 @@ import type { SimLambdaFunctionLookup } from "../function/url/sim-lambda-functio
3
3
  import type { SimLambdaEventSourceQueues } from "./queue/sim-lambda-event-source-queues.js";
4
4
  import type { SimLambdaEventSourceArn } from "./sim-lambda-event-source-arn.js";
5
5
  import type { SimLambdaEventSourceMapping } from "./sim-lambda-event-source-mapping.js";
6
+ import type { SimLambdaEventSourceStreams } from "./stream/sim-lambda-event-source-streams.js";
6
7
  interface SimLambdaEventSourcePollersProperties {
7
8
  readonly functions: SimLambdaFunctionLookup;
8
9
  readonly queues: SimLambdaEventSourceQueues;
10
+ readonly streams: SimLambdaEventSourceStreams;
9
11
  readonly background: BackgroundScheduler;
10
12
  }
11
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sim-lambda-event-source-pollers.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-pollers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAG7F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAExF,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IAEnE,YAAY,UAAU,EAAE,qCAAqC,EAE5D;IAED;;;;;;;OAOG;IACH,KAAK,CACH,OAAO,EAAE,2BAA2B,EACpC,cAAc,EAAE,uBAAuB,GACtC,IAAI,CAcN;IAED;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAG/C;CACF"}
1
+ {"version":3,"file":"sim-lambda-event-source-pollers.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-pollers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAG7F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAE/F,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IAEnE,YAAY,UAAU,EAAE,qCAAqC,EAE5D;IAED;;;;;;;OAOG;IACH,KAAK,CACH,OAAO,EAAE,2BAA2B,EACpC,cAAc,EAAE,uBAAuB,GACtC,IAAI,CAcN;IAED;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAG/C;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"sim-lambda-event-source-pollers.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-pollers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AAYlG;;;;;;GAMG;AACH,MAAM,OAAO,2BAA2B;IACrB,OAAO,GAAG,IAAI,GAAG,EAAsC,CAAC;IACxD,UAAU,CAAwC;IAEnE,YAAY,UAAiD;QAC3D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CACH,OAAoC,EACpC,cAAuC;QAEvC,MAAM,MAAM,GAAG,8BAA8B,CAAC;YAC5C,GAAG,IAAI,CAAC,UAAU;YAClB,OAAO;YACP,cAAc;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7C,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAoC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"sim-lambda-event-source-pollers.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-pollers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AAclG;;;;;;GAMG;AACH,MAAM,OAAO,2BAA2B;IACrB,OAAO,GAAG,IAAI,GAAG,EAAsC,CAAC;IACxD,UAAU,CAAwC;IAEnE,YAAY,UAAiD;QAC3D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CACH,OAAoC,EACpC,cAAuC;QAEvC,MAAM,MAAM,GAAG,8BAA8B,CAAC;YAC5C,GAAG,IAAI,CAAC,UAAU;YAClB,OAAO;YACP,cAAc;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7C,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAoC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ import type { SimLambdaEventSourceQueues } from "./queue/sim-lambda-event-source-queues.js";
2
+ import type { SimLambdaEventSourceArn } from "./sim-lambda-event-source-arn.js";
3
+ import type { SimLambdaEventSourceStreams } from "./stream/sim-lambda-event-source-streams.js";
4
+ interface SimLambdaEventSourceReachableProperties {
5
+ readonly queues: SimLambdaEventSourceQueues;
6
+ readonly streams: SimLambdaEventSourceStreams;
7
+ }
8
+ /**
9
+ * Reads the event source a mapping names, as the function's execution role.
10
+ *
11
+ * Real Lambda looks at the source when the mapping is created rather than
12
+ * finding out at the first poll, because a mapping on a source that is not
13
+ * there looks like a working subscription and delivers nothing. The read is the
14
+ * one the poller will make, so it fails for the same reasons: the source is
15
+ * missing, or the role may not read it.
16
+ */
17
+ export declare class SimLambdaEventSourceReachable {
18
+ private readonly queues;
19
+ private readonly streams;
20
+ constructor(properties: SimLambdaEventSourceReachableProperties);
21
+ /**
22
+ * Refuse a mapping whose event source cannot be read as the execution role.
23
+ */
24
+ assertReachable(roleArn: string, eventSourceArn: SimLambdaEventSourceArn): Promise<void>;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=sim-lambda-event-source-reachable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-event-source-reachable.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-reachable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAE/F,UAAU,uCAAuC;IAC/C,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;CAC/C;AAED;;;;;;;;GAQG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IAEtD,YAAY,UAAU,EAAE,uCAAuC,EAG9D;IAED;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,uBAAuB,GACtC,OAAO,CAAC,IAAI,CAAC,CAsBf;CACF"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Reads the event source a mapping names, as the function's execution role.
3
+ *
4
+ * Real Lambda looks at the source when the mapping is created rather than
5
+ * finding out at the first poll, because a mapping on a source that is not
6
+ * there looks like a working subscription and delivers nothing. The read is the
7
+ * one the poller will make, so it fails for the same reasons: the source is
8
+ * missing, or the role may not read it.
9
+ */
10
+ export class SimLambdaEventSourceReachable {
11
+ queues;
12
+ streams;
13
+ constructor(properties) {
14
+ this.queues = properties.queues;
15
+ this.streams = properties.streams;
16
+ }
17
+ /**
18
+ * Refuse a mapping whose event source cannot be read as the execution role.
19
+ */
20
+ async assertReachable(roleArn, eventSourceArn) {
21
+ const caller = { kind: "arn", arn: roleArn };
22
+ switch (eventSourceArn.kind) {
23
+ case "sqs": {
24
+ await this.queues.visibilityTimeoutSeconds({
25
+ queueArn: eventSourceArn.value,
26
+ caller,
27
+ });
28
+ return;
29
+ }
30
+ case "dynamodb-stream": {
31
+ await this.streams.tableName({
32
+ streamArn: eventSourceArn.value,
33
+ caller,
34
+ });
35
+ return;
36
+ }
37
+ }
38
+ }
39
+ }
40
+ //# sourceMappingURL=sim-lambda-event-source-reachable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-event-source-reachable.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-reachable.ts"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH,MAAM,OAAO,6BAA6B;IACvB,MAAM,CAA6B;IACnC,OAAO,CAA8B;IAEtD,YAAY,UAAmD;QAC7D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,cAAuC;QAEvC,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAW,CAAC;QAEtD,QAAQ,cAAc,CAAC,IAAI,EAAE,CAAC;YAC5B,KAAK,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;oBACzC,QAAQ,EAAE,cAAc,CAAC,KAAK;oBAC9B,MAAM;iBACP,CAAC,CAAC;gBAEH,OAAO;YACT,CAAC;YAED,KAAK,iBAAiB,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;oBAC3B,SAAS,EAAE,cAAc,CAAC,KAAK;oBAC/B,MAAM;iBACP,CAAC,CAAC;gBAEH,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;CACF"}