@kensio/yulin 1.3.0 → 1.4.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 (375) hide show
  1. package/README.md +1 -0
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
  3. package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
  4. package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
  5. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +10 -8
  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 +22 -23
  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 +11 -0
  10. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.d.ts.map +1 -0
  11. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js +23 -0
  12. package/dist/service/aws/factory/sim-aws-s3-notification-destinations.js.map +1 -0
  13. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
  14. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  15. package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
  16. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  17. package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
  18. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  19. package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
  20. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  21. package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
  22. package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
  23. package/dist/service/aws/sim-aws-service-accessors.js +4 -0
  24. package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
  25. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.d.ts +4 -0
  26. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.d.ts.map +1 -1
  27. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.js +19 -2
  28. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-cfn-value-adapter.js.map +1 -1
  29. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts +20 -4
  30. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts.map +1 -1
  31. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js +28 -6
  32. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js.map +1 -1
  33. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.d.ts +26 -0
  34. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.d.ts.map +1 -0
  35. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js +28 -0
  36. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js.map +1 -0
  37. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts +26 -0
  38. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.d.ts.map +1 -0
  39. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js +27 -0
  40. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-creator.js.map +1 -0
  41. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.d.ts +17 -0
  42. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.d.ts.map +1 -0
  43. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.js +62 -0
  44. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-indexes.js.map +1 -0
  45. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts +37 -0
  46. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts.map +1 -0
  47. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js +88 -0
  48. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js.map +1 -0
  49. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts +23 -0
  50. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts.map +1 -0
  51. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js +151 -0
  52. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js.map +1 -0
  53. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.d.ts +29 -0
  54. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.d.ts.map +1 -0
  55. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.js +26 -0
  56. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property.js.map +1 -0
  57. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts +15 -0
  58. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts.map +1 -0
  59. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js +98 -0
  60. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js.map +1 -0
  61. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts +48 -0
  62. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts.map +1 -0
  63. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js +78 -0
  64. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js.map +1 -0
  65. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.d.ts +53 -0
  66. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.d.ts.map +1 -0
  67. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.js +46 -0
  68. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-resource.factory.js.map +1 -0
  69. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts +18 -0
  70. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts.map +1 -0
  71. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js +41 -0
  72. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js.map +1 -0
  73. package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-property-error.d.ts → property/sim-cfn-dynamodb-property-error.d.ts} +9 -5
  74. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.d.ts.map +1 -0
  75. package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-property-error.js → property/sim-cfn-dynamodb-property-error.js} +11 -7
  76. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.js.map +1 -0
  77. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts +54 -0
  78. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts.map +1 -0
  79. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js +71 -0
  80. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js.map +1 -0
  81. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.d.ts +17 -0
  82. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.d.ts.map +1 -0
  83. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.js +35 -0
  84. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-scalars.js.map +1 -0
  85. package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-values.d.ts → property/sim-cfn-dynamodb-property-values.d.ts} +23 -17
  86. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-values.d.ts.map +1 -0
  87. package/dist/service/dynamodb/cfn/{table/sim-cfn-dynamodb-table-values.js → property/sim-cfn-dynamodb-property-values.js} +33 -30
  88. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-values.js.map +1 -0
  89. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +6 -4
  90. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts.map +1 -1
  91. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +15 -5
  92. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js.map +1 -1
  93. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.d.ts +14 -0
  94. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.d.ts.map +1 -0
  95. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.js +14 -0
  96. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-type.js.map +1 -0
  97. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts +8 -26
  98. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts.map +1 -1
  99. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js +23 -59
  100. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js.map +1 -1
  101. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.d.ts +2 -2
  102. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.d.ts.map +1 -1
  103. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-indexes.js.map +1 -1
  104. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.d.ts +2 -2
  105. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.d.ts.map +1 -1
  106. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-key-schema.js.map +1 -1
  107. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts.map +1 -1
  108. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js +4 -2
  109. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js.map +1 -1
  110. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts +2 -3
  111. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts.map +1 -1
  112. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js +13 -18
  113. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js.map +1 -1
  114. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.d.ts +7 -0
  115. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.d.ts.map +1 -1
  116. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.js +5 -2
  117. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-resource.factory.js.map +1 -1
  118. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts +3 -15
  119. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts.map +1 -1
  120. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js +11 -33
  121. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js.map +1 -1
  122. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts +2 -2
  123. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.d.ts.map +1 -1
  124. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream.js.map +1 -1
  125. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.d.ts +2 -2
  126. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.d.ts.map +1 -1
  127. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-throughput.js.map +1 -1
  128. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-time-to-live.d.ts +2 -2
  129. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-time-to-live.d.ts.map +1 -1
  130. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-time-to-live.js.map +1 -1
  131. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.d.ts +26 -0
  132. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.d.ts.map +1 -0
  133. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.js +45 -0
  134. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.js.map +1 -0
  135. package/dist/service/rekognition/command/detect-faces/detect-faces-request.d.ts +12 -0
  136. package/dist/service/rekognition/command/detect-faces/detect-faces-request.d.ts.map +1 -0
  137. package/dist/service/rekognition/command/detect-faces/detect-faces-request.js +18 -0
  138. package/dist/service/rekognition/command/detect-faces/detect-faces-request.js.map +1 -0
  139. package/dist/service/rekognition/command/detect-faces/detect-faces.command.d.ts +133 -0
  140. package/dist/service/rekognition/command/detect-faces/detect-faces.command.d.ts.map +1 -0
  141. package/dist/service/rekognition/command/detect-faces/detect-faces.command.js +2 -0
  142. package/dist/service/rekognition/command/detect-faces/detect-faces.command.js.map +1 -0
  143. package/dist/service/rekognition/command/detect-faces/detect-faces.handler.d.ts +35 -0
  144. package/dist/service/rekognition/command/detect-faces/detect-faces.handler.d.ts.map +1 -0
  145. package/dist/service/rekognition/command/detect-faces/detect-faces.handler.js +39 -0
  146. package/dist/service/rekognition/command/detect-faces/detect-faces.handler.js.map +1 -0
  147. package/dist/service/rekognition/command/detect-labels/detect-labels-request.d.ts +30 -0
  148. package/dist/service/rekognition/command/detect-labels/detect-labels-request.d.ts.map +1 -0
  149. package/dist/service/rekognition/command/detect-labels/detect-labels-request.js +71 -0
  150. package/dist/service/rekognition/command/detect-labels/detect-labels-request.js.map +1 -0
  151. package/dist/service/rekognition/command/detect-labels/detect-labels.command.d.ts +57 -0
  152. package/dist/service/rekognition/command/detect-labels/detect-labels.command.d.ts.map +1 -0
  153. package/dist/service/rekognition/command/detect-labels/detect-labels.command.js +2 -0
  154. package/dist/service/rekognition/command/detect-labels/detect-labels.command.js.map +1 -0
  155. package/dist/service/rekognition/command/detect-labels/detect-labels.handler.d.ts +35 -0
  156. package/dist/service/rekognition/command/detect-labels/detect-labels.handler.d.ts.map +1 -0
  157. package/dist/service/rekognition/command/detect-labels/detect-labels.handler.js +41 -0
  158. package/dist/service/rekognition/command/detect-labels/detect-labels.handler.js.map +1 -0
  159. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.d.ts +17 -0
  160. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.d.ts.map +1 -0
  161. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.js +30 -0
  162. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels-request.js.map +1 -0
  163. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.d.ts +42 -0
  164. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.d.ts.map +1 -0
  165. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.js +2 -0
  166. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.command.js.map +1 -0
  167. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.d.ts +36 -0
  168. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.d.ts.map +1 -0
  169. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.js +47 -0
  170. package/dist/service/rekognition/command/detect-moderation-labels/detect-moderation-labels.handler.js.map +1 -0
  171. package/dist/service/rekognition/command/sim-rekognition-min-confidence.d.ts +19 -0
  172. package/dist/service/rekognition/command/sim-rekognition-min-confidence.d.ts.map +1 -0
  173. package/dist/service/rekognition/command/sim-rekognition-min-confidence.js +34 -0
  174. package/dist/service/rekognition/command/sim-rekognition-min-confidence.js.map +1 -0
  175. package/dist/service/rekognition/command/sim-rekognition-request-options.d.ts +16 -0
  176. package/dist/service/rekognition/command/sim-rekognition-request-options.d.ts.map +1 -0
  177. package/dist/service/rekognition/command/sim-rekognition-request-options.js +2 -0
  178. package/dist/service/rekognition/command/sim-rekognition-request-options.js.map +1 -0
  179. package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.d.ts +19 -0
  180. package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.d.ts.map +1 -0
  181. package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.js +30 -0
  182. package/dist/service/rekognition/command/sim-rekognition-unsimulated-input.js.map +1 -0
  183. package/dist/service/rekognition/error/sim-rekognition.error.d.ts +87 -0
  184. package/dist/service/rekognition/error/sim-rekognition.error.d.ts.map +1 -0
  185. package/dist/service/rekognition/error/sim-rekognition.error.js +95 -0
  186. package/dist/service/rekognition/error/sim-rekognition.error.js.map +1 -0
  187. package/dist/service/rekognition/face/sim-rekognition-declared-value.d.ts +26 -0
  188. package/dist/service/rekognition/face/sim-rekognition-declared-value.d.ts.map +1 -0
  189. package/dist/service/rekognition/face/sim-rekognition-declared-value.js +28 -0
  190. package/dist/service/rekognition/face/sim-rekognition-declared-value.js.map +1 -0
  191. package/dist/service/rekognition/face/sim-rekognition-detected-face.d.ts +29 -0
  192. package/dist/service/rekognition/face/sim-rekognition-detected-face.d.ts.map +1 -0
  193. package/dist/service/rekognition/face/sim-rekognition-detected-face.js +53 -0
  194. package/dist/service/rekognition/face/sim-rekognition-detected-face.js.map +1 -0
  195. package/dist/service/rekognition/face/sim-rekognition-emotion-name.d.ts +18 -0
  196. package/dist/service/rekognition/face/sim-rekognition-emotion-name.d.ts.map +1 -0
  197. package/dist/service/rekognition/face/sim-rekognition-emotion-name.js +27 -0
  198. package/dist/service/rekognition/face/sim-rekognition-emotion-name.js.map +1 -0
  199. package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.d.ts +24 -0
  200. package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.d.ts.map +1 -0
  201. package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.js +62 -0
  202. package/dist/service/rekognition/face/sim-rekognition-face-age-and-gender.js.map +1 -0
  203. package/dist/service/rekognition/face/sim-rekognition-face-attributes.d.ts +41 -0
  204. package/dist/service/rekognition/face/sim-rekognition-face-attributes.d.ts.map +1 -0
  205. package/dist/service/rekognition/face/sim-rekognition-face-attributes.js +75 -0
  206. package/dist/service/rekognition/face/sim-rekognition-face-attributes.js.map +1 -0
  207. package/dist/service/rekognition/face/sim-rekognition-face-declaration.d.ts +116 -0
  208. package/dist/service/rekognition/face/sim-rekognition-face-declaration.d.ts.map +1 -0
  209. package/dist/service/rekognition/face/sim-rekognition-face-declaration.js +2 -0
  210. package/dist/service/rekognition/face/sim-rekognition-face-declaration.js.map +1 -0
  211. package/dist/service/rekognition/face/sim-rekognition-face-defaults.d.ts +31 -0
  212. package/dist/service/rekognition/face/sim-rekognition-face-defaults.d.ts.map +1 -0
  213. package/dist/service/rekognition/face/sim-rekognition-face-defaults.js +120 -0
  214. package/dist/service/rekognition/face/sim-rekognition-face-defaults.js.map +1 -0
  215. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.d.ts +31 -0
  216. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.d.ts.map +1 -0
  217. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.js +38 -0
  218. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.js.map +1 -0
  219. package/dist/service/rekognition/face/sim-rekognition-face-detection.d.ts +21 -0
  220. package/dist/service/rekognition/face/sim-rekognition-face-detection.d.ts.map +1 -0
  221. package/dist/service/rekognition/face/sim-rekognition-face-detection.js +33 -0
  222. package/dist/service/rekognition/face/sim-rekognition-face-detection.js.map +1 -0
  223. package/dist/service/rekognition/face/sim-rekognition-face-emotions.d.ts +23 -0
  224. package/dist/service/rekognition/face/sim-rekognition-face-emotions.d.ts.map +1 -0
  225. package/dist/service/rekognition/face/sim-rekognition-face-emotions.js +55 -0
  226. package/dist/service/rekognition/face/sim-rekognition-face-emotions.js.map +1 -0
  227. package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.d.ts +19 -0
  228. package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.d.ts.map +1 -0
  229. package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.js +31 -0
  230. package/dist/service/rekognition/face/sim-rekognition-face-eye-direction.js.map +1 -0
  231. package/dist/service/rekognition/face/sim-rekognition-face-feature-members.d.ts +56 -0
  232. package/dist/service/rekognition/face/sim-rekognition-face-feature-members.d.ts.map +1 -0
  233. package/dist/service/rekognition/face/sim-rekognition-face-feature-members.js +22 -0
  234. package/dist/service/rekognition/face/sim-rekognition-face-feature-members.js.map +1 -0
  235. package/dist/service/rekognition/face/sim-rekognition-face-features.d.ts +19 -0
  236. package/dist/service/rekognition/face/sim-rekognition-face-features.d.ts.map +1 -0
  237. package/dist/service/rekognition/face/sim-rekognition-face-features.js +39 -0
  238. package/dist/service/rekognition/face/sim-rekognition-face-features.js.map +1 -0
  239. package/dist/service/rekognition/face/sim-rekognition-face-frame.d.ts +27 -0
  240. package/dist/service/rekognition/face/sim-rekognition-face-frame.d.ts.map +1 -0
  241. package/dist/service/rekognition/face/sim-rekognition-face-frame.js +74 -0
  242. package/dist/service/rekognition/face/sim-rekognition-face-frame.js.map +1 -0
  243. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.d.ts +25 -0
  244. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.d.ts.map +1 -0
  245. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.js +89 -0
  246. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.js.map +1 -0
  247. package/dist/service/rekognition/face/sim-rekognition-face-landmarks.d.ts +20 -0
  248. package/dist/service/rekognition/face/sim-rekognition-face-landmarks.d.ts.map +1 -0
  249. package/dist/service/rekognition/face/sim-rekognition-face-landmarks.js +32 -0
  250. package/dist/service/rekognition/face/sim-rekognition-face-landmarks.js.map +1 -0
  251. package/dist/service/rekognition/face/sim-rekognition-face-measures.d.ts +27 -0
  252. package/dist/service/rekognition/face/sim-rekognition-face-measures.d.ts.map +1 -0
  253. package/dist/service/rekognition/face/sim-rekognition-face-measures.js +49 -0
  254. package/dist/service/rekognition/face/sim-rekognition-face-measures.js.map +1 -0
  255. package/dist/service/rekognition/face/sim-rekognition-faces.d.ts +36 -0
  256. package/dist/service/rekognition/face/sim-rekognition-faces.d.ts.map +1 -0
  257. package/dist/service/rekognition/face/sim-rekognition-faces.js +49 -0
  258. package/dist/service/rekognition/face/sim-rekognition-faces.js.map +1 -0
  259. package/dist/service/rekognition/face/sim-rekognition-landmark-name.d.ts +30 -0
  260. package/dist/service/rekognition/face/sim-rekognition-landmark-name.d.ts.map +1 -0
  261. package/dist/service/rekognition/face/sim-rekognition-landmark-name.js +66 -0
  262. package/dist/service/rekognition/face/sim-rekognition-landmark-name.js.map +1 -0
  263. package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.d.ts +48 -0
  264. package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.d.ts.map +1 -0
  265. package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.js +78 -0
  266. package/dist/service/rekognition/image/s3/sim-aws-rekognition-image-objects.js.map +1 -0
  267. package/dist/service/rekognition/image/sim-rekognition-bounding-box.d.ts +48 -0
  268. package/dist/service/rekognition/image/sim-rekognition-bounding-box.d.ts.map +1 -0
  269. package/dist/service/rekognition/image/sim-rekognition-bounding-box.js +50 -0
  270. package/dist/service/rekognition/image/sim-rekognition-bounding-box.js.map +1 -0
  271. package/dist/service/rekognition/image/sim-rekognition-image-format.d.ts +17 -0
  272. package/dist/service/rekognition/image/sim-rekognition-image-format.d.ts.map +1 -0
  273. package/dist/service/rekognition/image/sim-rekognition-image-format.js +28 -0
  274. package/dist/service/rekognition/image/sim-rekognition-image-format.js.map +1 -0
  275. package/dist/service/rekognition/image/sim-rekognition-image-hash.d.ts +15 -0
  276. package/dist/service/rekognition/image/sim-rekognition-image-hash.d.ts.map +1 -0
  277. package/dist/service/rekognition/image/sim-rekognition-image-hash.js +20 -0
  278. package/dist/service/rekognition/image/sim-rekognition-image-hash.js.map +1 -0
  279. package/dist/service/rekognition/image/sim-rekognition-image-input.d.ts +23 -0
  280. package/dist/service/rekognition/image/sim-rekognition-image-input.d.ts.map +1 -0
  281. package/dist/service/rekognition/image/sim-rekognition-image-input.js +2 -0
  282. package/dist/service/rekognition/image/sim-rekognition-image-input.js.map +1 -0
  283. package/dist/service/rekognition/image/sim-rekognition-image-objects.d.ts +35 -0
  284. package/dist/service/rekognition/image/sim-rekognition-image-objects.d.ts.map +1 -0
  285. package/dist/service/rekognition/image/sim-rekognition-image-objects.js +21 -0
  286. package/dist/service/rekognition/image/sim-rekognition-image-objects.js.map +1 -0
  287. package/dist/service/rekognition/image/sim-rekognition-image-request.d.ts +59 -0
  288. package/dist/service/rekognition/image/sim-rekognition-image-request.d.ts.map +1 -0
  289. package/dist/service/rekognition/image/sim-rekognition-image-request.js +88 -0
  290. package/dist/service/rekognition/image/sim-rekognition-image-request.js.map +1 -0
  291. package/dist/service/rekognition/image/sim-rekognition-image.d.ts +30 -0
  292. package/dist/service/rekognition/image/sim-rekognition-image.d.ts.map +1 -0
  293. package/dist/service/rekognition/image/sim-rekognition-image.js +36 -0
  294. package/dist/service/rekognition/image/sim-rekognition-image.js.map +1 -0
  295. package/dist/service/rekognition/index.d.ts +18 -0
  296. package/dist/service/rekognition/index.d.ts.map +1 -0
  297. package/dist/service/rekognition/index.js +13 -0
  298. package/dist/service/rekognition/index.js.map +1 -0
  299. package/dist/service/rekognition/label/sim-rekognition-detected-label.d.ts +11 -0
  300. package/dist/service/rekognition/label/sim-rekognition-detected-label.d.ts.map +1 -0
  301. package/dist/service/rekognition/label/sim-rekognition-detected-label.js +49 -0
  302. package/dist/service/rekognition/label/sim-rekognition-detected-label.js.map +1 -0
  303. package/dist/service/rekognition/label/sim-rekognition-label-declaration.d.ts +43 -0
  304. package/dist/service/rekognition/label/sim-rekognition-label-declaration.d.ts.map +1 -0
  305. package/dist/service/rekognition/label/sim-rekognition-label-declaration.js +10 -0
  306. package/dist/service/rekognition/label/sim-rekognition-label-declaration.js.map +1 -0
  307. package/dist/service/rekognition/label/sim-rekognition-label-defaults.d.ts +22 -0
  308. package/dist/service/rekognition/label/sim-rekognition-label-defaults.d.ts.map +1 -0
  309. package/dist/service/rekognition/label/sim-rekognition-label-defaults.js +42 -0
  310. package/dist/service/rekognition/label/sim-rekognition-label-defaults.js.map +1 -0
  311. package/dist/service/rekognition/label/sim-rekognition-label-detection.d.ts +32 -0
  312. package/dist/service/rekognition/label/sim-rekognition-label-detection.d.ts.map +1 -0
  313. package/dist/service/rekognition/label/sim-rekognition-label-detection.js +35 -0
  314. package/dist/service/rekognition/label/sim-rekognition-label-detection.js.map +1 -0
  315. package/dist/service/rekognition/label/sim-rekognition-label-instances.d.ts +19 -0
  316. package/dist/service/rekognition/label/sim-rekognition-label-instances.d.ts.map +1 -0
  317. package/dist/service/rekognition/label/sim-rekognition-label-instances.js +28 -0
  318. package/dist/service/rekognition/label/sim-rekognition-label-instances.js.map +1 -0
  319. package/dist/service/rekognition/label/sim-rekognition-labels.d.ts +30 -0
  320. package/dist/service/rekognition/label/sim-rekognition-labels.d.ts.map +1 -0
  321. package/dist/service/rekognition/label/sim-rekognition-labels.js +38 -0
  322. package/dist/service/rekognition/label/sim-rekognition-labels.js.map +1 -0
  323. package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.d.ts +29 -0
  324. package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.d.ts.map +1 -0
  325. package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.js +85 -0
  326. package/dist/service/rekognition/moderation/sim-rekognition-moderation-labels.js.map +1 -0
  327. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.d.ts +46 -0
  328. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.d.ts.map +1 -0
  329. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.js +79 -0
  330. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.js.map +1 -0
  331. package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.d.ts +55 -0
  332. package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.d.ts.map +1 -0
  333. package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.js +87 -0
  334. package/dist/service/rekognition/moderation/sim-rekognition-moderation-taxonomy.js.map +1 -0
  335. package/dist/service/rekognition/moderation/sim-rekognition-moderation.d.ts +35 -0
  336. package/dist/service/rekognition/moderation/sim-rekognition-moderation.d.ts.map +1 -0
  337. package/dist/service/rekognition/moderation/sim-rekognition-moderation.js +57 -0
  338. package/dist/service/rekognition/moderation/sim-rekognition-moderation.js.map +1 -0
  339. package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.d.ts +21 -0
  340. package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.d.ts.map +1 -0
  341. package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.js +34 -0
  342. package/dist/service/rekognition/rule/sim-rekognition-declared-confidence.js.map +1 -0
  343. package/dist/service/rekognition/rule/sim-rekognition-result-rules.d.ts +51 -0
  344. package/dist/service/rekognition/rule/sim-rekognition-result-rules.d.ts.map +1 -0
  345. package/dist/service/rekognition/rule/sim-rekognition-result-rules.js +80 -0
  346. package/dist/service/rekognition/rule/sim-rekognition-result-rules.js.map +1 -0
  347. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.d.ts +27 -0
  348. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.d.ts.map +1 -0
  349. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.js +62 -0
  350. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.js.map +1 -0
  351. package/dist/service/rekognition/sample/sim-rekognition-sample-image.d.ts +26 -0
  352. package/dist/service/rekognition/sample/sim-rekognition-sample-image.d.ts.map +1 -0
  353. package/dist/service/rekognition/sample/sim-rekognition-sample-image.js +32 -0
  354. package/dist/service/rekognition/sample/sim-rekognition-sample-image.js.map +1 -0
  355. package/dist/service/rekognition/sample/sim-rekognition-sample-images.d.ts +52 -0
  356. package/dist/service/rekognition/sample/sim-rekognition-sample-images.d.ts.map +1 -0
  357. package/dist/service/rekognition/sample/sim-rekognition-sample-images.js +63 -0
  358. package/dist/service/rekognition/sample/sim-rekognition-sample-images.js.map +1 -0
  359. package/dist/service/rekognition/sample/sim-rekognition-sample-rules.d.ts +29 -0
  360. package/dist/service/rekognition/sample/sim-rekognition-sample-rules.d.ts.map +1 -0
  361. package/dist/service/rekognition/sample/sim-rekognition-sample-rules.js +31 -0
  362. package/dist/service/rekognition/sample/sim-rekognition-sample-rules.js.map +1 -0
  363. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.d.ts +20 -0
  364. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.d.ts.map +1 -0
  365. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.js +38 -0
  366. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.js.map +1 -0
  367. package/dist/service/rekognition/sim-rekognition.d.ts +95 -0
  368. package/dist/service/rekognition/sim-rekognition.d.ts.map +1 -0
  369. package/dist/service/rekognition/sim-rekognition.js +124 -0
  370. package/dist/service/rekognition/sim-rekognition.js.map +1 -0
  371. package/package.json +6 -1
  372. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.d.ts.map +0 -1
  373. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-error.js.map +0 -1
  374. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.d.ts.map +0 -1
  375. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-values.js.map +0 -1
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The emotions real Rekognition names on a face.
3
+ *
4
+ * These are appearances rather than feelings, as AWS is careful to say: the
5
+ * value describes what the face looks like and not what the person is.
6
+ *
7
+ * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_Emotion.html
8
+ */
9
+ export const simRekognitionEmotionNames = [
10
+ "HAPPY",
11
+ "SAD",
12
+ "ANGRY",
13
+ "CONFUSED",
14
+ "DISGUSTED",
15
+ "SURPRISED",
16
+ "CALM",
17
+ "FEAR",
18
+ "UNKNOWN",
19
+ ];
20
+ const emotionNames = new Set(simRekognitionEmotionNames);
21
+ /**
22
+ * Whether a name is one of the emotions Rekognition reports.
23
+ */
24
+ export function isSimRekognitionEmotionName(name) {
25
+ return emotionNames.has(name);
26
+ }
27
+ //# sourceMappingURL=sim-rekognition-emotion-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rekognition-emotion-name.js","sourceRoot":"","sources":["../../../../src/service/rekognition/face/sim-rekognition-emotion-name.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,OAAO;IACP,KAAK;IACL,OAAO;IACP,UAAU;IACV,WAAW;IACX,WAAW;IACX,MAAM;IACN,MAAM;IACN,SAAS;CACD,CAAC;AAQX,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAY;IAEZ,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { SimRekognitionDeclaredConfidence } from "../rule/sim-rekognition-declared-confidence.js";
2
+ import type { SimRekognitionDeclaredFace } from "./sim-rekognition-face-declaration.js";
3
+ import type { SimRekognitionFaceDetailBuilder } from "./sim-rekognition-face-detail-builder.js";
4
+ /**
5
+ * The two attributes describing the person rather than the picture: the age
6
+ * range estimated for a declared face and the gender predicted for it.
7
+ *
8
+ * Both are estimates real Rekognition reports as such, and neither is filled
9
+ * in when a declaration leaves it out.
10
+ */
11
+ export declare class SimRekognitionFaceAgeAndGender {
12
+ private readonly subject;
13
+ private readonly ageRange;
14
+ private readonly gender;
15
+ constructor(subject: string, confidence: SimRekognitionDeclaredConfidence, declared: SimRekognitionDeclaredFace);
16
+ /**
17
+ * Add the age range and gender this face declared to a detail.
18
+ */
19
+ addTo(builder: SimRekognitionFaceDetailBuilder): void;
20
+ private ageRangeOf;
21
+ private genderOf;
22
+ private genderValue;
23
+ }
24
+ //# sourceMappingURL=sim-rekognition-face-age-and-gender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rekognition-face-age-and-gender.d.ts","sourceRoot":"","sources":["../../../../src/service/rekognition/face/sim-rekognition-face-age-and-gender.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAC;AAEvG,OAAO,KAAK,EAEV,0BAA0B,EAE3B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAGhG;;;;;;GAMG;AACH,qBAAa,8BAA8B;IAKvC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAEhE,YACmB,OAAO,EAAE,MAAM,EAChC,UAAU,EAAE,gCAAgC,EAC5C,QAAQ,EAAE,0BAA0B,EAIrC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,+BAA+B,GAAG,IAAI,CAIpD;IAED,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,WAAW;CAUpB"}
@@ -0,0 +1,62 @@
1
+ import { SimRekognitionDeclarationError } from "../error/sim-rekognition.error.js";
2
+ import { simRekognitionDeclaredGender } from "./sim-rekognition-declared-value.js";
3
+ import { SimRekognitionFaceMeasures } from "./sim-rekognition-face-measures.js";
4
+ /**
5
+ * The two attributes describing the person rather than the picture: the age
6
+ * range estimated for a declared face and the gender predicted for it.
7
+ *
8
+ * Both are estimates real Rekognition reports as such, and neither is filled
9
+ * in when a declaration leaves it out.
10
+ */
11
+ export class SimRekognitionFaceAgeAndGender {
12
+ subject;
13
+ ageRange;
14
+ gender;
15
+ constructor(subject, confidence, declared) {
16
+ this.subject = subject;
17
+ this.ageRange = this.ageRangeOf(declared.ageRange);
18
+ this.gender = this.genderOf(confidence, declared.gender);
19
+ }
20
+ /**
21
+ * Add the age range and gender this face declared to a detail.
22
+ */
23
+ addTo(builder) {
24
+ builder
25
+ .carry("AgeRange", "AGE_RANGE", this.ageRange)
26
+ .carry("Gender", "GENDER", this.gender);
27
+ }
28
+ ageRangeOf(declared) {
29
+ if (declared === undefined) {
30
+ return undefined;
31
+ }
32
+ const measures = new SimRekognitionFaceMeasures(this.subject);
33
+ const range = {
34
+ Low: measures.years("low", declared.low),
35
+ High: measures.years("high", declared.high),
36
+ };
37
+ if (range.High < range.Low) {
38
+ throw new SimRekognitionDeclarationError(`An age range declared for '${this.subject}' runs from ` +
39
+ `${String(range.Low)} to ${String(range.High)}, which ends before ` +
40
+ `it begins.`);
41
+ }
42
+ return range;
43
+ }
44
+ genderOf(confidence, declared) {
45
+ if (declared === undefined) {
46
+ return undefined;
47
+ }
48
+ const gender = simRekognitionDeclaredGender(declared);
49
+ return {
50
+ Value: this.genderValue(gender.value),
51
+ Confidence: confidence.of(this.subject, gender.confidence),
52
+ };
53
+ }
54
+ genderValue(value) {
55
+ if (value === "Male" || value === "Female") {
56
+ return value;
57
+ }
58
+ throw new SimRekognitionDeclarationError(`A gender of '${value}' declared for '${this.subject}' is not one ` +
59
+ `real Rekognition predicts, which is 'Male' or 'Female'.`);
60
+ }
61
+ }
62
+ //# sourceMappingURL=sim-rekognition-face-age-and-gender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rekognition-face-age-and-gender.js","sourceRoot":"","sources":["../../../../src/service/rekognition/face/sim-rekognition-face-age-and-gender.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAEnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAOnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,OAAO,8BAA8B;IAKtB,OAAO;IAJT,QAAQ,CAA2C;IACnD,MAAM,CAAyC;IAEhE,YACmB,OAAe,EAChC,UAA4C,EAC5C,QAAoC;uBAFnB,OAAO;QAIxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAwC;QAC5C,OAAO;aACJ,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC;aAC7C,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAEO,UAAU,CAChB,QAAoD;QAEpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC;YACxC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC;SAC5C,CAAC;QAEF,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,IAAI,8BAA8B,CACtC,8BAA8B,IAAI,CAAC,OAAO,cAAc;gBACtD,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB;gBACnE,YAAY,CACf,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,QAAQ,CACd,UAA4C,EAC5C,QAAkD;QAElD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAEtD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;YACrC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;SAC3D,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,8BAA8B,CACtC,gBAAgB,KAAK,mBAAmB,IAAI,CAAC,OAAO,eAAe;YACjE,yDAAyD,CAC5D,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * The attribute the members every response carries belong to.
3
+ *
4
+ * `BoundingBox`, `Confidence`, `Pose`, `Quality` and `Landmarks` come back
5
+ * whatever the request asked for, which is what AWS means by a default subset.
6
+ */
7
+ export declare const simRekognitionDefaultFaceAttribute = "DEFAULT";
8
+ /**
9
+ * The values `Attributes` accepts, other than `DEFAULT` and `ALL`.
10
+ *
11
+ * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectFaces.html
12
+ */
13
+ export declare const simRekognitionFaceAttributeNames: readonly ["AGE_RANGE", "BEARD", "EMOTIONS", "EYE_DIRECTION", "EYEGLASSES", "EYES_OPEN", "GENDER", "MOUTH_OPEN", "MUSTACHE", "FACE_OCCLUDED", "SMILE", "SUNGLASSES"];
14
+ /**
15
+ * The name of one facial attribute a response can carry.
16
+ */
17
+ export type SimRekognitionFaceAttributeName = typeof simRekognitionDefaultFaceAttribute | (typeof simRekognitionFaceAttributeNames)[number];
18
+ /**
19
+ * The facial attributes one DetectFaces request asked for.
20
+ *
21
+ * The default subset is always carried, so `["FACE_OCCLUDED"]` is the default
22
+ * subset with face occlusion added rather than face occlusion on its own, and
23
+ * `["ALL", "DEFAULT"]` is the union the two describe together.
24
+ */
25
+ export declare class SimRekognitionFaceAttributes {
26
+ private readonly requested;
27
+ constructor(requested?: readonly string[]);
28
+ private static refuseUnknown;
29
+ /**
30
+ * Whether a response is to carry the members of one attribute.
31
+ */
32
+ wants(attribute: SimRekognitionFaceAttributeName): boolean;
33
+ /**
34
+ * Whether every declared landmark is to be reported.
35
+ *
36
+ * Real Rekognition reports five landmarks unless `ALL` was asked for, and
37
+ * the whole set when it was.
38
+ */
39
+ wantsEveryLandmark(): boolean;
40
+ }
41
+ //# sourceMappingURL=sim-rekognition-face-attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rekognition-face-attributes.d.ts","sourceRoot":"","sources":["../../../../src/service/rekognition/face/sim-rekognition-face-attributes.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,YAAY,CAAC;AAI5D;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,YAC3C,WAAW,EACX,OAAO,EACP,UAAU,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,eAAe,EACf,OAAO,EACP,YAAY,CACJ,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,+BAA+B,GACvC,OAAO,kCAAkC,GACzC,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,CAAC,CAAC;AAQtD;;;;;;GAMG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAEhD,YAAY,SAAS,GAAE,SAAS,MAAM,EAAO,EAM5C;IAED,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,+BAA+B,GAAG,OAAO,CAMzD;IAED;;;;;OAKG;IACH,kBAAkB,IAAI,OAAO,CAE5B;CACF"}
@@ -0,0 +1,75 @@
1
+ import { SimRekognitionInvalidParameterException } from "../error/sim-rekognition.error.js";
2
+ /**
3
+ * The attribute the members every response carries belong to.
4
+ *
5
+ * `BoundingBox`, `Confidence`, `Pose`, `Quality` and `Landmarks` come back
6
+ * whatever the request asked for, which is what AWS means by a default subset.
7
+ */
8
+ export const simRekognitionDefaultFaceAttribute = "DEFAULT";
9
+ const allAttributes = "ALL";
10
+ /**
11
+ * The values `Attributes` accepts, other than `DEFAULT` and `ALL`.
12
+ *
13
+ * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectFaces.html
14
+ */
15
+ export const simRekognitionFaceAttributeNames = [
16
+ "AGE_RANGE",
17
+ "BEARD",
18
+ "EMOTIONS",
19
+ "EYE_DIRECTION",
20
+ "EYEGLASSES",
21
+ "EYES_OPEN",
22
+ "GENDER",
23
+ "MOUTH_OPEN",
24
+ "MUSTACHE",
25
+ "FACE_OCCLUDED",
26
+ "SMILE",
27
+ "SUNGLASSES",
28
+ ];
29
+ const accepted = new Set([
30
+ simRekognitionDefaultFaceAttribute,
31
+ allAttributes,
32
+ ...simRekognitionFaceAttributeNames,
33
+ ]);
34
+ /**
35
+ * The facial attributes one DetectFaces request asked for.
36
+ *
37
+ * The default subset is always carried, so `["FACE_OCCLUDED"]` is the default
38
+ * subset with face occlusion added rather than face occlusion on its own, and
39
+ * `["ALL", "DEFAULT"]` is the union the two describe together.
40
+ */
41
+ export class SimRekognitionFaceAttributes {
42
+ requested;
43
+ constructor(requested = []) {
44
+ for (const attribute of requested) {
45
+ SimRekognitionFaceAttributes.refuseUnknown(attribute);
46
+ }
47
+ this.requested = new Set(requested);
48
+ }
49
+ static refuseUnknown(attribute) {
50
+ if (accepted.has(attribute)) {
51
+ return;
52
+ }
53
+ throw new SimRekognitionInvalidParameterException(`Request has invalid parameters: Attributes of ${attribute} is not a ` +
54
+ `facial attribute Rekognition reports`);
55
+ }
56
+ /**
57
+ * Whether a response is to carry the members of one attribute.
58
+ */
59
+ wants(attribute) {
60
+ if (attribute === simRekognitionDefaultFaceAttribute) {
61
+ return true;
62
+ }
63
+ return this.requested.has(allAttributes) || this.requested.has(attribute);
64
+ }
65
+ /**
66
+ * Whether every declared landmark is to be reported.
67
+ *
68
+ * Real Rekognition reports five landmarks unless `ALL` was asked for, and
69
+ * the whole set when it was.
70
+ */
71
+ wantsEveryLandmark() {
72
+ return this.requested.has(allAttributes);
73
+ }
74
+ }
75
+ //# sourceMappingURL=sim-rekognition-face-attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rekognition-face-attributes.js","sourceRoot":"","sources":["../../../../src/service/rekognition/face/sim-rekognition-face-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,mCAAmC,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,SAAS,CAAC;AAE5D,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,WAAW;IACX,OAAO;IACP,UAAU;IACV,eAAe;IACf,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,eAAe;IACf,OAAO;IACP,YAAY;CACJ,CAAC;AASX,MAAM,QAAQ,GAAwB,IAAI,GAAG,CAAC;IAC5C,kCAAkC;IAClC,aAAa;IACb,GAAG,gCAAgC;CACpC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,OAAO,4BAA4B;IACtB,SAAS,CAAsB;IAEhD,YAAY,SAAS,GAAsB,EAAE;QAC3C,KAAK,MAAM,SAAS,IAAI,SAAS,EAAE,CAAC;YAClC,4BAA4B,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,SAAiB;QAC5C,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,uCAAuC,CAC/C,iDAAiD,SAAS,YAAY;YACpE,sCAAsC,CACzC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAA0C;QAC9C,IAAI,SAAS,KAAK,kCAAkC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -0,0 +1,116 @@
1
+ import type { SimRekognitionDeclaredBoundingBox } from "../image/sim-rekognition-bounding-box.js";
2
+ import type { SimRekognitionEmotionName } from "./sim-rekognition-emotion-name.js";
3
+ import type { SimRekognitionLandmarkName } from "./sim-rekognition-landmark-name.js";
4
+ /**
5
+ * A point on a face, as ratios of the image's own width and height.
6
+ */
7
+ export interface SimRekognitionDeclaredPoint {
8
+ readonly x: number;
9
+ readonly y: number;
10
+ }
11
+ /**
12
+ * Where the landmarks of a declared face are.
13
+ *
14
+ * Landmarks are keyed by the names Rekognition reports them under, so a face
15
+ * declares the ones the test cares about and leaves the rest out. They are
16
+ * not required to sit inside the bounding box: a real Rekognition face box
17
+ * routinely excludes the chin.
18
+ */
19
+ export type SimRekognitionDeclaredLandmarks = Partial<Record<SimRekognitionLandmarkName, SimRekognitionDeclaredPoint>>;
20
+ /**
21
+ * A face attribute Rekognition answers yes or no to, such as whether the face
22
+ * is smiling.
23
+ *
24
+ * A bare boolean is the attribute at the face's own confidence. The longer
25
+ * form says how sure Rekognition is of the answer, which is a confidence in
26
+ * the determination rather than in the value: a `false` at 99 is a face
27
+ * Rekognition is sure is not smiling.
28
+ */
29
+ export type SimRekognitionDeclaredFaceFeature = boolean | {
30
+ readonly value: boolean;
31
+ readonly confidence?: number | undefined;
32
+ };
33
+ /**
34
+ * The gender Rekognition predicts for a face.
35
+ *
36
+ * Real Rekognition predicts `Male` or `Female` and nothing else, so those are
37
+ * the two values a declaration can use.
38
+ */
39
+ export type SimRekognitionDeclaredGender = "Male" | "Female" | {
40
+ readonly value: "Male" | "Female";
41
+ readonly confidence?: number | undefined;
42
+ };
43
+ /**
44
+ * One emotion a declared face appears to express.
45
+ */
46
+ export type SimRekognitionDeclaredEmotion = SimRekognitionEmotionName | {
47
+ readonly type: SimRekognitionEmotionName;
48
+ readonly confidence?: number | undefined;
49
+ };
50
+ /**
51
+ * The age range Rekognition estimates for a face, in whole years.
52
+ */
53
+ export interface SimRekognitionDeclaredAgeRange {
54
+ readonly low: number;
55
+ readonly high: number;
56
+ }
57
+ /**
58
+ * How a declared face is turned, in degrees.
59
+ */
60
+ export interface SimRekognitionDeclaredPose {
61
+ readonly roll: number;
62
+ readonly yaw: number;
63
+ readonly pitch: number;
64
+ }
65
+ /**
66
+ * How well a declared face was captured, each from 0 to 100.
67
+ */
68
+ export interface SimRekognitionDeclaredFaceQuality {
69
+ readonly brightness: number;
70
+ readonly sharpness: number;
71
+ }
72
+ /**
73
+ * Where a declared face is looking, in degrees.
74
+ */
75
+ export interface SimRekognitionDeclaredEyeDirection {
76
+ readonly yaw: number;
77
+ readonly pitch: number;
78
+ readonly confidence?: number | undefined;
79
+ }
80
+ /**
81
+ * A face declared against an image, with what Rekognition is to report for it.
82
+ *
83
+ * Everything is optional. An attribute nothing was declared for is left out of
84
+ * the response rather than invented, so a face declared with a bounding box
85
+ * and nothing else comes back as a bounding box and a confidence however many
86
+ * attributes the request asked for.
87
+ */
88
+ export interface SimRekognitionDeclaredFace {
89
+ readonly boundingBox?: SimRekognitionDeclaredBoundingBox | undefined;
90
+ readonly confidence?: number | undefined;
91
+ readonly pose?: SimRekognitionDeclaredPose | undefined;
92
+ readonly quality?: SimRekognitionDeclaredFaceQuality | undefined;
93
+ readonly landmarks?: SimRekognitionDeclaredLandmarks | undefined;
94
+ readonly ageRange?: SimRekognitionDeclaredAgeRange | undefined;
95
+ readonly gender?: SimRekognitionDeclaredGender | undefined;
96
+ readonly emotions?: readonly SimRekognitionDeclaredEmotion[] | undefined;
97
+ readonly eyeDirection?: SimRekognitionDeclaredEyeDirection | undefined;
98
+ readonly smile?: SimRekognitionDeclaredFaceFeature | undefined;
99
+ readonly eyeglasses?: SimRekognitionDeclaredFaceFeature | undefined;
100
+ readonly sunglasses?: SimRekognitionDeclaredFaceFeature | undefined;
101
+ readonly beard?: SimRekognitionDeclaredFaceFeature | undefined;
102
+ readonly mustache?: SimRekognitionDeclaredFaceFeature | undefined;
103
+ readonly eyesOpen?: SimRekognitionDeclaredFaceFeature | undefined;
104
+ readonly mouthOpen?: SimRekognitionDeclaredFaceFeature | undefined;
105
+ readonly faceOccluded?: SimRekognitionDeclaredFaceFeature | undefined;
106
+ }
107
+ /**
108
+ * What DetectFaces answers with for an image.
109
+ *
110
+ * An image with no faces in it is `{ faces: [] }`, which is a detection that
111
+ * found nothing rather than an image nothing was declared for.
112
+ */
113
+ export interface SimRekognitionFacesResult {
114
+ readonly faces: readonly SimRekognitionDeclaredFace[];
115
+ }
116
+ //# sourceMappingURL=sim-rekognition-face-declaration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rekognition-face-declaration.d.ts","sourceRoot":"","sources":["../../../../src/service/rekognition/face/sim-rekognition-face-declaration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sim-rekognition-face-declaration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rekognition-face-declaration.js","sourceRoot":"","sources":["../../../../src/service/rekognition/face/sim-rekognition-face-declaration.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import type { SimRekognitionFacesResult } from "./sim-rekognition-face-declaration.js";
2
+ /**
3
+ * What DetectFaces answers with before anything is configured.
4
+ *
5
+ * This is the example response from the AWS DetectFaces documentation,
6
+ * attribute for attribute, so an unconfigured detection answers with something
7
+ * real Rekognition has actually returned rather than something invented here.
8
+ * One face is the common shape: an uploaded photograph of a person.
9
+ *
10
+ * Which face comes back for an arbitrary image is a simulator convention. No
11
+ * image is looked at, so a photograph of a lighthouse gets this face too.
12
+ *
13
+ * https://docs.aws.amazon.com/rekognition/latest/dg/faces-detect-images.html
14
+ */
15
+ export declare const simRekognitionDefaultFaces: SimRekognitionFacesResult;
16
+ /**
17
+ * An image with nobody in it.
18
+ *
19
+ * This is the result to declare for a photograph of a landscape, or for the
20
+ * upload a face detection is meant to reject.
21
+ */
22
+ export declare const simRekognitionNoFaces: SimRekognitionFacesResult;
23
+ /**
24
+ * An image with three people in it, side by side.
25
+ *
26
+ * The faces carry a bounding box and a confidence each and nothing else, so a
27
+ * request for `ALL` gets three faces with only the default attributes on them.
28
+ * Declare the attributes the code under test reads.
29
+ */
30
+ export declare const simRekognitionSeveralFaces: SimRekognitionFacesResult;
31
+ //# sourceMappingURL=sim-rekognition-face-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rekognition-face-defaults.d.ts","sourceRoot":"","sources":["../../../../src/service/rekognition/face/sim-rekognition-face-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAEvF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B,EAAE,yBA2ExC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,yBAAyC,CAAC;AAE9E;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,yBAexC,CAAC"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * What DetectFaces answers with before anything is configured.
3
+ *
4
+ * This is the example response from the AWS DetectFaces documentation,
5
+ * attribute for attribute, so an unconfigured detection answers with something
6
+ * real Rekognition has actually returned rather than something invented here.
7
+ * One face is the common shape: an uploaded photograph of a person.
8
+ *
9
+ * Which face comes back for an arbitrary image is a simulator convention. No
10
+ * image is looked at, so a photograph of a lighthouse gets this face too.
11
+ *
12
+ * https://docs.aws.amazon.com/rekognition/latest/dg/faces-detect-images.html
13
+ */
14
+ export const simRekognitionDefaultFaces = {
15
+ faces: [
16
+ {
17
+ boundingBox: {
18
+ left: 0.08881539851427078,
19
+ top: 0.151064932346344,
20
+ width: 0.7919622659683228,
21
+ height: 0.7510867118835449,
22
+ },
23
+ confidence: 99.99872589111328,
24
+ ageRange: { low: 18, high: 26 },
25
+ gender: { value: "Female", confidence: 99.85968780517578 },
26
+ smile: { value: false, confidence: 89.77348327636719 },
27
+ eyeglasses: { value: true, confidence: 99.99996948242188 },
28
+ sunglasses: { value: true, confidence: 93.652374267578125 },
29
+ beard: { value: false, confidence: 77.52591705322266 },
30
+ mustache: { value: false, confidence: 94.489044189453125 },
31
+ eyesOpen: { value: true, confidence: 98.57169342041016 },
32
+ mouthOpen: { value: false, confidence: 74.33953094482422 },
33
+ faceOccluded: { value: true, confidence: 99.99726104736328 },
34
+ eyeDirection: {
35
+ yaw: 16.299732,
36
+ pitch: -6.407457,
37
+ confidence: 99.968704,
38
+ },
39
+ pose: {
40
+ roll: -5.83309268951416,
41
+ yaw: -2.4244730472564697,
42
+ pitch: 2.6216139793395996,
43
+ },
44
+ quality: { brightness: 96.16363525390625, sharpness: 95.51618957519531 },
45
+ emotions: [
46
+ { type: "SAD", confidence: 65.56403350830078 },
47
+ { type: "CONFUSED", confidence: 31.277774810791016 },
48
+ { type: "DISGUSTED", confidence: 15.553778648376465 },
49
+ { type: "ANGRY", confidence: 8.012762069702148 },
50
+ { type: "SURPRISED", confidence: 7.621500015258789 },
51
+ { type: "FEAR", confidence: 7.243380546569824 },
52
+ { type: "CALM", confidence: 5.8196024894714355 },
53
+ { type: "HAPPY", confidence: 2.2830512523651123 },
54
+ ],
55
+ landmarks: {
56
+ eyeLeft: { x: 0.30225440859794617, y: 0.41018882393836975 },
57
+ eyeRight: { x: 0.6439348459243774, y: 0.40341562032699585 },
58
+ mouthLeft: { x: 0.343580037355423, y: 0.6951127648353577 },
59
+ mouthRight: { x: 0.6306480765342712, y: 0.6898072361946106 },
60
+ nose: { x: 0.47164231538772583, y: 0.5763645172119141 },
61
+ leftEyeBrowLeft: { x: 0.1732882857322693, y: 0.34452149271965027 },
62
+ leftEyeBrowRight: { x: 0.3655243515968323, y: 0.33231860399246216 },
63
+ leftEyeBrowUp: { x: 0.2671719491481781, y: 0.31669262051582336 },
64
+ rightEyeBrowLeft: { x: 0.5613729953765869, y: 0.32813435792922974 },
65
+ rightEyeBrowRight: { x: 0.7665090560913086, y: 0.3318614959716797 },
66
+ rightEyeBrowUp: { x: 0.6612788438796997, y: 0.3082450032234192 },
67
+ leftEyeLeft: { x: 0.2416982799768448, y: 0.4085965156555176 },
68
+ leftEyeRight: { x: 0.36943578720092773, y: 0.41230902075767517 },
69
+ leftEyeUp: { x: 0.29974061250686646, y: 0.3971870541572571 },
70
+ leftEyeDown: { x: 0.30360740423202515, y: 0.42347756028175354 },
71
+ rightEyeLeft: { x: 0.5755768418312073, y: 0.4081145226955414 },
72
+ rightEyeRight: { x: 0.7050536870956421, y: 0.39924031496047974 },
73
+ rightEyeUp: { x: 0.642906129360199, y: 0.39026668667793274 },
74
+ rightEyeDown: { x: 0.6423097848892212, y: 0.41669243574142456 },
75
+ noseLeft: { x: 0.4122826159000397, y: 0.5987403392791748 },
76
+ noseRight: { x: 0.5394935011863708, y: 0.5960900187492371 },
77
+ mouthUp: { x: 0.478581964969635, y: 0.6660456657409668 },
78
+ mouthDown: { x: 0.483366996049881, y: 0.7497162818908691 },
79
+ leftPupil: { x: 0.30225440859794617, y: 0.41018882393836975 },
80
+ rightPupil: { x: 0.6439348459243774, y: 0.40341562032699585 },
81
+ upperJawlineLeft: { x: 0.11031254380941391, y: 0.3980775475502014 },
82
+ midJawlineLeft: { x: 0.19301874935626984, y: 0.7034031748771667 },
83
+ chinBottom: { x: 0.4939905107021332, y: 0.8877836465835571 },
84
+ midJawlineRight: { x: 0.7990140914916992, y: 0.6899225115776062 },
85
+ upperJawlineRight: { x: 0.8548634648323059, y: 0.38160091638565063 },
86
+ },
87
+ },
88
+ ],
89
+ };
90
+ /**
91
+ * An image with nobody in it.
92
+ *
93
+ * This is the result to declare for a photograph of a landscape, or for the
94
+ * upload a face detection is meant to reject.
95
+ */
96
+ export const simRekognitionNoFaces = { faces: [] };
97
+ /**
98
+ * An image with three people in it, side by side.
99
+ *
100
+ * The faces carry a bounding box and a confidence each and nothing else, so a
101
+ * request for `ALL` gets three faces with only the default attributes on them.
102
+ * Declare the attributes the code under test reads.
103
+ */
104
+ export const simRekognitionSeveralFaces = {
105
+ faces: [
106
+ {
107
+ boundingBox: { left: 0.08, top: 0.22, width: 0.19, height: 0.28 },
108
+ confidence: 99.94,
109
+ },
110
+ {
111
+ boundingBox: { left: 0.4, top: 0.18, width: 0.2, height: 0.3 },
112
+ confidence: 99.87,
113
+ },
114
+ {
115
+ boundingBox: { left: 0.7, top: 0.24, width: 0.18, height: 0.27 },
116
+ confidence: 98.62,
117
+ },
118
+ ],
119
+ };
120
+ //# sourceMappingURL=sim-rekognition-face-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rekognition-face-defaults.js","sourceRoot":"","sources":["../../../../src/service/rekognition/face/sim-rekognition-face-defaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { SimRekognitionFaceDetailOutput } from "../command/detect-faces/detect-faces.command.js";
2
+ import type { SimRekognitionFaceAttributeName, SimRekognitionFaceAttributes } from "./sim-rekognition-face-attributes.js";
3
+ type SimRekognitionFaceDetailMember = keyof SimRekognitionFaceDetailOutput;
4
+ /**
5
+ * Builds the FaceDetail one response carries for one face.
6
+ *
7
+ * A member is carried when the request asked for the attribute it belongs to
8
+ * and the face declared a value for it. An attribute with no declared value is
9
+ * left out of the response rather than carried as an undefined member, which
10
+ * is how a real response reports an attribute that was not asked for.
11
+ *
12
+ * The attribute a member belongs to is passed in beside it, because the two
13
+ * do not share a name: `EyesOpen` is the `EYES_OPEN` attribute, and four
14
+ * separate members are the default subset.
15
+ */
16
+ export declare class SimRekognitionFaceDetailBuilder {
17
+ private readonly attributes;
18
+ private readonly detail;
19
+ constructor(attributes: SimRekognitionFaceAttributes);
20
+ /**
21
+ * Carry one member of the detail, if the request wants it and the face has
22
+ * it.
23
+ */
24
+ carry<TMember extends SimRekognitionFaceDetailMember>(member: TMember, attribute: SimRekognitionFaceAttributeName, value: Required<SimRekognitionFaceDetailOutput>[TMember] | undefined): this;
25
+ /**
26
+ * The detail as built.
27
+ */
28
+ build(): SimRekognitionFaceDetailOutput;
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=sim-rekognition-face-detail-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rekognition-face-detail-builder.d.ts","sourceRoot":"","sources":["../../../../src/service/rekognition/face/sim-rekognition-face-detail-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACtG,OAAO,KAAK,EACV,+BAA+B,EAC/B,4BAA4B,EAC7B,MAAM,sCAAsC,CAAC;AAE9C,KAAK,8BAA8B,GAAG,MAAM,8BAA8B,CAAC;AAQ3E;;;;;;;;;;;GAWG;AACH,qBAAa,+BAA+B;IAG9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D,YAA6B,UAAU,EAAE,4BAA4B,EAAI;IAEzE;;;OAGG;IACH,KAAK,CAAC,OAAO,SAAS,8BAA8B,EAClD,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,+BAA+B,EAC1C,KAAK,EAAE,QAAQ,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,GAAG,SAAS,GACnE,IAAI,CASN;IAED;;OAEG;IACH,KAAK,IAAI,8BAA8B,CAEtC;CACF"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Builds the FaceDetail one response carries for one face.
3
+ *
4
+ * A member is carried when the request asked for the attribute it belongs to
5
+ * and the face declared a value for it. An attribute with no declared value is
6
+ * left out of the response rather than carried as an undefined member, which
7
+ * is how a real response reports an attribute that was not asked for.
8
+ *
9
+ * The attribute a member belongs to is passed in beside it, because the two
10
+ * do not share a name: `EyesOpen` is the `EYES_OPEN` attribute, and four
11
+ * separate members are the default subset.
12
+ */
13
+ export class SimRekognitionFaceDetailBuilder {
14
+ attributes;
15
+ detail = {};
16
+ constructor(attributes) {
17
+ this.attributes = attributes;
18
+ }
19
+ /**
20
+ * Carry one member of the detail, if the request wants it and the face has
21
+ * it.
22
+ */
23
+ carry(member, attribute, value) {
24
+ if (value === undefined || !this.attributes.wants(attribute)) {
25
+ return this;
26
+ }
27
+ // eslint-disable-next-line security/detect-object-injection -- a FaceDetail member name, from the code adding it.
28
+ this.detail[member] = value;
29
+ return this;
30
+ }
31
+ /**
32
+ * The detail as built.
33
+ */
34
+ build() {
35
+ return this.detail;
36
+ }
37
+ }
38
+ //# sourceMappingURL=sim-rekognition-face-detail-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rekognition-face-detail-builder.js","sourceRoot":"","sources":["../../../../src/service/rekognition/face/sim-rekognition-face-detail-builder.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,+BAA+B;IAGb,UAAU;IAFtB,MAAM,GAAoC,EAAE,CAAC;IAE9D,YAA6B,UAAwC;0BAAxC,UAAU;IAAiC,CAAC;IAEzE;;;OAGG;IACH,KAAK,CACH,MAAe,EACf,SAA0C,EAC1C,KAAoE;QAEpE,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kHAAkH;QAClH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}