@bitblit/ratchet-aws 4.0.99-alpha → 4.0.102-alpha

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 (293) hide show
  1. package/dist/{types/batch → batch}/aws-batch-background-processor.d.ts +1 -5
  2. package/dist/{es/batch → batch}/aws-batch-background-processor.js +6 -1
  3. package/dist/batch/aws-batch-background-processor.spec.js +15 -0
  4. package/dist/{types/batch → batch}/aws-batch-ratchet.d.ts +0 -3
  5. package/dist/{es/batch → batch}/aws-batch-ratchet.js +5 -1
  6. package/dist/batch/aws-batch-ratchet.spec.js +33 -0
  7. package/dist/{types/build → build}/ratchet-aws-info.d.ts +1 -1
  8. package/dist/{types/cache → cache}/dynamo-db-storage-provider.d.ts +3 -3
  9. package/dist/{es/cache → cache}/dynamo-db-storage-provider.js +3 -1
  10. package/dist/{types/cache → cache}/s3-storage-provider.d.ts +3 -3
  11. package/dist/{es/cache → cache}/s3-storage-provider.js +4 -1
  12. package/dist/{types/cache → cache}/simple-cache-storage-provider.d.ts +1 -1
  13. package/dist/{types/cache → cache}/simple-cache.d.ts +3 -3
  14. package/dist/{es/cache → cache}/simple-cache.js +4 -2
  15. package/dist/cache/simple-cache.spec.js +67 -0
  16. package/dist/{es/cloudwatch → cloudwatch}/cloud-watch-log-group-ratchet.js +4 -2
  17. package/dist/cloudwatch/cloud-watch-log-group-ratchet.spec.js +19 -0
  18. package/dist/{es/cloudwatch → cloudwatch}/cloud-watch-logs-ratchet.js +6 -5
  19. package/dist/cloudwatch/cloud-watch-logs-ratchet.spec.js +84 -0
  20. package/dist/{types/cloudwatch → cloudwatch}/cloud-watch-metrics-ratchet.d.ts +3 -3
  21. package/dist/{es/cloudwatch → cloudwatch}/cloud-watch-metrics-ratchet.js +3 -2
  22. package/dist/cloudwatch/cloud-watch-metrics-ratchet.spec.js +23 -0
  23. package/dist/{types/daemon → daemon}/daemon-like.d.ts +3 -3
  24. package/dist/{types/daemon → daemon}/daemon-process-state-public-token.d.ts +1 -1
  25. package/dist/{types/daemon → daemon}/daemon-util.d.ts +5 -11
  26. package/dist/{es/daemon → daemon}/daemon-util.js +3 -3
  27. package/dist/daemon/daemon-util.spec.d.ts +4 -0
  28. package/dist/daemon/daemon-util.spec.js +79 -0
  29. package/dist/{types/daemon → daemon}/daemon.d.ts +5 -5
  30. package/dist/{es/daemon → daemon}/daemon.js +12 -6
  31. package/dist/{types/dao → dao}/prototype-dao-provider.d.ts +1 -1
  32. package/dist/{types/dao → dao}/prototype-dao.d.ts +2 -2
  33. package/dist/{es/dao → dao}/prototype-dao.js +13 -9
  34. package/dist/dao/prototype-dao.spec.d.ts +8 -0
  35. package/dist/dao/prototype-dao.spec.js +26 -0
  36. package/dist/{types/dao → dao}/s3-prototype-dao-provider.d.ts +3 -3
  37. package/dist/{es/dao → dao}/s3-prototype-dao-provider.js +3 -1
  38. package/dist/{types/dao → dao}/s3-simple-dao.d.ts +2 -2
  39. package/dist/{es/dao → dao}/s3-simple-dao.js +4 -2
  40. package/dist/{types/dynamodb → dynamodb}/dynamo-ratchet-like.d.ts +3 -3
  41. package/dist/{types/dynamodb → dynamodb}/dynamo-ratchet.d.ts +4 -4
  42. package/dist/{es/dynamodb → dynamodb}/dynamo-ratchet.js +7 -6
  43. package/dist/dynamodb/dynamo-ratchet.spec.js +156 -0
  44. package/dist/{es/dynamodb → dynamodb}/dynamo-table-ratchet.js +5 -4
  45. package/dist/{es/dynamodb → dynamodb}/hash-spreader.js +8 -1
  46. package/dist/dynamodb/hash-spreader.spec.js +17 -0
  47. package/dist/{types/ec2 → ec2}/ec2-ratchet.d.ts +0 -11
  48. package/dist/{es/ec2 → ec2}/ec2-ratchet.js +7 -3
  49. package/dist/ec2/ec2-ratchet.spec.js +31 -0
  50. package/dist/{types/environment → environment}/cascade-environment-service-provider.d.ts +1 -4
  51. package/dist/{es/environment → environment}/cascade-environment-service-provider.js +3 -2
  52. package/dist/{types/environment → environment}/env-var-environment-service-provider.d.ts +1 -5
  53. package/dist/{es/environment → environment}/env-var-environment-service-provider.js +5 -4
  54. package/dist/{types/environment → environment}/environment-service-config.d.ts +0 -3
  55. package/dist/environment/environment-service-provider.d.ts +3 -0
  56. package/dist/{types/environment → environment}/environment-service.d.ts +2 -5
  57. package/dist/{es/environment → environment}/environment-service.js +13 -11
  58. package/dist/environment/environment-service.spec.js +22 -0
  59. package/dist/{types/environment → environment}/fixed-environment-service-provider.d.ts +1 -4
  60. package/dist/{es/environment → environment}/fixed-environment-service-provider.js +3 -2
  61. package/dist/{types/environment → environment}/s3-environment-service-provider.d.ts +1 -4
  62. package/dist/{es/environment → environment}/s3-environment-service-provider.js +7 -5
  63. package/dist/{types/environment → environment}/ssm-environment-service-provider.d.ts +1 -5
  64. package/dist/{es/environment → environment}/ssm-environment-service-provider.js +9 -6
  65. package/dist/{types/expiring-code → expiring-code}/dynamo-expiring-code-provider.d.ts +4 -4
  66. package/dist/{es/expiring-code → expiring-code}/dynamo-expiring-code-provider.js +2 -0
  67. package/dist/{types/expiring-code → expiring-code}/expiring-code-provider.d.ts +1 -1
  68. package/dist/{types/expiring-code → expiring-code}/expiring-code-ratchet.d.ts +3 -6
  69. package/dist/{es/expiring-code → expiring-code}/expiring-code-ratchet.js +3 -2
  70. package/dist/expiring-code/expiring-code-ratchet.spec.js +7 -0
  71. package/dist/{types/expiring-code → expiring-code}/s3-expiring-code-provider.d.ts +3 -3
  72. package/dist/{es/expiring-code → expiring-code}/s3-expiring-code-provider.js +4 -1
  73. package/dist/expiring-code/s3-expiring-code-provider.spec.js +46 -0
  74. package/dist/{types/iam → iam}/aws-credentials-ratchet.d.ts +0 -5
  75. package/dist/{es/iam → iam}/aws-credentials-ratchet.js +2 -1
  76. package/dist/{es/lambda → lambda}/lambda-event-type-guards.js +1 -1
  77. package/dist/{types/model → model}/cloud-watch-metrics-minute-level-dynamo-count-request.d.ts +2 -2
  78. package/dist/model/dynamo/doc-put-item-command-input.js +1 -0
  79. package/dist/model/dynamo/doc-query-command-input.js +1 -0
  80. package/dist/model/dynamo/doc-scan-command-input.js +1 -0
  81. package/dist/model/dynamo/doc-update-item-command-input.js +1 -0
  82. package/dist/{es/route53 → route53}/route-53-ratchet.js +3 -1
  83. package/dist/{types/runtime-parameter → runtime-parameter}/cached-stored-runtime-parameter.d.ts +1 -1
  84. package/dist/runtime-parameter/cached-stored-runtime-parameter.js +1 -0
  85. package/dist/{types/runtime-parameter → runtime-parameter}/dynamo-runtime-parameter-provider.d.ts +3 -3
  86. package/dist/{es/runtime-parameter → runtime-parameter}/dynamo-runtime-parameter-provider.js +4 -2
  87. package/dist/runtime-parameter/dynamo-runtime-parameter-provider.spec.d.ts +1 -0
  88. package/dist/runtime-parameter/dynamo-runtime-parameter-provider.spec.js +49 -0
  89. package/dist/{types/runtime-parameter → runtime-parameter}/global-variable-override-runtime-parameter-provider.d.ts +2 -9
  90. package/dist/{es/runtime-parameter → runtime-parameter}/global-variable-override-runtime-parameter-provider.js +10 -8
  91. package/dist/runtime-parameter/global-variable-override-runtime-parameter-provider.spec.d.ts +1 -0
  92. package/dist/runtime-parameter/global-variable-override-runtime-parameter-provider.spec.js +37 -0
  93. package/dist/{types/runtime-parameter → runtime-parameter}/memory-runtime-parameter-provider.d.ts +2 -6
  94. package/dist/{es/runtime-parameter → runtime-parameter}/memory-runtime-parameter-provider.js +2 -1
  95. package/dist/{types/runtime-parameter → runtime-parameter}/runtime-parameter-provider.d.ts +1 -6
  96. package/dist/runtime-parameter/runtime-parameter-provider.js +1 -0
  97. package/dist/{types/runtime-parameter → runtime-parameter}/runtime-parameter-ratchet.d.ts +2 -2
  98. package/dist/{es/runtime-parameter → runtime-parameter}/runtime-parameter-ratchet.js +4 -3
  99. package/dist/runtime-parameter/runtime-parameter-ratchet.spec.d.ts +1 -0
  100. package/dist/runtime-parameter/runtime-parameter-ratchet.spec.js +39 -0
  101. package/dist/runtime-parameter/stored-runtime-parameter.js +1 -0
  102. package/dist/{types/s3 → s3}/s3-cache-ratchet.d.ts +3 -4
  103. package/dist/{es/s3 → s3}/s3-cache-ratchet.js +7 -5
  104. package/dist/s3/s3-cache-ratchet.spec.d.ts +1 -0
  105. package/dist/s3/s3-cache-ratchet.spec.js +97 -0
  106. package/dist/{types/s3 → s3}/s3-cache-to-local-disk-ratchet.d.ts +2 -5
  107. package/dist/{es/s3 → s3}/s3-cache-to-local-disk-ratchet.js +8 -3
  108. package/dist/s3/s3-cache-to-local-dist-ratchet.spec.d.ts +1 -0
  109. package/dist/s3/s3-cache-to-local-dist-ratchet.spec.js +22 -0
  110. package/dist/{es/s3 → s3}/s3-location-sync-ratchet.js +4 -1
  111. package/dist/{es/s3 → s3}/s3-ratchet.js +1 -1
  112. package/dist/s3/s3-ratchet.spec.d.ts +1 -0
  113. package/dist/s3/s3-ratchet.spec.js +20 -0
  114. package/dist/ses/email-attachment.d.ts +5 -0
  115. package/dist/ses/email-attachment.js +1 -0
  116. package/dist/{types/ses → ses}/mailer-config.d.ts +2 -5
  117. package/dist/ses/mailer-config.js +1 -0
  118. package/dist/{types/ses → ses}/mailer-like.d.ts +2 -9
  119. package/dist/ses/mailer-like.js +1 -0
  120. package/dist/{types/ses → ses}/mailer.d.ts +4 -11
  121. package/dist/{es/ses → ses}/mailer.js +8 -6
  122. package/dist/ses/mailer.spec.d.ts +1 -0
  123. package/dist/ses/mailer.spec.js +104 -0
  124. package/dist/{types/ses → ses}/ratchet-template-renderer.d.ts +0 -4
  125. package/dist/ses/ratchet-template-renderer.js +1 -0
  126. package/dist/ses/ready-to-send-email.d.ts +13 -0
  127. package/dist/ses/ready-to-send-email.js +1 -0
  128. package/dist/{types/ses → ses}/remote-handlebars-template-renderer.d.ts +1 -3
  129. package/dist/{es/ses → ses}/remote-handlebars-template-renderer.js +6 -2
  130. package/dist/ses/resolved-ready-to-send-email.d.ts +5 -0
  131. package/dist/ses/resolved-ready-to-send-email.js +1 -0
  132. package/dist/{es/sns → sns}/sns-ratchet.js +4 -2
  133. package/dist/sns/sns-ratchet.spec.d.ts +1 -0
  134. package/dist/sns/sns-ratchet.spec.js +17 -0
  135. package/dist/{types/sync-lock → sync-lock}/dynamo-db-sync-lock.d.ts +2 -2
  136. package/dist/{es/sync-lock → sync-lock}/dynamo-db-sync-lock.js +5 -1
  137. package/dist/sync-lock/dynamo-db-sync-lock.spec.d.ts +1 -0
  138. package/dist/sync-lock/dynamo-db-sync-lock.spec.js +30 -0
  139. package/dist/{types/sync-lock → sync-lock}/memory-sync-lock.d.ts +1 -4
  140. package/dist/{es/sync-lock → sync-lock}/memory-sync-lock.js +3 -4
  141. package/dist/sync-lock/sync-lock-provider.js +1 -0
  142. package/package.json +10 -11
  143. package/dist/cjs/batch/aws-batch-background-processor.js +0 -44
  144. package/dist/cjs/batch/aws-batch-ratchet.js +0 -55
  145. package/dist/cjs/build/ratchet-aws-info.js +0 -18
  146. package/dist/cjs/cache/dynamo-db-storage-provider.js +0 -111
  147. package/dist/cjs/cache/s3-storage-provider.js +0 -44
  148. package/dist/cjs/cache/simple-cache-object-wrapper.js +0 -2
  149. package/dist/cjs/cache/simple-cache-read-options.js +0 -2
  150. package/dist/cjs/cache/simple-cache-storage-provider.js +0 -2
  151. package/dist/cjs/cache/simple-cache.js +0 -66
  152. package/dist/cjs/cloudwatch/cloud-watch-log-group-ratchet.js +0 -73
  153. package/dist/cjs/cloudwatch/cloud-watch-logs-ratchet.js +0 -173
  154. package/dist/cjs/cloudwatch/cloud-watch-metrics-ratchet.js +0 -57
  155. package/dist/cjs/daemon/daemon-like.js +0 -2
  156. package/dist/cjs/daemon/daemon-process-create-options.js +0 -2
  157. package/dist/cjs/daemon/daemon-process-state-public-token.js +0 -2
  158. package/dist/cjs/daemon/daemon-process-state.js +0 -2
  159. package/dist/cjs/daemon/daemon-util.js +0 -152
  160. package/dist/cjs/daemon/daemon.js +0 -126
  161. package/dist/cjs/dao/prototype-dao-config.js +0 -2
  162. package/dist/cjs/dao/prototype-dao-db.js +0 -2
  163. package/dist/cjs/dao/prototype-dao-provider.js +0 -2
  164. package/dist/cjs/dao/prototype-dao.js +0 -88
  165. package/dist/cjs/dao/s3-prototype-dao-provider.js +0 -28
  166. package/dist/cjs/dao/s3-simple-dao.js +0 -78
  167. package/dist/cjs/dao/simple-dao-item.js +0 -2
  168. package/dist/cjs/dynamodb/dynamo-ratchet-like.js +0 -2
  169. package/dist/cjs/dynamodb/dynamo-ratchet.js +0 -667
  170. package/dist/cjs/dynamodb/dynamo-table-ratchet.js +0 -91
  171. package/dist/cjs/dynamodb/hash-spreader.js +0 -62
  172. package/dist/cjs/ec2/ec2-ratchet.js +0 -107
  173. package/dist/cjs/environment/cascade-environment-service-provider.js +0 -27
  174. package/dist/cjs/environment/env-var-environment-service-provider.js +0 -33
  175. package/dist/cjs/environment/environment-service-config.js +0 -2
  176. package/dist/cjs/environment/environment-service-provider.js +0 -2
  177. package/dist/cjs/environment/environment-service.js +0 -52
  178. package/dist/cjs/environment/fixed-environment-service-provider.js +0 -24
  179. package/dist/cjs/environment/s3-environment-service-provider.js +0 -29
  180. package/dist/cjs/environment/ssm-environment-service-provider.js +0 -61
  181. package/dist/cjs/expiring-code/dynamo-expiring-code-provider.js +0 -26
  182. package/dist/cjs/expiring-code/expiring-code-params.js +0 -2
  183. package/dist/cjs/expiring-code/expiring-code-provider.js +0 -2
  184. package/dist/cjs/expiring-code/expiring-code-ratchet.js +0 -37
  185. package/dist/cjs/expiring-code/expiring-code.js +0 -2
  186. package/dist/cjs/expiring-code/s3-expiring-code-provider.js +0 -49
  187. package/dist/cjs/iam/aws-credentials-ratchet.js +0 -21
  188. package/dist/cjs/index.js +0 -81
  189. package/dist/cjs/lambda/lambda-event-detector.js +0 -42
  190. package/dist/cjs/lambda/lambda-event-type-guards.js +0 -28
  191. package/dist/cjs/model/cloud-watch-metrics-minute-level-dynamo-count-request.js +0 -2
  192. package/dist/cjs/model/cloud-watch-metrics-unit.js +0 -33
  193. package/dist/cjs/model/dynamo/doc-put-item-command-input.js +0 -2
  194. package/dist/cjs/model/dynamo/doc-query-command-input.js +0 -2
  195. package/dist/cjs/model/dynamo/doc-scan-command-input.js +0 -2
  196. package/dist/cjs/model/dynamo/doc-update-item-command-input.js +0 -2
  197. package/dist/cjs/model/dynamo-count-result.js +0 -2
  198. package/dist/cjs/route53/route-53-ratchet.js +0 -57
  199. package/dist/cjs/runtime-parameter/cached-stored-runtime-parameter.js +0 -2
  200. package/dist/cjs/runtime-parameter/dynamo-runtime-parameter-provider.js +0 -38
  201. package/dist/cjs/runtime-parameter/global-variable-override-runtime-parameter-provider.js +0 -54
  202. package/dist/cjs/runtime-parameter/memory-runtime-parameter-provider.js +0 -30
  203. package/dist/cjs/runtime-parameter/runtime-parameter-provider.js +0 -2
  204. package/dist/cjs/runtime-parameter/runtime-parameter-ratchet.js +0 -74
  205. package/dist/cjs/runtime-parameter/stored-runtime-parameter.js +0 -2
  206. package/dist/cjs/s3/s3-cache-ratchet.js +0 -332
  207. package/dist/cjs/s3/s3-cache-to-local-disk-ratchet.js +0 -105
  208. package/dist/cjs/s3/s3-location-sync-ratchet.js +0 -142
  209. package/dist/cjs/s3/s3-ratchet.js +0 -26
  210. package/dist/cjs/ses/email-attachment.js +0 -2
  211. package/dist/cjs/ses/mailer-config.js +0 -2
  212. package/dist/cjs/ses/mailer-like.js +0 -2
  213. package/dist/cjs/ses/mailer.js +0 -208
  214. package/dist/cjs/ses/ratchet-template-renderer.js +0 -2
  215. package/dist/cjs/ses/ready-to-send-email.js +0 -2
  216. package/dist/cjs/ses/remote-handlebars-template-renderer.js +0 -79
  217. package/dist/cjs/ses/resolved-ready-to-send-email.js +0 -2
  218. package/dist/cjs/sns/sns-ratchet.js +0 -47
  219. package/dist/cjs/sync-lock/dynamo-db-sync-lock.js +0 -69
  220. package/dist/cjs/sync-lock/memory-sync-lock.js +0 -40
  221. package/dist/cjs/sync-lock/sync-lock-provider.js +0 -2
  222. package/dist/es/index.js +0 -78
  223. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  224. package/dist/tsconfig.es.tsbuildinfo +0 -1
  225. package/dist/tsconfig.types.tsbuildinfo +0 -1
  226. package/dist/types/environment/environment-service-provider.d.ts +0 -7
  227. package/dist/types/index.d.ts +0 -81
  228. package/dist/types/ses/email-attachment.d.ts +0 -23
  229. package/dist/types/ses/ready-to-send-email.d.ts +0 -66
  230. package/dist/types/ses/resolved-ready-to-send-email.d.ts +0 -16
  231. /package/dist/{es/cache/simple-cache-object-wrapper.js → batch/aws-batch-background-processor.spec.d.ts} +0 -0
  232. /package/dist/{es/cache/simple-cache-read-options.js → batch/aws-batch-ratchet.spec.d.ts} +0 -0
  233. /package/dist/{es/build → build}/ratchet-aws-info.js +0 -0
  234. /package/dist/{types/cache → cache}/simple-cache-object-wrapper.d.ts +0 -0
  235. /package/dist/{es/cache/simple-cache-storage-provider.js → cache/simple-cache-object-wrapper.js} +0 -0
  236. /package/dist/{types/cache → cache}/simple-cache-read-options.d.ts +0 -0
  237. /package/dist/{es/daemon/daemon-like.js → cache/simple-cache-read-options.js} +0 -0
  238. /package/dist/{es/daemon/daemon-process-create-options.js → cache/simple-cache-storage-provider.js} +0 -0
  239. /package/dist/{es/daemon/daemon-process-state-public-token.js → cache/simple-cache.spec.d.ts} +0 -0
  240. /package/dist/{types/cloudwatch → cloudwatch}/cloud-watch-log-group-ratchet.d.ts +0 -0
  241. /package/dist/{es/daemon/daemon-process-state.js → cloudwatch/cloud-watch-log-group-ratchet.spec.d.ts} +0 -0
  242. /package/dist/{types/cloudwatch → cloudwatch}/cloud-watch-logs-ratchet.d.ts +0 -0
  243. /package/dist/{es/dao/prototype-dao-config.js → cloudwatch/cloud-watch-logs-ratchet.spec.d.ts} +0 -0
  244. /package/dist/{es/dao/prototype-dao-db.js → cloudwatch/cloud-watch-metrics-ratchet.spec.d.ts} +0 -0
  245. /package/dist/{es/dao/prototype-dao-provider.js → daemon/daemon-like.js} +0 -0
  246. /package/dist/{types/daemon → daemon}/daemon-process-create-options.d.ts +0 -0
  247. /package/dist/{es/dao/simple-dao-item.js → daemon/daemon-process-create-options.js} +0 -0
  248. /package/dist/{es/dynamodb/dynamo-ratchet-like.js → daemon/daemon-process-state-public-token.js} +0 -0
  249. /package/dist/{types/daemon → daemon}/daemon-process-state.d.ts +0 -0
  250. /package/dist/{es/environment/environment-service-config.js → daemon/daemon-process-state.js} +0 -0
  251. /package/dist/{types/dao → dao}/prototype-dao-config.d.ts +0 -0
  252. /package/dist/{es/environment/environment-service-provider.js → dao/prototype-dao-config.js} +0 -0
  253. /package/dist/{types/dao → dao}/prototype-dao-db.d.ts +0 -0
  254. /package/dist/{es/expiring-code/expiring-code-params.js → dao/prototype-dao-db.js} +0 -0
  255. /package/dist/{es/expiring-code/expiring-code-provider.js → dao/prototype-dao-provider.js} +0 -0
  256. /package/dist/{types/dao → dao}/simple-dao-item.d.ts +0 -0
  257. /package/dist/{es/expiring-code/expiring-code.js → dao/simple-dao-item.js} +0 -0
  258. /package/dist/{es/model/cloud-watch-metrics-minute-level-dynamo-count-request.js → dynamodb/dynamo-ratchet-like.js} +0 -0
  259. /package/dist/{es/model/dynamo-count-result.js → dynamodb/dynamo-ratchet.spec.d.ts} +0 -0
  260. /package/dist/{types/dynamodb → dynamodb}/dynamo-table-ratchet.d.ts +0 -0
  261. /package/dist/{types/dynamodb → dynamodb}/hash-spreader.d.ts +0 -0
  262. /package/dist/{es/model/dynamo/doc-put-item-command-input.js → dynamodb/hash-spreader.spec.d.ts} +0 -0
  263. /package/dist/{es/model/dynamo/doc-query-command-input.js → ec2/ec2-ratchet.spec.d.ts} +0 -0
  264. /package/dist/{es/model/dynamo/doc-scan-command-input.js → environment/environment-service-config.js} +0 -0
  265. /package/dist/{es/model/dynamo/doc-update-item-command-input.js → environment/environment-service-provider.js} +0 -0
  266. /package/dist/{es/runtime-parameter/cached-stored-runtime-parameter.js → environment/environment-service.spec.d.ts} +0 -0
  267. /package/dist/{types/expiring-code → expiring-code}/expiring-code-params.d.ts +0 -0
  268. /package/dist/{es/runtime-parameter/runtime-parameter-provider.js → expiring-code/expiring-code-params.js} +0 -0
  269. /package/dist/{es/runtime-parameter/stored-runtime-parameter.js → expiring-code/expiring-code-provider.js} +0 -0
  270. /package/dist/{es/ses/email-attachment.js → expiring-code/expiring-code-ratchet.spec.d.ts} +0 -0
  271. /package/dist/{types/expiring-code → expiring-code}/expiring-code.d.ts +0 -0
  272. /package/dist/{es/ses/mailer-config.js → expiring-code/expiring-code.js} +0 -0
  273. /package/dist/{es/ses/mailer-like.js → expiring-code/s3-expiring-code-provider.spec.d.ts} +0 -0
  274. /package/dist/{es/ses/ratchet-template-renderer.js → index.d.ts} +0 -0
  275. /package/dist/{es/ses/ready-to-send-email.js → index.js} +0 -0
  276. /package/dist/{types/lambda → lambda}/lambda-event-detector.d.ts +0 -0
  277. /package/dist/{es/lambda → lambda}/lambda-event-detector.js +0 -0
  278. /package/dist/{types/lambda → lambda}/lambda-event-type-guards.d.ts +0 -0
  279. /package/dist/{es/ses/resolved-ready-to-send-email.js → model/cloud-watch-metrics-minute-level-dynamo-count-request.js} +0 -0
  280. /package/dist/{types/model → model}/cloud-watch-metrics-unit.d.ts +0 -0
  281. /package/dist/{es/model → model}/cloud-watch-metrics-unit.js +0 -0
  282. /package/dist/{types/model → model}/dynamo/doc-put-item-command-input.d.ts +0 -0
  283. /package/dist/{types/model → model}/dynamo/doc-query-command-input.d.ts +0 -0
  284. /package/dist/{types/model → model}/dynamo/doc-scan-command-input.d.ts +0 -0
  285. /package/dist/{types/model → model}/dynamo/doc-update-item-command-input.d.ts +0 -0
  286. /package/dist/{types/model → model}/dynamo-count-result.d.ts +0 -0
  287. /package/dist/{es/sync-lock/sync-lock-provider.js → model/dynamo-count-result.js} +0 -0
  288. /package/dist/{types/route53 → route53}/route-53-ratchet.d.ts +0 -0
  289. /package/dist/{types/runtime-parameter → runtime-parameter}/stored-runtime-parameter.d.ts +0 -0
  290. /package/dist/{types/s3 → s3}/s3-location-sync-ratchet.d.ts +0 -0
  291. /package/dist/{types/s3 → s3}/s3-ratchet.d.ts +0 -0
  292. /package/dist/{types/sns → sns}/sns-ratchet.d.ts +0 -0
  293. /package/dist/{types/sync-lock → sync-lock}/sync-lock-provider.d.ts +0 -0
