@kensio/yulin 1.16.0 → 1.16.1

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 (196) hide show
  1. package/README.md +44 -46
  2. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +2 -2
  3. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
  4. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +3 -2
  5. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts.map +1 -1
  6. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js.map +1 -1
  7. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.d.ts +5 -2
  8. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.d.ts.map +1 -1
  9. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.js +38 -2
  10. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.js.map +1 -1
  11. package/dist/service/cloudfront/origin/custom/sim-cf-function-url-origin-template.factory.d.ts.map +1 -1
  12. package/dist/service/cloudfront/origin/custom/sim-cf-function-url-origin-template.factory.js +5 -2
  13. package/dist/service/cloudfront/origin/custom/sim-cf-function-url-origin-template.factory.js.map +1 -1
  14. package/dist/service/cognito/command/hosted/hosted-auth.command.d.ts +10 -0
  15. package/dist/service/cognito/command/hosted/hosted-auth.command.d.ts.map +1 -1
  16. package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.d.ts +14 -13
  17. package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.d.ts.map +1 -1
  18. package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.js +14 -18
  19. package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.js.map +1 -1
  20. package/dist/service/cognito/command/hosted/sim-cognito-authorize-request.d.ts +15 -6
  21. package/dist/service/cognito/command/hosted/sim-cognito-authorize-request.d.ts.map +1 -1
  22. package/dist/service/cognito/command/hosted/sim-cognito-authorize-request.js +26 -19
  23. package/dist/service/cognito/command/hosted/sim-cognito-authorize-request.js.map +1 -1
  24. package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.d.ts.map +1 -1
  25. package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.js +5 -1
  26. package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.js.map +1 -1
  27. package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.d.ts +41 -0
  28. package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.d.ts.map +1 -0
  29. package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.js +71 -0
  30. package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.js.map +1 -0
  31. package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.d.ts +32 -0
  32. package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.d.ts.map +1 -0
  33. package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.js +36 -0
  34. package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.js.map +1 -0
  35. package/dist/service/cognito/error/sim-cognito-managed-login.error.d.ts +22 -0
  36. package/dist/service/cognito/error/sim-cognito-managed-login.error.d.ts.map +1 -0
  37. package/dist/service/cognito/error/sim-cognito-managed-login.error.js +32 -0
  38. package/dist/service/cognito/error/sim-cognito-managed-login.error.js.map +1 -0
  39. package/dist/service/cognito/serve/page/sim-cognito-confirm-page.d.ts +29 -0
  40. package/dist/service/cognito/serve/page/sim-cognito-confirm-page.d.ts.map +1 -0
  41. package/dist/service/cognito/serve/page/sim-cognito-confirm-page.js +90 -0
  42. package/dist/service/cognito/serve/page/sim-cognito-confirm-page.js.map +1 -0
  43. package/dist/service/cognito/serve/page/sim-cognito-managed-login.d.ts +38 -0
  44. package/dist/service/cognito/serve/page/sim-cognito-managed-login.d.ts.map +1 -0
  45. package/dist/service/cognito/serve/page/sim-cognito-managed-login.js +62 -0
  46. package/dist/service/cognito/serve/page/sim-cognito-managed-login.js.map +1 -0
  47. package/dist/service/cognito/serve/page/sim-cognito-page-form.d.ts +47 -0
  48. package/dist/service/cognito/serve/page/sim-cognito-page-form.d.ts.map +1 -0
  49. package/dist/service/cognito/serve/page/sim-cognito-page-form.js +76 -0
  50. package/dist/service/cognito/serve/page/sim-cognito-page-form.js.map +1 -0
  51. package/dist/service/cognito/serve/page/sim-cognito-page-markup.d.ts +69 -0
  52. package/dist/service/cognito/serve/page/sim-cognito-page-markup.d.ts.map +1 -0
  53. package/dist/service/cognito/serve/page/sim-cognito-page-markup.js +111 -0
  54. package/dist/service/cognito/serve/page/sim-cognito-page-markup.js.map +1 -0
  55. package/dist/service/cognito/serve/page/sim-cognito-page-paths.d.ts +39 -0
  56. package/dist/service/cognito/serve/page/sim-cognito-page-paths.d.ts.map +1 -0
  57. package/dist/service/cognito/serve/page/sim-cognito-page-paths.js +59 -0
  58. package/dist/service/cognito/serve/page/sim-cognito-page-paths.js.map +1 -0
  59. package/dist/service/cognito/serve/page/sim-cognito-page-request.d.ts +22 -0
  60. package/dist/service/cognito/serve/page/sim-cognito-page-request.d.ts.map +1 -0
  61. package/dist/service/cognito/serve/page/sim-cognito-page-request.js +30 -0
  62. package/dist/service/cognito/serve/page/sim-cognito-page-request.js.map +1 -0
  63. package/dist/service/cognito/serve/page/sim-cognito-sign-in-page.d.ts +28 -0
  64. package/dist/service/cognito/serve/page/sim-cognito-sign-in-page.d.ts.map +1 -0
  65. package/dist/service/cognito/serve/page/sim-cognito-sign-in-page.js +45 -0
  66. package/dist/service/cognito/serve/page/sim-cognito-sign-in-page.js.map +1 -0
  67. package/dist/service/cognito/serve/page/sim-cognito-sign-up-page.d.ts +35 -0
  68. package/dist/service/cognito/serve/page/sim-cognito-sign-up-page.d.ts.map +1 -0
  69. package/dist/service/cognito/serve/page/sim-cognito-sign-up-page.js +85 -0
  70. package/dist/service/cognito/serve/page/sim-cognito-sign-up-page.js.map +1 -0
  71. package/dist/service/cognito/serve/sim-cognito-domain-endpoints.d.ts +20 -23
  72. package/dist/service/cognito/serve/sim-cognito-domain-endpoints.d.ts.map +1 -1
  73. package/dist/service/cognito/serve/sim-cognito-domain-endpoints.js +40 -19
  74. package/dist/service/cognito/serve/sim-cognito-domain-endpoints.js.map +1 -1
  75. package/dist/service/cognito/serve/sim-cognito-domain-request.d.ts +14 -0
  76. package/dist/service/cognito/serve/sim-cognito-domain-request.d.ts.map +1 -0
  77. package/dist/service/cognito/serve/sim-cognito-domain-request.js +2 -0
  78. package/dist/service/cognito/serve/sim-cognito-domain-request.js.map +1 -0
  79. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts +8 -0
  80. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts.map +1 -1
  81. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js +14 -6
  82. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js.map +1 -1
  83. package/dist/service/lambda/serve/auth/sim-lambda-url-payload-hash.d.ts +28 -0
  84. package/dist/service/lambda/serve/auth/sim-lambda-url-payload-hash.d.ts.map +1 -0
  85. package/dist/service/lambda/serve/auth/sim-lambda-url-payload-hash.js +56 -0
  86. package/dist/service/lambda/serve/auth/sim-lambda-url-payload-hash.js.map +1 -0
  87. package/dist/service/lambda/serve/response/sim-lambda-url-error-response.d.ts +16 -0
  88. package/dist/service/lambda/serve/response/sim-lambda-url-error-response.d.ts.map +1 -1
  89. package/dist/service/lambda/serve/response/sim-lambda-url-error-response.js +24 -0
  90. package/dist/service/lambda/serve/response/sim-lambda-url-error-response.js.map +1 -1
  91. package/dist/service/lambda/serve/sim-lambda-controller.d.ts +6 -0
  92. package/dist/service/lambda/serve/sim-lambda-controller.d.ts.map +1 -1
  93. package/dist/service/lambda/serve/sim-lambda-controller.js +11 -0
  94. package/dist/service/lambda/serve/sim-lambda-controller.js.map +1 -1
  95. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts +4 -3
  96. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts.map +1 -1
  97. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js +4 -3
  98. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js.map +1 -1
  99. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts +2 -2
  100. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js +2 -2
  101. package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts +3 -0
  102. package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts.map +1 -1
  103. package/dist/service/sns/command/publish/sim-sns-publish-commands.js +4 -2
  104. package/dist/service/sns/command/publish/sim-sns-publish-commands.js.map +1 -1
  105. package/dist/service/sns/command/publish/sim-sns-publish-dispatch.d.ts +39 -0
  106. package/dist/service/sns/command/publish/sim-sns-publish-dispatch.d.ts.map +1 -0
  107. package/dist/service/sns/command/publish/sim-sns-publish-dispatch.js +42 -0
  108. package/dist/service/sns/command/publish/sim-sns-publish-dispatch.js.map +1 -0
  109. package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts +3 -3
  110. package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts.map +1 -1
  111. package/dist/service/sns/command/publish/sim-sns-publish-input.js +8 -8
  112. package/dist/service/sns/command/publish/sim-sns-publish-input.js.map +1 -1
  113. package/dist/service/sns/command/publish/sim-sns-publish-sms.d.ts +38 -0
  114. package/dist/service/sns/command/publish/sim-sns-publish-sms.d.ts.map +1 -0
  115. package/dist/service/sns/command/publish/sim-sns-publish-sms.js +53 -0
  116. package/dist/service/sns/command/publish/sim-sns-publish-sms.js.map +1 -0
  117. package/dist/service/sns/command/sim-sns-command.types.d.ts +1 -0
  118. package/dist/service/sns/command/sim-sns-command.types.d.ts.map +1 -1
  119. package/dist/service/sns/command/sim-sns-commands.d.ts +12 -4
  120. package/dist/service/sns/command/sim-sns-commands.d.ts.map +1 -1
  121. package/dist/service/sns/command/sim-sns-commands.js +39 -4
  122. package/dist/service/sns/command/sim-sns-commands.js.map +1 -1
  123. package/dist/service/sns/command/sms/sim-sns-opt-out-commands.d.ts +41 -0
  124. package/dist/service/sns/command/sms/sim-sns-opt-out-commands.d.ts.map +1 -0
  125. package/dist/service/sns/command/sms/sim-sns-opt-out-commands.js +56 -0
  126. package/dist/service/sns/command/sms/sim-sns-opt-out-commands.js.map +1 -0
  127. package/dist/service/sns/command/sms/sms.command.d.ts +50 -0
  128. package/dist/service/sns/command/sms/sms.command.d.ts.map +1 -0
  129. package/dist/service/sns/command/sms/sms.command.js +2 -0
  130. package/dist/service/sns/command/sms/sms.command.js.map +1 -0
  131. package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts +5 -6
  132. package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts.map +1 -1
  133. package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js +8 -12
  134. package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js.map +1 -1
  135. package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts +6 -13
  136. package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts.map +1 -1
  137. package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js +13 -2
  138. package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js.map +1 -1
  139. package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts +10 -1
  140. package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts.map +1 -1
  141. package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js.map +1 -1
  142. package/dist/service/sns/delivery/sms/sim-sns-delivery-sms.d.ts +34 -0
  143. package/dist/service/sns/delivery/sms/sim-sns-delivery-sms.d.ts.map +1 -0
  144. package/dist/service/sns/delivery/sms/sim-sns-delivery-sms.js +46 -0
  145. package/dist/service/sns/delivery/sms/sim-sns-delivery-sms.js.map +1 -0
  146. package/dist/service/sns/index.d.ts +5 -1
  147. package/dist/service/sns/index.d.ts.map +1 -1
  148. package/dist/service/sns/index.js +4 -1
  149. package/dist/service/sns/index.js.map +1 -1
  150. package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts.map +1 -1
  151. package/dist/service/sns/message/sim-sns-message-attribute-rules.js +9 -1
  152. package/dist/service/sns/message/sim-sns-message-attribute-rules.js.map +1 -1
  153. package/dist/service/sns/message/sim-sns-message-attributes.d.ts +8 -0
  154. package/dist/service/sns/message/sim-sns-message-attributes.d.ts.map +1 -1
  155. package/dist/service/sns/message/sim-sns-message-attributes.js +10 -0
  156. package/dist/service/sns/message/sim-sns-message-attributes.js.map +1 -1
  157. package/dist/service/sns/message/sim-sns-sms-attributes.d.ts +25 -0
  158. package/dist/service/sns/message/sim-sns-sms-attributes.d.ts.map +1 -0
  159. package/dist/service/sns/message/sim-sns-sms-attributes.js +46 -0
  160. package/dist/service/sns/message/sim-sns-sms-attributes.js.map +1 -0
  161. package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts.map +1 -1
  162. package/dist/service/sns/sdk/sim-sns-sdk-command-router.js +12 -0
  163. package/dist/service/sns/sdk/sim-sns-sdk-command-router.js.map +1 -1
  164. package/dist/service/sns/sim-sns-sms.d.ts +63 -0
  165. package/dist/service/sns/sim-sns-sms.d.ts.map +1 -0
  166. package/dist/service/sns/sim-sns-sms.js +76 -0
  167. package/dist/service/sns/sim-sns-sms.js.map +1 -0
  168. package/dist/service/sns/sim-sns.d.ts +7 -15
  169. package/dist/service/sns/sim-sns.d.ts.map +1 -1
  170. package/dist/service/sns/sim-sns.js +23 -30
  171. package/dist/service/sns/sim-sns.js.map +1 -1
  172. package/dist/service/sns/sms/sim-sns-opt-out-list.d.ts +40 -0
  173. package/dist/service/sns/sms/sim-sns-opt-out-list.d.ts.map +1 -0
  174. package/dist/service/sns/sms/sim-sns-opt-out-list.js +47 -0
  175. package/dist/service/sns/sms/sim-sns-opt-out-list.js.map +1 -0
  176. package/dist/service/sns/sms/sim-sns-phone-number.d.ts +21 -0
  177. package/dist/service/sns/sms/sim-sns-phone-number.d.ts.map +1 -0
  178. package/dist/service/sns/sms/sim-sns-phone-number.js +41 -0
  179. package/dist/service/sns/sms/sim-sns-phone-number.js.map +1 -0
  180. package/dist/service/sns/sms/sim-sns-sent-sms-message.d.ts +69 -0
  181. package/dist/service/sns/sms/sim-sns-sent-sms-message.d.ts.map +1 -0
  182. package/dist/service/sns/sms/sim-sns-sent-sms-message.js +71 -0
  183. package/dist/service/sns/sms/sim-sns-sent-sms-message.js.map +1 -0
  184. package/dist/service/sns/sms/sim-sns-sent-sms-store.d.ts +25 -0
  185. package/dist/service/sns/sms/sim-sns-sent-sms-store.d.ts.map +1 -0
  186. package/dist/service/sns/sms/sim-sns-sent-sms-store.js +28 -0
  187. package/dist/service/sns/sms/sim-sns-sent-sms-store.js.map +1 -0
  188. package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts +9 -7
  189. package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts.map +1 -1
  190. package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js +7 -2
  191. package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js.map +1 -1
  192. package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts +19 -1
  193. package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts.map +1 -1
  194. package/dist/service/sns/subscription/sim-sns-subscription-protocol.js +26 -5
  195. package/dist/service/sns/subscription/sim-sns-subscription-protocol.js.map +1 -1
  196. package/package.json +1 -1
