@kensio/yulin 0.43.0 → 0.44.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 (408) hide show
  1. package/README.md +1 -0
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
  3. package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
  4. package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
  5. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +11 -0
  6. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
  7. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +19 -0
  8. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
  9. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
  10. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  11. package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
  12. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  13. package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
  14. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  15. package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
  16. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  17. package/dist/service/aws/sim-aws.d.ts +3 -0
  18. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  19. package/dist/service/aws/sim-aws.js +4 -0
  20. package/dist/service/aws/sim-aws.js.map +1 -1
  21. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.d.ts.map +1 -1
  22. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js +8 -0
  23. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js.map +1 -1
  24. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-event-source-mapping-cfn.d.ts +28 -0
  25. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-event-source-mapping-cfn.d.ts.map +1 -0
  26. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-event-source-mapping-cfn.js +33 -0
  27. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-event-source-mapping-cfn.js.map +1 -0
  28. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
  29. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +2 -0
  30. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
  31. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-cfn-value-adapter.d.ts +6 -0
  32. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-cfn-value-adapter.d.ts.map +1 -0
  33. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-cfn-value-adapter.js +13 -0
  34. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-cfn-value-adapter.js.map +1 -0
  35. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-queue-cfn.d.ts +28 -0
  36. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-queue-cfn.d.ts.map +1 -0
  37. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-queue-cfn.js +40 -0
  38. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-queue-cfn.js.map +1 -0
  39. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.d.ts.map +1 -1
  40. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js +3 -0
  41. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js.map +1 -1
  42. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +3 -0
  43. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts.map +1 -1
  44. package/dist/service/cloudformation/resource/sim-cfn-resource.js +4 -1
  45. package/dist/service/cloudformation/resource/sim-cfn-resource.js.map +1 -1
  46. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.d.ts.map +1 -1
  47. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
  48. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js.map +1 -1
  49. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.d.ts +26 -0
  50. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.d.ts.map +1 -0
  51. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.js +33 -0
  52. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.js.map +1 -0
  53. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts +28 -0
  54. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts.map +1 -0
  55. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +38 -0
  56. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js.map +1 -0
  57. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.d.ts +17 -0
  58. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.d.ts.map +1 -0
  59. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +71 -0
  60. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js.map +1 -0
  61. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.d.ts +4 -0
  62. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.d.ts.map +1 -1
  63. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.js +12 -0
  64. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.js.map +1 -1
  65. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts +5 -6
  66. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts.map +1 -1
  67. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js +7 -13
  68. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js.map +1 -1
  69. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +1 -0
  70. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts.map +1 -1
  71. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +8 -0
  72. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js.map +1 -1
  73. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +25 -0
  74. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts.map +1 -0
  75. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +55 -0
  76. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js.map +1 -0
  77. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.d.ts +6 -0
  78. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.d.ts.map +1 -0
  79. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +64 -0
  80. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js.map +1 -0
  81. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts +17 -0
  82. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts.map +1 -0
  83. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js +47 -0
  84. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js.map +1 -0
  85. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts +53 -0
  86. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts.map +1 -0
  87. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +77 -0
  88. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js.map +1 -0
  89. package/dist/service/lambda/command/event-source-mapping/event-source-mapping-access.d.ts +41 -0
  90. package/dist/service/lambda/command/event-source-mapping/event-source-mapping-access.d.ts.map +1 -0
  91. package/dist/service/lambda/command/event-source-mapping/event-source-mapping-access.js +51 -0
  92. package/dist/service/lambda/command/event-source-mapping/event-source-mapping-access.js.map +1 -0
  93. package/dist/service/lambda/command/event-source-mapping/event-source-mapping.command.d.ts +91 -0
  94. package/dist/service/lambda/command/event-source-mapping/event-source-mapping.command.d.ts.map +1 -0
  95. package/dist/service/lambda/command/event-source-mapping/event-source-mapping.command.js +8 -0
  96. package/dist/service/lambda/command/event-source-mapping/event-source-mapping.command.js.map +1 -0
  97. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.d.ts +60 -0
  98. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.d.ts.map +1 -0
  99. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.js +89 -0
  100. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.js.map +1 -0
  101. package/dist/service/lambda/command/sim-lambda-command.types.d.ts +1 -0
  102. package/dist/service/lambda/command/sim-lambda-command.types.d.ts.map +1 -1
  103. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.d.ts +27 -0
  104. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.d.ts.map +1 -0
  105. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.js +32 -0
  106. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.js.map +1 -0
  107. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-schedule.d.ts +40 -0
  108. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-schedule.d.ts.map +1 -0
  109. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-schedule.js +55 -0
  110. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-schedule.js.map +1 -0
  111. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.d.ts +85 -0
  112. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.d.ts.map +1 -0
  113. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.js +136 -0
  114. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.js.map +1 -0
  115. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.d.ts +49 -0
  116. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.d.ts.map +1 -0
  117. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.js +97 -0
  118. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.js.map +1 -0
  119. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event.d.ts +56 -0
  120. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event.d.ts.map +1 -0
  121. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event.js +55 -0
  122. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event.js.map +1 -0
  123. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queue-service.d.ts +49 -0
  124. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queue-service.d.ts.map +1 -0
  125. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queue-service.js +2 -0
  126. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queue-service.js.map +1 -0
  127. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queues.d.ts +118 -0
  128. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queues.d.ts.map +1 -0
  129. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queues.js +49 -0
  130. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queues.js.map +1 -0
  131. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +32 -0
  132. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts.map +1 -0
  133. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +52 -0
  134. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js.map +1 -0
  135. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queue-attributes.d.ts +29 -0
  136. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queue-attributes.d.ts.map +1 -0
  137. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queue-attributes.js +49 -0
  138. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queue-attributes.js.map +1 -0
  139. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queues.d.ts +57 -0
  140. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queues.d.ts.map +1 -0
  141. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queues.js +89 -0
  142. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queues.js.map +1 -0
  143. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping-store.d.ts +46 -0
  144. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping-store.d.ts.map +1 -0
  145. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping-store.js +57 -0
  146. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping-store.js.map +1 -0
  147. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +101 -0
  148. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts.map +1 -0
  149. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +93 -0
  150. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js.map +1 -0
  151. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts +37 -0
  152. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts.map +1 -0
  153. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.js +44 -0
  154. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.js.map +1 -0
  155. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.d.ts +23 -0
  156. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.d.ts.map +1 -0
  157. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.js +46 -0
  158. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.js.map +1 -0
  159. package/dist/service/lambda/function/sim-lambda-function-name.d.ts +10 -0
  160. package/dist/service/lambda/function/sim-lambda-function-name.d.ts.map +1 -0
  161. package/dist/service/lambda/function/sim-lambda-function-name.js +18 -0
  162. package/dist/service/lambda/function/sim-lambda-function-name.js.map +1 -0
  163. package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts +4 -0
  164. package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts.map +1 -1
  165. package/dist/service/lambda/function/url/sim-lambda-function-lookup.js +6 -0
  166. package/dist/service/lambda/function/url/sim-lambda-function-lookup.js.map +1 -1
  167. package/dist/service/lambda/index.d.ts +1 -0
  168. package/dist/service/lambda/index.d.ts.map +1 -1
  169. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.d.ts.map +1 -1
  170. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js +16 -0
  171. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js.map +1 -1
  172. package/dist/service/lambda/sim-lambda-commands.d.ts +51 -0
  173. package/dist/service/lambda/sim-lambda-commands.d.ts.map +1 -0
  174. package/dist/service/lambda/sim-lambda-commands.js +84 -0
  175. package/dist/service/lambda/sim-lambda-commands.js.map +1 -0
  176. package/dist/service/lambda/sim-lambda.d.ts +35 -39
  177. package/dist/service/lambda/sim-lambda.d.ts.map +1 -1
  178. package/dist/service/lambda/sim-lambda.js +47 -65
  179. package/dist/service/lambda/sim-lambda.js.map +1 -1
  180. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.d.ts +25 -0
  181. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.d.ts.map +1 -0
  182. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.js +33 -0
  183. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.js.map +1 -0
  184. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-name.d.ts +45 -0
  185. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-name.d.ts.map +1 -0
  186. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-name.js +67 -0
  187. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-name.js.map +1 -0
  188. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts +44 -0
  189. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts.map +1 -0
  190. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js +72 -0
  191. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js.map +1 -0
  192. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts +47 -0
  193. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts.map +1 -0
  194. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js +122 -0
  195. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js.map +1 -0
  196. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.d.ts +24 -0
  197. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.d.ts.map +1 -0
  198. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js +29 -0
  199. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js.map +1 -0
  200. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts +41 -0
  201. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts.map +1 -0
  202. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js +51 -0
  203. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js.map +1 -0
  204. package/dist/service/sqs/command/message/consume.command.d.ts +61 -0
  205. package/dist/service/sqs/command/message/consume.command.d.ts.map +1 -0
  206. package/dist/service/sqs/command/message/consume.command.js +2 -0
  207. package/dist/service/sqs/command/message/consume.command.js.map +1 -0
  208. package/dist/service/sqs/command/message/receive.command.d.ts +40 -0
  209. package/dist/service/sqs/command/message/receive.command.d.ts.map +1 -0
  210. package/dist/service/sqs/command/message/receive.command.js +2 -0
  211. package/dist/service/sqs/command/message/receive.command.js.map +1 -0
  212. package/dist/service/sqs/command/message/send.command.d.ts +80 -0
  213. package/dist/service/sqs/command/message/send.command.d.ts.map +1 -0
  214. package/dist/service/sqs/command/message/send.command.js +2 -0
  215. package/dist/service/sqs/command/message/send.command.js.map +1 -0
  216. package/dist/service/sqs/command/message/sim-sqs-batch-entries.d.ts +39 -0
  217. package/dist/service/sqs/command/message/sim-sqs-batch-entries.d.ts.map +1 -0
  218. package/dist/service/sqs/command/message/sim-sqs-batch-entries.js +67 -0
  219. package/dist/service/sqs/command/message/sim-sqs-batch-entries.js.map +1 -0
  220. package/dist/service/sqs/command/message/sim-sqs-change-message-visibility.d.ts +31 -0
  221. package/dist/service/sqs/command/message/sim-sqs-change-message-visibility.d.ts.map +1 -0
  222. package/dist/service/sqs/command/message/sim-sqs-change-message-visibility.js +51 -0
  223. package/dist/service/sqs/command/message/sim-sqs-change-message-visibility.js.map +1 -0
  224. package/dist/service/sqs/command/message/sim-sqs-delete-message-commands.d.ts +38 -0
  225. package/dist/service/sqs/command/message/sim-sqs-delete-message-commands.d.ts.map +1 -0
  226. package/dist/service/sqs/command/message/sim-sqs-delete-message-commands.js +58 -0
  227. package/dist/service/sqs/command/message/sim-sqs-delete-message-commands.js.map +1 -0
  228. package/dist/service/sqs/command/message/sim-sqs-message-handles.d.ts +28 -0
  229. package/dist/service/sqs/command/message/sim-sqs-message-handles.d.ts.map +1 -0
  230. package/dist/service/sqs/command/message/sim-sqs-message-handles.js +36 -0
  231. package/dist/service/sqs/command/message/sim-sqs-message-handles.js.map +1 -0
  232. package/dist/service/sqs/command/message/sim-sqs-receive-limits.d.ts +27 -0
  233. package/dist/service/sqs/command/message/sim-sqs-receive-limits.d.ts.map +1 -0
  234. package/dist/service/sqs/command/message/sim-sqs-receive-limits.js +70 -0
  235. package/dist/service/sqs/command/message/sim-sqs-receive-limits.js.map +1 -0
  236. package/dist/service/sqs/command/message/sim-sqs-receive-message.d.ts +32 -0
  237. package/dist/service/sqs/command/message/sim-sqs-receive-message.d.ts.map +1 -0
  238. package/dist/service/sqs/command/message/sim-sqs-receive-message.js +33 -0
  239. package/dist/service/sqs/command/message/sim-sqs-receive-message.js.map +1 -0
  240. package/dist/service/sqs/command/message/sim-sqs-receive-request.d.ts +33 -0
  241. package/dist/service/sqs/command/message/sim-sqs-receive-request.d.ts.map +1 -0
  242. package/dist/service/sqs/command/message/sim-sqs-receive-request.js +55 -0
  243. package/dist/service/sqs/command/message/sim-sqs-receive-request.js.map +1 -0
  244. package/dist/service/sqs/command/message/sim-sqs-received-message-view.d.ts +25 -0
  245. package/dist/service/sqs/command/message/sim-sqs-received-message-view.d.ts.map +1 -0
  246. package/dist/service/sqs/command/message/sim-sqs-received-message-view.js +38 -0
  247. package/dist/service/sqs/command/message/sim-sqs-received-message-view.js.map +1 -0
  248. package/dist/service/sqs/command/message/sim-sqs-send-message-commands.d.ts +32 -0
  249. package/dist/service/sqs/command/message/sim-sqs-send-message-commands.d.ts.map +1 -0
  250. package/dist/service/sqs/command/message/sim-sqs-send-message-commands.js +56 -0
  251. package/dist/service/sqs/command/message/sim-sqs-send-message-commands.js.map +1 -0
  252. package/dist/service/sqs/command/message/sim-sqs-sent-message.d.ts +18 -0
  253. package/dist/service/sqs/command/message/sim-sqs-sent-message.d.ts.map +1 -0
  254. package/dist/service/sqs/command/message/sim-sqs-sent-message.js +37 -0
  255. package/dist/service/sqs/command/message/sim-sqs-sent-message.js.map +1 -0
  256. package/dist/service/sqs/command/queue/queue.command.d.ts +114 -0
  257. package/dist/service/sqs/command/queue/queue.command.d.ts.map +1 -0
  258. package/dist/service/sqs/command/queue/queue.command.js +2 -0
  259. package/dist/service/sqs/command/queue/queue.command.js.map +1 -0
  260. package/dist/service/sqs/command/queue/sim-sqs-create-queue.d.ts +51 -0
  261. package/dist/service/sqs/command/queue/sim-sqs-create-queue.d.ts.map +1 -0
  262. package/dist/service/sqs/command/queue/sim-sqs-create-queue.js +70 -0
  263. package/dist/service/sqs/command/queue/sim-sqs-create-queue.js.map +1 -0
  264. package/dist/service/sqs/command/queue/sim-sqs-queue-access.d.ts +63 -0
  265. package/dist/service/sqs/command/queue/sim-sqs-queue-access.d.ts.map +1 -0
  266. package/dist/service/sqs/command/queue/sim-sqs-queue-access.js +98 -0
  267. package/dist/service/sqs/command/queue/sim-sqs-queue-access.js.map +1 -0
  268. package/dist/service/sqs/command/queue/sim-sqs-queue-attribute-commands.d.ts +45 -0
  269. package/dist/service/sqs/command/queue/sim-sqs-queue-attribute-commands.d.ts.map +1 -0
  270. package/dist/service/sqs/command/queue/sim-sqs-queue-attribute-commands.js +74 -0
  271. package/dist/service/sqs/command/queue/sim-sqs-queue-attribute-commands.js.map +1 -0
  272. package/dist/service/sqs/command/queue/sim-sqs-queue-commands.d.ts +47 -0
  273. package/dist/service/sqs/command/queue/sim-sqs-queue-commands.d.ts.map +1 -0
  274. package/dist/service/sqs/command/queue/sim-sqs-queue-commands.js +55 -0
  275. package/dist/service/sqs/command/queue/sim-sqs-queue-commands.js.map +1 -0
  276. package/dist/service/sqs/command/queue/sim-sqs-queue-page.d.ts +27 -0
  277. package/dist/service/sqs/command/queue/sim-sqs-queue-page.d.ts.map +1 -0
  278. package/dist/service/sqs/command/queue/sim-sqs-queue-page.js +54 -0
  279. package/dist/service/sqs/command/queue/sim-sqs-queue-page.js.map +1 -0
  280. package/dist/service/sqs/command/queue/sim-sqs-unsimulated-queue-input.d.ts +18 -0
  281. package/dist/service/sqs/command/queue/sim-sqs-unsimulated-queue-input.d.ts.map +1 -0
  282. package/dist/service/sqs/command/queue/sim-sqs-unsimulated-queue-input.js +27 -0
  283. package/dist/service/sqs/command/queue/sim-sqs-unsimulated-queue-input.js.map +1 -0
  284. package/dist/service/sqs/command/sim-sqs-command.types.d.ts +8 -0
  285. package/dist/service/sqs/command/sim-sqs-command.types.d.ts.map +1 -0
  286. package/dist/service/sqs/command/sim-sqs-command.types.js +2 -0
  287. package/dist/service/sqs/command/sim-sqs-command.types.js.map +1 -0
  288. package/dist/service/sqs/error/sim-sqs.error.d.ts +162 -0
  289. package/dist/service/sqs/error/sim-sqs.error.d.ts.map +1 -0
  290. package/dist/service/sqs/error/sim-sqs.error.js +191 -0
  291. package/dist/service/sqs/error/sim-sqs.error.js.map +1 -0
  292. package/dist/service/sqs/index.d.ts +14 -0
  293. package/dist/service/sqs/index.d.ts.map +1 -0
  294. package/dist/service/sqs/index.js +13 -0
  295. package/dist/service/sqs/index.js.map +1 -0
  296. package/dist/service/sqs/message/sim-sqs-message-attribute-payload.d.ts +56 -0
  297. package/dist/service/sqs/message/sim-sqs-message-attribute-payload.d.ts.map +1 -0
  298. package/dist/service/sqs/message/sim-sqs-message-attribute-payload.js +42 -0
  299. package/dist/service/sqs/message/sim-sqs-message-attribute-payload.js.map +1 -0
  300. package/dist/service/sqs/message/sim-sqs-message-attribute-rules.d.ts +23 -0
  301. package/dist/service/sqs/message/sim-sqs-message-attribute-rules.d.ts.map +1 -0
  302. package/dist/service/sqs/message/sim-sqs-message-attribute-rules.js +68 -0
  303. package/dist/service/sqs/message/sim-sqs-message-attribute-rules.js.map +1 -0
  304. package/dist/service/sqs/message/sim-sqs-message-attribute-value.d.ts +17 -0
  305. package/dist/service/sqs/message/sim-sqs-message-attribute-value.d.ts.map +1 -0
  306. package/dist/service/sqs/message/sim-sqs-message-attribute-value.js +2 -0
  307. package/dist/service/sqs/message/sim-sqs-message-attribute-value.js.map +1 -0
  308. package/dist/service/sqs/message/sim-sqs-message-attribute.d.ts +29 -0
  309. package/dist/service/sqs/message/sim-sqs-message-attribute.d.ts.map +1 -0
  310. package/dist/service/sqs/message/sim-sqs-message-attribute.js +56 -0
  311. package/dist/service/sqs/message/sim-sqs-message-attribute.js.map +1 -0
  312. package/dist/service/sqs/message/sim-sqs-message-attributes.d.ts +44 -0
  313. package/dist/service/sqs/message/sim-sqs-message-attributes.d.ts.map +1 -0
  314. package/dist/service/sqs/message/sim-sqs-message-attributes.js +93 -0
  315. package/dist/service/sqs/message/sim-sqs-message-attributes.js.map +1 -0
  316. package/dist/service/sqs/message/sim-sqs-message-body.d.ts +18 -0
  317. package/dist/service/sqs/message/sim-sqs-message-body.d.ts.map +1 -0
  318. package/dist/service/sqs/message/sim-sqs-message-body.js +66 -0
  319. package/dist/service/sqs/message/sim-sqs-message-body.js.map +1 -0
  320. package/dist/service/sqs/message/sim-sqs-message-store.d.ts +74 -0
  321. package/dist/service/sqs/message/sim-sqs-message-store.d.ts.map +1 -0
  322. package/dist/service/sqs/message/sim-sqs-message-store.js +99 -0
  323. package/dist/service/sqs/message/sim-sqs-message-store.js.map +1 -0
  324. package/dist/service/sqs/message/sim-sqs-message-system-attributes.d.ts +28 -0
  325. package/dist/service/sqs/message/sim-sqs-message-system-attributes.d.ts.map +1 -0
  326. package/dist/service/sqs/message/sim-sqs-message-system-attributes.js +75 -0
  327. package/dist/service/sqs/message/sim-sqs-message-system-attributes.js.map +1 -0
  328. package/dist/service/sqs/message/sim-sqs-message-visibility.d.ts +56 -0
  329. package/dist/service/sqs/message/sim-sqs-message-visibility.d.ts.map +1 -0
  330. package/dist/service/sqs/message/sim-sqs-message-visibility.js +79 -0
  331. package/dist/service/sqs/message/sim-sqs-message-visibility.js.map +1 -0
  332. package/dist/service/sqs/message/sim-sqs-message-writer.d.ts +41 -0
  333. package/dist/service/sqs/message/sim-sqs-message-writer.d.ts.map +1 -0
  334. package/dist/service/sqs/message/sim-sqs-message-writer.js +56 -0
  335. package/dist/service/sqs/message/sim-sqs-message-writer.js.map +1 -0
  336. package/dist/service/sqs/message/sim-sqs-message.d.ts +96 -0
  337. package/dist/service/sqs/message/sim-sqs-message.d.ts.map +1 -0
  338. package/dist/service/sqs/message/sim-sqs-message.js +136 -0
  339. package/dist/service/sqs/message/sim-sqs-message.js.map +1 -0
  340. package/dist/service/sqs/message/sim-sqs-receipt-handle.d.ts +10 -0
  341. package/dist/service/sqs/message/sim-sqs-receipt-handle.d.ts.map +1 -0
  342. package/dist/service/sqs/message/sim-sqs-receipt-handle.js +14 -0
  343. package/dist/service/sqs/message/sim-sqs-receipt-handle.js.map +1 -0
  344. package/dist/service/sqs/queue/sim-sqs-dead-letter-targets.d.ts +51 -0
  345. package/dist/service/sqs/queue/sim-sqs-dead-letter-targets.d.ts.map +1 -0
  346. package/dist/service/sqs/queue/sim-sqs-dead-letter-targets.js +62 -0
  347. package/dist/service/sqs/queue/sim-sqs-dead-letter-targets.js.map +1 -0
  348. package/dist/service/sqs/queue/sim-sqs-deleted-queue-names.d.ts +20 -0
  349. package/dist/service/sqs/queue/sim-sqs-deleted-queue-names.d.ts.map +1 -0
  350. package/dist/service/sqs/queue/sim-sqs-deleted-queue-names.js +42 -0
  351. package/dist/service/sqs/queue/sim-sqs-deleted-queue-names.js.map +1 -0
  352. package/dist/service/sqs/queue/sim-sqs-queue-activity.d.ts +65 -0
  353. package/dist/service/sqs/queue/sim-sqs-queue-activity.d.ts.map +1 -0
  354. package/dist/service/sqs/queue/sim-sqs-queue-activity.js +57 -0
  355. package/dist/service/sqs/queue/sim-sqs-queue-activity.js.map +1 -0
  356. package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts +41 -0
  357. package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts.map +1 -0
  358. package/dist/service/sqs/queue/sim-sqs-queue-arn.js +47 -0
  359. package/dist/service/sqs/queue/sim-sqs-queue-arn.js.map +1 -0
  360. package/dist/service/sqs/queue/sim-sqs-queue-attribute-names.d.ts +27 -0
  361. package/dist/service/sqs/queue/sim-sqs-queue-attribute-names.d.ts.map +1 -0
  362. package/dist/service/sqs/queue/sim-sqs-queue-attribute-names.js +83 -0
  363. package/dist/service/sqs/queue/sim-sqs-queue-attribute-names.js.map +1 -0
  364. package/dist/service/sqs/queue/sim-sqs-queue-attribute-numbers.d.ts +34 -0
  365. package/dist/service/sqs/queue/sim-sqs-queue-attribute-numbers.d.ts.map +1 -0
  366. package/dist/service/sqs/queue/sim-sqs-queue-attribute-numbers.js +93 -0
  367. package/dist/service/sqs/queue/sim-sqs-queue-attribute-numbers.js.map +1 -0
  368. package/dist/service/sqs/queue/sim-sqs-queue-attribute-specs.d.ts +20 -0
  369. package/dist/service/sqs/queue/sim-sqs-queue-attribute-specs.d.ts.map +1 -0
  370. package/dist/service/sqs/queue/sim-sqs-queue-attribute-specs.js +37 -0
  371. package/dist/service/sqs/queue/sim-sqs-queue-attribute-specs.js.map +1 -0
  372. package/dist/service/sqs/queue/sim-sqs-queue-attributes.d.ts +60 -0
  373. package/dist/service/sqs/queue/sim-sqs-queue-attributes.d.ts.map +1 -0
  374. package/dist/service/sqs/queue/sim-sqs-queue-attributes.js +96 -0
  375. package/dist/service/sqs/queue/sim-sqs-queue-attributes.js.map +1 -0
  376. package/dist/service/sqs/queue/sim-sqs-queue-name.d.ts +21 -0
  377. package/dist/service/sqs/queue/sim-sqs-queue-name.d.ts.map +1 -0
  378. package/dist/service/sqs/queue/sim-sqs-queue-name.js +47 -0
  379. package/dist/service/sqs/queue/sim-sqs-queue-name.js.map +1 -0
  380. package/dist/service/sqs/queue/sim-sqs-queue-report.d.ts +22 -0
  381. package/dist/service/sqs/queue/sim-sqs-queue-report.d.ts.map +1 -0
  382. package/dist/service/sqs/queue/sim-sqs-queue-report.js +29 -0
  383. package/dist/service/sqs/queue/sim-sqs-queue-report.js.map +1 -0
  384. package/dist/service/sqs/queue/sim-sqs-queue-store.d.ts +60 -0
  385. package/dist/service/sqs/queue/sim-sqs-queue-store.d.ts.map +1 -0
  386. package/dist/service/sqs/queue/sim-sqs-queue-store.js +87 -0
  387. package/dist/service/sqs/queue/sim-sqs-queue-store.js.map +1 -0
  388. package/dist/service/sqs/queue/sim-sqs-queue-url.d.ts +24 -0
  389. package/dist/service/sqs/queue/sim-sqs-queue-url.d.ts.map +1 -0
  390. package/dist/service/sqs/queue/sim-sqs-queue-url.js +36 -0
  391. package/dist/service/sqs/queue/sim-sqs-queue-url.js.map +1 -0
  392. package/dist/service/sqs/queue/sim-sqs-queue.d.ts +130 -0
  393. package/dist/service/sqs/queue/sim-sqs-queue.d.ts.map +1 -0
  394. package/dist/service/sqs/queue/sim-sqs-queue.js +188 -0
  395. package/dist/service/sqs/queue/sim-sqs-queue.js.map +1 -0
  396. package/dist/service/sqs/queue/sim-sqs-redrive-policy.d.ts +30 -0
  397. package/dist/service/sqs/queue/sim-sqs-redrive-policy.d.ts.map +1 -0
  398. package/dist/service/sqs/queue/sim-sqs-redrive-policy.js +118 -0
  399. package/dist/service/sqs/queue/sim-sqs-redrive-policy.js.map +1 -0
  400. package/dist/service/sqs/sdk/sim-sqs-sdk-command-router.d.ts +18 -0
  401. package/dist/service/sqs/sdk/sim-sqs-sdk-command-router.d.ts.map +1 -0
  402. package/dist/service/sqs/sdk/sim-sqs-sdk-command-router.js +76 -0
  403. package/dist/service/sqs/sdk/sim-sqs-sdk-command-router.js.map +1 -0
  404. package/dist/service/sqs/sim-sqs.d.ts +119 -0
  405. package/dist/service/sqs/sim-sqs.d.ts.map +1 -0
  406. package/dist/service/sqs/sim-sqs.js +213 -0
  407. package/dist/service/sqs/sim-sqs.js.map +1 -0
  408. package/package.json +6 -1
