@kensio/yulin 1.9.0 → 1.10.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 (712) hide show
  1. package/README.md +25 -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 +17 -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 +37 -42
  8. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
  9. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.d.ts.map +1 -1
  10. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js +5 -0
  11. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js.map +1 -1
  12. package/dist/service/aws/factory/sim-aws-scoped-service-properties.d.ts +18 -0
  13. package/dist/service/aws/factory/sim-aws-scoped-service-properties.d.ts.map +1 -0
  14. package/dist/service/aws/factory/sim-aws-scoped-service-properties.js +2 -0
  15. package/dist/service/aws/factory/sim-aws-scoped-service-properties.js.map +1 -0
  16. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
  17. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  18. package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
  19. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  20. package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
  21. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  22. package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
  23. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  24. package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
  25. package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
  26. package/dist/service/aws/sim-aws-service-accessors.js +4 -0
  27. package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
  28. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +36 -0
  29. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts.map +1 -0
  30. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +64 -0
  31. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js.map +1 -0
  32. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +31 -0
  33. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts.map +1 -0
  34. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +42 -0
  35. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js.map +1 -0
  36. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.d.ts +13 -0
  37. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.d.ts.map +1 -0
  38. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.js +68 -0
  39. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.js.map +1 -0
  40. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +30 -0
  41. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts.map +1 -0
  42. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +35 -0
  43. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js.map +1 -0
  44. package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.d.ts +27 -0
  45. package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.d.ts.map +1 -0
  46. package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.js +76 -0
  47. package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.js.map +1 -0
  48. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.d.ts +24 -0
  49. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.d.ts.map +1 -0
  50. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.js +46 -0
  51. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-properties.js.map +1 -0
  52. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.d.ts +42 -0
  53. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.d.ts.map +1 -0
  54. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.js +96 -0
  55. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.js.map +1 -0
  56. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts +1 -1
  57. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts.map +1 -1
  58. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +10 -35
  59. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js.map +1 -1
  60. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts +2 -0
  61. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts.map +1 -1
  62. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js +15 -1
  63. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js.map +1 -1
  64. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts.map +1 -1
  65. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +8 -0
  66. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js.map +1 -1
  67. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.d.ts +25 -0
  68. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.d.ts.map +1 -0
  69. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.js +32 -0
  70. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-rh-policy-cfn.js.map +1 -0
  71. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
  72. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +2 -0
  73. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
  74. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.d.ts +11 -0
  75. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.d.ts.map +1 -0
  76. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.js +24 -0
  77. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-cfn-value-adapter.js.map +1 -0
  78. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.d.ts +27 -0
  79. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.d.ts.map +1 -0
  80. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.js +29 -0
  81. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-subscription-cfn.js.map +1 -0
  82. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.d.ts +30 -0
  83. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.d.ts.map +1 -0
  84. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.js +39 -0
  85. package/dist/service/cloudformation/resource/cfn/sns/sim-sns-topic-cfn.js.map +1 -0
  86. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.d.ts.map +1 -1
  87. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +4 -0
  88. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js.map +1 -1
  89. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +4 -0
  90. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -1
  91. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.js.map +1 -1
  92. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.d.ts +38 -0
  93. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.d.ts.map +1 -0
  94. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js +127 -0
  95. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js.map +1 -0
  96. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.d.ts +25 -0
  97. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.d.ts.map +1 -0
  98. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.js +33 -0
  99. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.js.map +1 -0
  100. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +1 -0
  101. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts.map +1 -1
  102. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +11 -0
  103. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js.map +1 -1
  104. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +1 -0
  105. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
  106. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +3 -0
  107. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts.map +1 -1
  108. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +3 -0
  109. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js.map +1 -1
  110. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts +19 -0
  111. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts.map +1 -0
  112. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js +31 -0
  113. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js.map +1 -0
  114. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +4 -8
  115. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts.map +1 -1
  116. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +16 -19
  117. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js.map +1 -1
  118. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +3 -0
  119. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -1
  120. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +19 -0
  121. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
  122. package/dist/service/cloudfront/error/sim-cloudfront.error.js +23 -0
  123. package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
  124. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.d.ts.map +1 -1
  125. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js +2 -5
  126. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js.map +1 -1
  127. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.d.ts +25 -0
  128. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.d.ts.map +1 -0
  129. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.js +30 -0
  130. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-header.js.map +1 -0
  131. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts +29 -0
  132. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts.map +1 -0
  133. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js +40 -0
  134. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js.map +1 -0
  135. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts +35 -0
  136. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts.map +1 -0
  137. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js +44 -0
  138. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js.map +1 -0
  139. package/dist/service/cloudfront/sim-cloudfront.d.ts +18 -0
  140. package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
  141. package/dist/service/cloudfront/sim-cloudfront.js +24 -0
  142. package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
  143. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts.map +1 -1
  144. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +4 -1
  145. package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js.map +1 -1
  146. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.d.ts +39 -0
  147. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.d.ts.map +1 -0
  148. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.js +46 -0
  149. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-looked-up-zone.js.map +1 -0
  150. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.d.ts +2 -0
  151. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.d.ts.map +1 -1
  152. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js +17 -1
  153. package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js.map +1 -1
  154. package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.d.ts +6 -0
  155. package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.d.ts.map +1 -1
  156. package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.js +1 -0
  157. package/dist/service/route53/hosted-zone/register-sim-route53-hosted-zone.js.map +1 -1
  158. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts +23 -10
  159. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts.map +1 -1
  160. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js +32 -45
  161. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js.map +1 -1
  162. package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.d.ts +16 -0
  163. package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.d.ts.map +1 -0
  164. package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.js +35 -0
  165. package/dist/service/route53/hosted-zone/sim-route53-zone-name-widening.js.map +1 -0
  166. package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.d.ts +23 -0
  167. package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.d.ts.map +1 -0
  168. package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.js +43 -0
  169. package/dist/service/route53/hosted-zone/sim-route53-zone-synchronization.js.map +1 -0
  170. package/dist/service/route53/sim-route53.d.ts +1 -1
  171. package/dist/service/route53/sim-route53.d.ts.map +1 -1
  172. package/dist/service/route53/sim-route53.js +1 -1
  173. package/dist/service/route53/sim-route53.js.map +1 -1
  174. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.d.ts.map +1 -1
  175. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js +2 -0
  176. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js.map +1 -1
  177. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts +3 -0
  178. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts.map +1 -1
  179. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js +10 -1
  180. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js.map +1 -1
  181. package/dist/service/s3/bucket/notification/sim-s3-topic-notification.d.ts +21 -0
  182. package/dist/service/s3/bucket/notification/sim-s3-topic-notification.d.ts.map +1 -0
  183. package/dist/service/s3/bucket/notification/sim-s3-topic-notification.js +24 -0
  184. package/dist/service/s3/bucket/notification/sim-s3-topic-notification.js.map +1 -0
  185. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts +1 -1
  186. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts.map +1 -1
  187. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js +3 -3
  188. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js.map +1 -1
  189. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts +9 -6
  190. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts.map +1 -1
  191. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js +32 -7
  192. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js.map +1 -1
  193. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts +2 -1
  194. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts.map +1 -1
  195. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts +10 -1
  196. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts.map +1 -1
  197. package/dist/service/s3/command/put-object/put-object-builder.d.ts +13 -4
  198. package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -1
  199. package/dist/service/s3/command/put-object/put-object-builder.js +27 -10
  200. package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -1
  201. package/dist/service/s3/command/put-object/put-object.command.d.ts +11 -0
  202. package/dist/service/s3/command/put-object/put-object.command.d.ts.map +1 -1
  203. package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts +1 -1
  204. package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts.map +1 -1
  205. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts +2 -0
  206. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts.map +1 -1
  207. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js +5 -0
  208. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js.map +1 -1
  209. package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.d.ts +38 -0
  210. package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.d.ts.map +1 -0
  211. package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.js +50 -0
  212. package/dist/service/s3/notification/destination/sns/sim-aws-s3-notification-topics.js.map +1 -0
  213. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.d.ts +31 -0
  214. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.d.ts.map +1 -0
  215. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.js +48 -0
  216. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic-arn.js.map +1 -0
  217. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.d.ts +43 -0
  218. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.d.ts.map +1 -0
  219. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js +71 -0
  220. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topic.js.map +1 -0
  221. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.d.ts +22 -0
  222. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.d.ts.map +1 -0
  223. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.js +2 -0
  224. package/dist/service/s3/notification/destination/sns/sim-s3-notification-topics.js.map +1 -0
  225. package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.d.ts +40 -0
  226. package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.d.ts.map +1 -0
  227. package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.js +51 -0
  228. package/dist/service/s3/notification/destination/sns/sim-s3-sns-notification-destination.js.map +1 -0
  229. package/dist/service/s3/object/s3-object-response-headers.d.ts +17 -0
  230. package/dist/service/s3/object/s3-object-response-headers.d.ts.map +1 -0
  231. package/dist/service/s3/object/s3-object-response-headers.js +29 -0
  232. package/dist/service/s3/object/s3-object-response-headers.js.map +1 -0
  233. package/dist/service/s3/object/s3-system-metadata.d.ts +32 -0
  234. package/dist/service/s3/object/s3-system-metadata.d.ts.map +1 -0
  235. package/dist/service/s3/object/s3-system-metadata.js +35 -0
  236. package/dist/service/s3/object/s3-system-metadata.js.map +1 -0
  237. package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts.map +1 -1
  238. package/dist/service/s3/serve/sim-s3-rest-object-reader.js +2 -5
  239. package/dist/service/s3/serve/sim-s3-rest-object-reader.js.map +1 -1
  240. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -1
  241. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -1
  242. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +3 -4
  243. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts.map +1 -1
  244. package/dist/service/s3/serve/website/sim-s3-website-object.js +6 -11
  245. package/dist/service/s3/serve/website/sim-s3-website-object.js.map +1 -1
  246. package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.d.ts +15 -0
  247. package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.d.ts.map +1 -0
  248. package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.js +23 -0
  249. package/dist/service/sns/cfn/sim-cfn-sns-attribute-value.js.map +1 -0
  250. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts +38 -0
  251. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.d.ts.map +1 -0
  252. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js +73 -0
  253. package/dist/service/sns/cfn/sim-cfn-sns-resource-deleter.js.map +1 -0
  254. package/dist/service/sns/cfn/sim-cfn-sns-resource-error.d.ts +24 -0
  255. package/dist/service/sns/cfn/sim-cfn-sns-resource-error.d.ts.map +1 -0
  256. package/dist/service/sns/cfn/sim-cfn-sns-resource-error.js +39 -0
  257. package/dist/service/sns/cfn/sim-cfn-sns-resource-error.js.map +1 -0
  258. package/dist/service/sns/cfn/sim-cfn-sns-resource-types.d.ts +11 -0
  259. package/dist/service/sns/cfn/sim-cfn-sns-resource-types.d.ts.map +1 -0
  260. package/dist/service/sns/cfn/sim-cfn-sns-resource-types.js +11 -0
  261. package/dist/service/sns/cfn/sim-cfn-sns-resource-types.js.map +1 -0
  262. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.d.ts +31 -0
  263. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.d.ts.map +1 -0
  264. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js +54 -0
  265. package/dist/service/sns/cfn/sim-sns-cfn-resource-factory.js.map +1 -0
  266. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts +26 -0
  267. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.d.ts.map +1 -0
  268. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js +37 -0
  269. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-creator.js.map +1 -0
  270. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts +47 -0
  271. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts.map +1 -0
  272. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js +88 -0
  273. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js.map +1 -0
  274. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts +36 -0
  275. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts.map +1 -0
  276. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js +55 -0
  277. package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js.map +1 -0
  278. package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.d.ts +23 -0
  279. package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.d.ts.map +1 -0
  280. package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.js +49 -0
  281. package/dist/service/sns/cfn/topic/sim-cfn-sns-inline-subscriptions.js.map +1 -0
  282. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts +34 -0
  283. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.d.ts.map +1 -0
  284. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +60 -0
  285. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js.map +1 -0
  286. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.d.ts +22 -0
  287. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.d.ts.map +1 -0
  288. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.js +27 -0
  289. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-name.js.map +1 -0
  290. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.d.ts +58 -0
  291. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.d.ts.map +1 -0
  292. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.js +93 -0
  293. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-properties.js.map +1 -0
  294. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.d.ts +31 -0
  295. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.d.ts.map +1 -0
  296. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.js +52 -0
  297. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-property-names.js.map +1 -0
  298. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts +34 -0
  299. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.d.ts.map +1 -0
  300. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js +58 -0
  301. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-creator.js.map +1 -0
  302. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.d.ts +20 -0
  303. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.d.ts.map +1 -0
  304. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.js +44 -0
  305. package/dist/service/sns/cfn/topic-policy/sim-cfn-sns-topic-policy-properties.js.map +1 -0
  306. package/dist/service/sns/command/authorize/sim-sns-authorizer.d.ts +58 -0
  307. package/dist/service/sns/command/authorize/sim-sns-authorizer.d.ts.map +1 -0
  308. package/dist/service/sns/command/authorize/sim-sns-authorizer.js +83 -0
  309. package/dist/service/sns/command/authorize/sim-sns-authorizer.js.map +1 -0
  310. package/dist/service/sns/command/authorize/sim-sns-condition-context.d.ts +13 -0
  311. package/dist/service/sns/command/authorize/sim-sns-condition-context.d.ts.map +1 -0
  312. package/dist/service/sns/command/authorize/sim-sns-condition-context.js +21 -0
  313. package/dist/service/sns/command/authorize/sim-sns-condition-context.js.map +1 -0
  314. package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.d.ts +41 -0
  315. package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.d.ts.map +1 -0
  316. package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.js +40 -0
  317. package/dist/service/sns/command/authorize/sim-sns-service-publish-authorizer.js.map +1 -0
  318. package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts +12 -0
  319. package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts.map +1 -0
  320. package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.js +25 -0
  321. package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.js.map +1 -0
  322. package/dist/service/sns/command/publish/publish.command.d.ts +70 -0
  323. package/dist/service/sns/command/publish/publish.command.d.ts.map +1 -0
  324. package/dist/service/sns/command/publish/publish.command.js +2 -0
  325. package/dist/service/sns/command/publish/publish.command.js.map +1 -0
  326. package/dist/service/sns/command/publish/sim-sns-batch-entries.d.ts +52 -0
  327. package/dist/service/sns/command/publish/sim-sns-batch-entries.d.ts.map +1 -0
  328. package/dist/service/sns/command/publish/sim-sns-batch-entries.js +85 -0
  329. package/dist/service/sns/command/publish/sim-sns-batch-entries.js.map +1 -0
  330. package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts +53 -0
  331. package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts.map +1 -0
  332. package/dist/service/sns/command/publish/sim-sns-publish-commands.js +83 -0
  333. package/dist/service/sns/command/publish/sim-sns-publish-commands.js.map +1 -0
  334. package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts +23 -0
  335. package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts.map +1 -0
  336. package/dist/service/sns/command/publish/sim-sns-publish-input.js +47 -0
  337. package/dist/service/sns/command/publish/sim-sns-publish-input.js.map +1 -0
  338. package/dist/service/sns/command/sim-sns-command.types.d.ts +7 -0
  339. package/dist/service/sns/command/sim-sns-command.types.d.ts.map +1 -0
  340. package/dist/service/sns/command/sim-sns-command.types.js +2 -0
  341. package/dist/service/sns/command/sim-sns-command.types.js.map +1 -0
  342. package/dist/service/sns/command/sim-sns-commands.d.ts +45 -0
  343. package/dist/service/sns/command/sim-sns-commands.d.ts.map +1 -0
  344. package/dist/service/sns/command/sim-sns-commands.js +83 -0
  345. package/dist/service/sns/command/sim-sns-commands.js.map +1 -0
  346. package/dist/service/sns/command/sim-sns-page.d.ts +19 -0
  347. package/dist/service/sns/command/sim-sns-page.d.ts.map +1 -0
  348. package/dist/service/sns/command/sim-sns-page.js +51 -0
  349. package/dist/service/sns/command/sim-sns-page.js.map +1 -0
  350. package/dist/service/sns/command/sim-sns-request-options.d.ts +47 -0
  351. package/dist/service/sns/command/sim-sns-request-options.d.ts.map +1 -0
  352. package/dist/service/sns/command/sim-sns-request-options.js +19 -0
  353. package/dist/service/sns/command/sim-sns-request-options.js.map +1 -0
  354. package/dist/service/sns/command/subscription/sim-sns-subscription-access.d.ts +42 -0
  355. package/dist/service/sns/command/subscription/sim-sns-subscription-access.d.ts.map +1 -0
  356. package/dist/service/sns/command/subscription/sim-sns-subscription-access.js +57 -0
  357. package/dist/service/sns/command/subscription/sim-sns-subscription-access.js.map +1 -0
  358. package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.d.ts +31 -0
  359. package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.d.ts.map +1 -0
  360. package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.js +44 -0
  361. package/dist/service/sns/command/subscription/sim-sns-subscription-attribute-commands.js.map +1 -0
  362. package/dist/service/sns/command/subscription/sim-sns-subscription-commands.d.ts +50 -0
  363. package/dist/service/sns/command/subscription/sim-sns-subscription-commands.d.ts.map +1 -0
  364. package/dist/service/sns/command/subscription/sim-sns-subscription-commands.js +73 -0
  365. package/dist/service/sns/command/subscription/sim-sns-subscription-commands.js.map +1 -0
  366. package/dist/service/sns/command/subscription/sim-sns-subscription-listings.d.ts +34 -0
  367. package/dist/service/sns/command/subscription/sim-sns-subscription-listings.d.ts.map +1 -0
  368. package/dist/service/sns/command/subscription/sim-sns-subscription-listings.js +57 -0
  369. package/dist/service/sns/command/subscription/sim-sns-subscription-listings.js.map +1 -0
  370. package/dist/service/sns/command/subscription/subscription.command.d.ts +118 -0
  371. package/dist/service/sns/command/subscription/subscription.command.d.ts.map +1 -0
  372. package/dist/service/sns/command/subscription/subscription.command.js +2 -0
  373. package/dist/service/sns/command/subscription/subscription.command.js.map +1 -0
  374. package/dist/service/sns/command/topic/sim-sns-create-topic.d.ts +41 -0
  375. package/dist/service/sns/command/topic/sim-sns-create-topic.d.ts.map +1 -0
  376. package/dist/service/sns/command/topic/sim-sns-create-topic.js +54 -0
  377. package/dist/service/sns/command/topic/sim-sns-create-topic.js.map +1 -0
  378. package/dist/service/sns/command/topic/sim-sns-request-topic-name.d.ts +11 -0
  379. package/dist/service/sns/command/topic/sim-sns-request-topic-name.d.ts.map +1 -0
  380. package/dist/service/sns/command/topic/sim-sns-request-topic-name.js +28 -0
  381. package/dist/service/sns/command/topic/sim-sns-request-topic-name.js.map +1 -0
  382. package/dist/service/sns/command/topic/sim-sns-topic-access.d.ts +76 -0
  383. package/dist/service/sns/command/topic/sim-sns-topic-access.d.ts.map +1 -0
  384. package/dist/service/sns/command/topic/sim-sns-topic-access.js +81 -0
  385. package/dist/service/sns/command/topic/sim-sns-topic-access.js.map +1 -0
  386. package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.d.ts +36 -0
  387. package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.d.ts.map +1 -0
  388. package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.js +47 -0
  389. package/dist/service/sns/command/topic/sim-sns-topic-attribute-commands.js.map +1 -0
  390. package/dist/service/sns/command/topic/sim-sns-topic-commands.d.ts +42 -0
  391. package/dist/service/sns/command/topic/sim-sns-topic-commands.d.ts.map +1 -0
  392. package/dist/service/sns/command/topic/sim-sns-topic-commands.js +51 -0
  393. package/dist/service/sns/command/topic/sim-sns-topic-commands.js.map +1 -0
  394. package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.d.ts +11 -0
  395. package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.d.ts.map +1 -0
  396. package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.js +20 -0
  397. package/dist/service/sns/command/topic/sim-sns-unsimulated-topic-input.js.map +1 -0
  398. package/dist/service/sns/command/topic/topic.command.d.ts +95 -0
  399. package/dist/service/sns/command/topic/topic.command.d.ts.map +1 -0
  400. package/dist/service/sns/command/topic/topic.command.js +2 -0
  401. package/dist/service/sns/command/topic/topic.command.js.map +1 -0
  402. package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.d.ts +27 -0
  403. package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.d.ts.map +1 -0
  404. package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.js +31 -0
  405. package/dist/service/sns/delivery/lambda/sim-aws-sns-delivery-functions.js.map +1 -0
  406. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts +31 -0
  407. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts.map +1 -0
  408. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +62 -0
  409. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js.map +1 -0
  410. package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.d.ts +10 -0
  411. package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.d.ts.map +1 -0
  412. package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.js +53 -0
  413. package/dist/service/sns/delivery/lambda/sim-sns-lambda-event.js.map +1 -0
  414. package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts +17 -0
  415. package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts.map +1 -0
  416. package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js +21 -0
  417. package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js.map +1 -0
  418. package/dist/service/sns/delivery/sim-sns-canonical-message.d.ts +32 -0
  419. package/dist/service/sns/delivery/sim-sns-canonical-message.d.ts.map +1 -0
  420. package/dist/service/sns/delivery/sim-sns-canonical-message.js +24 -0
  421. package/dist/service/sns/delivery/sim-sns-canonical-message.js.map +1 -0
  422. package/dist/service/sns/delivery/sim-sns-delivery-failures.d.ts +60 -0
  423. package/dist/service/sns/delivery/sim-sns-delivery-failures.d.ts.map +1 -0
  424. package/dist/service/sns/delivery/sim-sns-delivery-failures.js +84 -0
  425. package/dist/service/sns/delivery/sim-sns-delivery-failures.js.map +1 -0
  426. package/dist/service/sns/delivery/sim-sns-delivery-request.d.ts +28 -0
  427. package/dist/service/sns/delivery/sim-sns-delivery-request.d.ts.map +1 -0
  428. package/dist/service/sns/delivery/sim-sns-delivery-request.js +34 -0
  429. package/dist/service/sns/delivery/sim-sns-delivery-request.js.map +1 -0
  430. package/dist/service/sns/delivery/sim-sns-delivery.d.ts +55 -0
  431. package/dist/service/sns/delivery/sim-sns-delivery.d.ts.map +1 -0
  432. package/dist/service/sns/delivery/sim-sns-delivery.js +18 -0
  433. package/dist/service/sns/delivery/sim-sns-delivery.js.map +1 -0
  434. package/dist/service/sns/delivery/sim-sns-envelope.d.ts +26 -0
  435. package/dist/service/sns/delivery/sim-sns-envelope.d.ts.map +1 -0
  436. package/dist/service/sns/delivery/sim-sns-envelope.js +41 -0
  437. package/dist/service/sns/delivery/sim-sns-envelope.js.map +1 -0
  438. package/dist/service/sns/delivery/sim-sns-fan-out.d.ts +53 -0
  439. package/dist/service/sns/delivery/sim-sns-fan-out.d.ts.map +1 -0
  440. package/dist/service/sns/delivery/sim-sns-fan-out.js +69 -0
  441. package/dist/service/sns/delivery/sim-sns-fan-out.js.map +1 -0
  442. package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts +17 -0
  443. package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts.map +1 -0
  444. package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js +23 -0
  445. package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js.map +1 -0
  446. package/dist/service/sns/delivery/sim-sns-notification.d.ts +57 -0
  447. package/dist/service/sns/delivery/sim-sns-notification.d.ts.map +1 -0
  448. package/dist/service/sns/delivery/sim-sns-notification.js +64 -0
  449. package/dist/service/sns/delivery/sim-sns-notification.js.map +1 -0
  450. package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts +32 -0
  451. package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts.map +1 -0
  452. package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js +22 -0
  453. package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js.map +1 -0
  454. package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.d.ts +29 -0
  455. package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.d.ts.map +1 -0
  456. package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.js +33 -0
  457. package/dist/service/sns/delivery/sqs/sim-aws-sns-delivery-queues.js.map +1 -0
  458. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.d.ts +31 -0
  459. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.d.ts.map +1 -0
  460. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js +63 -0
  461. package/dist/service/sns/delivery/sqs/sim-sns-delivery-queue.js.map +1 -0
  462. package/dist/service/sns/delivery/sqs/sim-sns-queue-message.d.ts +24 -0
  463. package/dist/service/sns/delivery/sqs/sim-sns-queue-message.d.ts.map +1 -0
  464. package/dist/service/sns/delivery/sqs/sim-sns-queue-message.js +38 -0
  465. package/dist/service/sns/delivery/sqs/sim-sns-queue-message.js.map +1 -0
  466. package/dist/service/sns/error/sim-sns-delivery.error.d.ts +13 -0
  467. package/dist/service/sns/error/sim-sns-delivery.error.d.ts.map +1 -0
  468. package/dist/service/sns/error/sim-sns-delivery.error.js +13 -0
  469. package/dist/service/sns/error/sim-sns-delivery.error.js.map +1 -0
  470. package/dist/service/sns/error/sim-sns.error.d.ts +107 -0
  471. package/dist/service/sns/error/sim-sns.error.d.ts.map +1 -0
  472. package/dist/service/sns/error/sim-sns.error.js +124 -0
  473. package/dist/service/sns/error/sim-sns.error.js.map +1 -0
  474. package/dist/service/sns/filter/match/sim-sns-anything-but-match.d.ts +30 -0
  475. package/dist/service/sns/filter/match/sim-sns-anything-but-match.d.ts.map +1 -0
  476. package/dist/service/sns/filter/match/sim-sns-anything-but-match.js +82 -0
  477. package/dist/service/sns/filter/match/sim-sns-anything-but-match.js.map +1 -0
  478. package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.d.ts +24 -0
  479. package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.d.ts.map +1 -0
  480. package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.js +30 -0
  481. package/dist/service/sns/filter/match/sim-sns-equals-ignore-case-match.js.map +1 -0
  482. package/dist/service/sns/filter/match/sim-sns-exact-match.d.ts +22 -0
  483. package/dist/service/sns/filter/match/sim-sns-exact-match.d.ts.map +1 -0
  484. package/dist/service/sns/filter/match/sim-sns-exact-match.js +49 -0
  485. package/dist/service/sns/filter/match/sim-sns-exact-match.js.map +1 -0
  486. package/dist/service/sns/filter/match/sim-sns-exists-match.d.ts +27 -0
  487. package/dist/service/sns/filter/match/sim-sns-exists-match.d.ts.map +1 -0
  488. package/dist/service/sns/filter/match/sim-sns-exists-match.js +38 -0
  489. package/dist/service/sns/filter/match/sim-sns-exists-match.js.map +1 -0
  490. package/dist/service/sns/filter/match/sim-sns-filter-match.d.ts +24 -0
  491. package/dist/service/sns/filter/match/sim-sns-filter-match.d.ts.map +1 -0
  492. package/dist/service/sns/filter/match/sim-sns-filter-match.js +19 -0
  493. package/dist/service/sns/filter/match/sim-sns-filter-match.js.map +1 -0
  494. package/dist/service/sns/filter/match/sim-sns-numeric-match.d.ts +48 -0
  495. package/dist/service/sns/filter/match/sim-sns-numeric-match.d.ts.map +1 -0
  496. package/dist/service/sns/filter/match/sim-sns-numeric-match.js +107 -0
  497. package/dist/service/sns/filter/match/sim-sns-numeric-match.js.map +1 -0
  498. package/dist/service/sns/filter/match/sim-sns-prefix-match.d.ts +26 -0
  499. package/dist/service/sns/filter/match/sim-sns-prefix-match.d.ts.map +1 -0
  500. package/dist/service/sns/filter/match/sim-sns-prefix-match.js +32 -0
  501. package/dist/service/sns/filter/match/sim-sns-prefix-match.js.map +1 -0
  502. package/dist/service/sns/filter/match/sim-sns-suffix-match.d.ts +23 -0
  503. package/dist/service/sns/filter/match/sim-sns-suffix-match.d.ts.map +1 -0
  504. package/dist/service/sns/filter/match/sim-sns-suffix-match.js +29 -0
  505. package/dist/service/sns/filter/match/sim-sns-suffix-match.js.map +1 -0
  506. package/dist/service/sns/filter/sim-sns-attribute-subject.d.ts +31 -0
  507. package/dist/service/sns/filter/sim-sns-attribute-subject.d.ts.map +1 -0
  508. package/dist/service/sns/filter/sim-sns-attribute-subject.js +85 -0
  509. package/dist/service/sns/filter/sim-sns-attribute-subject.js.map +1 -0
  510. package/dist/service/sns/filter/sim-sns-body-subject.d.ts +30 -0
  511. package/dist/service/sns/filter/sim-sns-body-subject.d.ts.map +1 -0
  512. package/dist/service/sns/filter/sim-sns-body-subject.js +67 -0
  513. package/dist/service/sns/filter/sim-sns-body-subject.js.map +1 -0
  514. package/dist/service/sns/filter/sim-sns-filter-any-rule.d.ts +21 -0
  515. package/dist/service/sns/filter/sim-sns-filter-any-rule.d.ts.map +1 -0
  516. package/dist/service/sns/filter/sim-sns-filter-any-rule.js +23 -0
  517. package/dist/service/sns/filter/sim-sns-filter-any-rule.js.map +1 -0
  518. package/dist/service/sns/filter/sim-sns-filter-key-rule.d.ts +28 -0
  519. package/dist/service/sns/filter/sim-sns-filter-key-rule.d.ts.map +1 -0
  520. package/dist/service/sns/filter/sim-sns-filter-key-rule.js +48 -0
  521. package/dist/service/sns/filter/sim-sns-filter-key-rule.js.map +1 -0
  522. package/dist/service/sns/filter/sim-sns-filter-matches.d.ts +9 -0
  523. package/dist/service/sns/filter/sim-sns-filter-matches.d.ts.map +1 -0
  524. package/dist/service/sns/filter/sim-sns-filter-matches.js +40 -0
  525. package/dist/service/sns/filter/sim-sns-filter-matches.js.map +1 -0
  526. package/dist/service/sns/filter/sim-sns-filter-operators.d.ts +22 -0
  527. package/dist/service/sns/filter/sim-sns-filter-operators.d.ts.map +1 -0
  528. package/dist/service/sns/filter/sim-sns-filter-operators.js +50 -0
  529. package/dist/service/sns/filter/sim-sns-filter-operators.js.map +1 -0
  530. package/dist/service/sns/filter/sim-sns-filter-or-eligibility.d.ts +17 -0
  531. package/dist/service/sns/filter/sim-sns-filter-or-eligibility.d.ts.map +1 -0
  532. package/dist/service/sns/filter/sim-sns-filter-or-eligibility.js +47 -0
  533. package/dist/service/sns/filter/sim-sns-filter-or-eligibility.js.map +1 -0
  534. package/dist/service/sns/filter/sim-sns-filter-policy-scope.d.ts +36 -0
  535. package/dist/service/sns/filter/sim-sns-filter-policy-scope.d.ts.map +1 -0
  536. package/dist/service/sns/filter/sim-sns-filter-policy-scope.js +67 -0
  537. package/dist/service/sns/filter/sim-sns-filter-policy-scope.js.map +1 -0
  538. package/dist/service/sns/filter/sim-sns-filter-policy.d.ts +48 -0
  539. package/dist/service/sns/filter/sim-sns-filter-policy.d.ts.map +1 -0
  540. package/dist/service/sns/filter/sim-sns-filter-policy.js +84 -0
  541. package/dist/service/sns/filter/sim-sns-filter-policy.js.map +1 -0
  542. package/dist/service/sns/filter/sim-sns-filter-refusals.d.ts +38 -0
  543. package/dist/service/sns/filter/sim-sns-filter-refusals.d.ts.map +1 -0
  544. package/dist/service/sns/filter/sim-sns-filter-refusals.js +53 -0
  545. package/dist/service/sns/filter/sim-sns-filter-refusals.js.map +1 -0
  546. package/dist/service/sns/filter/sim-sns-filter-rule.d.ts +15 -0
  547. package/dist/service/sns/filter/sim-sns-filter-rule.d.ts.map +1 -0
  548. package/dist/service/sns/filter/sim-sns-filter-rule.js +2 -0
  549. package/dist/service/sns/filter/sim-sns-filter-rule.js.map +1 -0
  550. package/dist/service/sns/filter/sim-sns-filter-rules.d.ts +27 -0
  551. package/dist/service/sns/filter/sim-sns-filter-rules.d.ts.map +1 -0
  552. package/dist/service/sns/filter/sim-sns-filter-rules.js +66 -0
  553. package/dist/service/sns/filter/sim-sns-filter-rules.js.map +1 -0
  554. package/dist/service/sns/filter/sim-sns-filter-subject.d.ts +31 -0
  555. package/dist/service/sns/filter/sim-sns-filter-subject.d.ts.map +1 -0
  556. package/dist/service/sns/filter/sim-sns-filter-subject.js +2 -0
  557. package/dist/service/sns/filter/sim-sns-filter-subject.js.map +1 -0
  558. package/dist/service/sns/filter/sim-sns-filter-value.d.ts +45 -0
  559. package/dist/service/sns/filter/sim-sns-filter-value.d.ts.map +1 -0
  560. package/dist/service/sns/filter/sim-sns-filter-value.js +83 -0
  561. package/dist/service/sns/filter/sim-sns-filter-value.js.map +1 -0
  562. package/dist/service/sns/filter/sim-sns-json-filter-values.d.ts +12 -0
  563. package/dist/service/sns/filter/sim-sns-json-filter-values.d.ts.map +1 -0
  564. package/dist/service/sns/filter/sim-sns-json-filter-values.js +25 -0
  565. package/dist/service/sns/filter/sim-sns-json-filter-values.js.map +1 -0
  566. package/dist/service/sns/index.d.ts +33 -0
  567. package/dist/service/sns/index.d.ts.map +1 -0
  568. package/dist/service/sns/index.js +29 -0
  569. package/dist/service/sns/index.js.map +1 -0
  570. package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts +23 -0
  571. package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts.map +1 -0
  572. package/dist/service/sns/message/sim-sns-message-attribute-rules.js +74 -0
  573. package/dist/service/sns/message/sim-sns-message-attribute-rules.js.map +1 -0
  574. package/dist/service/sns/message/sim-sns-message-attribute-value.d.ts +15 -0
  575. package/dist/service/sns/message/sim-sns-message-attribute-value.d.ts.map +1 -0
  576. package/dist/service/sns/message/sim-sns-message-attribute-value.js +2 -0
  577. package/dist/service/sns/message/sim-sns-message-attribute-value.js.map +1 -0
  578. package/dist/service/sns/message/sim-sns-message-attribute.d.ts +55 -0
  579. package/dist/service/sns/message/sim-sns-message-attribute.d.ts.map +1 -0
  580. package/dist/service/sns/message/sim-sns-message-attribute.js +78 -0
  581. package/dist/service/sns/message/sim-sns-message-attribute.js.map +1 -0
  582. package/dist/service/sns/message/sim-sns-message-attributes.d.ts +71 -0
  583. package/dist/service/sns/message/sim-sns-message-attributes.d.ts.map +1 -0
  584. package/dist/service/sns/message/sim-sns-message-attributes.js +80 -0
  585. package/dist/service/sns/message/sim-sns-message-attributes.js.map +1 -0
  586. package/dist/service/sns/message/sim-sns-message-body.d.ts +17 -0
  587. package/dist/service/sns/message/sim-sns-message-body.d.ts.map +1 -0
  588. package/dist/service/sns/message/sim-sns-message-body.js +26 -0
  589. package/dist/service/sns/message/sim-sns-message-body.js.map +1 -0
  590. package/dist/service/sns/message/sim-sns-message-subject.d.ts +27 -0
  591. package/dist/service/sns/message/sim-sns-message-subject.d.ts.map +1 -0
  592. package/dist/service/sns/message/sim-sns-message-subject.js +74 -0
  593. package/dist/service/sns/message/sim-sns-message-subject.js.map +1 -0
  594. package/dist/service/sns/message/sim-sns-published-message.d.ts +55 -0
  595. package/dist/service/sns/message/sim-sns-published-message.d.ts.map +1 -0
  596. package/dist/service/sns/message/sim-sns-published-message.js +69 -0
  597. package/dist/service/sns/message/sim-sns-published-message.js.map +1 -0
  598. package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts +18 -0
  599. package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts.map +1 -0
  600. package/dist/service/sns/sdk/sim-sns-sdk-command-router.js +76 -0
  601. package/dist/service/sns/sdk/sim-sns-sdk-command-router.js.map +1 -0
  602. package/dist/service/sns/signature/sim-sns-certificate.d.ts +30 -0
  603. package/dist/service/sns/signature/sim-sns-certificate.d.ts.map +1 -0
  604. package/dist/service/sns/signature/sim-sns-certificate.js +110 -0
  605. package/dist/service/sns/signature/sim-sns-certificate.js.map +1 -0
  606. package/dist/service/sns/signature/sim-sns-der.d.ts +40 -0
  607. package/dist/service/sns/signature/sim-sns-der.d.ts.map +1 -0
  608. package/dist/service/sns/signature/sim-sns-der.js +64 -0
  609. package/dist/service/sns/signature/sim-sns-der.js.map +1 -0
  610. package/dist/service/sns/signature/sim-sns-host.d.ts +28 -0
  611. package/dist/service/sns/signature/sim-sns-host.d.ts.map +1 -0
  612. package/dist/service/sns/signature/sim-sns-host.js +33 -0
  613. package/dist/service/sns/signature/sim-sns-host.js.map +1 -0
  614. package/dist/service/sns/signature/sim-sns-message-signer.d.ts +51 -0
  615. package/dist/service/sns/signature/sim-sns-message-signer.d.ts.map +1 -0
  616. package/dist/service/sns/signature/sim-sns-message-signer.js +60 -0
  617. package/dist/service/sns/signature/sim-sns-message-signer.js.map +1 -0
  618. package/dist/service/sns/signature/sim-sns-signing-key.d.ts +34 -0
  619. package/dist/service/sns/signature/sim-sns-signing-key.d.ts.map +1 -0
  620. package/dist/service/sns/signature/sim-sns-signing-key.js +69 -0
  621. package/dist/service/sns/signature/sim-sns-signing-key.js.map +1 -0
  622. package/dist/service/sns/sim-sns.d.ts +139 -0
  623. package/dist/service/sns/sim-sns.d.ts.map +1 -0
  624. package/dist/service/sns/sim-sns.js +188 -0
  625. package/dist/service/sns/sim-sns.js.map +1 -0
  626. package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts +31 -0
  627. package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts.map +1 -0
  628. package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js +54 -0
  629. package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js.map +1 -0
  630. package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.d.ts +30 -0
  631. package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.d.ts.map +1 -0
  632. package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.js +78 -0
  633. package/dist/service/sns/subscription/sim-sns-queue-endpoint-arn.js.map +1 -0
  634. package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.d.ts +28 -0
  635. package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.d.ts.map +1 -0
  636. package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.js +43 -0
  637. package/dist/service/sns/subscription/sim-sns-requested-subscription-attributes.js.map +1 -0
  638. package/dist/service/sns/subscription/sim-sns-subscription-arn.d.ts +43 -0
  639. package/dist/service/sns/subscription/sim-sns-subscription-arn.d.ts.map +1 -0
  640. package/dist/service/sns/subscription/sim-sns-subscription-arn.js +70 -0
  641. package/dist/service/sns/subscription/sim-sns-subscription-arn.js.map +1 -0
  642. package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.d.ts +20 -0
  643. package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.d.ts.map +1 -0
  644. package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.js +52 -0
  645. package/dist/service/sns/subscription/sim-sns-subscription-attribute-changes.js.map +1 -0
  646. package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.d.ts +26 -0
  647. package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.d.ts.map +1 -0
  648. package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.js +64 -0
  649. package/dist/service/sns/subscription/sim-sns-subscription-attribute-names.js.map +1 -0
  650. package/dist/service/sns/subscription/sim-sns-subscription-attributes.d.ts +47 -0
  651. package/dist/service/sns/subscription/sim-sns-subscription-attributes.d.ts.map +1 -0
  652. package/dist/service/sns/subscription/sim-sns-subscription-attributes.js +67 -0
  653. package/dist/service/sns/subscription/sim-sns-subscription-attributes.js.map +1 -0
  654. package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts +26 -0
  655. package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts.map +1 -0
  656. package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js +21 -0
  657. package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js.map +1 -0
  658. package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts +33 -0
  659. package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts.map +1 -0
  660. package/dist/service/sns/subscription/sim-sns-subscription-protocol.js +63 -0
  661. package/dist/service/sns/subscription/sim-sns-subscription-protocol.js.map +1 -0
  662. package/dist/service/sns/subscription/sim-sns-subscription-store.d.ts +71 -0
  663. package/dist/service/sns/subscription/sim-sns-subscription-store.d.ts.map +1 -0
  664. package/dist/service/sns/subscription/sim-sns-subscription-store.js +88 -0
  665. package/dist/service/sns/subscription/sim-sns-subscription-store.js.map +1 -0
  666. package/dist/service/sns/subscription/sim-sns-subscription.d.ts +72 -0
  667. package/dist/service/sns/subscription/sim-sns-subscription.d.ts.map +1 -0
  668. package/dist/service/sns/subscription/sim-sns-subscription.js +116 -0
  669. package/dist/service/sns/subscription/sim-sns-subscription.js.map +1 -0
  670. package/dist/service/sns/topic/sim-sns-topic-arn.d.ts +52 -0
  671. package/dist/service/sns/topic/sim-sns-topic-arn.d.ts.map +1 -0
  672. package/dist/service/sns/topic/sim-sns-topic-arn.js +71 -0
  673. package/dist/service/sns/topic/sim-sns-topic-arn.js.map +1 -0
  674. package/dist/service/sns/topic/sim-sns-topic-attribute-names.d.ts +19 -0
  675. package/dist/service/sns/topic/sim-sns-topic-attribute-names.d.ts.map +1 -0
  676. package/dist/service/sns/topic/sim-sns-topic-attribute-names.js +79 -0
  677. package/dist/service/sns/topic/sim-sns-topic-attribute-names.js.map +1 -0
  678. package/dist/service/sns/topic/sim-sns-topic-attributes.d.ts +56 -0
  679. package/dist/service/sns/topic/sim-sns-topic-attributes.d.ts.map +1 -0
  680. package/dist/service/sns/topic/sim-sns-topic-attributes.js +85 -0
  681. package/dist/service/sns/topic/sim-sns-topic-attributes.js.map +1 -0
  682. package/dist/service/sns/topic/sim-sns-topic-name.d.ts +21 -0
  683. package/dist/service/sns/topic/sim-sns-topic-name.d.ts.map +1 -0
  684. package/dist/service/sns/topic/sim-sns-topic-name.js +48 -0
  685. package/dist/service/sns/topic/sim-sns-topic-name.js.map +1 -0
  686. package/dist/service/sns/topic/sim-sns-topic-policy.d.ts +23 -0
  687. package/dist/service/sns/topic/sim-sns-topic-policy.d.ts.map +1 -0
  688. package/dist/service/sns/topic/sim-sns-topic-policy.js +59 -0
  689. package/dist/service/sns/topic/sim-sns-topic-policy.js.map +1 -0
  690. package/dist/service/sns/topic/sim-sns-topic-store.d.ts +35 -0
  691. package/dist/service/sns/topic/sim-sns-topic-store.d.ts.map +1 -0
  692. package/dist/service/sns/topic/sim-sns-topic-store.js +50 -0
  693. package/dist/service/sns/topic/sim-sns-topic-store.js.map +1 -0
  694. package/dist/service/sns/topic/sim-sns-topic.d.ts +48 -0
  695. package/dist/service/sns/topic/sim-sns-topic.d.ts.map +1 -0
  696. package/dist/service/sns/topic/sim-sns-topic.js +80 -0
  697. package/dist/service/sns/topic/sim-sns-topic.js.map +1 -0
  698. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts +3 -6
  699. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts.map +1 -1
  700. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js +13 -7
  701. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js.map +1 -1
  702. package/dist/service/sqs/index.d.ts +1 -1
  703. package/dist/service/sqs/index.d.ts.map +1 -1
  704. package/dist/service/sqs/index.js +1 -1
  705. package/dist/service/sqs/index.js.map +1 -1
  706. package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts +0 -7
  707. package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts.map +1 -1
  708. package/dist/service/sqs/queue/sim-sqs-queue-arn.js +0 -9
  709. package/dist/service/sqs/queue/sim-sqs-queue-arn.js.map +1 -1
  710. package/dist/service/sqs/sim-sqs.js +1 -1
  711. package/dist/service/sqs/sim-sqs.js.map +1 -1
  712. package/package.json +7 -1