@@ -0,0 +1,41 @@
1
+ import type { SimSnsOptOutList } from "../../sms/sim-sns-opt-out-list.js";
2
+ import type { SimSnsRequestOptions } from "../sim-sns-request-options.js";
3
+ import type { SimSnsTopicAccess } from "../topic/sim-sns-topic-access.js";
4
+ import type { SimCheckIfPhoneNumberIsOptedOutCommand, SimCheckIfPhoneNumberIsOptedOutCommandOutput, SimListPhoneNumbersOptedOutCommand, SimListPhoneNumbersOptedOutCommandOutput, SimOptInPhoneNumberCommand, SimOptInPhoneNumberCommandOutput } from "./sms.command.js";
5
+ interface SimSnsOptOutCommandsProperties {
6
+ readonly access: SimSnsTopicAccess;
7
+ readonly optOutList: SimSnsOptOutList;
8
+ }
9
+ /**
10
+ * The commands that read and unwind the phone number opt-out list.
11
+ *
12
+ * None of them names a topic, so each authorizes against `*` the way
13
+ * `ListTopics` does. A policy naming a topic ARN allows none of them, here as
14
+ * on AWS.
15
+ *
16
+ * There is no command for opting a number out. Real SNS puts a number on the
17
+ * list when the recipient replies STOP, and `SimSns.optOutPhoneNumber` stands
18
+ * in for the handset.
19
+ */
20
+ export declare class SimSnsOptOutCommands {
21
+ private readonly access;
22
+ private readonly optOutList;
23
+ constructor(properties: SimSnsOptOutCommandsProperties);
24
+ /**
25
+ * Say whether a number is opted out of receiving SMS.
26
+ */
27
+ checkIfPhoneNumberIsOptedOut(command: SimCheckIfPhoneNumberIsOptedOutCommand, options?: SimSnsRequestOptions): SimCheckIfPhoneNumberIsOptedOutCommandOutput;
28
+ /**
29
+ * List the opted-out numbers, in the order they were opted out.
30
+ */
31
+ listPhoneNumbersOptedOut(command: SimListPhoneNumbersOptedOutCommand, options?: SimSnsRequestOptions): SimListPhoneNumbersOptedOutCommandOutput;
32
+ /**
33
+ * Take a number back off the opt-out list.
34
+ *
35
+ * A number that was never on it succeeds and changes nothing, as it does on
36
+ * real SNS.
37
+ */
38
+ optInPhoneNumber(command: SimOptInPhoneNumberCommand, options?: SimSnsRequestOptions): SimOptInPhoneNumberCommandOutput;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=sim-sns-opt-out-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-opt-out-commands.d.ts","sourceRoot":"","sources":["../../../../../src/service/sns/command/sms/sim-sns-opt-out-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EACV,sCAAsC,EACtC,4CAA4C,EAC5C,kCAAkC,EAClC,wCAAwC,EACxC,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,kBAAkB,CAAC;AAE1B,UAAU,8BAA8B;IACtC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAE9C,YAAY,UAAU,EAAE,8BAA8B,EAGrD;IAED;;OAEG;IACH,4BAA4B,CAC1B,OAAO,EAAE,sCAAsC,EAC/C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,4CAA4C,CAS9C;IAED;;OAEG;IACH,wBAAwB,CACtB,OAAO,EAAE,kCAAkC,EAC3C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,wCAAwC,CAU1C;IAED;;;;;OAKG;IACH,gBAAgB,CACd,OAAO,EAAE,0BAA0B,EACnC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,gCAAgC,CAMlC;CACF"}
@@ -0,0 +1,56 @@
1
+ import { SimSnsPhoneNumber } from "../../sms/sim-sns-phone-number.js";
2
+ import { SimSnsPage } from "../sim-sns-page.js";
3
+ /**
4
+ * The commands that read and unwind the phone number opt-out list.
5
+ *
6
+ * None of them names a topic, so each authorizes against `*` the way
7
+ * `ListTopics` does. A policy naming a topic ARN allows none of them, here as
8
+ * on AWS.
9
+ *
10
+ * There is no command for opting a number out. Real SNS puts a number on the
11
+ * list when the recipient replies STOP, and `SimSns.optOutPhoneNumber` stands
12
+ * in for the handset.
13
+ */
14
+ export class SimSnsOptOutCommands {
15
+ access;
16
+ optOutList;
17
+ constructor(properties) {
18
+ this.access = properties.access;
19
+ this.optOutList = properties.optOutList;
20
+ }
21
+ /**
22
+ * Say whether a number is opted out of receiving SMS.
23
+ */
24
+ checkIfPhoneNumberIsOptedOut(command, options) {
25
+ this.access.authorizeAnyTopic("sns:CheckIfPhoneNumberIsOptedOut", options);
26
+ const phoneNumber = SimSnsPhoneNumber.of(command.input.phoneNumber);
27
+ return {
28
+ $metadata: {},
29
+ isOptedOut: this.optOutList.isOptedOut(phoneNumber),
30
+ };
31
+ }
32
+ /**
33
+ * List the opted-out numbers, in the order they were opted out.
34
+ */
35
+ listPhoneNumbersOptedOut(command, options) {
36
+ this.access.authorizeAnyTopic("sns:ListPhoneNumbersOptedOut", options);
37
+ const page = new SimSnsPage(this.optOutList.all, command.input.nextToken);
38
+ return {
39
+ $metadata: {},
40
+ phoneNumbers: page.items,
41
+ ...(page.nextToken !== undefined && { nextToken: page.nextToken }),
42
+ };
43
+ }
44
+ /**
45
+ * Take a number back off the opt-out list.
46
+ *
47
+ * A number that was never on it succeeds and changes nothing, as it does on
48
+ * real SNS.
49
+ */
50
+ optInPhoneNumber(command, options) {
51
+ this.access.authorizeAnyTopic("sns:OptInPhoneNumber", options);
52
+ this.optOutList.optIn(SimSnsPhoneNumber.of(command.input.phoneNumber));
53
+ return { $metadata: {} };
54
+ }
55
+ }
56
+ //# sourceMappingURL=sim-sns-opt-out-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-opt-out-commands.js","sourceRoot":"","sources":["../../../../../src/service/sns/command/sms/sim-sns-opt-out-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAiBhD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAoB;IACd,MAAM,CAAoB;IAC1B,UAAU,CAAmB;IAE9C,YAAY,UAA0C;QACpD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,4BAA4B,CAC1B,OAA+C,EAC/C,OAA8B;QAE9B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;QAE3E,MAAM,WAAW,GAAG,iBAAiB,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEpE,OAAO;YACL,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;SACpD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,wBAAwB,CACtB,OAA2C,EAC3C,OAA8B;QAE9B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;QAEvE,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE1E,OAAO;YACL,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,IAAI,CAAC,KAAK;YACxB,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CACd,OAAmC,EACnC,OAA8B;QAE9B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAE/D,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QAEvE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,50 @@
1
+ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
2
+ /**
3
+ * Minimal structural sim SNS CheckIfPhoneNumberIsOptedOut command.
4
+ *
5
+ * The SMS operations name their fields in camel case, unlike every other SNS
6
+ * operation. That is how the SNS API has them, and the SDK carries it through.
7
+ *
8
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/sns/command/CheckIfPhoneNumberIsOptedOutCommand/
9
+ */
10
+ export interface SimCheckIfPhoneNumberIsOptedOutCommand {
11
+ readonly input: SimCheckIfPhoneNumberIsOptedOutCommandInput;
12
+ }
13
+ export interface SimCheckIfPhoneNumberIsOptedOutCommandInput {
14
+ readonly phoneNumber?: string | undefined;
15
+ }
16
+ export interface SimCheckIfPhoneNumberIsOptedOutCommandOutput {
17
+ readonly isOptedOut?: boolean | undefined;
18
+ readonly $metadata: SimResponseMetadata;
19
+ }
20
+ /**
21
+ * Minimal structural sim SNS ListPhoneNumbersOptedOut command.
22
+ *
23
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/sns/command/ListPhoneNumbersOptedOutCommand/
24
+ */
25
+ export interface SimListPhoneNumbersOptedOutCommand {
26
+ readonly input: SimListPhoneNumbersOptedOutCommandInput;
27
+ }
28
+ export interface SimListPhoneNumbersOptedOutCommandInput {
29
+ readonly nextToken?: string | undefined;
30
+ }
31
+ export interface SimListPhoneNumbersOptedOutCommandOutput {
32
+ readonly phoneNumbers?: readonly string[] | undefined;
33
+ readonly nextToken?: string | undefined;
34
+ readonly $metadata: SimResponseMetadata;
35
+ }
36
+ /**
37
+ * Minimal structural sim SNS OptInPhoneNumber command.
38
+ *
39
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/sns/command/OptInPhoneNumberCommand/
40
+ */
41
+ export interface SimOptInPhoneNumberCommand {
42
+ readonly input: SimOptInPhoneNumberCommandInput;
43
+ }
44
+ export interface SimOptInPhoneNumberCommandInput {
45
+ readonly phoneNumber?: string | undefined;
46
+ }
47
+ export interface SimOptInPhoneNumberCommandOutput {
48
+ readonly $metadata: SimResponseMetadata;
49
+ }
50
+ //# sourceMappingURL=sms.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sms.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/sns/command/sms/sms.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F;;;;;;;GAOG;AACH,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,KAAK,EAAE,2CAA2C,CAAC;CAC7D;AAED,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,4CAA4C;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,KAAK,EAAE,uCAAuC,CAAC;CACzD;AAED,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,+BAA+B,CAAC;CACjD;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sms.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sms.command.js","sourceRoot":"","sources":["../../../../../src/service/sns/command/sms/sms.command.ts"],"names":[],"mappings":""}
@@ -1,17 +1,16 @@
1
1
  import type { SimAws } from "../../aws/sim-aws.js";
2
- import { SimSnsProtocolDeliveryEndpoints } from "./sim-sns-protocol-delivery-endpoints.js";
2
+ import type { SimSnsOutwardDeliveryEndpoints } from "./sim-sns-protocol-delivery-endpoints.js";
3
3
  interface SimAwsSnsDeliveryEndpointsProperties {
4
4
  readonly simAws: SimAws;
5
5
  }
6
6
  /**
7
- * Everywhere the topics of one simulated AWS instance can deliver.
7
+ * Everywhere outside itself the topics of one simulated AWS instance deliver.
8
8
  *
9
9
  * Which protocols are simulated is a fact about simulated SNS rather than about
10
10
  * the service builder that hands it its endpoints, so the set is assembled
11
- * here.
11
+ * here. The `sms` protocol is not one of them: an SMS never leaves simulated
12
+ * SNS, which fills that one in itself.
12
13
  */
13
- export declare class SimAwsSnsDeliveryEndpoints extends SimSnsProtocolDeliveryEndpoints {
14
- constructor(properties: SimAwsSnsDeliveryEndpointsProperties);
15
- }
14
+ export declare function simAwsSnsDeliveryEndpoints(properties: SimAwsSnsDeliveryEndpointsProperties): SimSnsOutwardDeliveryEndpoints;
16
15
  export {};
17
16
  //# sourceMappingURL=sim-aws-sns-delivery-endpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-sns-delivery-endpoints.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-aws-sns-delivery-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAG3F,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,qBAAa,0BAA2B,SAAQ,+BAA+B;IAC7E,YAAY,UAAU,EAAE,oCAAoC,EAO3D;CACF"}
1
+ {"version":3,"file":"sim-aws-sns-delivery-endpoints.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-aws-sns-delivery-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAG/F,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,oCAAoC,GAC/C,8BAA8B,CAKhC"}
@@ -1,21 +1,17 @@
1
1
  import { SimAwsSnsDeliveryFunctions } from "./lambda/sim-aws-sns-delivery-functions.js";
2
- import { SimSnsProtocolDeliveryEndpoints } from "./sim-sns-protocol-delivery-endpoints.js";
3
2
  import { SimAwsSnsDeliveryQueues } from "./sqs/sim-aws-sns-delivery-queues.js";
4
3
  /**
5
- * Everywhere the topics of one simulated AWS instance can deliver.
4
+ * Everywhere outside itself the topics of one simulated AWS instance deliver.
6
5
  *
7
6
  * Which protocols are simulated is a fact about simulated SNS rather than about
8
7
  * the service builder that hands it its endpoints, so the set is assembled
9
- * here.
8
+ * here. The `sms` protocol is not one of them: an SMS never leaves simulated
9
+ * SNS, which fills that one in itself.
10
10
  */
11
- export class SimAwsSnsDeliveryEndpoints extends SimSnsProtocolDeliveryEndpoints {
12
- constructor(properties) {
13
- super({
14
- byProtocol: {
15
- sqs: new SimAwsSnsDeliveryQueues(properties),
16
- lambda: new SimAwsSnsDeliveryFunctions(properties),
17
- },
18
- });
19
- }
11
+ export function simAwsSnsDeliveryEndpoints(properties) {
12
+ return {
13
+ sqs: new SimAwsSnsDeliveryQueues(properties),
14
+ lambda: new SimAwsSnsDeliveryFunctions(properties),
15
+ };
20
16
  }
21
17
  //# sourceMappingURL=sim-aws-sns-delivery-endpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-sns-delivery-endpoints.js","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-aws-sns-delivery-endpoints.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAM/E;;;;;;GAMG;AACH,MAAM,OAAO,0BAA2B,SAAQ,+BAA+B;IAC7E,YAAY,UAAgD;QAC1D,KAAK,CAAC;YACJ,UAAU,EAAE;gBACV,GAAG,EAAE,IAAI,uBAAuB,CAAC,UAAU,CAAC;gBAC5C,MAAM,EAAE,IAAI,0BAA0B,CAAC,UAAU,CAAC;aACnD;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"sim-aws-sns-delivery-endpoints.js","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-aws-sns-delivery-endpoints.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAExF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAM/E;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAgD;IAEhD,OAAO;QACL,GAAG,EAAE,IAAI,uBAAuB,CAAC,UAAU,CAAC;QAC5C,MAAM,EAAE,IAAI,0BAA0B,CAAC,UAAU,CAAC;KACnD,CAAC;AACJ,CAAC"}
@@ -1,17 +1,10 @@
1
- import type { SimSnsDeliveryEndpoints, SimSnsDeliveryRequest } from "./sim-sns-delivery.js";
1
+ import type { SimSnsOutwardDeliveryEndpoints } from "./sim-sns-protocol-delivery-endpoints.js";
2
2
  /**
3
- * The endpoints a simulated SNS built on its own can reach, which is none.
3
+ * The endpoints outside itself a simulated SNS built on its own can reach,
4
+ * which is none.
4
5
  *
5
- * A standalone SimSns has no other simulated services to reach, and owns its
6
- * own background scheduler, so nothing could wait for a delivery it made even
7
- * if it could make one. Subscriptions still work, since holding them takes
8
- * nothing but SNS: it is delivery that is refused, and the refusal is recorded
9
- * as a delivery failure like any other.
6
+ * An `sms` subscription is unaffected, since simulated SNS records those itself
7
+ * rather than reaching anything.
10
8
  */
11
- export declare class SimSnsNoDeliveryEndpoints implements SimSnsDeliveryEndpoints {
12
- /**
13
- * Refuse every delivery, explaining how to get one.
14
- */
15
- deliver(request: SimSnsDeliveryRequest): never;
16
- }
9
+ export declare function simSnsNoDeliveryEndpoints(): SimSnsOutwardDeliveryEndpoints;
17
10
  //# sourceMappingURL=sim-sns-no-delivery-endpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-sns-no-delivery-endpoints.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-no-delivery-endpoints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;GAQG;AACH,qBAAa,yBAA0B,YAAW,uBAAuB;IACvE;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,KAAK,CAQ7C;CACF"}
1
+ {"version":3,"file":"sim-sns-no-delivery-endpoints.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-no-delivery-endpoints.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AA0B/F;;;;;;GAMG;AACH,wBAAgB,yBAAyB,IAAI,8BAA8B,CAI1E"}
@@ -1,6 +1,6 @@
1
1
  import { SimSnsUnsimulatedInputException } from "../error/sim-sns.error.js";
2
2
  /**
3
- * The endpoints a simulated SNS built on its own can reach, which is none.
3
+ * A protocol whose destination a simulated SNS built on its own cannot reach.
4
4
  *
5
5
  * A standalone SimSns has no other simulated services to reach, and owns its
6
6
  * own background scheduler, so nothing could wait for a delivery it made even
@@ -8,7 +8,7 @@ import { SimSnsUnsimulatedInputException } from "../error/sim-sns.error.js";
8
8
  * nothing but SNS: it is delivery that is refused, and the refusal is recorded
9
9
  * as a delivery failure like any other.
10
10
  */
11
- export class SimSnsNoDeliveryEndpoints {
11
+ class SimSnsUnreachableEndpoint {
12
12
  /**
13
13
  * Refuse every delivery, explaining how to get one.
14
14
  */
@@ -20,4 +20,15 @@ export class SimSnsNoDeliveryEndpoints {
20
20
  "queue or a function.");
21
21
  }
22
22
  }
23
+ /**
24
+ * The endpoints outside itself a simulated SNS built on its own can reach,
25
+ * which is none.
26
+ *
27
+ * An `sms` subscription is unaffected, since simulated SNS records those itself
28
+ * rather than reaching anything.
29
+ */
30
+ export function simSnsNoDeliveryEndpoints() {
31
+ const unreachable = new SimSnsUnreachableEndpoint();
32
+ return { sqs: unreachable, lambda: unreachable };
33
+ }
23
34
  //# sourceMappingURL=sim-sns-no-delivery-endpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-sns-no-delivery-endpoints.js","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-no-delivery-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAM5E;;;;;;;;GAQG;AACH,MAAM,OAAO,yBAAyB;IACpC;;OAEG;IACH,OAAO,CAAC,OAA8B;QACpC,MAAM,IAAI,+BAA+B,CACvC,qBAAqB,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,gBAAgB;YACtE,uEAAuE;YACvE,qEAAqE;YACrE,mEAAmE;YACnE,sBAAsB,CACzB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"sim-sns-no-delivery-endpoints.js","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-no-delivery-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAO5E;;;;;;;;GAQG;AACH,MAAM,yBAAyB;IAC7B;;OAEG;IACH,OAAO,CAAC,OAA8B;QACpC,MAAM,IAAI,+BAA+B,CACvC,qBAAqB,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,gBAAgB;YACtE,uEAAuE;YACvE,qEAAqE;YACrE,mEAAmE;YACnE,sBAAsB,CACzB,CAAC;IACJ,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,WAAW,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAEpD,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACnD,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { SimSnsSubscriptionProtocol } from "../subscription/sim-sns-subscription-protocol.js";
1
+ import type { SimSnsOutwardProtocol, SimSnsSubscriptionProtocol } from "../subscription/sim-sns-subscription-protocol.js";
2
2
  import type { SimSnsDeliveryEndpoints, SimSnsDeliveryRequest } from "./sim-sns-delivery.js";
3
3
  /**
4
4
  * One endpoints implementation per protocol.
@@ -8,6 +8,15 @@ import type { SimSnsDeliveryEndpoints, SimSnsDeliveryRequest } from "./sim-sns-d
8
8
  * compile.
9
9
  */
10
10
  type SimSnsEndpointsByProtocol = Readonly<Record<SimSnsSubscriptionProtocol, SimSnsDeliveryEndpoints>>;
11
+ /**
12
+ * The endpoints a simulated SNS is handed from outside.
13
+ *
14
+ * These are the protocols delivering to another simulated service, which is
15
+ * only reachable through `SimAws`. Simulated SNS fills in the rest itself: an
16
+ * SMS is recorded here rather than delivered anywhere, so nothing outside has
17
+ * anything to supply for it.
18
+ */
19
+ export type SimSnsOutwardDeliveryEndpoints = Readonly<Record<SimSnsOutwardProtocol, SimSnsDeliveryEndpoints>>;
11
20
  interface SimSnsProtocolDeliveryEndpointsProperties {
12
21
  readonly byProtocol: SimSnsEndpointsByProtocol;
13
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-sns-protocol-delivery-endpoints.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-protocol-delivery-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;GAMG;AACH,KAAK,yBAAyB,GAAG,QAAQ,CACvC,MAAM,CAAC,0BAA0B,EAAE,uBAAuB,CAAC,CAC5D,CAAC;AAEF,UAAU,yCAAyC;IACjD,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;;GAQG;AACH,qBAAa,+BAAgC,YAAW,uBAAuB;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IAEvD,YAAY,UAAU,EAAE,yCAAyC,EAEhE;IAED;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;CACF"}
1
+ {"version":3,"file":"sim-sns-protocol-delivery-endpoints.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-protocol-delivery-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;GAMG;AACH,KAAK,yBAAyB,GAAG,QAAQ,CACvC,MAAM,CAAC,0BAA0B,EAAE,uBAAuB,CAAC,CAC5D,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CACnD,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CACvD,CAAC;AAEF,UAAU,yCAAyC;IACjD,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;;GAQG;AACH,qBAAa,+BAAgC,YAAW,uBAAuB;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IAEvD,YAAY,UAAU,EAAE,yCAAyC,EAEhE;IAED;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"sim-sns-protocol-delivery-endpoints.js","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-protocol-delivery-endpoints.ts"],"names":[],"mappings":"AAqBA;;;;;;;;GAQG;AACH,MAAM,OAAO,+BAA+B;IACzB,UAAU,CAA4B;IAEvD,YAAY,UAAqD;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAA8B;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;CACF"}
1
+ {"version":3,"file":"sim-sns-protocol-delivery-endpoints.js","sourceRoot":"","sources":["../../../../src/service/sns/delivery/sim-sns-protocol-delivery-endpoints.ts"],"names":[],"mappings":"AAoCA;;;;;;;;GAQG;AACH,MAAM,OAAO,+BAA+B;IACzB,UAAU,CAA4B;IAEvD,YAAY,UAAqD;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAA8B;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;CACF"}
@@ -0,0 +1,34 @@
1
+ import type { SimSnsOptOutList } from "../../sms/sim-sns-opt-out-list.js";
2
+ import type { SimSnsSentSmsStore } from "../../sms/sim-sns-sent-sms-store.js";
3
+ import type { SimSnsDeliveryEndpoints, SimSnsDeliveryRequest } from "../sim-sns-delivery.js";
4
+ interface SimSnsDeliverySmsProperties {
5
+ readonly optOutList: SimSnsOptOutList;
6
+ readonly sent: SimSnsSentSmsStore;
7
+ }
8
+ /**
9
+ * The phone numbers a topic delivers to, which are simulated SNS's own.
10
+ *
11
+ * A queue or a function is another simulated service, so where those deliver is
12
+ * handed to simulated SNS from outside. An SMS reaches no service at all: it is
13
+ * recorded on the same store a publish straight to a phone number records on,
14
+ * so a test reads both through `sentSmsMessages()`.
15
+ */
16
+ export declare class SimSnsDeliverySms implements SimSnsDeliveryEndpoints {
17
+ private readonly optOutList;
18
+ private readonly sent;
19
+ constructor(properties: SimSnsDeliverySmsProperties);
20
+ /**
21
+ * Record one message as an SMS to the number its subscription names.
22
+ *
23
+ * The body is the message as it was published. The envelope and the subject
24
+ * are left off, because a handset receives the text and nothing else: real
25
+ * SNS sends the envelope to a queue and puts a subject on an email.
26
+ *
27
+ * A subscriber on the opt-out list is recorded as suppressed rather than
28
+ * refused, which is what a publish straight to an opted-out number does. The
29
+ * publish succeeds and the topic's other subscriptions receive theirs.
30
+ */
31
+ deliver(request: SimSnsDeliveryRequest): Promise<void>;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=sim-sns-delivery-sms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-delivery-sms.d.ts","sourceRoot":"","sources":["../../../../../src/service/sns/delivery/sms/sim-sns-delivery-sms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,UAAU,2BAA2B;IACnC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,qBAAa,iBAAkB,YAAW,uBAAuB;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAE1C,YAAY,UAAU,EAAE,2BAA2B,EAGlD;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBrD;CACF"}
@@ -0,0 +1,46 @@
1
+ import { SimSnsPhoneNumber } from "../../sms/sim-sns-phone-number.js";
2
+ import { SimSnsSentSmsMessage } from "../../sms/sim-sns-sent-sms-message.js";
3
+ /**
4
+ * The phone numbers a topic delivers to, which are simulated SNS's own.
5
+ *
6
+ * A queue or a function is another simulated service, so where those deliver is
7
+ * handed to simulated SNS from outside. An SMS reaches no service at all: it is
8
+ * recorded on the same store a publish straight to a phone number records on,
9
+ * so a test reads both through `sentSmsMessages()`.
10
+ */
11
+ export class SimSnsDeliverySms {
12
+ optOutList;
13
+ sent;
14
+ constructor(properties) {
15
+ this.optOutList = properties.optOutList;
16
+ this.sent = properties.sent;
17
+ }
18
+ /**
19
+ * Record one message as an SMS to the number its subscription names.
20
+ *
21
+ * The body is the message as it was published. The envelope and the subject
22
+ * are left off, because a handset receives the text and nothing else: real
23
+ * SNS sends the envelope to a queue and puts a subject on an email.
24
+ *
25
+ * A subscriber on the opt-out list is recorded as suppressed rather than
26
+ * refused, which is what a publish straight to an opted-out number does. The
27
+ * publish succeeds and the topic's other subscriptions receive theirs.
28
+ */
29
+ deliver(request) {
30
+ const phoneNumber = SimSnsPhoneNumber.of(request.subscription.endpoint.value);
31
+ this.sent.add(new SimSnsSentSmsMessage({
32
+ // The published message's id, so every SMS one publish fanned out is
33
+ // recorded under the id the publisher was answered with.
34
+ messageId: request.message.messageId,
35
+ phoneNumber: phoneNumber.value,
36
+ message: request.message.body.value,
37
+ attributes: request.message.attributes,
38
+ suppressed: this.optOutList.isOptedOut(phoneNumber),
39
+ sentDate: request.message.publishedAt,
40
+ topicArn: request.subscription.topicArn,
41
+ subscriptionArn: request.subscription.arn.value,
42
+ }));
43
+ return Promise.resolve();
44
+ }
45
+ }
46
+ //# sourceMappingURL=sim-sns-delivery-sms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-delivery-sms.js","sourceRoot":"","sources":["../../../../../src/service/sns/delivery/sms/sim-sns-delivery-sms.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAY7E;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAiB;IACX,UAAU,CAAmB;IAC7B,IAAI,CAAqB;IAE1C,YAAY,UAAuC;QACjD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAA8B;QACpC,MAAM,WAAW,GAAG,iBAAiB,CAAC,EAAE,CACtC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CACpC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,IAAI,oBAAoB,CAAC;YACvB,qEAAqE;YACrE,yDAAyD;YACzD,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;YACpC,WAAW,EAAE,WAAW,CAAC,KAAK;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK;YACnC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;YACtC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;YACnD,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;YACrC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ;YACvC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK;SAChD,CAAC,CACH,CAAC;QAEF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
@@ -8,7 +8,7 @@ export { SimSnsTopicPolicy } from "./topic/sim-sns-topic-policy.js";
8
8
  export { SimSnsSubscription } from "./subscription/sim-sns-subscription.js";
9
9
  export { parseSnsSubscriptionArn, SimSnsSubscriptionArn, type SimSnsSubscriptionLocation, } from "./subscription/sim-sns-subscription-arn.js";
10
10
  export { type SimSnsSubscriptionAttributeInput, SimSnsSubscriptionAttributes, } from "./subscription/sim-sns-subscription-attributes.js";
11
- export { simSnsLambdaProtocol, simSnsSqsProtocol, type SimSnsSubscriptionProtocol, } from "./subscription/sim-sns-subscription-protocol.js";
11
+ export { simSnsLambdaProtocol, type SimSnsOutwardProtocol, simSnsSmsProtocol, simSnsSqsProtocol, type SimSnsSubscriptionProtocol, } from "./subscription/sim-sns-subscription-protocol.js";
12
12
  export { SimSnsFunctionEndpointArn } from "./subscription/sim-sns-function-endpoint-arn.js";
13
13
  export { SimSnsQueueEndpointArn } from "./subscription/sim-sns-queue-endpoint-arn.js";
14
14
  export type { SimSnsSubscriptionEndpoint } from "./subscription/sim-sns-subscription-endpoint.js";
@@ -17,12 +17,16 @@ export { SimSnsFilterPolicy } from "./filter/sim-sns-filter-policy.js";
17
17
  export { simSnsDefaultFilterPolicyScope, SimSnsFilterPolicyScope, simSnsFilterPolicyScopeOf, } from "./filter/sim-sns-filter-policy-scope.js";
18
18
  export type { SimSnsFilterSubject } from "./filter/sim-sns-filter-subject.js";
19
19
  export { SimSnsFilterValue } from "./filter/sim-sns-filter-value.js";
20
+ export { SimSnsPhoneNumber } from "./sms/sim-sns-phone-number.js";
21
+ export { SimSnsSentSmsMessage } from "./sms/sim-sns-sent-sms-message.js";
22
+ export { simSnsSenderIdAttribute, simSnsSmsTypeAttribute, } from "./message/sim-sns-sms-attributes.js";
20
23
  export { SimSnsMessageAttributes } from "./message/sim-sns-message-attributes.js";
21
24
  export type { SimSnsMessageAttributeInput, SimSnsMessageAttributeValue, } from "./message/sim-sns-message-attribute-value.js";
22
25
  export { SimSnsMessageBody } from "./message/sim-sns-message-body.js";
23
26
  export { SimSnsMessageSubject } from "./message/sim-sns-message-subject.js";
24
27
  export { simSnsMaximumPublishBytes, SimSnsPublishedMessage, } from "./message/sim-sns-published-message.js";
25
28
  export { type SimSnsDeliveryEndpoints, type SimSnsDeliveryRequest, simSnsServicePrincipal, } from "./delivery/sim-sns-delivery.js";
29
+ export type { SimSnsOutwardDeliveryEndpoints } from "./delivery/sim-sns-protocol-delivery-endpoints.js";
26
30
  export { SimSnsEnvelope } from "./delivery/sim-sns-envelope.js";
27
31
  export { SimSnsNotification, type SimSnsNotificationFields, } from "./delivery/sim-sns-notification.js";
28
32
  export { SimSnsDeliveryFailure, SimSnsDeliveryFailures, } from "./delivery/sim-sns-delivery-failures.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/sns/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,KAAK,oBAAoB,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,mBAAmB,EACxB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,yBAAyB,EAC9B,qBAAqB,GACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,0BAA0B,GAChC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,KAAK,gCAAgC,EACrC,4BAA4B,GAC7B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,0BAA0B,GAChC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,YAAY,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,YAAY,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,yCAAyC,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,YAAY,EACV,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EACL,KAAK,qBAAqB,EAC1B,sBAAsB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EACL,iCAAiC,EACjC,uCAAuC,EACvC,kCAAkC,EAClC,gCAAgC,EAChC,WAAW,EACX,kCAAkC,EAClC,+BAA+B,EAC/B,oCAAoC,EACpC,uBAAuB,EACvB,2CAA2C,EAC3C,+BAA+B,GAChC,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/sns/index.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,15 @@ export { SimSnsTopicPolicy } from "./topic/sim-sns-topic-policy.js";
8
8
  export { SimSnsSubscription } from "./subscription/sim-sns-subscription.js";
9
9
  export { parseSnsSubscriptionArn, SimSnsSubscriptionArn, } from "./subscription/sim-sns-subscription-arn.js";
10
10
  export { SimSnsSubscriptionAttributes, } from "./subscription/sim-sns-subscription-attributes.js";
11
- export { simSnsLambdaProtocol, simSnsSqsProtocol, } from "./subscription/sim-sns-subscription-protocol.js";
11
+ export { simSnsLambdaProtocol, simSnsSmsProtocol, simSnsSqsProtocol, } from "./subscription/sim-sns-subscription-protocol.js";
12
12
  export { SimSnsFunctionEndpointArn } from "./subscription/sim-sns-function-endpoint-arn.js";
13
13
  export { SimSnsQueueEndpointArn } from "./subscription/sim-sns-queue-endpoint-arn.js";
14
14
  export { SimSnsFilterPolicy } from "./filter/sim-sns-filter-policy.js";
15
15
  export { simSnsDefaultFilterPolicyScope, SimSnsFilterPolicyScope, simSnsFilterPolicyScopeOf, } from "./filter/sim-sns-filter-policy-scope.js";
16
16
  export { SimSnsFilterValue } from "./filter/sim-sns-filter-value.js";
17
+ export { SimSnsPhoneNumber } from "./sms/sim-sns-phone-number.js";
18
+ export { SimSnsSentSmsMessage } from "./sms/sim-sns-sent-sms-message.js";
19
+ export { simSnsSenderIdAttribute, simSnsSmsTypeAttribute, } from "./message/sim-sns-sms-attributes.js";
17
20
  export { SimSnsMessageAttributes } from "./message/sim-sns-message-attributes.js";
18
21
  export { SimSnsMessageBody } from "./message/sim-sns-message-body.js";
19
22
  export { SimSnsMessageSubject } from "./message/sim-sns-message-subject.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/sns/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,GAE5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,cAAc,EAEd,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,qBAAqB,GACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAEtB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAEL,4BAA4B,GAC7B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAElB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAGtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAKlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAGL,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EACL,kBAAkB,GAEnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAEL,sBAAsB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EACL,iCAAiC,EACjC,uCAAuC,EACvC,kCAAkC,EAClC,gCAAgC,EAChC,WAAW,EACX,kCAAkC,EAClC,+BAA+B,EAC/B,oCAAoC,EACpC,uBAAuB,EACvB,2CAA2C,EAC3C,+BAA+B,GAChC,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/sns/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,GAE5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,cAAc,EAEd,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,qBAAqB,GACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAEtB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAEL,4BAA4B,GAC7B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EACL,oBAAoB,EAEpB,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAGtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAKlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAGL,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EACL,kBAAkB,GAEnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAEL,sBAAsB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EACL,iCAAiC,EACjC,uCAAuC,EACvC,kCAAkC,EAClC,gCAAgC,EAChC,WAAW,EACX,kCAAkC,EAClC,+BAA+B,EAC/B,oCAAoC,EACpC,uBAAuB,EACvB,2CAA2C,EAC3C,+BAA+B,GAChC,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sim-sns-message-attribute-rules.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/message/sim-sns-message-attribute-rules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAoBxF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAqB/D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAY5E;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,2BAA2B,GACjC,MAAM,CAcR"}
1
+ {"version":3,"file":"sim-sns-message-attribute-rules.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/message/sim-sns-message-attribute-rules.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAwBxF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAiC/D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAY5E;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,2BAA2B,GACjC,MAAM,CAcR"}
@@ -1,4 +1,5 @@
1
- import { SimSnsInvalidParameterValueException } from "../error/sim-sns.error.js";
1
+ import { SimSnsInvalidParameterValueException, SimSnsUnsimulatedInputException, } from "../error/sim-sns.error.js";
2
+ import { simSnsSmsAttributeNames, simSnsUnsimulatedSmsAttributes, } from "./sim-sns-sms-attributes.js";
2
3
  const attributeNamePattern = /^[\w\-.]{1,256}$/;
3
4
  const reservedNamePrefixes = ["aws.", "amazon."];
4
5
  /**
@@ -30,6 +31,13 @@ export function assertUsableSnsAttributeName(name) {
30
31
  if (name.startsWith(".") || name.endsWith(".") || name.includes("..")) {
31
32
  throw invalid;
32
33
  }
34
+ if (simSnsSmsAttributeNames.has(name)) {
35
+ return;
36
+ }
37
+ const unsimulated = simSnsUnsimulatedSmsAttributes.get(name);
38
+ if (unsimulated !== undefined) {
39
+ throw new SimSnsUnsimulatedInputException(`The ${name} message attribute is not simulated. ${unsimulated}`);
40
+ }
33
41
  const lowerCased = name.toLowerCase();
34
42
  if (reservedNamePrefixes.some((prefix) => lowerCased.startsWith(prefix))) {
35
43
  throw invalid;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-sns-message-attribute-rules.js","sourceRoot":"","sources":["../../../../src/service/sns/message/sim-sns-message-attribute-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,2BAA2B,CAAC;AAGjF,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEhD,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAAY;IACvD,MAAM,OAAO,GAAG,IAAI,oCAAoC,CACtD,+BAA+B,IAAI,oCAAoC;QACrE,yEAAyE;QACzE,iEAAiE;QACjE,2DAA2D,CAC9D,CAAC;IAEF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,OAAO,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAEtC,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,OAAO,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,QAAgB;IACpE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAChC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAC3E,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,oCAAoC,CAC5C,0BAA0B,IAAI,2CAA2C;YACvE,sEAAsE;YACtE,4BAA4B,CAC/B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,QAAgB,EAChB,KAAkC;IAElC,IAAI,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACvE,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACvE,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,QAAgB,EAChB,QAAgB;IAEhB,OAAO,IAAI,oCAAoC,CAC7C,0BAA0B,IAAI,4BAA4B,QAAQ,OAAO;QACvE,OAAO,QAAQ,YAAY,CAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sim-sns-message-attribute-rules.js","sourceRoot":"","sources":["../../../../src/service/sns/message/sim-sns-message-attribute-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EACpC,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AAErC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEhD,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAAY;IACvD,MAAM,OAAO,GAAG,IAAI,oCAAoC,CACtD,+BAA+B,IAAI,oCAAoC;QACrE,yEAAyE;QACzE,iEAAiE;QACjE,2DAA2D,CAC9D,CAAC;IAEF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE7D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,+BAA+B,CACvC,OAAO,IAAI,wCAAwC,WAAW,EAAE,CACjE,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAEtC,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,OAAO,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,QAAgB;IACpE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAChC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAC3E,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,oCAAoC,CAC5C,0BAA0B,IAAI,2CAA2C;YACvE,sEAAsE;YACtE,4BAA4B,CAC/B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,QAAgB,EAChB,KAAkC;IAElC,IAAI,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACvE,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACvE,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,QAAgB,EAChB,QAAgB;IAEhB,OAAO,IAAI,oCAAoC,CAC7C,0BAA0B,IAAI,4BAA4B,QAAQ,OAAO;QACvE,OAAO,QAAQ,YAAY,CAC9B,CAAC;AACJ,CAAC"}
@@ -22,6 +22,14 @@ export declare class SimSnsMessageAttributes {
22
22
  * policy can match depends on the data type each one declares.
23
23
  */
24
24
  get all(): readonly SimSnsMessageAttribute[];
25
+ /**
26
+ * One attribute by name, where the message carries it.
27
+ *
28
+ * SMS is what needs this. Real SNS reads `AWS.SNS.SMS.SenderID` and
29
+ * `AWS.SNS.SMS.SMSType` out of the attributes of a publish to a phone
30
+ * number, so a recorded SMS reads them back the same way.
31
+ */
32
+ find(name: string): SimSnsMessageAttribute | undefined;
25
33
  /**
26
34
  * What these attributes contribute to the size of a publish.
27
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-sns-message-attributes.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/message/sim-sns-message-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EACV,2BAA2B,EAE5B,MAAM,sCAAsC,CAAC;AAE9C;;;;;;GAMG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAE/D,OAAO,eAEN;IAED;;;OAGG;IACH,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,2BAA2B,GAAG,SAAS,GAC7C,uBAAuB,CASzB;IAED;;;;;OAKG;IACH,IAAI,GAAG,IAAI,SAAS,sBAAsB,EAAE,CAE3C;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAKrB;IAED;;;;;OAKG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;OAMG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAO3D;IAED;;;;;;OAMG;IACH,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAY3D;CACF;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC/C"}
1
+ {"version":3,"file":"sim-sns-message-attributes.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/message/sim-sns-message-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EACV,2BAA2B,EAE5B,MAAM,sCAAsC,CAAC;AAE9C;;;;;;GAMG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAE/D,OAAO,eAEN;IAED;;;OAGG;IACH,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,2BAA2B,GAAG,SAAS,GAC7C,uBAAuB,CASzB;IAED;;;;;OAKG;IACH,IAAI,GAAG,IAAI,SAAS,sBAAsB,EAAE,CAE3C;IAED;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAErD;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAKrB;IAED;;;;;OAKG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;OAMG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAO3D;IAED;;;;;;OAMG;IACH,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAY3D;CACF;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC/C"}
@@ -30,6 +30,16 @@ export class SimSnsMessageAttributes {
30
30
  get all() {
31
31
  return this.attributes;
32
32
  }
33
+ /**
34
+ * One attribute by name, where the message carries it.
35
+ *
36
+ * SMS is what needs this. Real SNS reads `AWS.SNS.SMS.SenderID` and
37
+ * `AWS.SNS.SMS.SMSType` out of the attributes of a publish to a phone
38
+ * number, so a recorded SMS reads them back the same way.
39
+ */
40
+ find(name) {
41
+ return this.attributes.find((attribute) => attribute.name === name);
42
+ }
33
43
  /**
34
44
  * What these attributes contribute to the size of a publish.
35
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-sns-message-attributes.js","sourceRoot":"","sources":["../../../../src/service/sns/message/sim-sns-message-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAMxE;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IACjB,UAAU,CAAoC;IAE/D,YAAoB,UAA6C;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,EAAE,CACP,KAA8C;QAE9C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;aAC3C,MAAM,CACL,CAAC,KAAK,EAAkD,EAAE,CACxD,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CACzB;aACA,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAElE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC3B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAChD,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,UAAU;QACR,OAAO,MAAM,CAAC,WAAW,CACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI;YACd,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE;SAC7D,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,eAAe;QACb,OAAO,MAAM,CAAC,WAAW,CACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI;YACd;gBACE,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,GAAG,CAAC,SAAS,CAAC,QAAQ;oBACpB,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBACnD,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;aACvD;SACF,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"sim-sns-message-attributes.js","sourceRoot":"","sources":["../../../../src/service/sns/message/sim-sns-message-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAMxE;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IACjB,UAAU,CAAoC;IAE/D,YAAoB,UAA6C;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,EAAE,CACP,KAA8C;QAE9C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;aAC3C,MAAM,CACL,CAAC,KAAK,EAAkD,EAAE,CACxD,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CACzB;aACA,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAElE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC3B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAChD,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,UAAU;QACR,OAAO,MAAM,CAAC,WAAW,CACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI;YACd,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE;SAC7D,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,eAAe;QACb,OAAO,MAAM,CAAC,WAAW,CACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI;YACd;gBACE,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,GAAG,CAAC,SAAS,CAAC,QAAQ;oBACpB,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBACnD,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;aACvD;SACF,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}