@@ -0,0 +1,57 @@
1
+ /**
2
+ * What a consumer that cannot poll continuously needs from the queues of one
3
+ * simulated SQS scope: to be told when a message can next be received, and to
4
+ * be able to ask when none has been announced.
5
+ *
6
+ * Watchers are held by queue ARN rather than on the queue itself, so a watcher
7
+ * survives whatever the queue does, and so the queue model stays a queue rather
8
+ * than a subscription list.
9
+ */
10
+ export class SimSqsQueueActivity {
11
+ watchers = new Map();
12
+ queues;
13
+ clock;
14
+ constructor(properties) {
15
+ this.queues = properties.queues;
16
+ this.clock = properties.clock;
17
+ }
18
+ /**
19
+ * When the earliest message a queue cannot hand out yet becomes receivable,
20
+ * or nothing when it holds no such message.
21
+ *
22
+ * A consumer that started watching a queue whose messages were all in flight
23
+ * or delayed has nothing to wake it, because their arrival was announced
24
+ * before it was watching. Asking is how it finds out when to look.
25
+ */
26
+ nextAvailability(queueArn) {
27
+ return this.queues.findByArn(queueArn)?.nextAvailability(this.clock.now());
28
+ }
29
+ /**
30
+ * Watch a queue for messages arriving on it.
31
+ */
32
+ watch(queueArn, watcher) {
33
+ this.watchers.set(queueArn, [...this.watchersOf(queueArn), watcher]);
34
+ }
35
+ /**
36
+ * Stop watching a queue.
37
+ */
38
+ unwatch(queueArn, watcher) {
39
+ this.watchers.set(queueArn, this.watchersOf(queueArn).filter((held) => held !== watcher));
40
+ }
41
+ /**
42
+ * Tell a queue's watchers when a message on it can next be received.
43
+ *
44
+ * A message arriving, a message being handed out and hidden, and a message
45
+ * having its visibility changed are all the same thing to a watcher: there is
46
+ * something to poll for at an instant.
47
+ */
48
+ messageAvailableAt(queueArn, availableFrom) {
49
+ for (const watcher of this.watchersOf(queueArn)) {
50
+ watcher.messageAvailable(availableFrom);
51
+ }
52
+ }
53
+ watchersOf(queueArn) {
54
+ return this.watchers.get(queueArn) ?? [];
55
+ }
56
+ }
57
+ //# sourceMappingURL=sim-sqs-queue-activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-queue-activity.js","sourceRoot":"","sources":["../../../../src/service/sqs/queue/sim-sqs-queue-activity.ts"],"names":[],"mappings":"AAyBA;;;;;;;;GAQG;AACH,MAAM,OAAO,mBAAmB;IACb,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;IACnD,MAAM,CAAmB;IACzB,KAAK,CAAW;IAEjC,YAAY,UAAyC;QACnD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,QAAgB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAgB,EAAE,OAA2B;QACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,QAAgB,EAAE,OAA2B;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CACf,QAAQ,EACR,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,QAAgB,EAAE,aAAmB;QACtD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,QAAgB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;CACF"}
@@ -0,0 +1,41 @@
1
+ import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
2
+ import type { SimSqsQueueName } from "./sim-sqs-queue-name.js";
3
+ /**
4
+ * The part of a queue ARN that comes before the queue's own name.
5
+ *
6
+ * A queue ARN has no resource type separator, so the name follows the account
7
+ * id directly. That is why `parseSimArn` cannot read one, and why an IAM policy
8
+ * resource for a queue is `arn:aws:sqs:region:account:name` rather than
9
+ * anything with a `queue/` in it.
10
+ */
11
+ export declare function sqsQueueArnPrefix(accountRegionScope: SimAwsAccountRegionScope): string;
12
+ /**
13
+ * The resource an operation naming no particular queue authorizes against.
14
+ *
15
+ * Real SQS gives ListQueues no queue-level permission, so a policy allowing it
16
+ * names every queue in the account and region rather than one of them.
17
+ */
18
+ export declare function sqsAnyQueueArn(accountRegionScope: SimAwsAccountRegionScope): string;
19
+ /**
20
+ * The part of a queue URL that comes before the queue's own name.
21
+ */
22
+ export declare function sqsQueueUrlPrefix(accountRegionScope: SimAwsAccountRegionScope): string;
23
+ interface SimSqsQueueArnProperties {
24
+ readonly name: SimSqsQueueName;
25
+ readonly accountRegionScope: SimAwsAccountRegionScope;
26
+ }
27
+ /**
28
+ * The ARN and URL of one simulated queue.
29
+ *
30
+ * The two travel together because they carry the same three facts, the region,
31
+ * the account and the name, in two formats: SDK requests name a queue by URL
32
+ * and IAM policies name it by ARN. Building both here keeps them in step.
33
+ */
34
+ export declare class SimSqsQueueArn {
35
+ readonly name: string;
36
+ readonly value: string;
37
+ readonly url: string;
38
+ constructor(properties: SimSqsQueueArnProperties);
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=sim-sqs-queue-arn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-queue-arn.d.ts","sourceRoot":"","sources":["../../../../src/service/sqs/queue/sim-sqs-queue-arn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,kBAAkB,EAAE,wBAAwB,GAC3C,MAAM,CAIR;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,kBAAkB,EAAE,wBAAwB,GAC3C,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,kBAAkB,EAAE,wBAAwB,GAC3C,MAAM,CAIR;AAED,UAAU,wBAAwB;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAE5B,YAAY,UAAU,EAAE,wBAAwB,EAM/C;CACF"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * The part of a queue ARN that comes before the queue's own name.
3
+ *
4
+ * A queue ARN has no resource type separator, so the name follows the account
5
+ * id directly. That is why `parseSimArn` cannot read one, and why an IAM policy
6
+ * resource for a queue is `arn:aws:sqs:region:account:name` rather than
7
+ * anything with a `queue/` in it.
8
+ */
9
+ export function sqsQueueArnPrefix(accountRegionScope) {
10
+ const { regionName, accountId } = accountRegionScope;
11
+ return `arn:aws:sqs:${regionName}:${accountId}:`;
12
+ }
13
+ /**
14
+ * The resource an operation naming no particular queue authorizes against.
15
+ *
16
+ * Real SQS gives ListQueues no queue-level permission, so a policy allowing it
17
+ * names every queue in the account and region rather than one of them.
18
+ */
19
+ export function sqsAnyQueueArn(accountRegionScope) {
20
+ return `${sqsQueueArnPrefix(accountRegionScope)}*`;
21
+ }
22
+ /**
23
+ * The part of a queue URL that comes before the queue's own name.
24
+ */
25
+ export function sqsQueueUrlPrefix(accountRegionScope) {
26
+ const { regionName, accountId } = accountRegionScope;
27
+ return `https://sqs.${regionName}.amazonaws.com/${accountId}/`;
28
+ }
29
+ /**
30
+ * The ARN and URL of one simulated queue.
31
+ *
32
+ * The two travel together because they carry the same three facts, the region,
33
+ * the account and the name, in two formats: SDK requests name a queue by URL
34
+ * and IAM policies name it by ARN. Building both here keeps them in step.
35
+ */
36
+ export class SimSqsQueueArn {
37
+ name;
38
+ value;
39
+ url;
40
+ constructor(properties) {
41
+ const { name, accountRegionScope } = properties;
42
+ this.name = name.value;
43
+ this.value = sqsQueueArnPrefix(accountRegionScope) + name.value;
44
+ this.url = sqsQueueUrlPrefix(accountRegionScope) + name.value;
45
+ }
46
+ }
47
+ //# sourceMappingURL=sim-sqs-queue-arn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-queue-arn.js","sourceRoot":"","sources":["../../../../src/service/sqs/queue/sim-sqs-queue-arn.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,kBAA4C;IAE5C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC;IAErD,OAAO,eAAe,UAAU,IAAI,SAAS,GAAG,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,kBAA4C;IAE5C,OAAO,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,kBAA4C;IAE5C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC;IAErD,OAAO,eAAe,UAAU,kBAAkB,SAAS,GAAG,CAAC;AACjE,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,OAAO,cAAc;IACT,IAAI,CAAS;IACb,KAAK,CAAS;IACd,GAAG,CAAS;IAE5B,YAAY,UAAoC;QAC9C,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC;QAEhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAChE,IAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAChE,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ import { type SimSqsQueueAttributeSpec } from "./sim-sqs-queue-attribute-specs.js";
2
+ /**
3
+ * The queue attribute names, and what each of them may be used for.
4
+ *
5
+ * Reading and setting are separate questions. Real SQS leaves an attribute out
6
+ * of a GetQueueAttributes response when the queue has no value for it, so
7
+ * asking for an attribute this simulation does not model is answered with
8
+ * silence rather than a failure. Setting one is refused, because a request that
9
+ * appeared to succeed would leave the queue behaving differently here than on
10
+ * AWS.
11
+ */
12
+ export declare const SimSqsQueueAttributeNames: {
13
+ /**
14
+ * The attributes a CreateQueue or SetQueueAttributes request may set.
15
+ */
16
+ readonly settable: readonly SimSqsQueueAttributeSpec[];
17
+ /**
18
+ * Ensure an attribute name is one real SQS reports.
19
+ */
20
+ assertReadable(name: string): void;
21
+ /**
22
+ * Get the spec for an attribute a request is setting, refusing one that
23
+ * cannot be set.
24
+ */
25
+ specForSetting(name: string): SimSqsQueueAttributeSpec;
26
+ };
27
+ //# sourceMappingURL=sim-sqs-queue-attribute-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-queue-attribute-names.d.ts","sourceRoot":"","sources":["../../../../src/service/sqs/queue/sim-sqs-queue-attribute-names.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,oCAAoC,CAAC;AA2C5C;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB;IACpC;;OAEG;aACC,QAAQ,EAAI,SAAS,wBAAwB,EAAE;IAInD;;OAEG;IACH,cAAc,OAAO,MAAM,GAAG,IAAI;IAUlC;;;OAGG;IACH,cAAc,OAAO,MAAM,GAAG,wBAAwB;CAwBvD,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { SimSqsInvalidAttributeName, SimSqsUnsupportedOperation, } from "../error/sim-sqs.error.js";
2
+ import { simSqsRedrivePolicyAttributeName, simSqsSettableQueueAttributes, } from "./sim-sqs-queue-attribute-specs.js";
3
+ /**
4
+ * The attributes SQS reports and no request sets, because the queue itself
5
+ * decides them.
6
+ */
7
+ const readOnlyNames = new Set([
8
+ "ApproximateNumberOfMessages",
9
+ "ApproximateNumberOfMessagesDelayed",
10
+ "ApproximateNumberOfMessagesNotVisible",
11
+ "CreatedTimestamp",
12
+ "LastModifiedTimestamp",
13
+ "QueueArn",
14
+ ]);
15
+ /**
16
+ * Real SQS attributes this simulation does not model. A request setting one is
17
+ * refused rather than quietly ignored, since a queue behaving as though it had
18
+ * a queue policy it does not have is worse than being told it cannot have one.
19
+ */
20
+ const unsimulatedNames = new Set([
21
+ "ContentBasedDeduplication",
22
+ "DeduplicationScope",
23
+ "FifoQueue",
24
+ "FifoThroughputLimit",
25
+ "KmsDataKeyReusePeriodSeconds",
26
+ "KmsMasterKeyId",
27
+ "Policy",
28
+ "RedriveAllowPolicy",
29
+ "SqsManagedSseEnabled",
30
+ ]);
31
+ const knownNames = new Set([
32
+ ...simSqsSettableQueueAttributes.map((spec) => spec.name),
33
+ ...readOnlyNames,
34
+ ...unsimulatedNames,
35
+ simSqsRedrivePolicyAttributeName,
36
+ ]);
37
+ const settableSpecsByName = new Map(simSqsSettableQueueAttributes.map((spec) => [spec.name, spec]));
38
+ /**
39
+ * The queue attribute names, and what each of them may be used for.
40
+ *
41
+ * Reading and setting are separate questions. Real SQS leaves an attribute out
42
+ * of a GetQueueAttributes response when the queue has no value for it, so
43
+ * asking for an attribute this simulation does not model is answered with
44
+ * silence rather than a failure. Setting one is refused, because a request that
45
+ * appeared to succeed would leave the queue behaving differently here than on
46
+ * AWS.
47
+ */
48
+ export const SimSqsQueueAttributeNames = {
49
+ /**
50
+ * The attributes a CreateQueue or SetQueueAttributes request may set.
51
+ */
52
+ get settable() {
53
+ return simSqsSettableQueueAttributes;
54
+ },
55
+ /**
56
+ * Ensure an attribute name is one real SQS reports.
57
+ */
58
+ assertReadable(name) {
59
+ if (name === "All" || knownNames.has(name)) {
60
+ return;
61
+ }
62
+ throw new SimSqsInvalidAttributeName(`Unknown Attribute ${name}: it is not an SQS queue attribute name`);
63
+ },
64
+ /**
65
+ * Get the spec for an attribute a request is setting, refusing one that
66
+ * cannot be set.
67
+ */
68
+ specForSetting(name) {
69
+ const spec = settableSpecsByName.get(name);
70
+ if (spec !== undefined) {
71
+ return spec;
72
+ }
73
+ if (unsimulatedNames.has(name)) {
74
+ throw new SimSqsUnsupportedOperation(`Queue attribute ${name} is a real SQS attribute that simulated SQS ` +
75
+ `does not simulate, so setting it is refused rather than ignored`);
76
+ }
77
+ if (readOnlyNames.has(name)) {
78
+ throw new SimSqsInvalidAttributeName(`Unknown Attribute ${name}: it is reported by SQS rather than set`);
79
+ }
80
+ throw new SimSqsInvalidAttributeName(`Unknown Attribute ${name}: it is not an SQS queue attribute name`);
81
+ },
82
+ };
83
+ //# sourceMappingURL=sim-sqs-queue-attribute-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-queue-attribute-names.js","sourceRoot":"","sources":["../../../../src/service/sqs/queue/sim-sqs-queue-attribute-names.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gCAAgC,EAEhC,6BAA6B,GAC9B,MAAM,oCAAoC,CAAC;AAE5C;;;GAGG;AACH,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IACjD,6BAA6B;IAC7B,oCAAoC;IACpC,uCAAuC;IACvC,kBAAkB;IAClB,uBAAuB;IACvB,UAAU;CACX,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IACpD,2BAA2B;IAC3B,oBAAoB;IACpB,WAAW;IACX,qBAAqB;IACrB,8BAA8B;IAC9B,gBAAgB;IAChB,QAAQ;IACR,oBAAoB;IACpB,sBAAsB;CACvB,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS;IACjC,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACzD,GAAG,aAAa;IAChB,GAAG,gBAAgB;IACnB,gCAAgC;CACjC,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,6BAA6B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAC/D,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,6BAA6B,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,IAAY;QACzB,IAAI,IAAI,KAAK,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,0BAA0B,CAClC,qBAAqB,IAAI,yCAAyC,CACnE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,IAAY;QACzB,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,0BAA0B,CAClC,mBAAmB,IAAI,8CAA8C;gBACnE,iEAAiE,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,0BAA0B,CAClC,qBAAqB,IAAI,yCAAyC,CACnE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,0BAA0B,CAClC,qBAAqB,IAAI,yCAAyC,CACnE,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { SimSqsQueueAttributeInput } from "./sim-sqs-queue-attributes.js";
2
+ /**
3
+ * The queue attributes that are amounts: a timeout, a size, a delay.
4
+ *
5
+ * They are held as numbers rather than as the strings a request carries,
6
+ * because that is what the queue's behaviour is expressed in. Strings are a
7
+ * wire format, applied on the way in and reported on the way out.
8
+ */
9
+ export declare class SimSqsQueueAttributeNumbers {
10
+ private readonly values;
11
+ private constructor();
12
+ /**
13
+ * The values a queue created with no attributes has.
14
+ */
15
+ static defaults(): SimSqsQueueAttributeNumbers;
16
+ /**
17
+ * The value of one attribute.
18
+ */
19
+ get(name: string): number;
20
+ /**
21
+ * Apply the values a request asks for, leaving the rest as they are.
22
+ */
23
+ with(requested: SimSqsQueueAttributeInput): SimSqsQueueAttributeNumbers;
24
+ /**
25
+ * Whether every numeric attribute a request names already holds the value it
26
+ * asks for.
27
+ */
28
+ matches(requested: SimSqsQueueAttributeInput): boolean;
29
+ /**
30
+ * The values as SQS reports them, back in their string form.
31
+ */
32
+ reported(): ReadonlyMap<string, string>;
33
+ }
34
+ //# sourceMappingURL=sim-sqs-queue-attribute-numbers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-queue-attribute-numbers.d.ts","sourceRoot":"","sources":["../../../../src/service/sqs/queue/sim-sqs-queue-attribute-numbers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AA+C/E;;;;;;GAMG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IAErD,OAAO,eAEN;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,2BAA2B,CAS7C;IAED;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUxB;IAED;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,yBAAyB,GAAG,2BAA2B,CAUtE;IAED;;;OAGG;IACH,OAAO,CAAC,SAAS,EAAE,yBAAyB,GAAG,OAAO,CAMrD;IAED;;OAEG;IACH,QAAQ,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAItC;CACF"}
@@ -0,0 +1,93 @@
1
+ import { SimSqsInvalidAttributeValue } from "../error/sim-sqs.error.js";
2
+ import { SimSqsQueueAttributeNames } from "./sim-sqs-queue-attribute-names.js";
3
+ import { simSqsRedrivePolicyAttributeName, } from "./sim-sqs-queue-attribute-specs.js";
4
+ const integerPattern = /^-?\d+$/;
5
+ /**
6
+ * Read an attribute value, refusing anything outside the range real SQS
7
+ * accepts for it.
8
+ */
9
+ function attributeNumber(spec, value) {
10
+ const invalid = new SimSqsInvalidAttributeValue(`Value ${value} for parameter ${spec.name} is invalid. Reason: Must be ` +
11
+ `an integer from ${String(spec.minimum)} to ${String(spec.maximum)}.`);
12
+ if (!integerPattern.test(value)) {
13
+ throw invalid;
14
+ }
15
+ const parsed = Number(value);
16
+ if (parsed < spec.minimum || parsed > spec.maximum) {
17
+ throw invalid;
18
+ }
19
+ return parsed;
20
+ }
21
+ /**
22
+ * The numeric attribute entries a request actually carries.
23
+ *
24
+ * An SDK attribute map is a partial record, so an explicitly undefined value is
25
+ * the absence of an attribute rather than a request to set one. The redrive
26
+ * policy is left out because it is a JSON object with no numeric range to be
27
+ * checked against.
28
+ */
29
+ function numberEntries(requested) {
30
+ return Object.entries(requested).filter((entry) => entry[1] !== undefined && entry[0] !== simSqsRedrivePolicyAttributeName);
31
+ }
32
+ /**
33
+ * The queue attributes that are amounts: a timeout, a size, a delay.
34
+ *
35
+ * They are held as numbers rather than as the strings a request carries,
36
+ * because that is what the queue's behaviour is expressed in. Strings are a
37
+ * wire format, applied on the way in and reported on the way out.
38
+ */
39
+ export class SimSqsQueueAttributeNumbers {
40
+ values;
41
+ constructor(values) {
42
+ this.values = values;
43
+ }
44
+ /**
45
+ * The values a queue created with no attributes has.
46
+ */
47
+ static defaults() {
48
+ return new this(new Map(SimSqsQueueAttributeNames.settable.map((spec) => [
49
+ spec.name,
50
+ spec.defaultValue,
51
+ ])));
52
+ }
53
+ /**
54
+ * The value of one attribute.
55
+ */
56
+ get(name) {
57
+ const value = this.values.get(name);
58
+ /* v8 ignore next 3 -- unreachable: every settable attribute is present from
59
+ construction, and only settable names are ever read. */
60
+ if (value === undefined) {
61
+ throw new SimSqsInvalidAttributeValue(`No value for attribute ${name}`);
62
+ }
63
+ return value;
64
+ }
65
+ /**
66
+ * Apply the values a request asks for, leaving the rest as they are.
67
+ */
68
+ with(requested) {
69
+ const values = new Map(this.values);
70
+ for (const [name, value] of numberEntries(requested)) {
71
+ const spec = SimSqsQueueAttributeNames.specForSetting(name);
72
+ values.set(spec.name, attributeNumber(spec, value));
73
+ }
74
+ return new SimSqsQueueAttributeNumbers(values);
75
+ }
76
+ /**
77
+ * Whether every numeric attribute a request names already holds the value it
78
+ * asks for.
79
+ */
80
+ matches(requested) {
81
+ return numberEntries(requested).every(([name, value]) => {
82
+ const spec = SimSqsQueueAttributeNames.specForSetting(name);
83
+ return this.get(spec.name) === attributeNumber(spec, value);
84
+ });
85
+ }
86
+ /**
87
+ * The values as SQS reports them, back in their string form.
88
+ */
89
+ reported() {
90
+ return new Map(this.values.entries().map(([name, value]) => [name, String(value)]));
91
+ }
92
+ }
93
+ //# sourceMappingURL=sim-sqs-queue-attribute-numbers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-queue-attribute-numbers.js","sourceRoot":"","sources":["../../../../src/service/sqs/queue/sim-sqs-queue-attribute-numbers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EACL,gCAAgC,GAEjC,MAAM,oCAAoC,CAAC;AAG5C,MAAM,cAAc,GAAG,SAAS,CAAC;AAEjC;;;GAGG;AACH,SAAS,eAAe,CACtB,IAA8B,EAC9B,KAAa;IAEb,MAAM,OAAO,GAAG,IAAI,2BAA2B,CAC7C,SAAS,KAAK,kBAAkB,IAAI,CAAC,IAAI,+BAA+B;QACtE,mBAAmB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CACxE,CAAC;IAEF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,OAAO,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnD,MAAM,OAAO,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CACpB,SAAoC;IAEpC,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CACrC,CAAC,KAAK,EAA6B,EAAE,CACnC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,gCAAgC,CAC1E,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,2BAA2B;IACrB,MAAM,CAA8B;IAErD,YAAoB,MAAmC;QACrD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,IAAI,CACb,IAAI,GAAG,CACL,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,YAAY;SAClB,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpC;kEAC0D;QAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,2BAA2B,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,SAAoC;QACvC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,yBAAyB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAE5D,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,SAAoC;QAC1C,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;YACtD,MAAM,IAAI,GAAG,yBAAyB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAE5D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,GAAG,CACZ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACpE,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The one settable attribute that is a JSON object rather than a number, so it
3
+ * has no numeric range to be checked against.
4
+ */
5
+ export declare const simSqsRedrivePolicyAttributeName = "RedrivePolicy";
6
+ /**
7
+ * One queue attribute a request may set, and the range real SQS accepts for it.
8
+ */
9
+ export interface SimSqsQueueAttributeSpec {
10
+ readonly name: string;
11
+ readonly defaultValue: number;
12
+ readonly minimum: number;
13
+ readonly maximum: number;
14
+ }
15
+ /**
16
+ * The queue attributes simulated SQS holds, with the defaults and ranges real SQS
17
+ * applies to them.
18
+ */
19
+ export declare const simSqsSettableQueueAttributes: readonly SimSqsQueueAttributeSpec[];
20
+ //# sourceMappingURL=sim-sqs-queue-attribute-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-queue-attribute-specs.d.ts","sourceRoot":"","sources":["../../../../src/service/sqs/queue/sim-sqs-queue-attribute-specs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,gCAAgC,kBAAkB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,wBAAwB,EA2B1E,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * The one settable attribute that is a JSON object rather than a number, so it
3
+ * has no numeric range to be checked against.
4
+ */
5
+ export const simSqsRedrivePolicyAttributeName = "RedrivePolicy";
6
+ /**
7
+ * The queue attributes simulated SQS holds, with the defaults and ranges real SQS
8
+ * applies to them.
9
+ */
10
+ export const simSqsSettableQueueAttributes = [
11
+ { name: "DelaySeconds", defaultValue: 0, minimum: 0, maximum: 900 },
12
+ {
13
+ name: "MaximumMessageSize",
14
+ defaultValue: 262_144,
15
+ minimum: 1024,
16
+ maximum: 262_144,
17
+ },
18
+ {
19
+ name: "MessageRetentionPeriod",
20
+ defaultValue: 345_600,
21
+ minimum: 60,
22
+ maximum: 1_209_600,
23
+ },
24
+ {
25
+ name: "ReceiveMessageWaitTimeSeconds",
26
+ defaultValue: 0,
27
+ minimum: 0,
28
+ maximum: 20,
29
+ },
30
+ {
31
+ name: "VisibilityTimeout",
32
+ defaultValue: 30,
33
+ minimum: 0,
34
+ maximum: 43_200,
35
+ },
36
+ ];
37
+ //# sourceMappingURL=sim-sqs-queue-attribute-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-queue-attribute-specs.js","sourceRoot":"","sources":["../../../../src/service/sqs/queue/sim-sqs-queue-attribute-specs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,eAAe,CAAC;AAYhE;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GACxC;IACE,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;IACnE;QACE,IAAI,EAAE,oBAAoB;QAC1B,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,OAAO;KACjB;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,SAAS;KACnB;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,MAAM;KAChB;CACF,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { SimSqsRedrivePolicy } from "./sim-sqs-redrive-policy.js";
2
+ /**
3
+ * Queue attributes as a request carries them: SQS passes every attribute value
4
+ * as a string, whatever the attribute means.
5
+ */
6
+ export type SimSqsQueueAttributeInput = Readonly<Record<string, string | undefined>>;
7
+ /**
8
+ * The attribute values held by one simulated queue.
9
+ *
10
+ * They come in two kinds. Most are amounts, held as numbers because that is
11
+ * what the queue's behaviour is expressed in. The redrive policy is a JSON
12
+ * object, and a queue has none until one is set, so it is held apart from the
13
+ * rest rather than squeezed into the same map.
14
+ */
15
+ export declare class SimSqsQueueAttributes {
16
+ private readonly numbers;
17
+ private readonly redrive;
18
+ private constructor();
19
+ /**
20
+ * The attribute values a queue created with no attributes has.
21
+ */
22
+ static defaults(): SimSqsQueueAttributes;
23
+ /** The delay a new message with no delay of its own waits out. */
24
+ get delaySeconds(): number;
25
+ /** The longest message body the queue accepts, in bytes. */
26
+ get maximumMessageSizeBytes(): number;
27
+ /** How long a message stays on the queue before SQS drops it. */
28
+ get messageRetentionSeconds(): number;
29
+ /** How long a received message is hidden from other consumers. */
30
+ get visibilityTimeoutSeconds(): number;
31
+ /** Where failed messages go, and after how many receives, if anywhere. */
32
+ get redrivePolicy(): SimSqsRedrivePolicy | undefined;
33
+ /**
34
+ * Apply the attribute values a request asks for, leaving the rest as they are.
35
+ */
36
+ with(requested: SimSqsQueueAttributeInput): SimSqsQueueAttributes;
37
+ /**
38
+ * Whether every attribute a request names already holds the value it asks for.
39
+ *
40
+ * This is the question CreateQueue asks about a name already taken. Only the
41
+ * attributes in the request are compared, as real SQS compares them, so a
42
+ * request carrying none matches any existing queue.
43
+ */
44
+ matches(requested: SimSqsQueueAttributeInput): boolean;
45
+ /**
46
+ * The attributes as SQS reports them, back in their string form.
47
+ *
48
+ * The redrive policy is reported as the string it was set with, since that is
49
+ * the string SQS holds the attribute as. A queue with no redrive policy
50
+ * reports none, as real SQS leaves out an attribute a queue has no value for.
51
+ */
52
+ reported(): ReadonlyMap<string, string>;
53
+ /**
54
+ * The redrive policy after a request, which is the one it sets or the one
55
+ * already there.
56
+ */
57
+ private redriveIn;
58
+ private redriveMatches;
59
+ }
60
+ //# sourceMappingURL=sim-sqs-queue-attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-queue-attributes.d.ts","sourceRoot":"","sources":["../../../../src/service/sqs/queue/sim-sqs-queue-attributes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAC9C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CACnC,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAE1D,OAAO,eAMN;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,qBAAqB,CAEvC;IAED,kEAAkE;IAClE,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,4DAA4D;IAC5D,IAAI,uBAAuB,IAAI,MAAM,CAEpC;IAED,iEAAiE;IACjE,IAAI,uBAAuB,IAAI,MAAM,CAEpC;IAED,kEAAkE;IAClE,IAAI,wBAAwB,IAAI,MAAM,CAErC;IAED,0EAA0E;IAC1E,IAAI,aAAa,IAAI,mBAAmB,GAAG,SAAS,CAEnD;IAED;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,yBAAyB,GAAG,qBAAqB,CAKhE;IAED;;;;;;OAMG;IACH,OAAO,CAAC,SAAS,EAAE,yBAAyB,GAAG,OAAO,CAErD;IAED;;;;;;OAMG;IACH,QAAQ,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAQtC;IAED;;;OAGG;IACH,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,cAAc;CAUvB"}
@@ -0,0 +1,96 @@
1
+ import { SimSqsQueueAttributeNumbers } from "./sim-sqs-queue-attribute-numbers.js";
2
+ import { simSqsRedrivePolicyAttributeName } from "./sim-sqs-queue-attribute-specs.js";
3
+ import { SimSqsRedrivePolicy } from "./sim-sqs-redrive-policy.js";
4
+ /**
5
+ * The attribute values held by one simulated queue.
6
+ *
7
+ * They come in two kinds. Most are amounts, held as numbers because that is
8
+ * what the queue's behaviour is expressed in. The redrive policy is a JSON
9
+ * object, and a queue has none until one is set, so it is held apart from the
10
+ * rest rather than squeezed into the same map.
11
+ */
12
+ export class SimSqsQueueAttributes {
13
+ numbers;
14
+ redrive;
15
+ constructor(numbers, redrive) {
16
+ this.numbers = numbers;
17
+ this.redrive = redrive;
18
+ }
19
+ /**
20
+ * The attribute values a queue created with no attributes has.
21
+ */
22
+ static defaults() {
23
+ return new this(SimSqsQueueAttributeNumbers.defaults(), undefined);
24
+ }
25
+ /** The delay a new message with no delay of its own waits out. */
26
+ get delaySeconds() {
27
+ return this.numbers.get("DelaySeconds");
28
+ }
29
+ /** The longest message body the queue accepts, in bytes. */
30
+ get maximumMessageSizeBytes() {
31
+ return this.numbers.get("MaximumMessageSize");
32
+ }
33
+ /** How long a message stays on the queue before SQS drops it. */
34
+ get messageRetentionSeconds() {
35
+ return this.numbers.get("MessageRetentionPeriod");
36
+ }
37
+ /** How long a received message is hidden from other consumers. */
38
+ get visibilityTimeoutSeconds() {
39
+ return this.numbers.get("VisibilityTimeout");
40
+ }
41
+ /** Where failed messages go, and after how many receives, if anywhere. */
42
+ get redrivePolicy() {
43
+ return this.redrive;
44
+ }
45
+ /**
46
+ * Apply the attribute values a request asks for, leaving the rest as they are.
47
+ */
48
+ with(requested) {
49
+ return new SimSqsQueueAttributes(this.numbers.with(requested), this.redriveIn(requested));
50
+ }
51
+ /**
52
+ * Whether every attribute a request names already holds the value it asks for.
53
+ *
54
+ * This is the question CreateQueue asks about a name already taken. Only the
55
+ * attributes in the request are compared, as real SQS compares them, so a
56
+ * request carrying none matches any existing queue.
57
+ */
58
+ matches(requested) {
59
+ return this.redriveMatches(requested) && this.numbers.matches(requested);
60
+ }
61
+ /**
62
+ * The attributes as SQS reports them, back in their string form.
63
+ *
64
+ * The redrive policy is reported as the string it was set with, since that is
65
+ * the string SQS holds the attribute as. A queue with no redrive policy
66
+ * reports none, as real SQS leaves out an attribute a queue has no value for.
67
+ */
68
+ reported() {
69
+ const reported = new Map(this.numbers.reported());
70
+ if (this.redrive !== undefined) {
71
+ reported.set(simSqsRedrivePolicyAttributeName, this.redrive.value);
72
+ }
73
+ return reported;
74
+ }
75
+ /**
76
+ * The redrive policy after a request, which is the one it sets or the one
77
+ * already there.
78
+ */
79
+ redriveIn(requested) {
80
+ // eslint-disable-next-line security/detect-object-injection -- a fixed key.
81
+ const value = requested[simSqsRedrivePolicyAttributeName];
82
+ if (value === undefined) {
83
+ return this.redrive;
84
+ }
85
+ return SimSqsRedrivePolicy.parse(value);
86
+ }
87
+ redriveMatches(requested) {
88
+ // eslint-disable-next-line security/detect-object-injection -- a fixed key.
89
+ const value = requested[simSqsRedrivePolicyAttributeName];
90
+ if (value === undefined) {
91
+ return true;
92
+ }
93
+ return this.redrive?.matches(SimSqsRedrivePolicy.parse(value)) === true;
94
+ }
95
+ }
96
+ //# sourceMappingURL=sim-sqs-queue-attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-queue-attributes.js","sourceRoot":"","sources":["../../../../src/service/sqs/queue/sim-sqs-queue-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAUlE;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAqB;IACf,OAAO,CAA8B;IACrC,OAAO,CAAkC;IAE1D,YACE,OAAoC,EACpC,OAAwC;QAExC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,kEAAkE;IAClE,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED,4DAA4D;IAC5D,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAChD,CAAC;IAED,iEAAiE;IACjE,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACpD,CAAC;IAED,kEAAkE;IAClE,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC;IAED,0EAA0E;IAC1E,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,SAAoC;QACvC,OAAO,IAAI,qBAAqB,CAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAC5B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,SAAoC;QAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;OAMG;IACH,QAAQ;QACN,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAElD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,QAAQ,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,SAAS,CACf,SAAoC;QAEpC,4EAA4E;QAC5E,MAAM,KAAK,GAAG,SAAS,CAAC,gCAAgC,CAAC,CAAC;QAE1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEO,cAAc,CAAC,SAAoC;QACzD,4EAA4E;QAC5E,MAAM,KAAK,GAAG,SAAS,CAAC,gCAAgC,CAAC,CAAC;QAE1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;IAC1E,CAAC;CACF"}