@@ -0,0 +1,85 @@
1
+ import { SimSnsFilterValue } from "./sim-sns-filter-value.js";
2
+ import { simSnsJsonFilterValues } from "./sim-sns-json-filter-values.js";
3
+ /**
4
+ * Read the members of a `String.Array` attribute.
5
+ *
6
+ * The text is a JSON array, and a policy matches any member of it. Text that is
7
+ * not one is matched as the text it is, rather than the publish being failed
8
+ * here: a message attribute's value is not validated as JSON when it is
9
+ * published, so a filter policy is not the place to start.
10
+ */
11
+ function arrayValues(text) {
12
+ try {
13
+ const parsed = JSON.parse(text);
14
+ if (Array.isArray(parsed)) {
15
+ return simSnsJsonFilterValues(parsed);
16
+ }
17
+ }
18
+ catch {
19
+ // Not JSON, so there are no members to read.
20
+ }
21
+ return [SimSnsFilterValue.ofText(text)];
22
+ }
23
+ /**
24
+ * Read one message attribute as the values a policy can match against it.
25
+ *
26
+ * A binary attribute has none. Real SNS filters on the text of an attribute,
27
+ * and bytes are not text, so a policy naming a binary attribute matches nothing
28
+ * rather than matching its base64.
29
+ */
30
+ function valuesOf(attribute) {
31
+ if (attribute.isBinary) {
32
+ return [];
33
+ }
34
+ const text = attribute.value.toString("utf8");
35
+ if (attribute.isNumber) {
36
+ return [SimSnsFilterValue.ofNumericText(text)];
37
+ }
38
+ if (attribute.isStringArray) {
39
+ return arrayValues(text);
40
+ }
41
+ return [SimSnsFilterValue.ofText(text)];
42
+ }
43
+ /**
44
+ * The message attributes of a publish, as a filter policy sees them.
45
+ *
46
+ * This is the default scope, and the flat one: an attribute has a name and no
47
+ * structure under it, so a policy nesting keys under this scope is refused when
48
+ * it is set.
49
+ */
50
+ export class SimSnsAttributeSubject {
51
+ byName;
52
+ constructor(byName) {
53
+ this.byName = byName;
54
+ }
55
+ /**
56
+ * Read the message attributes of one publish.
57
+ */
58
+ static of(attributes) {
59
+ return new this(new Map(attributes.all.map((attribute) => [
60
+ attribute.name,
61
+ valuesOf(attribute),
62
+ ])));
63
+ }
64
+ /**
65
+ * Whether the publish carried no message attributes at all.
66
+ *
67
+ * An attribute carrying bytes counts as one, even though a filter policy can
68
+ * match nothing against it: real SNS asks whether the message has attributes
69
+ * rather than whether it has ones worth matching.
70
+ */
71
+ get isEmpty() {
72
+ return this.byName.size === 0;
73
+ }
74
+ /**
75
+ * The values the attribute of a name holds, if there is one.
76
+ */
77
+ valuesAt(path) {
78
+ const [name] = path;
79
+ if (path.length !== 1 || name === undefined) {
80
+ return [];
81
+ }
82
+ return this.byName.get(name) ?? [];
83
+ }
84
+ }
85
+ //# sourceMappingURL=sim-sns-attribute-subject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-attribute-subject.js","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-attribute-subject.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;QAE7C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IAED,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,QAAQ,CACf,SAAiC;IAEjC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IAChB,MAAM,CAAoD;IAE3E,YACE,MAAyD;QAEzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,UAAmC;QAC3C,OAAO,IAAI,IAAI,CACb,IAAI,GAAG,CACL,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI;YACd,QAAQ,CAAC,SAAS,CAAC;SACpB,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAuB;QAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAEpB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ import type { SimSnsFilterSubject } from "./sim-sns-filter-subject.js";
2
+ import type { SimSnsFilterValue } from "./sim-sns-filter-value.js";
3
+ /**
4
+ * The parsed message body, as a filter policy of the `MessageBody` scope sees
5
+ * it.
6
+ *
7
+ * This is the scope that nests: a policy names a nested key by nesting itself,
8
+ * and the path is what it nested through.
9
+ */
10
+ export declare class SimSnsBodySubject implements SimSnsFilterSubject {
11
+ private readonly document;
12
+ private constructor();
13
+ /**
14
+ * Read the body of one published message.
15
+ */
16
+ static of(body: string): SimSnsBodySubject;
17
+ /**
18
+ * Whether the body holds no keys at all.
19
+ *
20
+ * A body that is not a JSON object holds none, which is what keeps
21
+ * `{"exists": false}` from matching a message that was never JSON in the
22
+ * first place.
23
+ */
24
+ get isEmpty(): boolean;
25
+ /**
26
+ * The values held at a key path, after going through what nests it.
27
+ */
28
+ valuesAt(path: readonly string[]): readonly SimSnsFilterValue[];
29
+ }
30
+ //# sourceMappingURL=sim-sns-body-subject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-body-subject.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-body-subject.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AA0BnE;;;;;;GAMG;AACH,qBAAa,iBAAkB,YAAW,mBAAmB;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD,OAAO,eAEN;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAEzC;IAED;;;;;;OAMG;IACH,IAAI,OAAO,IAAI,OAAO,CAIrB;IAED;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,iBAAiB,EAAE,CAa9D;CACF"}
@@ -0,0 +1,67 @@
1
+ import { isFilterPolicyObject } from "./sim-sns-filter-refusals.js";
2
+ import { simSnsJsonFilterValues } from "./sim-sns-json-filter-values.js";
3
+ /**
4
+ * Read a published message body as the JSON document a policy matches against.
5
+ *
6
+ * A body that is not JSON, or that is JSON without being an object, holds no
7
+ * keys at all. It is not an error: `MessageBody` filtering is set on the
8
+ * subscription and the body comes from whoever published, so a publisher
9
+ * sending text to a topic one subscription filters on this way would otherwise
10
+ * fail a delivery it knows nothing about. The message simply does not match.
11
+ */
12
+ function documentIn(body) {
13
+ try {
14
+ const parsed = JSON.parse(body);
15
+ if (isFilterPolicyObject(parsed)) {
16
+ return parsed;
17
+ }
18
+ }
19
+ catch {
20
+ // Not JSON, so there is nothing to match against.
21
+ }
22
+ return undefined;
23
+ }
24
+ /**
25
+ * The parsed message body, as a filter policy of the `MessageBody` scope sees
26
+ * it.
27
+ *
28
+ * This is the scope that nests: a policy names a nested key by nesting itself,
29
+ * and the path is what it nested through.
30
+ */
31
+ export class SimSnsBodySubject {
32
+ document;
33
+ constructor(document) {
34
+ this.document = document;
35
+ }
36
+ /**
37
+ * Read the body of one published message.
38
+ */
39
+ static of(body) {
40
+ return new this(documentIn(body));
41
+ }
42
+ /**
43
+ * Whether the body holds no keys at all.
44
+ *
45
+ * A body that is not a JSON object holds none, which is what keeps
46
+ * `{"exists": false}` from matching a message that was never JSON in the
47
+ * first place.
48
+ */
49
+ get isEmpty() {
50
+ return (this.document === undefined || Object.keys(this.document).length === 0);
51
+ }
52
+ /**
53
+ * The values held at a key path, after going through what nests it.
54
+ */
55
+ valuesAt(path) {
56
+ let held = this.document ?? null;
57
+ for (const key of path) {
58
+ if (!isFilterPolicyObject(held)) {
59
+ return [];
60
+ }
61
+ // eslint-disable-next-line security/detect-object-injection -- a key the filter policy named, read out of parsed JSON.
62
+ held = held[key] ?? null;
63
+ }
64
+ return simSnsJsonFilterValues(held);
65
+ }
66
+ }
67
+ //# sourceMappingURL=sim-sns-body-subject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-body-subject.js","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-body-subject.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;QAE7C,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IACX,QAAQ,CAAyB;IAElD,YAAoB,QAAgC;QAClD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAY;QACpB,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,IAAI,OAAO;QACT,OAAO,CACL,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CACvE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAuB;QAC9B,IAAI,IAAI,GAAc,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QAE5C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,uHAAuH;YACvH,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC3B,CAAC;QAED,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ import type { SimSnsFilterRule } from "./sim-sns-filter-rule.js";
2
+ import type { SimSnsFilterSubject } from "./sim-sns-filter-subject.js";
3
+ /**
4
+ * An `$or` across separate keys, which matches when any of its sides does.
5
+ *
6
+ * Each side is a policy of its own, so `{"$or": [{"type": ["order"]}, {"kind":
7
+ * ["refund"]}]}` matches a message carrying either key. Everything else in a
8
+ * policy is an and, which is why this needs a key of its own to express.
9
+ *
10
+ * Whether an `$or` is one at all is decided before this is built, in
11
+ * `sim-sns-filter-or-eligibility.ts`.
12
+ */
13
+ export declare class SimSnsFilterAnyRule implements SimSnsFilterRule {
14
+ private readonly alternatives;
15
+ constructor(alternatives: readonly SimSnsFilterRule[]);
16
+ /**
17
+ * Whether the message satisfies any one of the alternatives.
18
+ */
19
+ matches(subject: SimSnsFilterSubject): boolean;
20
+ }
21
+ //# sourceMappingURL=sim-sns-filter-any-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-filter-any-rule.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-filter-any-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8B;IAE3D,YAAY,YAAY,EAAE,SAAS,gBAAgB,EAAE,EAEpD;IAED;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAI7C;CACF"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * An `$or` across separate keys, which matches when any of its sides does.
3
+ *
4
+ * Each side is a policy of its own, so `{"$or": [{"type": ["order"]}, {"kind":
5
+ * ["refund"]}]}` matches a message carrying either key. Everything else in a
6
+ * policy is an and, which is why this needs a key of its own to express.
7
+ *
8
+ * Whether an `$or` is one at all is decided before this is built, in
9
+ * `sim-sns-filter-or-eligibility.ts`.
10
+ */
11
+ export class SimSnsFilterAnyRule {
12
+ alternatives;
13
+ constructor(alternatives) {
14
+ this.alternatives = alternatives;
15
+ }
16
+ /**
17
+ * Whether the message satisfies any one of the alternatives.
18
+ */
19
+ matches(subject) {
20
+ return this.alternatives.some((alternative) => alternative.matches(subject));
21
+ }
22
+ }
23
+ //# sourceMappingURL=sim-sns-filter-any-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-filter-any-rule.js","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-filter-any-rule.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,OAAO,mBAAmB;IACb,YAAY,CAA8B;IAE3D,YAAY,YAAyC;QACnD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAA4B;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAC5C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAC7B,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ import type { JSONValue } from "../../../util/type-guard/json.js";
2
+ import type { SimSnsFilterRule } from "./sim-sns-filter-rule.js";
3
+ import type { SimSnsFilterSubject } from "./sim-sns-filter-subject.js";
4
+ /**
5
+ * One key of a filter policy and the match conditions it holds.
6
+ *
7
+ * The list is read as an OR, which is what makes `{"type": ["order",
8
+ * "refund"]}` a rule about two kinds of message rather than a message that is
9
+ * somehow both.
10
+ */
11
+ export declare class SimSnsFilterKeyRule implements SimSnsFilterRule {
12
+ private readonly path;
13
+ private readonly conditions;
14
+ private constructor();
15
+ /**
16
+ * Read the list of match conditions a key holds.
17
+ *
18
+ * An empty list is refused rather than taken as a rule nothing satisfies. A
19
+ * policy that matched no message at all would be indistinguishable from one
20
+ * whose messages never turned up.
21
+ */
22
+ static of(path: readonly string[], written: readonly JSONValue[]): SimSnsFilterKeyRule;
23
+ /**
24
+ * Whether any of this key's match conditions holds for the message.
25
+ */
26
+ matches(subject: SimSnsFilterSubject): boolean;
27
+ }
28
+ //# sourceMappingURL=sim-sns-filter-key-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-filter-key-rule.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-filter-key-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAIlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAC1D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAE1D,OAAO,eAMN;IAED;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CACP,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,SAAS,SAAS,EAAE,GAC5B,mBAAmB,CAWrB;IAED;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAmB7C;CACF"}
@@ -0,0 +1,48 @@
1
+ import { simSnsFilterMatchOf } from "./sim-sns-filter-matches.js";
2
+ import { simSnsFilterPolicyRefusal } from "./sim-sns-filter-refusals.js";
3
+ /**
4
+ * One key of a filter policy and the match conditions it holds.
5
+ *
6
+ * The list is read as an OR, which is what makes `{"type": ["order",
7
+ * "refund"]}` a rule about two kinds of message rather than a message that is
8
+ * somehow both.
9
+ */
10
+ export class SimSnsFilterKeyRule {
11
+ path;
12
+ conditions;
13
+ constructor(path, conditions) {
14
+ this.path = path;
15
+ this.conditions = conditions;
16
+ }
17
+ /**
18
+ * Read the list of match conditions a key holds.
19
+ *
20
+ * An empty list is refused rather than taken as a rule nothing satisfies. A
21
+ * policy that matched no message at all would be indistinguishable from one
22
+ * whose messages never turned up.
23
+ */
24
+ static of(path, written) {
25
+ if (written.length === 0) {
26
+ throw simSnsFilterPolicyRefusal(`${path.join(".")} holds no match conditions, so nothing could match it`);
27
+ }
28
+ return new this(path, written.map((condition) => simSnsFilterMatchOf(condition)));
29
+ }
30
+ /**
31
+ * Whether any of this key's match conditions holds for the message.
32
+ */
33
+ matches(subject) {
34
+ const values = subject.valuesAt(this.path);
35
+ // A key the message does not carry is only matched by the operator that
36
+ // asks for it to be missing, and only when the message carries something
37
+ // else: real SNS states that `{"exists": false}` needs at least one
38
+ // attribute present, so a message carrying none matches no policy at all.
39
+ // A key holding several values, as a String.Array attribute or a JSON array
40
+ // does, is matched by any of them.
41
+ if (values.length === 0) {
42
+ return (!subject.isEmpty &&
43
+ this.conditions.some((condition) => condition.matchesAbsence));
44
+ }
45
+ return this.conditions.some((condition) => values.some((value) => condition.matchesValue(value)));
46
+ }
47
+ }
48
+ //# sourceMappingURL=sim-sns-filter-key-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-filter-key-rule.js","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-filter-key-rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAIzE;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IACb,IAAI,CAAoB;IACxB,UAAU,CAA+B;IAE1D,YACE,IAAuB,EACvB,UAAwC;QAExC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CACP,IAAuB,EACvB,OAA6B;QAE7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,yBAAyB,CAC7B,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,uDAAuD,CACzE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,IAAI,CACb,IAAI,EACJ,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAA4B;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,wEAAwE;QACxE,yEAAyE;QACzE,oEAAoE;QACpE,0EAA0E;QAC1E,4EAA4E;QAC5E,mCAAmC;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CACL,CAAC,OAAO,CAAC,OAAO;gBAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAC9D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACxC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACtD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import type { JSONValue } from "../../../util/type-guard/json.js";
2
+ import type { SimSnsFilterMatch } from "./match/sim-sns-filter-match.js";
3
+ /**
4
+ * Read one entry of the list a policy key holds.
5
+ *
6
+ * An object is an operator, and anything else is a value to match exactly.
7
+ */
8
+ export declare function simSnsFilterMatchOf(written: JSONValue): SimSnsFilterMatch;
9
+ //# sourceMappingURL=sim-sns-filter-matches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-filter-matches.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-filter-matches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAgCzE;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,GAAG,iBAAiB,CAazE"}
@@ -0,0 +1,40 @@
1
+ import { SimSnsUnsimulatedInputException } from "../error/sim-sns.error.js";
2
+ import { SimSnsExactMatch } from "./match/sim-sns-exact-match.js";
3
+ import { simSnsFilterOperators } from "./sim-sns-filter-operators.js";
4
+ import { filterPolicyOperator, isFilterPolicyObject, simSnsFilterPolicyRefusal, } from "./sim-sns-filter-refusals.js";
5
+ /**
6
+ * The one operator real SNS has that this simulation does not.
7
+ *
8
+ * IP range matching is refused when the policy is set rather than accepted and
9
+ * then matching nothing, because a subscription that filtered everything out
10
+ * would look like a policy nothing happened to match.
11
+ */
12
+ const simSnsCidrOperator = "cidr";
13
+ /**
14
+ * Refuse an operator this simulation cannot apply, naming it.
15
+ */
16
+ function unknownOperator(name) {
17
+ if (name === simSnsCidrOperator) {
18
+ return new SimSnsUnsimulatedInputException(`The filter policy operator ${simSnsCidrOperator} is not simulated. IP ` +
19
+ `range matching is refused when the policy is set, because a policy ` +
20
+ `holding it would match nothing and look like filtering that worked.`);
21
+ }
22
+ return simSnsFilterPolicyRefusal(`${name} is not a match operator`);
23
+ }
24
+ /**
25
+ * Read one entry of the list a policy key holds.
26
+ *
27
+ * An object is an operator, and anything else is a value to match exactly.
28
+ */
29
+ export function simSnsFilterMatchOf(written) {
30
+ if (!isFilterPolicyObject(written)) {
31
+ return SimSnsExactMatch.of(written);
32
+ }
33
+ const { name, operand } = filterPolicyOperator(written);
34
+ const operator = simSnsFilterOperators.get(name);
35
+ if (operator === undefined) {
36
+ throw unknownOperator(name);
37
+ }
38
+ return operator(operand);
39
+ }
40
+ //# sourceMappingURL=sim-sns-filter-matches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-filter-matches.js","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-filter-matches.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;GAEG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,OAAO,IAAI,+BAA+B,CACxC,8BAA8B,kBAAkB,wBAAwB;YACtE,qEAAqE;YACrE,qEAAqE,CACxE,CAAC;IACJ,CAAC;IAED,OAAO,yBAAyB,CAAC,GAAG,IAAI,0BAA0B,CAAC,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAkB;IACpD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEjD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { JSONValue } from "../../../util/type-guard/json.js";
2
+ import type { SimSnsFilterMatch } from "./match/sim-sns-filter-match.js";
3
+ /**
4
+ * How each operator reads the operand it was written with.
5
+ */
6
+ export type SimSnsFilterOperatorReader = (operand: JSONValue) => SimSnsFilterMatch;
7
+ /**
8
+ * Every operator a match condition can be written with.
9
+ *
10
+ * The one real SNS has that is missing here is `cidr`, which is refused by name
11
+ * rather than left out quietly.
12
+ */
13
+ export declare const simSnsFilterOperators: ReadonlyMap<string, SimSnsFilterOperatorReader>;
14
+ /**
15
+ * The names real SNS reserves, which a policy cannot use as a key.
16
+ *
17
+ * These are the operator names. An `$or` alternative naming one of them is not
18
+ * read as an alternative by real SNS, which is the rule that decides whether a
19
+ * policy is an or at all.
20
+ */
21
+ export declare const simSnsFilterReservedNames: ReadonlySet<string>;
22
+ //# sourceMappingURL=sim-sns-filter-operators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-filter-operators.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-filter-operators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAalE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAczE;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,SAAS,KACf,iBAAiB,CAAC;AAEvB;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAC7C,MAAM,EACN,0BAA0B,CA0B1B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAGxD,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { SimSnsAnythingButMatch, simSnsAnythingButOperator, } from "./match/sim-sns-anything-but-match.js";
2
+ import { SimSnsEqualsIgnoreCaseMatch, simSnsEqualsIgnoreCaseOperator, } from "./match/sim-sns-equals-ignore-case-match.js";
3
+ import { SimSnsExistsMatch, simSnsExistsOperator, } from "./match/sim-sns-exists-match.js";
4
+ import { SimSnsNumericMatch, simSnsNumericOperator, } from "./match/sim-sns-numeric-match.js";
5
+ import { SimSnsPrefixMatch, simSnsPrefixOperator, } from "./match/sim-sns-prefix-match.js";
6
+ import { SimSnsSuffixMatch, simSnsSuffixOperator, } from "./match/sim-sns-suffix-match.js";
7
+ /**
8
+ * Every operator a match condition can be written with.
9
+ *
10
+ * The one real SNS has that is missing here is `cidr`, which is refused by name
11
+ * rather than left out quietly.
12
+ */
13
+ export const simSnsFilterOperators = new Map([
14
+ [
15
+ simSnsPrefixOperator,
16
+ (operand) => SimSnsPrefixMatch.of(operand),
17
+ ],
18
+ [
19
+ simSnsSuffixOperator,
20
+ (operand) => SimSnsSuffixMatch.of(operand),
21
+ ],
22
+ [
23
+ simSnsEqualsIgnoreCaseOperator,
24
+ (operand) => SimSnsEqualsIgnoreCaseMatch.of(operand),
25
+ ],
26
+ [
27
+ simSnsNumericOperator,
28
+ (operand) => SimSnsNumericMatch.of(operand),
29
+ ],
30
+ [
31
+ simSnsExistsOperator,
32
+ (operand) => SimSnsExistsMatch.of(operand),
33
+ ],
34
+ [
35
+ simSnsAnythingButOperator,
36
+ (operand) => SimSnsAnythingButMatch.of(operand),
37
+ ],
38
+ ]);
39
+ /**
40
+ * The names real SNS reserves, which a policy cannot use as a key.
41
+ *
42
+ * These are the operator names. An `$or` alternative naming one of them is not
43
+ * read as an alternative by real SNS, which is the rule that decides whether a
44
+ * policy is an or at all.
45
+ */
46
+ export const simSnsFilterReservedNames = new Set([
47
+ ...simSnsFilterOperators.keys(),
48
+ "cidr",
49
+ ]);
50
+ //# sourceMappingURL=sim-sns-filter-operators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-filter-operators.js","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-filter-operators.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AASzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAG9B,IAAI,GAAG,CAAqC;IAC9C;QACE,oBAAoB;QACpB,CAAC,OAAO,EAAqB,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,CAAC;KAC9D;IACD;QACE,oBAAoB;QACpB,CAAC,OAAO,EAAqB,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,CAAC;KAC9D;IACD;QACE,8BAA8B;QAC9B,CAAC,OAAO,EAAqB,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,OAAO,CAAC;KACxE;IACD;QACE,qBAAqB;QACrB,CAAC,OAAO,EAAqB,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC;KAC/D;IACD;QACE,oBAAoB;QACpB,CAAC,OAAO,EAAqB,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,CAAC;KAC9D;IACD;QACE,yBAAyB;QACzB,CAAC,OAAO,EAAqB,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,CAAC;KACnE;CACF,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC;IACpE,GAAG,qBAAqB,CAAC,IAAI,EAAE;IAC/B,MAAM;CACP,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { JSONObject, JSONValue } from "../../../util/type-guard/json.js";
2
+ /**
3
+ * The key real SNS reads as an OR across separate keys.
4
+ */
5
+ export declare const simSnsOrKey = "$or";
6
+ /**
7
+ * Read the alternatives of an `$or`, refusing what real SNS would not read as
8
+ * one.
9
+ *
10
+ * Real SNS recognises an `$or` only when it holds an array of at least two
11
+ * objects, none of which names a reserved keyword. Anything else is an ordinary
12
+ * attribute name there rather than an error, which makes a policy that looks
13
+ * like an or and is not one: it asks about an attribute called `$or`, so it
14
+ * matches nothing. Each of those is refused here when the policy is set.
15
+ */
16
+ export declare function simSnsOrAlternatives(written: JSONValue): readonly JSONObject[];
17
+ //# sourceMappingURL=sim-sns-filter-or-eligibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-filter-or-eligibility.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-filter-or-eligibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAQ9E;;GAEG;AACH,eAAO,MAAM,WAAW,QAAQ,CAAC;AAmCjC;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,GACjB,SAAS,UAAU,EAAE,CAYvB"}
@@ -0,0 +1,47 @@
1
+ import { simSnsFilterReservedNames } from "./sim-sns-filter-operators.js";
2
+ import { filterPolicyList, isFilterPolicyObject, simSnsFilterPolicyRefusal, } from "./sim-sns-filter-refusals.js";
3
+ /**
4
+ * The key real SNS reads as an OR across separate keys.
5
+ */
6
+ export const simSnsOrKey = "$or";
7
+ /**
8
+ * Refuse an alternative real SNS would not read as one.
9
+ *
10
+ * Real SNS asks that no field name inside an `$or` be a reserved keyword, which
11
+ * is what the operators are named. A policy breaking that rule is not an error
12
+ * there: `$or` becomes an ordinary attribute name, so the policy asks about an
13
+ * attribute called `$or` and matches nothing. It is refused here instead,
14
+ * because a policy that quietly stopped being an or is the failure this feature
15
+ * exists to prevent.
16
+ */
17
+ function assertAlternative(written) {
18
+ if (!isFilterPolicyObject(written)) {
19
+ throw simSnsFilterPolicyRefusal(`each alternative of ${simSnsOrKey} is a policy of its own, and this one ` +
20
+ `is ${JSON.stringify(written)}`);
21
+ }
22
+ const reserved = Object.keys(written).find((name) => simSnsFilterReservedNames.has(name));
23
+ if (reserved !== undefined) {
24
+ throw simSnsFilterPolicyRefusal(`an alternative of ${simSnsOrKey} names keys of the message, and this ` +
25
+ `one names the reserved ${reserved}, which real SNS reads as an ` +
26
+ `attribute called ${simSnsOrKey} rather than as an or`);
27
+ }
28
+ return written;
29
+ }
30
+ /**
31
+ * Read the alternatives of an `$or`, refusing what real SNS would not read as
32
+ * one.
33
+ *
34
+ * Real SNS recognises an `$or` only when it holds an array of at least two
35
+ * objects, none of which names a reserved keyword. Anything else is an ordinary
36
+ * attribute name there rather than an error, which makes a policy that looks
37
+ * like an or and is not one: it asks about an attribute called `$or`, so it
38
+ * matches nothing. Each of those is refused here when the policy is set.
39
+ */
40
+ export function simSnsOrAlternatives(written) {
41
+ const alternatives = filterPolicyList(written, simSnsOrKey);
42
+ if (alternatives.length < 2) {
43
+ throw simSnsFilterPolicyRefusal(`${simSnsOrKey} holds at least two alternatives, and this one holds ${String(alternatives.length)}`);
44
+ }
45
+ return alternatives.map((alternative) => assertAlternative(alternative));
46
+ }
47
+ //# sourceMappingURL=sim-sns-filter-or-eligibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-filter-or-eligibility.js","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-filter-or-eligibility.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC;AAEjC;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,OAAkB;IAC3C,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,yBAAyB,CAC7B,uBAAuB,WAAW,wCAAwC;YACxE,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAClC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAClD,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CACpC,CAAC;IAEF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,yBAAyB,CAC7B,qBAAqB,WAAW,uCAAuC;YACrE,0BAA0B,QAAQ,+BAA+B;YACjE,oBAAoB,WAAW,uBAAuB,CACzD,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAkB;IAElB,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE5D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,yBAAyB,CAC7B,GAAG,WAAW,wDAAwD,MAAM,CAC1E,YAAY,CAAC,MAAM,CACpB,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { SimSnsPublishedMessage } from "../message/sim-sns-published-message.js";
2
+ import type { SimSnsFilterSubject } from "./sim-sns-filter-subject.js";
3
+ /**
4
+ * What part of a published message a filter policy is matched against.
5
+ *
6
+ * There are two, and which one a subscription uses decides what its policy can
7
+ * say: message attributes are a flat set of names, and a message body is a JSON
8
+ * document a policy can nest into.
9
+ */
10
+ export declare abstract class SimSnsFilterPolicyScope {
11
+ /**
12
+ * The name real SNS gives this scope, which is what the attribute is set to.
13
+ */
14
+ abstract get value(): string;
15
+ /**
16
+ * Whether a policy of this scope can name a key nested under another.
17
+ */
18
+ abstract get allowsNestedKeys(): boolean;
19
+ /**
20
+ * The part of a published message a policy of this scope matches against.
21
+ */
22
+ abstract subjectOf(message: SimSnsPublishedMessage): SimSnsFilterSubject;
23
+ }
24
+ /**
25
+ * The scope a subscription filters with unless it says otherwise, which is the
26
+ * one real SNS defaults to.
27
+ */
28
+ export declare const simSnsDefaultFilterPolicyScope: SimSnsFilterPolicyScope;
29
+ /**
30
+ * Read the `FilterPolicyScope` attribute of a request.
31
+ *
32
+ * An empty value is how an attribute is cleared, which puts the subscription
33
+ * back on the default scope. Anything real SNS does not have is refused.
34
+ */
35
+ export declare function simSnsFilterPolicyScopeOf(value: string): SimSnsFilterPolicyScope;
36
+ //# sourceMappingURL=sim-sns-filter-policy-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sns-filter-policy-scope.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/filter/sim-sns-filter-policy-scope.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAGtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;;;;;;GAMG;AACH,8BAAsB,uBAAuB;IAC3C;;OAEG;IACH,QAAQ,KAAK,KAAK,IAAI,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,KAAK,gBAAgB,IAAI,OAAO,CAAC;IAEzC;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,sBAAsB,GAAG,mBAAmB,CAAC;CAC1E;AAoCD;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,uBACT,CAAC;AAOrC;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,GACZ,uBAAuB,CAezB"}