@@ -1,9 +1,5 @@
1
1
  import { SubmitJobCommandOutput } from '@aws-sdk/client-batch';
2
- import { AwsBatchRatchet } from './aws-batch-ratchet';
3
- /**
4
- * Class to simplify using AWS batch as a background processor
5
- * (Primarily used by Epsilon)
6
- */
2
+ import { AwsBatchRatchet } from './aws-batch-ratchet.js';
7
3
  export declare class AwsBatchBackgroundProcessor {
8
4
  private batchRatchet;
9
5
  private validTaskNames?;
@@ -1,6 +1,11 @@
1
1
  import { DateTime } from 'luxon';
2
- import { ErrorRatchet, Logger, RequireRatchet, StringRatchet } from '@bitblit/ratchet-common';
2
+ import { ErrorRatchet } from '@bitblit/ratchet-common/dist/lang/error-ratchet.js';
3
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
4
+ import { RequireRatchet } from '@bitblit/ratchet-common/dist/lang/require-ratchet.js';
5
+ import { StringRatchet } from '@bitblit/ratchet-common/dist/lang/string-ratchet.js';
3
6
  export class AwsBatchBackgroundProcessor {
7
+ batchRatchet;
8
+ validTaskNames;
4
9
  constructor(batchRatchet, validTaskNames) {
5
10
  this.batchRatchet = batchRatchet;
6
11
  this.validTaskNames = validTaskNames;
@@ -0,0 +1,15 @@
1
+ import { JestRatchet } from '@bitblit/ratchet-jest/dist/jest/jest-ratchet.js';
2
+ import { AwsBatchBackgroundProcessor } from './aws-batch-background-processor.js';
3
+ import { jest } from '@jest/globals';
4
+ let mockBatchRatchet;
5
+ describe('#AwsBatchBackgroundProcessor', () => {
6
+ beforeEach(() => {
7
+ mockBatchRatchet = JestRatchet.mock(jest.fn);
8
+ });
9
+ it('Should schedule background task', async () => {
10
+ mockBatchRatchet.scheduleJob.mockResolvedValue({ jobId: 'newID', jobName: 'name', $metadata: null });
11
+ const svc = new AwsBatchBackgroundProcessor(mockBatchRatchet, null);
12
+ const res = await svc.scheduleBackgroundTask('BACKGROUND_TASK_NAME', {}, {});
13
+ expect(res).not.toBeNull();
14
+ });
15
+ });
@@ -1,7 +1,4 @@
1
1
  import { BatchClient, JobStatus, JobSummary, SubmitJobCommandInput, SubmitJobCommandOutput } from '@aws-sdk/client-batch';
2
- /**
3
- * Ratchet for simplifying interacting with AWS Batch
4
- */
5
2
  export declare class AwsBatchRatchet {
6
3
  private _batchClient;
7
4
  private _defaultQueueName?;
@@ -1,6 +1,10 @@
1
1
  import { ListJobsCommand, SubmitJobCommand, } from '@aws-sdk/client-batch';
2
- import { Logger, RequireRatchet } from '@bitblit/ratchet-common';
2
+ import { RequireRatchet } from '@bitblit/ratchet-common/dist/lang/require-ratchet.js';
3
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
3
4
  export class AwsBatchRatchet {
5
+ _batchClient;
6
+ _defaultQueueName;
7
+ _defaultJobDefinition;
4
8
  constructor(_batchClient, _defaultQueueName, _defaultJobDefinition) {
5
9
  this._batchClient = _batchClient;
6
10
  this._defaultQueueName = _defaultQueueName;
@@ -0,0 +1,33 @@
1
+ import { AwsBatchRatchet } from './aws-batch-ratchet.js';
2
+ import { BatchClient, JobStatus, ListJobsCommand, SubmitJobCommand } from '@aws-sdk/client-batch';
3
+ import { mockClient } from 'aws-sdk-client-mock';
4
+ let mockBatch;
5
+ describe('#AwsBatchService', () => {
6
+ mockBatch = mockClient(BatchClient);
7
+ beforeEach(() => {
8
+ mockBatch.reset();
9
+ });
10
+ it('Should schedule batch job', async () => {
11
+ const svc = new AwsBatchRatchet(mockBatch);
12
+ mockBatch.on(SubmitJobCommand).resolves({ jobName: 'b' });
13
+ const res = await svc.scheduleJob({
14
+ jobName: 'testName',
15
+ jobDefinition: 'testDefinition',
16
+ jobQueue: 'testQueue',
17
+ });
18
+ expect(res).not.toBeNull();
19
+ });
20
+ it('Should list jobs', async () => {
21
+ const svc = new AwsBatchRatchet(mockBatch);
22
+ mockBatch.on(ListJobsCommand).resolves([{}]);
23
+ const res = await svc.listJobs('testQueue');
24
+ expect(res).not.toBeNull();
25
+ expect(res.length).toEqual(1);
26
+ });
27
+ it('Should count jobs in state', async () => {
28
+ const svc = new AwsBatchRatchet(mockBatch);
29
+ mockBatch.on(ListJobsCommand).resolves([{}]);
30
+ const res = await svc.jobCountInState(JobStatus.RUNNABLE, 'testQueue');
31
+ expect(res).toEqual(1);
32
+ });
33
+ });
@@ -1,4 +1,4 @@
1
- import { BuildInformation } from '@bitblit/ratchet-common';
1
+ import { BuildInformation } from '@bitblit/ratchet-common/dist/build/build-information.js';
2
2
  export declare class RatchetAwsInfo {
3
3
  private constructor();
4
4
  static buildInformation(): BuildInformation;
@@ -1,6 +1,6 @@
1
- import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper';
2
- import { SimpleCacheStorageProvider } from './simple-cache-storage-provider';
3
- import { DynamoRatchet } from '../dynamodb/dynamo-ratchet';
1
+ import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper.js';
2
+ import { SimpleCacheStorageProvider } from './simple-cache-storage-provider.js';
3
+ import { DynamoRatchet } from '../dynamodb/dynamo-ratchet.js';
4
4
  export declare class DynamoDbStorageProvider implements SimpleCacheStorageProvider {
5
5
  private dynamo;
6
6
  private opts;
@@ -1,5 +1,7 @@
1
- import { RequireRatchet } from '@bitblit/ratchet-common';
1
+ import { RequireRatchet } from '@bitblit/ratchet-common/dist/lang/require-ratchet.js';
2
2
  export class DynamoDbStorageProvider {
3
+ dynamo;
4
+ opts;
3
5
  constructor(dynamo, opts) {
4
6
  this.dynamo = dynamo;
5
7
  this.opts = opts;
@@ -1,6 +1,6 @@
1
- import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper';
2
- import { SimpleCacheStorageProvider } from './simple-cache-storage-provider';
3
- import { S3CacheRatchet } from '../s3/s3-cache-ratchet';
1
+ import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper.js';
2
+ import { SimpleCacheStorageProvider } from './simple-cache-storage-provider.js';
3
+ import { S3CacheRatchet } from '../s3/s3-cache-ratchet.js';
4
4
  export declare class S3StorageProvider implements SimpleCacheStorageProvider {
5
5
  private s3CacheRatchet;
6
6
  private prefix;
@@ -1,5 +1,8 @@
1
- import { RequireRatchet, StringRatchet } from '@bitblit/ratchet-common';
1
+ import { RequireRatchet } from '@bitblit/ratchet-common/dist/lang/require-ratchet.js';
2
+ import { StringRatchet } from '@bitblit/ratchet-common/dist/lang/string-ratchet.js';
2
3
  export class S3StorageProvider {
4
+ s3CacheRatchet;
5
+ prefix;
3
6
  constructor(s3CacheRatchet, prefix) {
4
7
  this.s3CacheRatchet = s3CacheRatchet;
5
8
  this.prefix = prefix;
@@ -1,4 +1,4 @@
1
- import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper';
1
+ import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper.js';
2
2
  export interface SimpleCacheStorageProvider {
3
3
  readFromCache<T>(cacheKey: string): Promise<SimpleCacheObjectWrapper<T>>;
4
4
  storeInCache<T>(value: SimpleCacheObjectWrapper<T>): Promise<boolean>;
@@ -1,6 +1,6 @@
1
- import { SimpleCacheStorageProvider } from './simple-cache-storage-provider';
2
- import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper';
3
- import { SimpleCacheReadOptions } from './simple-cache-read-options';
1
+ import { SimpleCacheStorageProvider } from './simple-cache-storage-provider.js';
2
+ import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper.js';
3
+ import { SimpleCacheReadOptions } from './simple-cache-read-options.js';
4
4
  export declare class SimpleCache {
5
5
  private provider;
6
6
  private defaultTimeToLiveMS;
@@ -1,6 +1,8 @@
1
- import { Logger } from '@bitblit/ratchet-common';
1
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
2
2
  export class SimpleCache {
3
- constructor(provider, defaultTimeToLiveMS = 1000 * 60) {
3
+ provider;
4
+ defaultTimeToLiveMS;
5
+ constructor(provider, defaultTimeToLiveMS = 1_000 * 60) {
4
6
  this.provider = provider;
5
7
  this.defaultTimeToLiveMS = defaultTimeToLiveMS;
6
8
  }
@@ -0,0 +1,67 @@
1
+ import { S3StorageProvider } from './s3-storage-provider.js';
2
+ import { SimpleCache } from './simple-cache.js';
3
+ import { S3CacheRatchet } from '../s3/s3-cache-ratchet.js';
4
+ import { DynamoRatchet } from '../dynamodb/dynamo-ratchet.js';
5
+ import { DynamoDbStorageProvider } from './dynamo-db-storage-provider.js';
6
+ import { S3Client } from '@aws-sdk/client-s3';
7
+ import { DynamoDBDocument } from '@aws-sdk/lib-dynamodb';
8
+ import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
9
+ describe('#simpleCache', function () {
10
+ xit('should read/write/delete with an S3 handler', async () => {
11
+ const s3 = new S3Client({ region: 'us-east-1' });
12
+ const cache = new S3CacheRatchet(s3, 'test-bucket');
13
+ const s3StorageProvider = new S3StorageProvider(cache, 'test-cache');
14
+ const simpleCache = new SimpleCache(s3StorageProvider, 2000000);
15
+ await simpleCache.removeFromCache('test1');
16
+ const test1a = await simpleCache.fetchWrapper('test1', () => Promise.resolve({ x: 1 }));
17
+ expect(test1a).not.toBeNull();
18
+ expect(test1a.generated).toBeTruthy();
19
+ expect(test1a.value).not.toBeNull();
20
+ expect(test1a.value['x']).toEqual(1);
21
+ const test1b = await simpleCache.fetchWrapper('test1', () => Promise.resolve({ x: 1 }));
22
+ expect(test1b).not.toBeNull();
23
+ expect(test1b.generated).toBeFalsy();
24
+ expect(test1b.value).not.toBeNull();
25
+ expect(test1b.value['x']).toEqual(1);
26
+ await simpleCache.removeFromCache('test1');
27
+ }, 60_000);
28
+ xit('should read/write/delete with an dynamo handler', async () => {
29
+ const dr = new DynamoRatchet(DynamoDBDocument.from(new DynamoDBClient({ region: 'us-east-1' })));
30
+ const opts = DynamoDbStorageProvider.createDefaultOptions();
31
+ opts.tableName = 'test-table';
32
+ opts.useRangeKeys = false;
33
+ opts.hashKeyName = 'cacheUid';
34
+ opts.dynamoExpiresColumnName = 'expiresEpochSeconds';
35
+ const ddbStorage = new DynamoDbStorageProvider(dr, opts);
36
+ const simpleCache = new SimpleCache(ddbStorage, 2000000);
37
+ await simpleCache.removeFromCache('test1');
38
+ const test1a = await simpleCache.fetchWrapper('test1', () => Promise.resolve({ x: 1 }));
39
+ expect(test1a).not.toBeNull();
40
+ expect(test1a.generated).toBeTruthy();
41
+ expect(test1a.value).not.toBeNull();
42
+ expect(test1a.value['x']).toEqual(1);
43
+ const test1b = await simpleCache.fetchWrapper('test1', () => Promise.resolve({ x: 1 }));
44
+ expect(test1b).not.toBeNull();
45
+ expect(test1b.generated).toBeFalsy();
46
+ expect(test1b.value).not.toBeNull();
47
+ expect(test1b.value['x']).toEqual(1);
48
+ await simpleCache.removeFromCache('test1');
49
+ }, 60_000);
50
+ xit('should write a bunch', async () => {
51
+ const dr = new DynamoRatchet(DynamoDBDocument.from(new DynamoDBClient({ region: 'us-east-1' })));
52
+ const opts = DynamoDbStorageProvider.createDefaultOptions();
53
+ opts.tableName = 'test-table';
54
+ opts.useRangeKeys = false;
55
+ opts.hashKeyName = 'cacheUid';
56
+ opts.dynamoExpiresColumnName = 'expiresEpochSeconds';
57
+ const ddbStorage = new DynamoDbStorageProvider(dr, opts);
58
+ const simpleCache = new SimpleCache(ddbStorage, 1000);
59
+ for (let i = 0; i < 10; i++) {
60
+ const tests = await simpleCache.fetchWrapper('test' + i, () => Promise.resolve({ x: i }));
61
+ }
62
+ const all = await simpleCache.readAll();
63
+ expect(all).not.toBeNull();
64
+ expect(all.length).toBeGreaterThan(9);
65
+ await simpleCache.clearCache();
66
+ }, 60_000);
67
+ });
@@ -1,7 +1,9 @@
1
1
  import { CloudWatchLogsClient, DescribeLogStreamsCommand, FilterLogEventsCommand, } from '@aws-sdk/client-cloudwatch-logs';
2
- import { Logger } from '@bitblit/ratchet-common';
3
- import { StopWatch } from '@bitblit/ratchet-common';
2
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
3
+ import { StopWatch } from '@bitblit/ratchet-common/dist/lang/stop-watch.js';
4
4
  export class CloudWatchLogGroupRatchet {
5
+ logGroup;
6
+ awsCWLogs;
5
7
  constructor(logGroup, awsCWLogs = new CloudWatchLogsClient({ region: 'us-east-1' })) {
6
8
  this.logGroup = logGroup;
7
9
  this.awsCWLogs = awsCWLogs;
@@ -0,0 +1,19 @@
1
+ import { CloudWatchLogsClient, DescribeLogStreamsCommand } from '@aws-sdk/client-cloudwatch-logs';
2
+ import { CloudWatchLogGroupRatchet } from './cloud-watch-log-group-ratchet.js';
3
+ import { mockClient } from 'aws-sdk-client-mock';
4
+ let mockCW;
5
+ describe('#CloudWatchLogGroupRatchet', function () {
6
+ mockCW = mockClient(CloudWatchLogsClient);
7
+ beforeEach(() => {
8
+ mockCW.reset();
9
+ });
10
+ it('should read log stream names', async () => {
11
+ mockCW.on(DescribeLogStreamsCommand).resolves({
12
+ logStreams: [{ logStreamName: '1' }, { logStreamName: '2' }],
13
+ });
14
+ const cw = new CloudWatchLogGroupRatchet('testGroup', mockCW);
15
+ const res = await cw.readLogStreamNames();
16
+ expect(res).toBeTruthy();
17
+ expect(res.length).toEqual(2);
18
+ });
19
+ });
@@ -1,9 +1,11 @@
1
1
  import { CloudWatchLogsClient, DeleteLogGroupCommand, DeleteLogStreamCommand, DescribeLogGroupsCommand, DescribeLogStreamsCommand, GetQueryResultsCommand, StartQueryCommand, StopQueryCommand, } from '@aws-sdk/client-cloudwatch-logs';
2
- import { Logger } from '@bitblit/ratchet-common';
3
- import { PromiseRatchet } from '@bitblit/ratchet-common';
4
- import { RequireRatchet } from '@bitblit/ratchet-common';
5
- import { StringRatchet } from '@bitblit/ratchet-common';
2
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
3
+ import { RequireRatchet } from '@bitblit/ratchet-common/dist/lang/require-ratchet.js';
4
+ import { StringRatchet } from '@bitblit/ratchet-common/dist/lang/string-ratchet.js';
5
+ import { PromiseRatchet } from '@bitblit/ratchet-common/dist/lang/promise-ratchet.js';
6
6
  export class CloudWatchLogsRatchet {
7
+ static MAX_DELETE_RETRIES = 5;
8
+ cwLogs;
7
9
  constructor(cloudwatchLogs = null) {
8
10
  this.cwLogs = cloudwatchLogs ? cloudwatchLogs : new CloudWatchLogsClient({ region: 'us-east-1' });
9
11
  }
@@ -166,4 +168,3 @@ export class CloudWatchLogsRatchet {
166
168
  return rval;
167
169
  }
168
170
  }
169
- CloudWatchLogsRatchet.MAX_DELETE_RETRIES = 5;
@@ -0,0 +1,84 @@
1
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
2
+ import { CloudWatchLogsRatchet } from './cloud-watch-logs-ratchet.js';
3
+ import { CloudWatchLogsClient, DeleteLogGroupCommand, DeleteLogStreamCommand, DescribeLogGroupsCommand, DescribeLogStreamsCommand, GetQueryResultsCommand, StartQueryCommand, } from '@aws-sdk/client-cloudwatch-logs';
4
+ import { mockClient } from 'aws-sdk-client-mock';
5
+ let mockCW;
6
+ describe('#cloudWatchLogsRatchet', function () {
7
+ mockCW = mockClient(CloudWatchLogsClient);
8
+ beforeEach(() => {
9
+ mockCW.reset();
10
+ });
11
+ it('should find the stream with the oldest timestamp in a group', async () => {
12
+ mockCW.on(DescribeLogStreamsCommand).resolves({
13
+ logStreams: [
14
+ { logStreamName: '1', firstEventTimestamp: 100 },
15
+ { logStreamName: '2', firstEventTimestamp: 200 },
16
+ ],
17
+ });
18
+ const cw = new CloudWatchLogsRatchet(mockCW);
19
+ const res = await cw.findStreamWithOldestEventInGroup('test');
20
+ expect(res).toBeTruthy();
21
+ expect(res.logStreamName).toEqual('1');
22
+ });
23
+ it('should find the oldest timestamp in group', async () => {
24
+ mockCW.on(DescribeLogStreamsCommand).resolves({
25
+ logStreams: [
26
+ { logStreamName: '1', firstEventTimestamp: 100 },
27
+ { logStreamName: '2', firstEventTimestamp: 200 },
28
+ ],
29
+ });
30
+ const cw = new CloudWatchLogsRatchet(mockCW);
31
+ const res = await cw.findOldestEventTimestampInGroup('test');
32
+ expect(res).toEqual(100);
33
+ });
34
+ it('should remove log groups', async () => {
35
+ mockCW.on(DeleteLogGroupCommand).resolves(null);
36
+ const cw = new CloudWatchLogsRatchet(mockCW);
37
+ const res = await cw.removeLogGroups([{ logGroupName: '1' }, { logGroupName: '2' }]);
38
+ expect(res.length).toEqual(2);
39
+ });
40
+ it('should remove log groups with prefix', async () => {
41
+ mockCW.on(DescribeLogGroupsCommand).resolves({
42
+ logGroups: [{ logGroupName: 'pre1' }, { logGroupName: 'pre2' }],
43
+ });
44
+ mockCW.on(DeleteLogGroupCommand).resolves(null);
45
+ const cw = new CloudWatchLogsRatchet(mockCW);
46
+ const res = await cw.removeLogGroupsWithPrefix('pre');
47
+ expect(res.length).toEqual(2);
48
+ });
49
+ it('should remove empty or old log streams', async () => {
50
+ mockCW.on(DescribeLogStreamsCommand).resolves({
51
+ logStreams: [{ logStreamName: '1' }, { logStreamName: '2' }],
52
+ });
53
+ mockCW.on(DeleteLogStreamCommand).resolves(null);
54
+ const cw = new CloudWatchLogsRatchet(mockCW);
55
+ const res = await cw.removeEmptyOrOldLogStreams('test', 1000);
56
+ expect(res).toBeTruthy();
57
+ expect(res.length).toEqual(2);
58
+ });
59
+ it('should find all matching groups', async () => {
60
+ mockCW.on(DescribeLogGroupsCommand).resolves({ logGroups: [{ logGroupName: '1' }, { logGroupName: '2' }] });
61
+ const cw = new CloudWatchLogsRatchet(mockCW);
62
+ const prefix = '/';
63
+ const res = await cw.findLogGroups(prefix);
64
+ expect(res).toBeTruthy();
65
+ expect(res.length).toEqual(2);
66
+ });
67
+ it('should execute an insights query', async () => {
68
+ mockCW.on(StartQueryCommand).resolves({ queryId: 'test' });
69
+ mockCW.on(GetQueryResultsCommand).resolves({});
70
+ const cw = new CloudWatchLogsRatchet(mockCW);
71
+ const logGroups = ['/someGroup'];
72
+ const now = Math.floor(new Date().getTime() / 1000);
73
+ const req = {
74
+ endTime: now,
75
+ limit: 200,
76
+ logGroupNames: logGroups,
77
+ queryString: 'fields @timestamp, @message | sort @timestamp desc',
78
+ startTime: now - 60 * 60 * 24,
79
+ };
80
+ const res = await cw.fullyExecuteInsightsQuery(req);
81
+ expect(res).toBeTruthy();
82
+ Logger.info('Got : %j', res);
83
+ });
84
+ });
@@ -1,7 +1,7 @@
1
1
  import { CloudWatchClient } from '@aws-sdk/client-cloudwatch';
2
- import { KeyValue } from '@bitblit/ratchet-common';
3
- import { CloudWatchMetricsUnit } from '../model/cloud-watch-metrics-unit';
4
- import { CloudWatchMetricsMinuteLevelDynamoCountRequest } from '../model/cloud-watch-metrics-minute-level-dynamo-count-request';
2
+ import { KeyValue } from '@bitblit/ratchet-common/dist/lang/key-value.js';
3
+ import { CloudWatchMetricsUnit } from '../model/cloud-watch-metrics-unit.js';
4
+ import { CloudWatchMetricsMinuteLevelDynamoCountRequest } from '../model/cloud-watch-metrics-minute-level-dynamo-count-request.js';
5
5
  export declare class CloudWatchMetricsRatchet {
6
6
  private cw;
7
7
  constructor(cloudWatch?: CloudWatchClient);
@@ -1,8 +1,9 @@
1
1
  import { CloudWatchClient, PutMetricDataCommand } from '@aws-sdk/client-cloudwatch';
2
- import { Logger } from '@bitblit/ratchet-common';
3
- import { CloudWatchMetricsUnit } from '../model/cloud-watch-metrics-unit';
2
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
3
+ import { CloudWatchMetricsUnit } from '../model/cloud-watch-metrics-unit.js';
4
4
  import { DateTime } from 'luxon';
5
5
  export class CloudWatchMetricsRatchet {
6
+ cw;
6
7
  constructor(cloudWatch = null) {
7
8
  this.cw = cloudWatch ? cloudWatch : new CloudWatchClient({ region: 'us-east-1', apiVersion: '2010-08-01' });
8
9
  }
@@ -0,0 +1,23 @@
1
+ import { CloudWatchMetricsRatchet } from './cloud-watch-metrics-ratchet.js';
2
+ import { CloudWatchMetricsUnit } from '../model/cloud-watch-metrics-unit.js';
3
+ import { CloudWatchClient, PutMetricDataCommand } from '@aws-sdk/client-cloudwatch';
4
+ import { mockClient } from 'aws-sdk-client-mock';
5
+ let mockCW;
6
+ describe('#cloudWatchMetricsRatchet', function () {
7
+ mockCW = mockClient(CloudWatchClient);
8
+ beforeEach(() => {
9
+ mockCW.reset();
10
+ mockCW.reset();
11
+ });
12
+ it('should log a cloudwatch metric', async () => {
13
+ mockCW.on(PutMetricDataCommand).resolves({ ok: true });
14
+ const cw = new CloudWatchMetricsRatchet(mockCW);
15
+ const dims = [
16
+ { key: 'server', value: 'prod' },
17
+ { key: 'stage', value: 'v0' },
18
+ { key: 'version', value: '20190529-01' },
19
+ ];
20
+ const res = await cw.writeSingleMetric('Ratchet/TestMetric01', 'MyMetric01', dims, CloudWatchMetricsUnit.Count, 2, new Date(), false);
21
+ expect(res).toBeTruthy();
22
+ });
23
+ });
@@ -1,6 +1,6 @@
1
- /// <reference types="node" />
2
- import { DaemonProcessState } from './daemon-process-state';
3
- import { DaemonProcessCreateOptions } from './daemon-process-create-options';
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { DaemonProcessState } from './daemon-process-state.js';
3
+ import { DaemonProcessCreateOptions } from './daemon-process-create-options.js';
4
4
  export interface DaemonLike {
5
5
  get defaultGroup(): string;
6
6
  keyToPublicToken(key: string, expirationSeconds: number): Promise<string>;
@@ -1,4 +1,4 @@
1
- import { JwtTokenBase } from '@bitblit/ratchet-common';
1
+ import { JwtTokenBase } from '@bitblit/ratchet-common/dist/jwt/jwt-token-base.js';
2
2
  export interface DaemonProcessStatePublicToken extends JwtTokenBase {
3
3
  daemonKey: string;
4
4
  }
@@ -1,15 +1,9 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { DaemonProcessState } from './daemon-process-state';
4
- import { S3CacheRatchet } from '../s3/s3-cache-ratchet';
5
- import { DaemonProcessCreateOptions } from './daemon-process-create-options';
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ import { DaemonProcessState } from './daemon-process-state.js';
4
+ import { S3CacheRatchet } from '../s3/s3-cache-ratchet.js';
5
+ import { DaemonProcessCreateOptions } from './daemon-process-create-options.js';
6
6
  import { Readable } from 'stream';
7
- /**
8
- * Internal utilities which are here for the USE OF THE DAEMON OBJECT ONLY - if you are trying to use this
9
- * class outside of Ratchet, you are doing it wrong. Instantiate a Daemon object and use that instead.
10
- *
11
- * The details of storage and retrieval of a DaemonProcessState is meant to be transparent to the user
12
- */
13
7
  export declare class DaemonUtil {
14
8
  static DEFAULT_CONTENT: Buffer;
15
9
  static DAEMON_METADATA_KEY: string;
@@ -1,7 +1,9 @@
1
- import { Logger } from '@bitblit/ratchet-common';
1
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
2
2
  import { PutObjectCommand, } from '@aws-sdk/client-s3';
3
3
  import { Upload } from '@aws-sdk/lib-storage';
4
4
  export class DaemonUtil {
5
+ static DEFAULT_CONTENT = Buffer.from('DAEMON_PLACEHOLDER');
6
+ static DAEMON_METADATA_KEY = 'daemon_meta';
5
7
  static async start(cache, id, s3Key, options) {
6
8
  try {
7
9
  options.meta = options.meta || {};
@@ -144,5 +146,3 @@ export class DaemonUtil {
144
146
  }
145
147
  }
146
148
  }
147
- DaemonUtil.DEFAULT_CONTENT = Buffer.from('DAEMON_PLACEHOLDER');
148
- DaemonUtil.DAEMON_METADATA_KEY = 'daemon_meta';
@@ -0,0 +1,4 @@
1
+ export interface TestItem {
2
+ a: number;
3
+ b: string;
4
+ }
@@ -0,0 +1,79 @@
1
+ import { S3CacheRatchet } from '../s3/s3-cache-ratchet.js';
2
+ import { DaemonUtil } from './daemon-util.js';
3
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
4
+ import { LoggerLevelName } from '@bitblit/ratchet-common/dist/logger/logger-level-name.js';
5
+ import { PromiseRatchet } from '@bitblit/ratchet-common/dist/lang/promise-ratchet.js';
6
+ import fs from 'fs';
7
+ import { JestRatchet } from '@bitblit/ratchet-jest/dist/jest/jest-ratchet.js';
8
+ import { Subject } from 'rxjs';
9
+ import { PassThrough } from 'stream';
10
+ import { CsvRatchet } from '@bitblit/ratchet-node-only/dist/csv/csv-ratchet.js';
11
+ import { S3Client } from '@aws-sdk/client-s3';
12
+ import { jest } from '@jest/globals';
13
+ let mockS3CR;
14
+ describe('#DaemonUtil', function () {
15
+ beforeEach(() => {
16
+ mockS3CR = JestRatchet.mock(jest.fn);
17
+ });
18
+ it('should test the daemon util', async () => {
19
+ mockS3CR.getDefaultBucket.mockReturnValueOnce('TEST-BUCKET');
20
+ mockS3CR.fetchMetaForCacheFile.mockResolvedValue({
21
+ Metadata: { daemon_meta: '{"id":"testid", "completedEpochMS":123456}' },
22
+ $metadata: null,
23
+ });
24
+ mockS3CR.preSignedDownloadUrlForCacheFile.mockResolvedValue('https://test-link');
25
+ const t1 = await DaemonUtil.stat(mockS3CR, 'test1.csv');
26
+ Logger.info('Got : %j', t1);
27
+ expect(t1).not.toBeNull();
28
+ expect(t1.link).not.toBeNull();
29
+ });
30
+ xit('should test the daemon util streaming', async () => {
31
+ const s3 = new S3Client({ region: 'us-east-1' });
32
+ const cache = new S3CacheRatchet(s3, 'test-bucket');
33
+ const key = 's3-cache-ratchet.spec.ts';
34
+ const newDaemonOptions = {
35
+ title: 'test',
36
+ contentType: 'text/plain',
37
+ group: 'NA',
38
+ meta: {},
39
+ targetFileName: 's3-cache-ratchet.spec.ts',
40
+ };
41
+ const t2 = await DaemonUtil.start(cache, key, 's3-cache-ratchet.spec.ts', newDaemonOptions);
42
+ const t1 = await DaemonUtil.stat(cache, key);
43
+ Logger.info('Got : %j', t1);
44
+ const stream = fs.createReadStream('test/aws/s3-cache-ratchet.spec.ts');
45
+ const result = await DaemonUtil.streamDataAndFinish(cache, key, stream);
46
+ expect(result).toBeTruthy();
47
+ Logger.info('Got objects : %j', result);
48
+ });
49
+ xit('should stream objects to a csv', async () => {
50
+ Logger.setLevel(LoggerLevelName.debug);
51
+ const sub = new Subject();
52
+ const out = new PassThrough();
53
+ const s3 = new S3Client({ region: 'us-east-1' });
54
+ const cache = new S3CacheRatchet(s3, 'test-bucket');
55
+ const key = 'test.csv';
56
+ const newDaemonOptions = {
57
+ title: 'test',
58
+ contentType: 'text/csv',
59
+ group: 'NA',
60
+ meta: {},
61
+ targetFileName: 'test.csv',
62
+ };
63
+ const t2 = await DaemonUtil.start(cache, key, key, newDaemonOptions);
64
+ const dProm = DaemonUtil.streamDataAndFinish(cache, key, out);
65
+ const prom = CsvRatchet.streamObjectsToCsv(sub, out);
66
+ for (let i = 1; i < 6; i++) {
67
+ Logger.debug('Proc : %d', i);
68
+ sub.next({ a: i, b: 'test ' + i + ' ,,' });
69
+ await PromiseRatchet.wait(10);
70
+ }
71
+ sub.complete();
72
+ Logger.debug('Waiting on write');
73
+ const result = await prom;
74
+ Logger.debug('Write complete');
75
+ const val = await dProm;
76
+ expect(result).toEqual(5);
77
+ Logger.debug('Have res : %d and val : \n%j', result, val);
78
+ });
79
+ });
@@ -1,8 +1,8 @@
1
- /// <reference types="node" />
2
- import { DaemonProcessState } from './daemon-process-state';
3
- import { DaemonProcessCreateOptions } from './daemon-process-create-options';
4
- import { DaemonLike } from './daemon-like';
5
- import { JwtRatchetLike } from '@bitblit/ratchet-common';
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { JwtRatchetLike } from '@bitblit/ratchet-common/dist/jwt/jwt-ratchet-like.js';
3
+ import { DaemonProcessState } from './daemon-process-state.js';
4
+ import { DaemonProcessCreateOptions } from './daemon-process-create-options.js';
5
+ import { DaemonLike } from './daemon-like.js';
6
6
  import { S3Client } from '@aws-sdk/client-s3';
7
7
  export declare class Daemon implements DaemonLike {
8
8
  private s3;
@@ -1,9 +1,16 @@
1
- import { Logger } from '@bitblit/ratchet-common';
2
- import { S3CacheRatchet } from '../s3/s3-cache-ratchet';
3
- import { StringRatchet } from '@bitblit/ratchet-common';
4
- import { DaemonUtil } from './daemon-util';
5
- import { RequireRatchet } from '@bitblit/ratchet-common';
1
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
2
+ import { RequireRatchet } from '@bitblit/ratchet-common/dist/lang/require-ratchet.js';
3
+ import { StringRatchet } from '@bitblit/ratchet-common/dist/lang/string-ratchet.js';
4
+ import { S3CacheRatchet } from '../s3/s3-cache-ratchet.js';
5
+ import { DaemonUtil } from './daemon-util.js';
6
6
  export class Daemon {
7
+ s3;
8
+ bucket;
9
+ prefix;
10
+ _defaultGroup;
11
+ jwtRatchet;
12
+ static DEFAULT_DEFAULT_GROUP = 'DEFAULT';
13
+ cache;
7
14
  constructor(s3, bucket, prefix = '', _defaultGroup = Daemon.DEFAULT_DEFAULT_GROUP, jwtRatchet) {
8
15
  this.s3 = s3;
9
16
  this.bucket = bucket;
@@ -119,4 +126,3 @@ export class Daemon {
119
126
  return DaemonUtil.finalize(this.cache, this.keyToPath(id), contents);
120
127
  }
121
128
  }
122
- Daemon.DEFAULT_DEFAULT_GROUP = 'DEFAULT';
@@ -1,4 +1,4 @@
1
- import { PrototypeDaoDb } from './prototype-dao-db';
1
+ import { PrototypeDaoDb } from './prototype-dao-db.js';
2
2
  export interface PrototypeDaoProvider<T> {
3
3
  storeDatabase(db: PrototypeDaoDb<T>): Promise<boolean>;
4
4
  loadDatabase(): Promise<PrototypeDaoDb<T>>;