@digitraffic/common 2022.10.25-1 → 2022.10.28-2

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 (332) hide show
  1. package/{aws → dist/aws}/infra/api/integration.d.ts +0 -0
  2. package/dist/aws/infra/api/integration.js +52 -0
  3. package/dist/aws/infra/api/integration.js.map +1 -0
  4. package/{aws → dist/aws}/infra/api/response.d.ts +0 -0
  5. package/dist/aws/infra/api/response.js +61 -0
  6. package/dist/aws/infra/api/response.js.map +1 -0
  7. package/{aws → dist/aws}/infra/api/responses.d.ts +3 -3
  8. package/dist/aws/infra/api/responses.js +82 -0
  9. package/dist/aws/infra/api/responses.js.map +1 -0
  10. package/{aws → dist/aws}/infra/api/static-integration.d.ts +0 -0
  11. package/dist/aws/infra/api/static-integration.js +54 -0
  12. package/dist/aws/infra/api/static-integration.js.map +1 -0
  13. package/{aws → dist/aws}/infra/canaries/canary-alarm.d.ts +0 -0
  14. package/dist/aws/infra/canaries/canary-alarm.js +26 -0
  15. package/dist/aws/infra/canaries/canary-alarm.js.map +1 -0
  16. package/dist/aws/infra/canaries/canary-keys.d.ts +3 -0
  17. package/dist/aws/infra/canaries/canary-keys.js +7 -0
  18. package/dist/aws/infra/canaries/canary-keys.js.map +1 -0
  19. package/{aws → dist/aws}/infra/canaries/canary-parameters.d.ts +0 -0
  20. package/dist/aws/infra/canaries/canary-parameters.js +3 -0
  21. package/dist/aws/infra/canaries/canary-parameters.js.map +1 -0
  22. package/{aws → dist/aws}/infra/canaries/canary-role.d.ts +0 -0
  23. package/dist/aws/infra/canaries/canary-role.js +46 -0
  24. package/dist/aws/infra/canaries/canary-role.js.map +1 -0
  25. package/{aws → dist/aws}/infra/canaries/canary.d.ts +0 -0
  26. package/dist/aws/infra/canaries/canary.js +32 -0
  27. package/dist/aws/infra/canaries/canary.js.map +1 -0
  28. package/{aws → dist/aws}/infra/canaries/database-canary.d.ts +0 -0
  29. package/dist/aws/infra/canaries/database-canary.js +70 -0
  30. package/dist/aws/infra/canaries/database-canary.js.map +1 -0
  31. package/{aws → dist/aws}/infra/canaries/database-checker.d.ts +2 -2
  32. package/dist/aws/infra/canaries/database-checker.js +103 -0
  33. package/dist/aws/infra/canaries/database-checker.js.map +1 -0
  34. package/{aws → dist/aws}/infra/canaries/url-canary.d.ts +0 -3
  35. package/dist/aws/infra/canaries/url-canary.js +47 -0
  36. package/dist/aws/infra/canaries/url-canary.js.map +1 -0
  37. package/{aws → dist/aws}/infra/canaries/url-checker.d.ts +0 -0
  38. package/dist/aws/infra/canaries/url-checker.js +252 -0
  39. package/dist/aws/infra/canaries/url-checker.js.map +1 -0
  40. package/{aws → dist/aws}/infra/documentation.d.ts +0 -0
  41. package/dist/aws/infra/documentation.js +95 -0
  42. package/dist/aws/infra/documentation.js.map +1 -0
  43. package/{aws → dist/aws}/infra/scheduler.d.ts +7 -7
  44. package/dist/aws/infra/scheduler.js +31 -0
  45. package/dist/aws/infra/scheduler.js.map +1 -0
  46. package/{aws → dist/aws}/infra/security-rule.d.ts +0 -0
  47. package/dist/aws/infra/security-rule.js +39 -0
  48. package/dist/aws/infra/security-rule.js.map +1 -0
  49. package/{aws → dist/aws}/infra/sqs-integration.d.ts +0 -0
  50. package/dist/aws/infra/sqs-integration.js +93 -0
  51. package/dist/aws/infra/sqs-integration.js.map +1 -0
  52. package/{aws → dist/aws}/infra/sqs-queue.d.ts +0 -0
  53. package/dist/aws/infra/sqs-queue.js +130 -0
  54. package/dist/aws/infra/sqs-queue.js.map +1 -0
  55. package/{aws → dist/aws}/infra/stack/lambda-configs.d.ts +5 -5
  56. package/dist/aws/infra/stack/lambda-configs.js +105 -0
  57. package/dist/aws/infra/stack/lambda-configs.js.map +1 -0
  58. package/{aws → dist/aws}/infra/stack/monitoredfunction.d.ts +1 -1
  59. package/dist/aws/infra/stack/monitoredfunction.js +143 -0
  60. package/dist/aws/infra/stack/monitoredfunction.js.map +1 -0
  61. package/{aws → dist/aws}/infra/stack/rest_apis.d.ts +0 -0
  62. package/dist/aws/infra/stack/rest_apis.js +185 -0
  63. package/dist/aws/infra/stack/rest_apis.js.map +1 -0
  64. package/{aws → dist/aws}/infra/stack/stack-checking-aspect.d.ts +0 -0
  65. package/dist/aws/infra/stack/stack-checking-aspect.js +174 -0
  66. package/dist/aws/infra/stack/stack-checking-aspect.js.map +1 -0
  67. package/{aws → dist/aws}/infra/stack/stack.d.ts +5 -4
  68. package/dist/aws/infra/stack/stack.js +67 -0
  69. package/dist/aws/infra/stack/stack.js.map +1 -0
  70. package/{aws → dist/aws}/infra/stack/subscription.d.ts +3 -3
  71. package/dist/aws/infra/stack/subscription.js +42 -0
  72. package/dist/aws/infra/stack/subscription.js.map +1 -0
  73. package/{aws → dist/aws}/infra/usage-plans.d.ts +0 -0
  74. package/dist/aws/infra/usage-plans.js +42 -0
  75. package/dist/aws/infra/usage-plans.js.map +1 -0
  76. package/{aws → dist/aws}/runtime/apikey.d.ts +0 -0
  77. package/dist/aws/runtime/apikey.js +13 -0
  78. package/dist/aws/runtime/apikey.js.map +1 -0
  79. package/{aws → dist/aws}/runtime/digitraffic-integration-response.d.ts +0 -0
  80. package/dist/aws/runtime/digitraffic-integration-response.js +26 -0
  81. package/dist/aws/runtime/digitraffic-integration-response.js.map +1 -0
  82. package/{aws → dist/aws}/runtime/environment.d.ts +0 -0
  83. package/dist/aws/runtime/environment.js +12 -0
  84. package/dist/aws/runtime/environment.js.map +1 -0
  85. package/{aws → dist/aws}/runtime/messaging.d.ts +0 -0
  86. package/dist/aws/runtime/messaging.js +31 -0
  87. package/dist/aws/runtime/messaging.js.map +1 -0
  88. package/{aws → dist/aws}/runtime/s3.d.ts +0 -0
  89. package/dist/aws/runtime/s3.js +30 -0
  90. package/dist/aws/runtime/s3.js.map +1 -0
  91. package/{aws → dist/aws}/runtime/secrets/dbsecret.d.ts +0 -0
  92. package/dist/aws/runtime/secrets/dbsecret.js +96 -0
  93. package/dist/aws/runtime/secrets/dbsecret.js.map +1 -0
  94. package/{aws → dist/aws}/runtime/secrets/proxy-holder.d.ts +0 -0
  95. package/dist/aws/runtime/secrets/proxy-holder.js +27 -0
  96. package/dist/aws/runtime/secrets/proxy-holder.js.map +1 -0
  97. package/{aws → dist/aws}/runtime/secrets/rds-holder.d.ts +0 -0
  98. package/dist/aws/runtime/secrets/rds-holder.js +27 -0
  99. package/dist/aws/runtime/secrets/rds-holder.js.map +1 -0
  100. package/{aws → dist/aws}/runtime/secrets/secret-holder.d.ts +0 -0
  101. package/dist/aws/runtime/secrets/secret-holder.js +76 -0
  102. package/dist/aws/runtime/secrets/secret-holder.js.map +1 -0
  103. package/{aws → dist/aws}/runtime/secrets/secret.d.ts +0 -0
  104. package/dist/aws/runtime/secrets/secret.js +43 -0
  105. package/dist/aws/runtime/secrets/secret.js.map +1 -0
  106. package/{aws → dist/aws}/types/errors.d.ts +4 -0
  107. package/dist/aws/types/errors.js +16 -0
  108. package/dist/aws/types/errors.js.map +1 -0
  109. package/{aws → dist/aws}/types/lambda-response.d.ts +4 -3
  110. package/dist/aws/types/lambda-response.js +33 -0
  111. package/dist/aws/types/lambda-response.js.map +1 -0
  112. package/{aws → dist/aws}/types/mediatypes.d.ts +1 -1
  113. package/dist/aws/types/mediatypes.js +16 -0
  114. package/dist/aws/types/mediatypes.js.map +1 -0
  115. package/{aws → dist/aws}/types/model-with-reference.d.ts +0 -0
  116. package/dist/aws/types/model-with-reference.js +3 -0
  117. package/dist/aws/types/model-with-reference.js.map +1 -0
  118. package/{aws → dist/aws}/types/proxytypes.d.ts +0 -0
  119. package/dist/aws/types/proxytypes.js +3 -0
  120. package/dist/aws/types/proxytypes.js.map +1 -0
  121. package/{aws → dist/aws}/types/tags.d.ts +0 -0
  122. package/dist/aws/types/tags.js +7 -0
  123. package/dist/aws/types/tags.js.map +1 -0
  124. package/{database → dist/database}/cached.d.ts +0 -0
  125. package/dist/database/cached.js +32 -0
  126. package/dist/database/cached.js.map +1 -0
  127. package/{database → dist/database}/database.d.ts +0 -0
  128. package/dist/database/database.js +70 -0
  129. package/dist/database/database.js.map +1 -0
  130. package/{database → dist/database}/last-updated.d.ts +0 -0
  131. package/dist/database/last-updated.js +54 -0
  132. package/dist/database/last-updated.js.map +1 -0
  133. package/{database → dist/database}/models.d.ts +0 -0
  134. package/dist/database/models.js +3 -0
  135. package/dist/database/models.js.map +1 -0
  136. package/{marine → dist/marine}/id_utils.d.ts +0 -0
  137. package/dist/marine/id_utils.js +33 -0
  138. package/dist/marine/id_utils.js.map +1 -0
  139. package/{marine → dist/marine}/rtz.d.ts +0 -0
  140. package/dist/marine/rtz.js +3 -0
  141. package/dist/marine/rtz.js.map +1 -0
  142. package/{test → dist/test}/asserter.d.ts +0 -0
  143. package/dist/test/asserter.js +45 -0
  144. package/dist/test/asserter.js.map +1 -0
  145. package/{test → dist/test}/db-testutils.d.ts +0 -0
  146. package/dist/test/db-testutils.js +31 -0
  147. package/dist/test/db-testutils.js.map +1 -0
  148. package/{test → dist/test}/httpserver.d.ts +2 -1
  149. package/dist/test/httpserver.js +74 -0
  150. package/dist/test/httpserver.js.map +1 -0
  151. package/{test → dist/test}/secret.d.ts +0 -0
  152. package/dist/test/secret.js +25 -0
  153. package/dist/test/secret.js.map +1 -0
  154. package/{test → dist/test}/secrets-manager.d.ts +0 -0
  155. package/dist/test/secrets-manager.js +59 -0
  156. package/dist/test/secrets-manager.js.map +1 -0
  157. package/{test → dist/test}/testutils.d.ts +0 -0
  158. package/dist/test/testutils.js +44 -0
  159. package/dist/test/testutils.js.map +1 -0
  160. package/dist/types/either.d.ts +9 -0
  161. package/dist/types/either.js +3 -0
  162. package/dist/types/either.js.map +1 -0
  163. package/{types → dist/types}/input-error.d.ts +0 -0
  164. package/dist/types/input-error.js +7 -0
  165. package/dist/types/input-error.js.map +1 -0
  166. package/{types → dist/types}/language.d.ts +0 -0
  167. package/dist/types/language.js +10 -0
  168. package/dist/types/language.js.map +1 -0
  169. package/{types → dist/types}/traffictype.d.ts +0 -0
  170. package/dist/types/traffictype.js +13 -0
  171. package/dist/types/traffictype.js.map +1 -0
  172. package/{types → dist/types}/validator.d.ts +0 -0
  173. package/dist/types/validator.js +14 -0
  174. package/dist/types/validator.js.map +1 -0
  175. package/{utils → dist/utils}/api-model.d.ts +0 -0
  176. package/dist/utils/api-model.js +129 -0
  177. package/dist/utils/api-model.js.map +1 -0
  178. package/{utils → dist/utils}/base64.d.ts +0 -0
  179. package/dist/utils/base64.js +21 -0
  180. package/dist/utils/base64.js.map +1 -0
  181. package/{utils → dist/utils}/date-utils.d.ts +0 -0
  182. package/dist/utils/date-utils.js +34 -0
  183. package/dist/utils/date-utils.js.map +1 -0
  184. package/{utils → dist/utils}/geojson-types.d.ts +0 -0
  185. package/dist/utils/geojson-types.js +18 -0
  186. package/dist/utils/geojson-types.js.map +1 -0
  187. package/{utils → dist/utils}/geometry.d.ts +0 -0
  188. package/dist/utils/geometry.js +164 -0
  189. package/dist/utils/geometry.js.map +1 -0
  190. package/{utils → dist/utils}/retry.d.ts +0 -0
  191. package/dist/utils/retry.js +50 -0
  192. package/dist/utils/retry.js.map +1 -0
  193. package/{utils → dist/utils}/slack.d.ts +0 -0
  194. package/dist/utils/slack.js +25 -0
  195. package/dist/utils/slack.js.map +1 -0
  196. package/{utils → dist/utils}/utils.d.ts +16 -0
  197. package/dist/utils/utils.js +75 -0
  198. package/dist/utils/utils.js.map +1 -0
  199. package/package.json +12 -10
  200. package/src/@types/geojson-validation/index.d.ts +4 -0
  201. package/src/aws/infra/api/integration.ts +73 -0
  202. package/src/aws/infra/api/response.ts +67 -0
  203. package/src/aws/infra/api/responses.ts +124 -0
  204. package/src/aws/infra/api/static-integration.ts +62 -0
  205. package/src/aws/infra/canaries/canary-alarm.ts +31 -0
  206. package/src/aws/infra/canaries/canary-keys.ts +3 -0
  207. package/src/aws/infra/canaries/canary-parameters.ts +19 -0
  208. package/src/aws/infra/canaries/canary-role.ts +47 -0
  209. package/src/aws/infra/canaries/canary.ts +46 -0
  210. package/src/aws/infra/canaries/database-canary.ts +98 -0
  211. package/src/aws/infra/canaries/database-checker.ts +155 -0
  212. package/src/aws/infra/canaries/url-canary.ts +74 -0
  213. package/src/aws/infra/canaries/url-checker.ts +366 -0
  214. package/src/aws/infra/documentation.ts +124 -0
  215. package/src/aws/infra/scheduler.ts +59 -0
  216. package/src/aws/infra/security-rule.ts +38 -0
  217. package/src/aws/infra/sqs-integration.ts +102 -0
  218. package/src/aws/infra/sqs-queue.ts +148 -0
  219. package/src/aws/infra/stack/lambda-configs.ts +207 -0
  220. package/src/aws/infra/stack/monitoredfunction.ts +342 -0
  221. package/src/aws/infra/stack/rest_apis.ts +223 -0
  222. package/src/aws/infra/stack/stack-checking-aspect.ts +279 -0
  223. package/src/aws/infra/stack/stack.ts +145 -0
  224. package/src/aws/infra/stack/subscription.ts +58 -0
  225. package/src/aws/infra/usage-plans.ts +41 -0
  226. package/src/aws/runtime/apikey.ts +9 -0
  227. package/src/aws/runtime/digitraffic-integration-response.ts +28 -0
  228. package/src/aws/runtime/environment.ts +9 -0
  229. package/src/aws/runtime/messaging.ts +26 -0
  230. package/src/aws/runtime/s3.ts +44 -0
  231. package/src/aws/runtime/secrets/dbsecret.ts +116 -0
  232. package/src/aws/runtime/secrets/proxy-holder.ts +37 -0
  233. package/src/aws/runtime/secrets/rds-holder.ts +33 -0
  234. package/src/aws/runtime/secrets/secret-holder.ts +116 -0
  235. package/src/aws/runtime/secrets/secret.ts +50 -0
  236. package/src/aws/types/errors.ts +14 -0
  237. package/src/aws/types/lambda-response.ts +43 -0
  238. package/src/aws/types/mediatypes.ts +11 -0
  239. package/src/aws/types/model-with-reference.ts +8 -0
  240. package/src/aws/types/proxytypes.ts +27 -0
  241. package/src/aws/types/tags.ts +3 -0
  242. package/src/database/cached.ts +35 -0
  243. package/src/database/database.ts +96 -0
  244. package/src/database/last-updated.ts +59 -0
  245. package/src/database/models.ts +7 -0
  246. package/src/marine/id_utils.ts +30 -0
  247. package/src/marine/rtz.ts +57 -0
  248. package/src/test/asserter.ts +48 -0
  249. package/src/test/db-testutils.ts +44 -0
  250. package/src/test/httpserver.ts +96 -0
  251. package/src/test/secret.ts +23 -0
  252. package/src/test/secrets-manager.ts +34 -0
  253. package/src/test/testutils.ts +39 -0
  254. package/src/types/either.ts +3 -0
  255. package/src/types/input-error.ts +2 -0
  256. package/src/types/language.ts +3 -0
  257. package/src/types/traffictype.ts +8 -0
  258. package/src/types/validator.ts +10 -0
  259. package/src/utils/api-model.ts +133 -0
  260. package/src/utils/base64.ts +16 -0
  261. package/src/utils/date-utils.ts +30 -0
  262. package/src/utils/geojson-types.ts +22 -0
  263. package/src/utils/geometry.ts +164 -0
  264. package/src/utils/retry.ts +49 -0
  265. package/src/utils/slack.ts +22 -0
  266. package/src/utils/utils.ts +105 -0
  267. package/aws/infra/api/integration.js +0 -52
  268. package/aws/infra/api/response.js +0 -61
  269. package/aws/infra/api/responses.js +0 -79
  270. package/aws/infra/api/static-integration.js +0 -54
  271. package/aws/infra/canaries/canary-alarm.js +0 -26
  272. package/aws/infra/canaries/canary-parameters.js +0 -3
  273. package/aws/infra/canaries/canary-role.js +0 -46
  274. package/aws/infra/canaries/canary.js +0 -32
  275. package/aws/infra/canaries/database-canary.js +0 -55
  276. package/aws/infra/canaries/database-checker.js +0 -109
  277. package/aws/infra/canaries/url-canary.js +0 -46
  278. package/aws/infra/canaries/url-checker.js +0 -238
  279. package/aws/infra/documentation.js +0 -95
  280. package/aws/infra/scheduler.js +0 -31
  281. package/aws/infra/security-rule.js +0 -39
  282. package/aws/infra/sqs-integration.js +0 -93
  283. package/aws/infra/sqs-queue.js +0 -130
  284. package/aws/infra/stack/lambda-configs.js +0 -93
  285. package/aws/infra/stack/monitoredfunction.js +0 -135
  286. package/aws/infra/stack/rest_apis.js +0 -185
  287. package/aws/infra/stack/stack-checking-aspect.js +0 -174
  288. package/aws/infra/stack/stack.js +0 -60
  289. package/aws/infra/stack/subscription.js +0 -41
  290. package/aws/infra/usage-plans.js +0 -42
  291. package/aws/runtime/apikey.js +0 -13
  292. package/aws/runtime/digitraffic-integration-response.js +0 -26
  293. package/aws/runtime/environment.js +0 -12
  294. package/aws/runtime/messaging.js +0 -31
  295. package/aws/runtime/s3.js +0 -30
  296. package/aws/runtime/secrets/dbsecret.js +0 -96
  297. package/aws/runtime/secrets/proxy-holder.js +0 -26
  298. package/aws/runtime/secrets/rds-holder.js +0 -26
  299. package/aws/runtime/secrets/secret-holder.js +0 -73
  300. package/aws/runtime/secrets/secret.js +0 -43
  301. package/aws/types/errors.js +0 -9
  302. package/aws/types/lambda-response.js +0 -28
  303. package/aws/types/mediatypes.js +0 -15
  304. package/aws/types/model-with-reference.js +0 -3
  305. package/aws/types/proxytypes.js +0 -3
  306. package/aws/types/tags.js +0 -7
  307. package/database/cached.js +0 -32
  308. package/database/database.js +0 -62
  309. package/database/last-updated.js +0 -54
  310. package/database/models.js +0 -3
  311. package/index.d.ts +0 -1
  312. package/index.js +0 -18
  313. package/marine/id_utils.js +0 -33
  314. package/marine/rtz.js +0 -3
  315. package/test/asserter.js +0 -45
  316. package/test/db-testutils.js +0 -31
  317. package/test/httpserver.js +0 -67
  318. package/test/secret.js +0 -25
  319. package/test/secrets-manager.js +0 -59
  320. package/test/testutils.js +0 -44
  321. package/types/input-error.js +0 -7
  322. package/types/language.js +0 -10
  323. package/types/traffictype.js +0 -13
  324. package/types/validator.js +0 -14
  325. package/utils/api-model.js +0 -129
  326. package/utils/base64.js +0 -21
  327. package/utils/date-utils.js +0 -34
  328. package/utils/geojson-types.js +0 -18
  329. package/utils/geometry.js +0 -140
  330. package/utils/retry.js +0 -50
  331. package/utils/slack.js +0 -25
  332. package/utils/utils.js +0 -64
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LambdaResponse = void 0;
4
- class LambdaResponse {
5
- static ok(body, fileName) {
6
- return this.create(200, body, fileName);
7
- }
8
- static okJson(json, fileName) {
9
- return this.create(200, JSON.stringify(json, null, 2), fileName);
10
- }
11
- static badRequest(body) {
12
- return this.create(400, body);
13
- }
14
- static notFound() {
15
- return this.create(404, 'Not found');
16
- }
17
- static internalError() {
18
- return this.create(500, 'Internal error');
19
- }
20
- static notImplemented() {
21
- return this.create(501, 'Not implemented');
22
- }
23
- static create(status, body, fileName) {
24
- return Promise.resolve({ status, body, fileName });
25
- }
26
- }
27
- exports.LambdaResponse = LambdaResponse;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy90eXBlcy9sYW1iZGEtcmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBYSxjQUFjO0lBS3ZCLE1BQU0sQ0FBQyxFQUFFLENBQUksSUFBTyxFQUFFLFFBQWlCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFJLElBQU8sRUFBRSxRQUFpQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFZO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYztRQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUksTUFBYyxFQUFFLElBQU8sRUFBRSxRQUFpQjtRQUN2RCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNKO0FBaENELHdDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMYW1iZGFSZXNwb25zZTxUPiB7XG4gICAgcmVhZG9ubHkgc3RhdHVzOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgYm9keTogVDtcbiAgICByZWFkb25seSBmaWxlTmFtZT86IHN0cmluZztcblxuICAgIHN0YXRpYyBvazxTPihib2R5OiBTLCBmaWxlTmFtZT86IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoMjAwLCBib2R5LCBmaWxlTmFtZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIG9rSnNvbjxTPihqc29uOiBTLCBmaWxlTmFtZT86IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoMjAwLCBKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCAyKSwgZmlsZU5hbWUpO1xuICAgIH1cblxuICAgIHN0YXRpYyBiYWRSZXF1ZXN0KGJvZHk6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoNDAwLCBib2R5KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgbm90Rm91bmQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZSg0MDQsICdOb3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW50ZXJuYWxFcnJvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKDUwMCwgJ0ludGVybmFsIGVycm9yJyk7XG4gICAgfVxuXG4gICAgc3RhdGljIG5vdEltcGxlbWVudGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoNTAxLCAnTm90IGltcGxlbWVudGVkJyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGNyZWF0ZTxTPihzdGF0dXM6IG51bWJlciwgYm9keTogUywgZmlsZU5hbWU/OiBzdHJpbmcpOiBQcm9taXNlPExhbWJkYVJlc3BvbnNlPFM+PiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzdGF0dXMsIGJvZHksIGZpbGVOYW1lIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MediaType = void 0;
4
- var MediaType;
5
- (function (MediaType) {
6
- MediaType["APPLICATION_JSON"] = "application/json";
7
- MediaType["APPLICATION_XML"] = "application/xml";
8
- MediaType["APPLICATION_GEOJSON"] = "application/geo+json;charset=UTF-8";
9
- MediaType["IMAGE_SVG"] = "image/svg+xml";
10
- MediaType["IMAGE_JPEG"] = "image/jpeg";
11
- MediaType["TEXT_PLAIN"] = "text/plain";
12
- MediaType["TEXT_HTML"] = "text/html";
13
- MediaType["TEXT_CSV"] = "text/csv";
14
- })(MediaType = exports.MediaType || (exports.MediaType = {}));
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWF0eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvdHlwZXMvbWVkaWF0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLFNBU1g7QUFURCxXQUFZLFNBQVM7SUFDakIsa0RBQXFDLENBQUE7SUFDckMsZ0RBQW1DLENBQUE7SUFDbkMsdUVBQTBELENBQUE7SUFDMUQsd0NBQTJCLENBQUE7SUFDM0Isc0NBQXlCLENBQUE7SUFDekIsc0NBQXlCLENBQUE7SUFDekIsb0NBQXVCLENBQUE7SUFDdkIsa0NBQXFCLENBQUE7QUFDekIsQ0FBQyxFQVRXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBU3BCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTWVkaWFUeXBlIHtcbiAgICBBUFBMSUNBVElPTl9KU09OID0gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIEFQUExJQ0FUSU9OX1hNTCA9ICdhcHBsaWNhdGlvbi94bWwnLFxuICAgIEFQUExJQ0FUSU9OX0dFT0pTT04gPSAnYXBwbGljYXRpb24vZ2VvK2pzb247Y2hhcnNldD1VVEYtOCcsXG4gICAgSU1BR0VfU1ZHID0gJ2ltYWdlL3N2Zyt4bWwnLFxuICAgIElNQUdFX0pQRUcgPSAnaW1hZ2UvanBlZycsXG4gICAgVEVYVF9QTEFJTiA9ICd0ZXh0L3BsYWluJyxcbiAgICBURVhUX0hUTUwgPSAndGV4dC9odG1sJyxcbiAgICBURVhUX0NTViA9ICd0ZXh0L2NzdicsXG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtd2l0aC1yZWZlcmVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL3R5cGVzL21vZGVsLXdpdGgtcmVmZXJlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZGVsfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcblxuLyoqXG4gKiBNb2RlbCBvYmplY3Qgd2l0aCBhIHJlZmVyZW5jZSB0byBhbiBBUEkgR2F0ZXdheSBtb2RlbCBvYmplY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxXaXRoUmVmZXJlbmNlIGV4dGVuZHMgTW9kZWwge1xuICAgIG1vZGVsUmVmZXJlbmNlOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHl0eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvdHlwZXMvcHJveHl0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXBpZ2F0ZXdheS9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvc2V0LXVwLWxhbWJkYS1wcm94eS1pbnRlZ3JhdGlvbnMuaHRtbCNhcGktZ2F0ZXdheS1zaW1wbGUtcHJveHktZm9yLWxhbWJkYS1vdXRwdXQtZm9ybWF0XG4gKlxuICogTm90IGZ1bGx5IGRlc2NyaWJlZCwgZXh0ZW5kIGlmIG5lY2Vzc2FyeS5cbiAqL1xuZXhwb3J0IHR5cGUgUHJveHlMYW1iZGFSZXNwb25zZSA9IHtcbiAgICByZWFkb25seSBzdGF0dXNDb2RlOiBudW1iZXJcbiAgICByZWFkb25seSBib2R5OiBzdHJpbmdcbiAgICByZWFkb25seSBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgIHJlYWRvbmx5IG11bHRpVmFsdWVIZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+XG59XG5cbi8qKlxuICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwaWdhdGV3YXkvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3NldC11cC1sYW1iZGEtcHJveHktaW50ZWdyYXRpb25zLmh0bWwjYXBpLWdhdGV3YXktc2ltcGxlLXByb3h5LWZvci1sYW1iZGEtaW5wdXQtZm9ybWF0XG4gKlxuICogTm90IGZ1bGx5IGRlc2NyaWJlZCwgZXh0ZW5kIGlmIG5lY2Vzc2FyeS5cbiAqL1xuZXhwb3J0IHR5cGUgUHJveHlMYW1iZGFSZXF1ZXN0ID0ge1xuICAgIHJlYWRvbmx5IHJlc291cmNlOiBzdHJpbmdcbiAgICByZWFkb25seSBwYXRoOiBzdHJpbmdcbiAgICByZWFkb25seSBodHRwTWV0aG9kOiBzdHJpbmdcbiAgICByZWFkb25seSBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgcmVhZG9ubHkgbXVsdGlWYWx1ZUhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPlxuICAgIHJlYWRvbmx5IHF1ZXJ5U3RyaW5nUGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgIHJlYWRvbmx5IG11bHRpVmFsdWVRdWVyeVN0cmluZ1BhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPlxuICAgIHJlYWRvbmx5IGJvZHk/OiBzdHJpbmdcbn1cbiJdfQ==
package/aws/types/tags.js DELETED
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DATA_V1_TAGS = exports.BETA_TAGS = void 0;
4
- // DEPRECATED! This must be replaced with new application specific tags
5
- exports.BETA_TAGS = ['Beta'];
6
- exports.DATA_V1_TAGS = ['Data v1'];
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvdHlwZXMvdGFncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBdUU7QUFDMUQsUUFBQSxTQUFTLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNyQixRQUFBLFlBQVksR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gREVQUkVDQVRFRCEgVGhpcyBtdXN0IGJlIHJlcGxhY2VkIHdpdGggbmV3IGFwcGxpY2F0aW9uIHNwZWNpZmljIHRhZ3NcbmV4cG9ydCBjb25zdCBCRVRBX1RBR1MgPSBbJ0JldGEnXTtcbmV4cG9ydCBjb25zdCBEQVRBX1YxX1RBR1MgPSBbJ0RhdGEgdjEnXTtcbiJdfQ==
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getJsonFromCache = exports.updateCachedJson = exports.JSON_CACHE_KEY = void 0;
4
- const pg_promise_1 = require("pg-promise");
5
- const SQL_UPDATE_CACHE_VALUE = `insert into cached_json(cache_id, content, last_updated)
6
- values ($1, $2, now())
7
- on conflict(cache_id) do
8
- update set content = $2, last_updated = now()`;
9
- const SQL_GET_CACHE_VALUE = `select content, last_updated from cached_json
10
- where cache_id = $1`;
11
- const PS_UPDATE_CACHE_VALUE = new pg_promise_1.PreparedStatement({
12
- name: 'update-cache-value',
13
- text: SQL_UPDATE_CACHE_VALUE,
14
- });
15
- const PS_GET_CACHE_VALUE = new pg_promise_1.PreparedStatement({
16
- name: 'get-cache-value',
17
- text: SQL_GET_CACHE_VALUE,
18
- });
19
- var JSON_CACHE_KEY;
20
- (function (JSON_CACHE_KEY) {
21
- JSON_CACHE_KEY["NAUTICAL_WARNINGS_ACTIVE"] = "nautical-warnings-active";
22
- JSON_CACHE_KEY["NAUTICAL_WARNINGS_ARCHIVED"] = "nautical-warnings-archived";
23
- })(JSON_CACHE_KEY = exports.JSON_CACHE_KEY || (exports.JSON_CACHE_KEY = {}));
24
- function updateCachedJson(db, cacheKey, value) {
25
- return db.none(PS_UPDATE_CACHE_VALUE, [cacheKey, value]);
26
- }
27
- exports.updateCachedJson = updateCachedJson;
28
- function getJsonFromCache(db, cacheKey) {
29
- return db.oneOrNone(PS_GET_CACHE_VALUE, [cacheKey]).then(value => value?.content ?? null);
30
- }
31
- exports.getJsonFromCache = getJsonFromCache;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFiYXNlL2NhY2hlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBNkM7QUFHN0MsTUFBTSxzQkFBc0IsR0FDeEI7OztrREFHOEMsQ0FBQztBQUVuRCxNQUFNLG1CQUFtQixHQUNyQjt3QkFDb0IsQ0FBQztBQUV6QixNQUFNLHFCQUFxQixHQUFHLElBQUksOEJBQWlCLENBQUM7SUFDaEQsSUFBSSxFQUFFLG9CQUFvQjtJQUMxQixJQUFJLEVBQUUsc0JBQXNCO0NBQy9CLENBQUMsQ0FBQztBQUVILE1BQU0sa0JBQWtCLEdBQUcsSUFBSSw4QkFBaUIsQ0FBQztJQUM3QyxJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLElBQUksRUFBRSxtQkFBbUI7Q0FDNUIsQ0FBQyxDQUFDO0FBRUgsSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3RCLHVFQUFxRCxDQUFBO0lBQ3JELDJFQUF5RCxDQUFBO0FBQzdELENBQUMsRUFIVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQUd6QjtBQUVELFNBQWdCLGdCQUFnQixDQUFJLEVBQThCLEVBQUUsUUFBd0IsRUFBRSxLQUFRO0lBQ2xHLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFGRCw0Q0FFQztBQUVELFNBQWdCLGdCQUFnQixDQUFJLEVBQThCLEVBQUUsUUFBd0I7SUFDeEYsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDO0FBQzlGLENBQUM7QUFGRCw0Q0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UHJlcGFyZWRTdGF0ZW1lbnR9IGZyb20gXCJwZy1wcm9taXNlXCI7XG5pbXBvcnQge0RURGF0YWJhc2UsIERUVHJhbnNhY3Rpb259IGZyb20gXCIuL2RhdGFiYXNlXCI7XG5cbmNvbnN0IFNRTF9VUERBVEVfQ0FDSEVfVkFMVUUgPVxuICAgIGBpbnNlcnQgaW50byBjYWNoZWRfanNvbihjYWNoZV9pZCwgY29udGVudCwgbGFzdF91cGRhdGVkKVxuICAgIHZhbHVlcyAoJDEsICQyLCBub3coKSlcbiAgICBvbiBjb25mbGljdChjYWNoZV9pZCkgZG9cbiAgICB1cGRhdGUgc2V0IGNvbnRlbnQgPSAkMiwgbGFzdF91cGRhdGVkID0gbm93KClgO1xuXG5jb25zdCBTUUxfR0VUX0NBQ0hFX1ZBTFVFID1cbiAgICBgc2VsZWN0IGNvbnRlbnQsIGxhc3RfdXBkYXRlZCBmcm9tIGNhY2hlZF9qc29uXG4gICAgd2hlcmUgY2FjaGVfaWQgPSAkMWA7XG5cbmNvbnN0IFBTX1VQREFURV9DQUNIRV9WQUxVRSA9IG5ldyBQcmVwYXJlZFN0YXRlbWVudCh7XG4gICAgbmFtZTogJ3VwZGF0ZS1jYWNoZS12YWx1ZScsXG4gICAgdGV4dDogU1FMX1VQREFURV9DQUNIRV9WQUxVRSxcbn0pO1xuXG5jb25zdCBQU19HRVRfQ0FDSEVfVkFMVUUgPSBuZXcgUHJlcGFyZWRTdGF0ZW1lbnQoe1xuICAgIG5hbWU6ICdnZXQtY2FjaGUtdmFsdWUnLFxuICAgIHRleHQ6IFNRTF9HRVRfQ0FDSEVfVkFMVUUsXG59KTtcblxuZXhwb3J0IGVudW0gSlNPTl9DQUNIRV9LRVkge1xuICAgIE5BVVRJQ0FMX1dBUk5JTkdTX0FDVElWRSA9ICduYXV0aWNhbC13YXJuaW5ncy1hY3RpdmUnLFxuICAgIE5BVVRJQ0FMX1dBUk5JTkdTX0FSQ0hJVkVEID0gJ25hdXRpY2FsLXdhcm5pbmdzLWFyY2hpdmVkJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQ2FjaGVkSnNvbjxUPihkYjogRFREYXRhYmFzZSB8IERUVHJhbnNhY3Rpb24sIGNhY2hlS2V5OiBKU09OX0NBQ0hFX0tFWSwgdmFsdWU6IFQpOiBQcm9taXNlPG51bGw+IHtcbiAgICByZXR1cm4gZGIubm9uZShQU19VUERBVEVfQ0FDSEVfVkFMVUUsIFtjYWNoZUtleSwgdmFsdWVdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEpzb25Gcm9tQ2FjaGU8VD4oZGI6IERURGF0YWJhc2UgfCBEVFRyYW5zYWN0aW9uLCBjYWNoZUtleTogSlNPTl9DQUNIRV9LRVkpOiBQcm9taXNlPFQgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRiLm9uZU9yTm9uZShQU19HRVRfQ0FDSEVfVkFMVUUsIFtjYWNoZUtleV0pLnRoZW4odmFsdWUgPT4gdmFsdWU/LmNvbnRlbnQgPz8gbnVsbCk7XG59XG4iXX0=
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.inDatabaseReadonly = exports.inDatabase = exports.inTransaction = exports.initDbConnection = void 0;
4
- const dbsecret_1 = require("../aws/runtime/secrets/dbsecret");
5
- // eslint-disable-next-line @typescript-eslint/no-var-requires
6
- const pgp = require('pg-promise')();
7
- // convert numeric types to number instead of string
8
- pgp.pg.types.setTypeParser(pgp.pg.types.builtins.INT8, (value) => {
9
- return parseInt(value);
10
- });
11
- pgp.pg.types.setTypeParser(pgp.pg.types.builtins.FLOAT8, (value) => {
12
- return parseFloat(value);
13
- });
14
- pgp.pg.types.setTypeParser(pgp.pg.types.builtins.NUMERIC, (value) => {
15
- return parseFloat(value);
16
- });
17
- /**
18
- * Creates a non-pooling database connection primarily used by Lambdas.
19
- *
20
- * Note! Using this method opens a new RDS connection on every invocation. It is advised to
21
- * use RDS proxy to pool connections transparently.
22
- * https://docs.amazonaws.cn/en_us/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html
23
- * @param username Username
24
- * @param password Password
25
- * @param applicationName name of application
26
- * @param url Connection URL
27
- * @param options pg-promise options
28
- */
29
- function initDbConnection(username, password, applicationName, url, options) {
30
- const finalUrl = `postgresql://${username}:${password}@${url}?application_name=${applicationName}`;
31
- return pgp(finalUrl, options);
32
- }
33
- exports.initDbConnection = initDbConnection;
34
- function inTransaction(fn) {
35
- return inDatabase(db => db.tx((t) => fn(t)));
36
- }
37
- exports.inTransaction = inTransaction;
38
- function inDatabase(fn) {
39
- return doInDatabase(false, fn);
40
- }
41
- exports.inDatabase = inDatabase;
42
- function inDatabaseReadonly(fn) {
43
- return doInDatabase(true, fn);
44
- }
45
- exports.inDatabaseReadonly = inDatabaseReadonly;
46
- async function doInDatabase(readonly, fn) {
47
- const db = initDbConnection(process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_USER], process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_PASS], process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_APPLICATION] || 'unknown-cdk-application', (readonly ? process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_RO_URI] : process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_URI]));
48
- try {
49
- // deallocate all prepared statements to allow for connection pooling
50
- // DISCARD instead of DEALLOCATE as it didn't always clean all prepared statements
51
- await db.none('DISCARD ALL');
52
- return await fn(db);
53
- }
54
- catch (e) {
55
- console.error("Error in db:", e);
56
- throw e;
57
- }
58
- finally {
59
- db.$pool.end();
60
- }
61
- }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsOERBQXdFO0FBRXhFLDhEQUE4RDtBQUM5RCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztBQUVwQyxvREFBb0Q7QUFDcEQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRTtJQUNyRSxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQztBQUVILEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDdkUsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUM7QUFFSCxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFO0lBQ3hFLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDO0FBTUg7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDNUIsUUFBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsZUFBdUIsRUFDdkIsR0FBVyxFQUNYLE9BQWdCO0lBRWhCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixRQUFRLElBQUksUUFBUSxJQUFJLEdBQUcscUJBQXFCLGVBQWUsRUFBRSxDQUFDO0lBRW5HLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBVkQsNENBVUM7QUFFRCxTQUFnQixhQUFhLENBQUssRUFBcUM7SUFDbkUsT0FBTyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBZ0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBRkQsc0NBRUM7QUFFRCxTQUFnQixVQUFVLENBQUksRUFBa0M7SUFDNUQsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFGRCxnQ0FFQztBQUVELFNBQWdCLGtCQUFrQixDQUFJLEVBQWtDO0lBRXBFLE9BQU8sWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBSEQsZ0RBR0M7QUFFRCxLQUFLLFVBQVUsWUFBWSxDQUFJLFFBQWlCLEVBQzVDLEVBQWtDO0lBQ2xDLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQXVCLENBQUMsT0FBTyxDQUFXLEVBQzlFLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQXVCLENBQUMsT0FBTyxDQUFXLEVBQ3RELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQXVCLENBQUMsY0FBYyxDQUFDLElBQUkseUJBQXlCLEVBQ2hGLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFXLENBQUMsQ0FBQztJQUN6SCxJQUFJO1FBQ0EscUVBQXFFO1FBQ3JFLGtGQUFrRjtRQUNsRixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0IsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUN2QjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLENBQUM7S0FDWDtZQUFTO1FBQ04sRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUNsQjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lEYXRhYmFzZSwgSVRhc2t9IGZyb20gXCJwZy1wcm9taXNlXCI7XG5pbXBvcnQge0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzfSBmcm9tIFwiLi4vYXdzL3J1bnRpbWUvc2VjcmV0cy9kYnNlY3JldFwiO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuY29uc3QgcGdwID0gcmVxdWlyZSgncGctcHJvbWlzZScpKCk7XG5cbi8vIGNvbnZlcnQgbnVtZXJpYyB0eXBlcyB0byBudW1iZXIgaW5zdGVhZCBvZiBzdHJpbmdcbnBncC5wZy50eXBlcy5zZXRUeXBlUGFyc2VyKHBncC5wZy50eXBlcy5idWlsdGlucy5JTlQ4LCAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBwYXJzZUludCh2YWx1ZSk7XG59KTtcblxucGdwLnBnLnR5cGVzLnNldFR5cGVQYXJzZXIocGdwLnBnLnR5cGVzLmJ1aWx0aW5zLkZMT0FUOCwgKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSk7XG59KTtcblxucGdwLnBnLnR5cGVzLnNldFR5cGVQYXJzZXIocGdwLnBnLnR5cGVzLmJ1aWx0aW5zLk5VTUVSSUMsICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpO1xufSk7XG5cbmV4cG9ydCB0eXBlIERURGF0YWJhc2UgPSBJRGF0YWJhc2U8dW5rbm93bj47XG5cbmV4cG9ydCB0eXBlIERUVHJhbnNhY3Rpb24gPSBJVGFzazx1bmtub3duPlxuXG4vKipcbiAqIENyZWF0ZXMgYSBub24tcG9vbGluZyBkYXRhYmFzZSBjb25uZWN0aW9uIHByaW1hcmlseSB1c2VkIGJ5IExhbWJkYXMuXG4gKlxuICogTm90ZSEgVXNpbmcgdGhpcyBtZXRob2Qgb3BlbnMgYSBuZXcgUkRTIGNvbm5lY3Rpb24gb24gZXZlcnkgaW52b2NhdGlvbi4gSXQgaXMgYWR2aXNlZCB0b1xuICogdXNlIFJEUyBwcm94eSB0byBwb29sIGNvbm5lY3Rpb25zIHRyYW5zcGFyZW50bHkuXG4gKiBodHRwczovL2RvY3MuYW1hem9uYXdzLmNuL2VuX3VzL0FtYXpvblJEUy9sYXRlc3QvQXVyb3JhVXNlckd1aWRlL3Jkcy1wcm94eS5odG1sXG4gKiBAcGFyYW0gdXNlcm5hbWUgVXNlcm5hbWVcbiAqIEBwYXJhbSBwYXNzd29yZCBQYXNzd29yZFxuICogQHBhcmFtIGFwcGxpY2F0aW9uTmFtZSBuYW1lIG9mIGFwcGxpY2F0aW9uXG4gKiBAcGFyYW0gdXJsIENvbm5lY3Rpb24gVVJMXG4gKiBAcGFyYW0gb3B0aW9ucyBwZy1wcm9taXNlIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXREYkNvbm5lY3Rpb24oXG4gICAgdXNlcm5hbWU6IHN0cmluZyxcbiAgICBwYXNzd29yZDogc3RyaW5nLFxuICAgIGFwcGxpY2F0aW9uTmFtZTogc3RyaW5nLFxuICAgIHVybDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBvYmplY3QsXG4pOiBEVERhdGFiYXNlIHtcbiAgICBjb25zdCBmaW5hbFVybCA9IGBwb3N0Z3Jlc3FsOi8vJHt1c2VybmFtZX06JHtwYXNzd29yZH1AJHt1cmx9P2FwcGxpY2F0aW9uX25hbWU9JHthcHBsaWNhdGlvbk5hbWV9YDtcblxuICAgIHJldHVybiBwZ3AoZmluYWxVcmwsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5UcmFuc2FjdGlvbjxUPiAoZm46IChkYjogRFRUcmFuc2FjdGlvbikgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiBpbkRhdGFiYXNlKGRiID0+IGRiLnR4KCh0OiBEVFRyYW5zYWN0aW9uKSA9PiBmbih0KSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5EYXRhYmFzZTxUPihmbjogKGRiOiBEVERhdGFiYXNlKSA9PiBQcm9taXNlPFQ+KTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIGRvSW5EYXRhYmFzZShmYWxzZSwgZm4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5EYXRhYmFzZVJlYWRvbmx5PFQ+KGZuOiAoZGI6IERURGF0YWJhc2UpID0+IFByb21pc2U8VD4pOiBQcm9taXNlPFQ+IHtcblxuICAgIHJldHVybiBkb0luRGF0YWJhc2UodHJ1ZSwgZm4pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBkb0luRGF0YWJhc2U8VD4ocmVhZG9ubHk6IGJvb2xlYW4sXG4gICAgZm46IChkYjogRFREYXRhYmFzZSkgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IGRiID0gaW5pdERiQ29ubmVjdGlvbihwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9VU0VSXSBhcyBzdHJpbmcsXG4gICAgICAgIHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1BBU1NdIGFzIHN0cmluZyxcbiAgICAgICAgcHJvY2Vzcy5lbnZbRGF0YWJhc2VFbnZpcm9ubWVudEtleXMuREJfQVBQTElDQVRJT05dIHx8ICd1bmtub3duLWNkay1hcHBsaWNhdGlvbicsXG4gICAgICAgIChyZWFkb25seSA/IHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1JPX1VSSV0gOiBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9VUkldKSBhcyBzdHJpbmcpO1xuICAgIHRyeSB7XG4gICAgICAgIC8vIGRlYWxsb2NhdGUgYWxsIHByZXBhcmVkIHN0YXRlbWVudHMgdG8gYWxsb3cgZm9yIGNvbm5lY3Rpb24gcG9vbGluZ1xuICAgICAgICAvLyBESVNDQVJEIGluc3RlYWQgb2YgREVBTExPQ0FURSBhcyBpdCBkaWRuJ3QgYWx3YXlzIGNsZWFuIGFsbCBwcmVwYXJlZCBzdGF0ZW1lbnRzXG4gICAgICAgIGF3YWl0IGRiLm5vbmUoJ0RJU0NBUkQgQUxMJyk7XG4gICAgICAgIHJldHVybiBhd2FpdCBmbihkYik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgaW4gZGI6XCIsIGUpO1xuICAgICAgICB0aHJvdyBlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICAgIGRiLiRwb29sLmVuZCgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateUpdatedTimestamp = exports.getUpdatedTimestamp = exports.updateLastUpdatedWithSubtype = exports.updateLastUpdated = exports.getLastUpdatedWithSubtype = exports.getLastUpdated = exports.DataType = void 0;
4
- var DataType;
5
- (function (DataType) {
6
- DataType["VS_DATEX2"] = "VS_DATEX2";
7
- DataType["COUNTING_SITES_DATA"] = "COUNTING_SITES_DATA";
8
- DataType["COUNTING_SITES_METADATA"] = "COUNTING_SITES_METADATA";
9
- DataType["COUNTING_SITES_METADATA_CHECK"] = "COUNTING_SITES_METADATA_CHECK";
10
- DataType["MAINTENANCE_TRACKING_DATA_CHECKED"] = "MAINTENANCE_TRACKING_DATA_CHECKED";
11
- DataType["PERMIT_DATA"] = "PERMIT_DATA";
12
- DataType["PERMIT_DATA_CHECK"] = "PERMIT_DATA_CHECK";
13
- })(DataType = exports.DataType || (exports.DataType = {}));
14
- const UNSET_SUBTYPE = '-';
15
- function getLastUpdated(db, datatype) {
16
- return db.oneOrNone("select updated from data_updated where data_type=$(datatype) and subtype=$(subtype)", {
17
- datatype: datatype, subtype: UNSET_SUBTYPE,
18
- }, (x) => x?.updated || null);
19
- }
20
- exports.getLastUpdated = getLastUpdated;
21
- function getLastUpdatedWithSubtype(db, datatype, subtype) {
22
- return db.oneOrNone("SELECT updated FROM data_updated WHERE data_type=$(datatype) AND subtype=$(subtype)", {
23
- datatype: datatype, subtype: subtype,
24
- }, (x) => x?.updated || null);
25
- }
26
- exports.getLastUpdatedWithSubtype = getLastUpdatedWithSubtype;
27
- function updateLastUpdated(db, datatype, updated) {
28
- return db.none(`insert into data_updated(id, data_type, updated)
29
- values(nextval('seq_data_updated'), $(datatype), $(updated))
30
- on conflict (data_type, subtype)
31
- do update set updated = $(updated)`, { updated, datatype });
32
- }
33
- exports.updateLastUpdated = updateLastUpdated;
34
- function updateLastUpdatedWithSubtype(db, datatype, subtype, updated) {
35
- return db.none(`insert into data_updated(id, data_type, subtype, updated)
36
- values(nextval('seq_data_updated'), $(datatype), $(subtype), $(updated))
37
- on conflict (data_type, subtype)
38
- do update set updated = $(updated)`, { updated, subtype, datatype });
39
- }
40
- exports.updateLastUpdatedWithSubtype = updateLastUpdatedWithSubtype;
41
- function getUpdatedTimestamp(db, datatype) {
42
- return db.oneOrNone("select updated_time as updated from updated_timestamp where updated_name=$(datatype)", {
43
- datatype: datatype,
44
- }, (x) => x?.updated || null);
45
- }
46
- exports.getUpdatedTimestamp = getUpdatedTimestamp;
47
- function updateUpdatedTimestamp(db, datatype, date, by = '') {
48
- return db.none(`insert into updated_timestamp(updated_name, updated_time, updated_by)
49
- values($(datatype), $(date), $(by))
50
- on conflict (updated_name)
51
- do update set updated_time = $(date), updated_by = $(by)`, { date, datatype, by });
52
- }
53
- exports.updateUpdatedTimestamp = updateUpdatedTimestamp;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC11cGRhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFiYXNlL2xhc3QtdXBkYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxJQUFZLFFBUVg7QUFSRCxXQUFZLFFBQVE7SUFDaEIsbUNBQXFCLENBQUE7SUFDckIsdURBQXlDLENBQUE7SUFDekMsK0RBQWlELENBQUE7SUFDakQsMkVBQTZELENBQUE7SUFDN0QsbUZBQXFFLENBQUE7SUFDckUsdUNBQXlCLENBQUE7SUFDekIsbURBQXFDLENBQUE7QUFDekMsQ0FBQyxFQVJXLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBUW5CO0FBRUQsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDO0FBTTFCLFNBQWdCLGNBQWMsQ0FBQyxFQUFjLEVBQUUsUUFBa0I7SUFDN0QsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLHFGQUFxRixFQUFFO1FBQ3ZHLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGFBQWE7S0FDN0MsRUFBRSxDQUFDLENBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUpELHdDQUlDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUMsRUFBYyxFQUFFLFFBQWtCLEVBQUUsT0FBZTtJQUN6RixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMscUZBQXFGLEVBQUU7UUFDdkcsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTztLQUN2QyxFQUFFLENBQUMsQ0FBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBSkQsOERBSUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FBQyxFQUE4QixFQUFFLFFBQWtCLEVBQUUsT0FBYTtJQUMvRixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7OztvQ0FHaUIsRUFDaEMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBTkQsOENBTUM7QUFFRCxTQUFnQiw0QkFBNEIsQ0FBQyxFQUE4QixFQUFFLFFBQWtCLEVBQUUsT0FBZSxFQUFFLE9BQWE7SUFDM0gsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDOzs7b0NBR2lCLEVBQ2hDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFORCxvRUFNQztBQUVELFNBQWdCLG1CQUFtQixDQUFDLEVBQWMsRUFBRSxRQUFnQjtJQUNoRSxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsc0ZBQXNGLEVBQUU7UUFDeEcsUUFBUSxFQUFFLFFBQVE7S0FDckIsRUFBRSxDQUFDLENBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUpELGtEQUlDO0FBRUQsU0FBZ0Isc0JBQXNCLENBQUMsRUFBOEIsRUFBRSxRQUFnQixFQUFFLElBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRTtJQUN4RyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7Ozt5REFHc0MsRUFDckQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQU5ELHdEQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEVERhdGFiYXNlLCBEVFRyYW5zYWN0aW9ufSBmcm9tIFwiLi9kYXRhYmFzZVwiO1xuXG5leHBvcnQgZW51bSBEYXRhVHlwZSB7XG4gICAgVlNfREFURVgyPVwiVlNfREFURVgyXCIsXG4gICAgQ09VTlRJTkdfU0lURVNfREFUQT1cIkNPVU5USU5HX1NJVEVTX0RBVEFcIixcbiAgICBDT1VOVElOR19TSVRFU19NRVRBREFUQT1cIkNPVU5USU5HX1NJVEVTX01FVEFEQVRBXCIsXG4gICAgQ09VTlRJTkdfU0lURVNfTUVUQURBVEFfQ0hFQ0s9XCJDT1VOVElOR19TSVRFU19NRVRBREFUQV9DSEVDS1wiLFxuICAgIE1BSU5URU5BTkNFX1RSQUNLSU5HX0RBVEFfQ0hFQ0tFRD1cIk1BSU5URU5BTkNFX1RSQUNLSU5HX0RBVEFfQ0hFQ0tFRFwiLFxuICAgIFBFUk1JVF9EQVRBPVwiUEVSTUlUX0RBVEFcIixcbiAgICBQRVJNSVRfREFUQV9DSEVDSz1cIlBFUk1JVF9EQVRBX0NIRUNLXCIsXG59XG5cbmNvbnN0IFVOU0VUX1NVQlRZUEUgPSAnLSc7XG5cbnR5cGUgVXBkYXRlZFRpbWVzdGFtcCA9IHtcbiAgICB1cGRhdGVkOiBEYXRlXG59IHwgbnVsbDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExhc3RVcGRhdGVkKGRiOiBEVERhdGFiYXNlLCBkYXRhdHlwZTogRGF0YVR5cGUpOiBQcm9taXNlPERhdGUgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRiLm9uZU9yTm9uZShcInNlbGVjdCB1cGRhdGVkIGZyb20gZGF0YV91cGRhdGVkIHdoZXJlIGRhdGFfdHlwZT0kKGRhdGF0eXBlKSBhbmQgc3VidHlwZT0kKHN1YnR5cGUpXCIsIHtcbiAgICAgICAgZGF0YXR5cGU6IGRhdGF0eXBlLCBzdWJ0eXBlOiBVTlNFVF9TVUJUWVBFLFxuICAgIH0sICh4OiBVcGRhdGVkVGltZXN0YW1wKSA9PiB4Py51cGRhdGVkIHx8IG51bGwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFzdFVwZGF0ZWRXaXRoU3VidHlwZShkYjogRFREYXRhYmFzZSwgZGF0YXR5cGU6IERhdGFUeXBlLCBzdWJ0eXBlOiBzdHJpbmcpOiBQcm9taXNlPERhdGUgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRiLm9uZU9yTm9uZShcIlNFTEVDVCB1cGRhdGVkIEZST00gZGF0YV91cGRhdGVkIFdIRVJFIGRhdGFfdHlwZT0kKGRhdGF0eXBlKSBBTkQgc3VidHlwZT0kKHN1YnR5cGUpXCIsIHtcbiAgICAgICAgZGF0YXR5cGU6IGRhdGF0eXBlLCBzdWJ0eXBlOiBzdWJ0eXBlLFxuICAgIH0sICh4OiBVcGRhdGVkVGltZXN0YW1wKSA9PiB4Py51cGRhdGVkIHx8IG51bGwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlTGFzdFVwZGF0ZWQoZGI6IERURGF0YWJhc2UgfCBEVFRyYW5zYWN0aW9uLCBkYXRhdHlwZTogRGF0YVR5cGUsIHVwZGF0ZWQ6IERhdGUpOiBQcm9taXNlPG51bGw+IHtcbiAgICByZXR1cm4gZGIubm9uZShgaW5zZXJ0IGludG8gZGF0YV91cGRhdGVkKGlkLCBkYXRhX3R5cGUsIHVwZGF0ZWQpXG4gdmFsdWVzKG5leHR2YWwoJ3NlcV9kYXRhX3VwZGF0ZWQnKSwgJChkYXRhdHlwZSksICQodXBkYXRlZCkpXG4gb24gY29uZmxpY3QgKGRhdGFfdHlwZSwgc3VidHlwZSlcbiBkbyB1cGRhdGUgc2V0IHVwZGF0ZWQgPSAkKHVwZGF0ZWQpYCxcbiAgICB7IHVwZGF0ZWQsIGRhdGF0eXBlIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlTGFzdFVwZGF0ZWRXaXRoU3VidHlwZShkYjogRFREYXRhYmFzZSB8IERUVHJhbnNhY3Rpb24sIGRhdGF0eXBlOiBEYXRhVHlwZSwgc3VidHlwZTogc3RyaW5nLCB1cGRhdGVkOiBEYXRlKTogUHJvbWlzZTxudWxsPiB7XG4gICAgcmV0dXJuIGRiLm5vbmUoYGluc2VydCBpbnRvIGRhdGFfdXBkYXRlZChpZCwgZGF0YV90eXBlLCBzdWJ0eXBlLCB1cGRhdGVkKVxuIHZhbHVlcyhuZXh0dmFsKCdzZXFfZGF0YV91cGRhdGVkJyksICQoZGF0YXR5cGUpLCAkKHN1YnR5cGUpLCAkKHVwZGF0ZWQpKVxuIG9uIGNvbmZsaWN0IChkYXRhX3R5cGUsIHN1YnR5cGUpXG4gZG8gdXBkYXRlIHNldCB1cGRhdGVkID0gJCh1cGRhdGVkKWAsXG4gICAgeyB1cGRhdGVkLCBzdWJ0eXBlLCBkYXRhdHlwZSB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVwZGF0ZWRUaW1lc3RhbXAoZGI6IERURGF0YWJhc2UsIGRhdGF0eXBlOiBzdHJpbmcpOiBQcm9taXNlPERhdGUgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRiLm9uZU9yTm9uZShcInNlbGVjdCB1cGRhdGVkX3RpbWUgYXMgdXBkYXRlZCBmcm9tIHVwZGF0ZWRfdGltZXN0YW1wIHdoZXJlIHVwZGF0ZWRfbmFtZT0kKGRhdGF0eXBlKVwiLCB7XG4gICAgICAgIGRhdGF0eXBlOiBkYXRhdHlwZSxcbiAgICB9LCAoeDogVXBkYXRlZFRpbWVzdGFtcCkgPT4geD8udXBkYXRlZCB8fCBudWxsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVVwZGF0ZWRUaW1lc3RhbXAoZGI6IERURGF0YWJhc2UgfCBEVFRyYW5zYWN0aW9uLCBkYXRhdHlwZTogc3RyaW5nLCBkYXRlOiBEYXRlLCBieSA9ICcnKTogUHJvbWlzZTxudWxsPiB7XG4gICAgcmV0dXJuIGRiLm5vbmUoYGluc2VydCBpbnRvIHVwZGF0ZWRfdGltZXN0YW1wKHVwZGF0ZWRfbmFtZSwgdXBkYXRlZF90aW1lLCB1cGRhdGVkX2J5KVxudmFsdWVzKCQoZGF0YXR5cGUpLCAkKGRhdGUpLCAkKGJ5KSlcbm9uIGNvbmZsaWN0ICh1cGRhdGVkX25hbWUpXG5kbyB1cGRhdGUgc2V0IHVwZGF0ZWRfdGltZSA9ICQoZGF0ZSksIHVwZGF0ZWRfYnkgPSAkKGJ5KWAsXG4gICAgeyBkYXRlLCBkYXRhdHlwZSwgYnkgfSk7XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFiYXNlL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb3VudGFibGUge1xuICAgIGNvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpZmlhYmxlPFQ+IHtcbiAgICBpZDogVDtcbn1cblxuaW50ZXJmYWNlIFVwZGF0ZWREYXRlIHtcbiAgICB1cGRhdGVkX2RhdGU6IERhdGU7XG59XG4iXX0=
package/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./aws/infra/api/responses";
package/index.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./aws/infra/api/responses"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDREQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2F3cy9pbmZyYS9hcGkvcmVzcG9uc2VzXCI7XG4iXX0=
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isValidLOCODE = exports.isValidMMSI = exports.isValidIMO = void 0;
4
- function isValidIMO(imo) {
5
- return imo >= 1000000 && imo <= 9999999 && imoChecksumIsValid(imo);
6
- }
7
- exports.isValidIMO = isValidIMO;
8
- function imoChecksumIsValid(imo) {
9
- const imoStr = imo.toString();
10
- const imoDigit1 = Number(imoStr[0]);
11
- const imoDigit2 = Number(imoStr[1]);
12
- const imoDigit3 = Number(imoStr[2]);
13
- const imoDigit4 = Number(imoStr[3]);
14
- const imoDigit5 = Number(imoStr[4]);
15
- const imoDigit6 = Number(imoStr[5]);
16
- const checkDigit = Number(imoStr[6]);
17
- const checkCalculation = Number(((imoDigit1 * 7) + (imoDigit2 * 6) + (imoDigit3 * 5) + (imoDigit4 * 4) + (imoDigit5 * 3) + (imoDigit6 * 2)));
18
- const checkResult = checkCalculation % 10 === checkDigit;
19
- if (!checkResult) {
20
- console.warn('method=imoChecksumIsValid IMO checksum failed %d', imo);
21
- }
22
- return checkResult;
23
- }
24
- function isValidMMSI(mmsi) {
25
- return mmsi >= 100000000 && mmsi <= 999999999;
26
- }
27
- exports.isValidMMSI = isValidMMSI;
28
- const LocodePattern = /^FI[A-Z]{3}$/i;
29
- function isValidLOCODE(locode) {
30
- return LocodePattern.test(locode);
31
- }
32
- exports.isValidLOCODE = isValidLOCODE;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRfdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFyaW5lL2lkX3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQWdCLFVBQVUsQ0FBQyxHQUFXO0lBQ2xDLE9BQU8sR0FBRyxJQUFJLE9BQU8sSUFBSSxHQUFHLElBQUksT0FBTyxJQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFGRCxnQ0FFQztBQUVELFNBQVMsa0JBQWtCLENBQUMsR0FBVztJQUNuQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdJLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixHQUFHLEVBQUUsS0FBSyxVQUFVLENBQUM7SUFDekQsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0RBQWtELEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDekU7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUN2QixDQUFDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLElBQVk7SUFDcEMsT0FBTyxJQUFJLElBQUksU0FBUyxJQUFJLElBQUksSUFBSSxTQUFTLENBQUM7QUFDbEQsQ0FBQztBQUZELGtDQUVDO0FBRUQsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBRXRDLFNBQWdCLGFBQWEsQ0FBQyxNQUFjO0lBQ3hDLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRkQsc0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNWYWxpZElNTyhpbW86IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbW8gPj0gMTAwMDAwMCAmJiBpbW8gPD0gOTk5OTk5OSAmJiBpbW9DaGVja3N1bUlzVmFsaWQoaW1vKTtcbn1cblxuZnVuY3Rpb24gaW1vQ2hlY2tzdW1Jc1ZhbGlkKGltbzogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaW1vU3RyID0gaW1vLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgaW1vRGlnaXQxID0gTnVtYmVyKGltb1N0clswXSk7XG4gICAgY29uc3QgaW1vRGlnaXQyID0gTnVtYmVyKGltb1N0clsxXSk7XG4gICAgY29uc3QgaW1vRGlnaXQzID0gTnVtYmVyKGltb1N0clsyXSk7XG4gICAgY29uc3QgaW1vRGlnaXQ0ID0gTnVtYmVyKGltb1N0clszXSk7XG4gICAgY29uc3QgaW1vRGlnaXQ1ID0gTnVtYmVyKGltb1N0cls0XSk7XG4gICAgY29uc3QgaW1vRGlnaXQ2ID0gTnVtYmVyKGltb1N0cls1XSk7XG4gICAgY29uc3QgY2hlY2tEaWdpdCA9IE51bWJlcihpbW9TdHJbNl0pO1xuICAgIGNvbnN0IGNoZWNrQ2FsY3VsYXRpb24gPSBOdW1iZXIoKChpbW9EaWdpdDEgKiA3KSArIChpbW9EaWdpdDIgKiA2KSArIChpbW9EaWdpdDMgKiA1KSArIChpbW9EaWdpdDQgKiA0KSArIChpbW9EaWdpdDUgKiAzKSArIChpbW9EaWdpdDYgKiAyKSkpO1xuICAgIGNvbnN0IGNoZWNrUmVzdWx0ID0gY2hlY2tDYWxjdWxhdGlvbiAlIDEwID09PSBjaGVja0RpZ2l0O1xuICAgIGlmICghY2hlY2tSZXN1bHQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdtZXRob2Q9aW1vQ2hlY2tzdW1Jc1ZhbGlkIElNTyBjaGVja3N1bSBmYWlsZWQgJWQnLCBpbW8pO1xuICAgIH1cbiAgICByZXR1cm4gY2hlY2tSZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkTU1TSShtbXNpOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbW1zaSA+PSAxMDAwMDAwMDAgJiYgbW1zaSA8PSA5OTk5OTk5OTk7XG59XG5cbmNvbnN0IExvY29kZVBhdHRlcm4gPSAvXkZJW0EtWl17M30kL2k7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkTE9DT0RFKGxvY29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIExvY29kZVBhdHRlcm4udGVzdChsb2NvZGUpO1xufVxuIl19
package/marine/rtz.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnR6LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcmluZS9ydHoudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFJ0elBvc2l0aW9uQ29vcmRpbmF0ZSA9IHtcbiAgICByZWFkb25seSAkOiB7XG4gICAgICAgIHJlYWRvbmx5IGxhdDogbnVtYmVyXG4gICAgICAgIHJlYWRvbmx5IGxvbjogbnVtYmVyXG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBSdHpXYXlwb2ludFBvc2l0aW9uID0ge1xuICAgIHJlYWRvbmx5IHBvc2l0aW9uOiBSdHpQb3NpdGlvbkNvb3JkaW5hdGVbXVxufVxuXG5leHBvcnQgdHlwZSBSdHpXYXlwb2ludCA9IHtcbiAgICByZWFkb25seSB3YXlwb2ludDogUnR6V2F5cG9pbnRQb3NpdGlvbltdXG59XG5cbmV4cG9ydCB0eXBlIFJ0elNjaGVkdWxlRWxlbWVudCA9IHtcbiAgICByZWFkb25seSAkOiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBEYXRlXG4gICAgICAgICAqL1xuICAgICAgICByZWFkb25seSBldGQ/OiBzdHJpbmdcbiAgICAgICAgLyoqXG4gICAgICAgICAqIERhdGVcbiAgICAgICAgICovXG4gICAgICAgIHJlYWRvbmx5IGV0YT86IHN0cmluZ1xuICAgIH0sXG59XG5cbmV4cG9ydCB0eXBlIFJ0elNjaGVkdWxlID0ge1xuICAgIHJlYWRvbmx5IHNjaGVkdWxlRWxlbWVudDogUnR6U2NoZWR1bGVFbGVtZW50W11cbn1cblxuZXhwb3J0IHR5cGUgUnR6U2NoZWR1bGVXcmFwcGVyID0ge1xuICAgIHJlYWRvbmx5IG1hbnVhbD86IFJ0elNjaGVkdWxlW11cbiAgICByZWFkb25seSBjYWxjdWxhdGVkPzogUnR6U2NoZWR1bGVbXVxufVxuXG5leHBvcnQgdHlwZSBSdHpTY2hlZHVsZXMgPSB7XG4gICAgcmVhZG9ubHkgc2NoZWR1bGU6IFJ0elNjaGVkdWxlV3JhcHBlcltdXG59XG5cbmV4cG9ydCB0eXBlIFJ0elJvdXRlSW5mbyA9IHtcbiAgICByZWFkb25seSAkOiB7XG4gICAgICAgIHJlYWRvbmx5IHZlc3NlbE1NU0k6IHN0cmluZ1xuICAgICAgICByZWFkb25seSB2ZXNzZWxJTU86IHN0cmluZ1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgUnR6Um91dGUgPSB7XG4gICAgcmVhZG9ubHkgcm91dGVJbmZvOiBSdHpSb3V0ZUluZm9bXVxuICAgIHJlYWRvbmx5IHdheXBvaW50czogUnR6V2F5cG9pbnRbXVxuICAgIHJlYWRvbmx5IHNjaGVkdWxlczogUnR6U2NoZWR1bGVzW11cbn1cblxuZXhwb3J0IHR5cGUgUnR6Vm95YWdlUGxhbiA9IHtcbiAgICByZWFkb25seSByb3V0ZTogUnR6Um91dGVcbn1cbiJdfQ==
package/test/asserter.js DELETED
@@ -1,45 +0,0 @@
1
- "use strict";
2
- /**
3
- * A simple asserter-class for writing canaries without dependency to testing-libraries.
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Asserter = void 0;
7
- class Asserter {
8
- static assertEquals(value, expected) {
9
- if (value != expected) {
10
- throw new Error(`Given value ${value} was not expected ${expected}`);
11
- }
12
- }
13
- static assertTrue(value) {
14
- if (!value) {
15
- throw new Error(`Given value ${value} was not true`);
16
- }
17
- }
18
- static assertLength(data, expected) {
19
- if (!data) {
20
- throw new Error("Given array was not defined");
21
- }
22
- if (data.length != expected) {
23
- throw new Error(`Given array length ${data.length} was not expected ${expected}`);
24
- }
25
- }
26
- static assertLengthGreaterThan(data, expected) {
27
- if (!data) {
28
- throw new Error("Given array was not defined");
29
- }
30
- if (data.length <= expected) {
31
- throw new Error(`Given array length ${data.length} was not greater than ${expected}`);
32
- }
33
- }
34
- static assertGreaterThan(value, expected) {
35
- if (value <= expected) {
36
- throw new Error(`Value ${value} was expected to be greater than ${expected}`);
37
- }
38
- }
39
- static assertToBeCloseTo(value, expected, delta) {
40
- expect(expected - value).toBeGreaterThanOrEqual(-1 * delta);
41
- expect(expected - value).toBeLessThanOrEqual(delta);
42
- }
43
- }
44
- exports.Asserter = Asserter;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9hc3NlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILE1BQXNCLFFBQVE7SUFDMUIsTUFBTSxDQUFDLFlBQVksQ0FBSSxLQUFRLEVBQUUsUUFBVztRQUN4QyxJQUFJLEtBQUssSUFBSSxRQUFRLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLEtBQUsscUJBQXFCLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDeEU7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBSSxLQUFRO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsS0FBSyxlQUFlLENBQUMsQ0FBQztTQUN4RDtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFJLElBQVMsRUFBRSxRQUFnQjtRQUM5QyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixJQUFJLENBQUMsTUFBTSxxQkFBcUIsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNyRjtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUksSUFBUyxFQUFFLFFBQWdCO1FBQ3pELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDbEQ7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksUUFBUSxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxNQUFNLHlCQUF5QixRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3pGO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsUUFBZ0I7UUFDcEQsSUFBSSxLQUFLLElBQUksUUFBUSxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLG9DQUFvQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ2pGO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsUUFBZ0IsRUFBRSxLQUFhO1FBQ25FLE1BQU0sQ0FBQyxRQUFRLEdBQUMsS0FBSyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDMUQsTUFBTSxDQUFDLFFBQVEsR0FBQyxLQUFLLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0o7QUEzQ0QsNEJBMkNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIHNpbXBsZSBhc3NlcnRlci1jbGFzcyBmb3Igd3JpdGluZyBjYW5hcmllcyB3aXRob3V0IGRlcGVuZGVuY3kgdG8gdGVzdGluZy1saWJyYXJpZXMuXG4gKi9cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFzc2VydGVyIHtcbiAgICBzdGF0aWMgYXNzZXJ0RXF1YWxzPFQ+KHZhbHVlOiBULCBleHBlY3RlZDogVCkge1xuICAgICAgICBpZiAodmFsdWUgIT0gZXhwZWN0ZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgR2l2ZW4gdmFsdWUgJHt2YWx1ZX0gd2FzIG5vdCBleHBlY3RlZCAke2V4cGVjdGVkfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGFzc2VydFRydWU8VD4odmFsdWU6IFQpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBHaXZlbiB2YWx1ZSAke3ZhbHVlfSB3YXMgbm90IHRydWVgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBhc3NlcnRMZW5ndGg8VD4oZGF0YTogVFtdLCBleHBlY3RlZDogbnVtYmVyKSB7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiR2l2ZW4gYXJyYXkgd2FzIG5vdCBkZWZpbmVkXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGEubGVuZ3RoICE9IGV4cGVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdpdmVuIGFycmF5IGxlbmd0aCAke2RhdGEubGVuZ3RofSB3YXMgbm90IGV4cGVjdGVkICR7ZXhwZWN0ZWR9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgYXNzZXJ0TGVuZ3RoR3JlYXRlclRoYW48VD4oZGF0YTogVFtdLCBleHBlY3RlZDogbnVtYmVyKSB7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiR2l2ZW4gYXJyYXkgd2FzIG5vdCBkZWZpbmVkXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRhdGEubGVuZ3RoIDw9IGV4cGVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdpdmVuIGFycmF5IGxlbmd0aCAke2RhdGEubGVuZ3RofSB3YXMgbm90IGdyZWF0ZXIgdGhhbiAke2V4cGVjdGVkfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGFzc2VydEdyZWF0ZXJUaGFuKHZhbHVlOiBudW1iZXIsIGV4cGVjdGVkOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHZhbHVlIDw9IGV4cGVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbHVlICR7dmFsdWV9IHdhcyBleHBlY3RlZCB0byBiZSBncmVhdGVyIHRoYW4gJHtleHBlY3RlZH1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBhc3NlcnRUb0JlQ2xvc2VUbyh2YWx1ZTogbnVtYmVyLCBleHBlY3RlZDogbnVtYmVyLCBkZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGV4cGVjdChleHBlY3RlZC12YWx1ZSkudG9CZUdyZWF0ZXJUaGFuT3JFcXVhbCgtMSAqIGRlbHRhKTtcbiAgICAgICAgZXhwZWN0KGV4cGVjdGVkLXZhbHVlKS50b0JlTGVzc1RoYW5PckVxdWFsKGRlbHRhKTtcbiAgICB9XG59XG4iXX0=
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dbTestBase = void 0;
4
- const database_1 = require("../database/database");
5
- const dbsecret_1 = require("../aws/runtime/secrets/dbsecret");
6
- function dbTestBase(fn, truncateFn, dbUser, dbPass, dbUri) {
7
- const theDbUri = process.env.DB_URI ?? dbUri;
8
- console.log(`Test database URI: ${theDbUri}`);
9
- return () => {
10
- const db = (0, database_1.initDbConnection)(dbUser, dbPass, "test", theDbUri, {
11
- noWarnings: true, // ignore duplicate connection warning for tests
12
- });
13
- beforeAll(async () => {
14
- process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_USER] = dbUser;
15
- process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_PASS] = dbPass;
16
- process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_URI] = theDbUri;
17
- process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_RO_URI] = theDbUri;
18
- await truncateFn(db);
19
- });
20
- afterAll(async () => {
21
- await truncateFn(db);
22
- await db.$pool.end();
23
- });
24
- beforeEach(async () => {
25
- await truncateFn(db);
26
- });
27
- fn(db);
28
- };
29
- }
30
- exports.dbTestBase = dbTestBase;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGItdGVzdHV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvZGItdGVzdHV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFvRTtBQUNwRSw4REFBMEU7QUFFMUUsU0FBZ0IsVUFBVSxDQUN0QixFQUE0QixFQUM1QixVQUE2QyxFQUM3QyxNQUFjLEVBQ2QsTUFBYyxFQUNkLEtBQWE7SUFFYixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7SUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUU5QyxPQUFPLEdBQUcsRUFBRTtRQUNSLE1BQU0sRUFBRSxHQUFlLElBQUEsMkJBQWdCLEVBQ25DLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUjtZQUNJLFVBQVUsRUFBRSxJQUFJLEVBQUUsZ0RBQWdEO1NBQ3JFLENBQ0osQ0FBQztRQUVGLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQztZQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQztZQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUN2RCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUF1QixDQUFDLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUMxRCxNQUFNLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNoQixNQUFNLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQixNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDbEIsTUFBTSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUM7QUFDTixDQUFDO0FBeENELGdDQXdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERURGF0YWJhc2UsIGluaXREYkNvbm5lY3Rpb24gfSBmcm9tIFwiLi4vZGF0YWJhc2UvZGF0YWJhc2VcIjtcbmltcG9ydCB7IERhdGFiYXNlRW52aXJvbm1lbnRLZXlzIH0gZnJvbSBcIi4uL2F3cy9ydW50aW1lL3NlY3JldHMvZGJzZWNyZXRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGRiVGVzdEJhc2UoXG4gICAgZm46IChkYjogRFREYXRhYmFzZSkgPT4gdm9pZCxcbiAgICB0cnVuY2F0ZUZuOiAoZGI6IERURGF0YWJhc2UpID0+IFByb21pc2U8dm9pZD4sXG4gICAgZGJVc2VyOiBzdHJpbmcsXG4gICAgZGJQYXNzOiBzdHJpbmcsXG4gICAgZGJVcmk6IHN0cmluZ1xuKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgdGhlRGJVcmkgPSBwcm9jZXNzLmVudi5EQl9VUkkgPz8gZGJVcmk7XG4gICAgY29uc29sZS5sb2coYFRlc3QgZGF0YWJhc2UgVVJJOiAke3RoZURiVXJpfWApO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY29uc3QgZGI6IERURGF0YWJhc2UgPSBpbml0RGJDb25uZWN0aW9uKFxuICAgICAgICAgICAgZGJVc2VyLFxuICAgICAgICAgICAgZGJQYXNzLFxuICAgICAgICAgICAgXCJ0ZXN0XCIsXG4gICAgICAgICAgICB0aGVEYlVyaSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBub1dhcm5pbmdzOiB0cnVlLCAvLyBpZ25vcmUgZHVwbGljYXRlIGNvbm5lY3Rpb24gd2FybmluZyBmb3IgdGVzdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBiZWZvcmVBbGwoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgcHJvY2Vzcy5lbnZbRGF0YWJhc2VFbnZpcm9ubWVudEtleXMuREJfVVNFUl0gPSBkYlVzZXI7XG4gICAgICAgICAgICBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9QQVNTXSA9IGRiUGFzcztcbiAgICAgICAgICAgIHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1VSSV0gPSB0aGVEYlVyaTtcbiAgICAgICAgICAgIHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1JPX1VSSV0gPSB0aGVEYlVyaTtcbiAgICAgICAgICAgIGF3YWl0IHRydW5jYXRlRm4oZGIpO1xuICAgICAgICB9KTtcblxuICAgICAgICBhZnRlckFsbChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCB0cnVuY2F0ZUZuKGRiKTtcbiAgICAgICAgICAgIGF3YWl0IGRiLiRwb29sLmVuZCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBiZWZvcmVFYWNoKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHRydW5jYXRlRm4oZGIpO1xuICAgICAgICB9KTtcblxuICAgICAgICBmbihkYik7XG4gICAgfTtcbn1cbiJdfQ==
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestHttpServer = exports.ERRORCODE_NOT_FOUND = exports.ERROR_NO_MATCH = void 0;
4
- const http_1 = require("http");
5
- exports.ERROR_NO_MATCH = "NO MATCH";
6
- exports.ERRORCODE_NOT_FOUND = 404;
7
- /**
8
- * A mock HTTP server created for testing connections from a Lambda to an outside integration
9
- */
10
- class TestHttpServer {
11
- getCallCount() {
12
- return this.messageStack.length;
13
- }
14
- getRequestBody(callNumber) {
15
- return this.messageStack[callNumber];
16
- }
17
- listen(port, props, debug = false, statusCode = 200) {
18
- this.debug = debug;
19
- this.messageStack = [];
20
- this.debuglog(`Starting test server on port ${port}`);
21
- this.server = (0, http_1.createServer)(((req, res) => {
22
- this.debuglog('Mapped urls: ');
23
- Object.keys(props).forEach(k => this.debuglog(k));
24
- this.debuglog('Received request to url ' + req.url + '..');
25
- // eslint-disable-next-line @typescript-eslint/no-var-requires
26
- const path = require('url').parse(req.url).pathname;
27
- let dataStr = '';
28
- req.on('data', chunk => {
29
- if (chunk) {
30
- dataStr += chunk;
31
- }
32
- });
33
- if (path in props) {
34
- this.debuglog('..url matched');
35
- res.setHeader('Access-Control-Allow-Origin', '*');
36
- res.setHeader('Access-Control-Allow-Headers', 'Authorization,X-User-Id,X-Auth-Token');
37
- res.writeHead(statusCode);
38
- req.on('end', () => {
39
- // assume sent data is in JSON format
40
- this.messageStack[this.messageStack.length] = dataStr;
41
- res.end(props[path](req.url, dataStr));
42
- });
43
- }
44
- else {
45
- this.debuglog('..no match for %' + path);
46
- req.on('end', () => {
47
- // assume sent data is in JSON format
48
- this.messageStack[this.messageStack.length] = exports.ERROR_NO_MATCH;
49
- res.writeHead(exports.ERRORCODE_NOT_FOUND);
50
- res.end(exports.ERROR_NO_MATCH);
51
- });
52
- }
53
- }));
54
- this.server.listen(port);
55
- }
56
- close() {
57
- this.debuglog('Closing test server');
58
- this.server.close();
59
- }
60
- debuglog(str) {
61
- if (this.debug) {
62
- console.debug(str);
63
- }
64
- }
65
- }
66
- exports.TestHttpServer = TestHttpServer;
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cHNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2h0dHBzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTBDO0FBRTdCLFFBQUEsY0FBYyxHQUFDLFVBQVUsQ0FBQztBQUMxQixRQUFBLG1CQUFtQixHQUFDLEdBQUcsQ0FBQztBQUVyQzs7R0FFRztBQUNILE1BQWEsY0FBYztJQU12QixZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNwQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFVBQWtCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVksRUFBRSxLQUF1QixFQUFFLEtBQUssR0FBRSxLQUFLLEVBQUUsVUFBVSxHQUFHLEdBQUc7UUFDeEUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQ0FBZ0MsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUEsbUJBQVksRUFBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQzNELDhEQUE4RDtZQUM5RCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFFcEQsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNuQixJQUFJLEtBQUssRUFBRTtvQkFDUCxPQUFPLElBQUksS0FBSyxDQUFDO2lCQUNwQjtZQUNMLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFO2dCQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQy9CLEdBQUcsQ0FBQyxTQUFTLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2xELEdBQUcsQ0FBQyxTQUFTLENBQUMsOEJBQThCLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztnQkFDdEYsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFFMUIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO29CQUNmLHFDQUFxQztvQkFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDdEQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQzthQUNOO2lCQUFNO2dCQUNILElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQ3pDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtvQkFDZixxQ0FBcUM7b0JBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxzQkFBYyxDQUFDO29CQUM3RCxHQUFHLENBQUMsU0FBUyxDQUFDLDJCQUFtQixDQUFDLENBQUM7b0JBQ25DLEdBQUcsQ0FBQyxHQUFHLENBQUMsc0JBQWMsQ0FBQyxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLFFBQVEsQ0FBQyxHQUFXO1FBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdEI7SUFDTCxDQUFDO0NBQ0o7QUFuRUQsd0NBbUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZXJ2ZXIsIGNyZWF0ZVNlcnZlcn0gZnJvbSAnaHR0cCc7XG5cbmV4cG9ydCBjb25zdCBFUlJPUl9OT19NQVRDSD1cIk5PIE1BVENIXCI7XG5leHBvcnQgY29uc3QgRVJST1JDT0RFX05PVF9GT1VORD00MDQ7XG5cbi8qKlxuICogQSBtb2NrIEhUVFAgc2VydmVyIGNyZWF0ZWQgZm9yIHRlc3RpbmcgY29ubmVjdGlvbnMgZnJvbSBhIExhbWJkYSB0byBhbiBvdXRzaWRlIGludGVncmF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBUZXN0SHR0cFNlcnZlciB7XG4gICAgcHJpdmF0ZSBzZXJ2ZXI6IFNlcnZlcjtcbiAgICBwcml2YXRlIGRlYnVnOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBtZXNzYWdlU3RhY2s6IHN0cmluZ1tdO1xuXG4gICAgZ2V0Q2FsbENvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VTdGFjay5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0UmVxdWVzdEJvZHkoY2FsbE51bWJlcjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZVN0YWNrW2NhbGxOdW1iZXJdO1xuICAgIH1cblxuICAgIGxpc3Rlbihwb3J0OiBudW1iZXIsIHByb3BzOiBMaXN0ZW5Qcm9wZXJ0aWVzLCBkZWJ1Zz0gZmFsc2UsIHN0YXR1c0NvZGUgPSAyMDApIHtcbiAgICAgICAgdGhpcy5kZWJ1ZyA9IGRlYnVnO1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdGFjayA9IFtdO1xuICAgICAgICB0aGlzLmRlYnVnbG9nKGBTdGFydGluZyB0ZXN0IHNlcnZlciBvbiBwb3J0ICR7cG9ydH1gKTtcbiAgICAgICAgdGhpcy5zZXJ2ZXIgPSBjcmVhdGVTZXJ2ZXIoKChyZXEsIHJlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5kZWJ1Z2xvZygnTWFwcGVkIHVybHM6ICcpO1xuXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhwcm9wcykuZm9yRWFjaChrID0+IHRoaXMuZGVidWdsb2coaykpO1xuICAgICAgICAgICAgdGhpcy5kZWJ1Z2xvZygnUmVjZWl2ZWQgcmVxdWVzdCB0byB1cmwgJyArIHJlcS51cmwgKyAnLi4nKTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gICAgICAgICAgICBjb25zdCBwYXRoID0gcmVxdWlyZSgndXJsJykucGFyc2UocmVxLnVybCkucGF0aG5hbWU7XG5cbiAgICAgICAgICAgIGxldCBkYXRhU3RyID0gJyc7XG4gICAgICAgICAgICByZXEub24oJ2RhdGEnLCBjaHVuayA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNodW5rKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFTdHIgKz0gY2h1bms7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmIChwYXRoIGluIHByb3BzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z2xvZygnLi51cmwgbWF0Y2hlZCcpO1xuICAgICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbicsICcqJyk7XG4gICAgICAgICAgICAgICAgcmVzLnNldEhlYWRlcignQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycycsICdBdXRob3JpemF0aW9uLFgtVXNlci1JZCxYLUF1dGgtVG9rZW4nKTtcbiAgICAgICAgICAgICAgICByZXMud3JpdGVIZWFkKHN0YXR1c0NvZGUpO1xuXG4gICAgICAgICAgICAgICAgcmVxLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFzc3VtZSBzZW50IGRhdGEgaXMgaW4gSlNPTiBmb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU3RhY2tbdGhpcy5tZXNzYWdlU3RhY2subGVuZ3RoXSA9IGRhdGFTdHI7XG4gICAgICAgICAgICAgICAgICAgIHJlcy5lbmQocHJvcHNbcGF0aF0ocmVxLnVybCwgZGF0YVN0cikpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlYnVnbG9nKCcuLm5vIG1hdGNoIGZvciAlJyArIHBhdGgpO1xuICAgICAgICAgICAgICAgIHJlcS5vbignZW5kJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBhc3N1bWUgc2VudCBkYXRhIGlzIGluIEpTT04gZm9ybWF0XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVN0YWNrW3RoaXMubWVzc2FnZVN0YWNrLmxlbmd0aF0gPSBFUlJPUl9OT19NQVRDSDtcbiAgICAgICAgICAgICAgICAgICAgcmVzLndyaXRlSGVhZChFUlJPUkNPREVfTk9UX0ZPVU5EKTtcbiAgICAgICAgICAgICAgICAgICAgcmVzLmVuZChFUlJPUl9OT19NQVRDSCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5zZXJ2ZXIubGlzdGVuKHBvcnQpO1xuICAgIH1cblxuICAgIGNsb3NlKCkge1xuICAgICAgICB0aGlzLmRlYnVnbG9nKCdDbG9zaW5nIHRlc3Qgc2VydmVyJyk7XG4gICAgICAgIHRoaXMuc2VydmVyLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWJ1Z2xvZyhzdHI6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICAgICAgY29uc29sZS5kZWJ1ZyhzdHIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RlblByb3BlcnRpZXMge1xuICAgIFtrZXk6c3RyaW5nXTogKHVybD86IHN0cmluZywgZGF0YT86IHN0cmluZykgPT4gc3RyaW5nO1xufVxuIl19
package/test/secret.js DELETED
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createEmptySecretFunction = exports.createSecretFunction = void 0;
4
- const EMPTY_DB_SECRET = {
5
- username: '',
6
- password: '',
7
- host: '',
8
- // eslint-disable-next-line camelcase
9
- ro_host: '',
10
- };
11
- function createSecretFunction(secret) {
12
- // eslint-disable-next-line require-await
13
- return async (secretId, fn) => {
14
- return fn(secret);
15
- };
16
- }
17
- exports.createSecretFunction = createSecretFunction;
18
- function createEmptySecretFunction() {
19
- // eslint-disable-next-line require-await
20
- return async (secretId, fn) => {
21
- return fn(EMPTY_DB_SECRET);
22
- };
23
- }
24
- exports.createEmptySecretFunction = createEmptySecretFunction;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3Qvc2VjcmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sZUFBZSxHQUFhO0lBQzlCLFFBQVEsRUFBRSxFQUFFO0lBQ1osUUFBUSxFQUFFLEVBQUU7SUFDWixJQUFJLEVBQUUsRUFBRTtJQUNSLHFDQUFxQztJQUNyQyxPQUFPLEVBQUUsRUFBRTtDQUNkLENBQUM7QUFFRixTQUFnQixvQkFBb0IsQ0FBbUIsTUFBYztJQUNqRSx5Q0FBeUM7SUFDekMsT0FBTyxLQUFLLEVBQUUsUUFBZ0IsRUFBRSxFQUE2QyxFQUFFLEVBQUU7UUFDN0UsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUxELG9EQUtDO0FBRUQsU0FBZ0IseUJBQXlCO0lBQ3JDLHlDQUF5QztJQUN6QyxPQUFPLEtBQUssRUFBRSxRQUFnQixFQUFFLEVBQStDLEVBQUUsRUFBRTtRQUMvRSxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQixDQUFDLENBQUM7QUFDTixDQUFDO0FBTEQsOERBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RiU2VjcmV0LCBFbXB0eVNlY3JldEZ1bmN0aW9uLCBTZWNyZXRGdW5jdGlvbiwgU2VjcmV0VG9Qcm9taXNlRnVuY3Rpb259IGZyb20gXCIuLi9hd3MvcnVudGltZS9zZWNyZXRzL2Ric2VjcmV0XCI7XG5cbmNvbnN0IEVNUFRZX0RCX1NFQ1JFVDogRGJTZWNyZXQgPSB7XG4gICAgdXNlcm5hbWU6ICcnLFxuICAgIHBhc3N3b3JkOiAnJyxcbiAgICBob3N0OiAnJyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlXG4gICAgcm9faG9zdDogJycsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VjcmV0RnVuY3Rpb248U2VjcmV0LCBSZXNwb25zZT4oc2VjcmV0OiBTZWNyZXQpOiBTZWNyZXRGdW5jdGlvbjxTZWNyZXQsIFJlc3BvbnNlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlcXVpcmUtYXdhaXRcbiAgICByZXR1cm4gYXN5bmMgKHNlY3JldElkOiBzdHJpbmcsIGZuOiBTZWNyZXRUb1Byb21pc2VGdW5jdGlvbjxTZWNyZXQsIFJlc3BvbnNlPikgPT4ge1xuICAgICAgICByZXR1cm4gZm4oc2VjcmV0KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRW1wdHlTZWNyZXRGdW5jdGlvbjxSZXNwb25zZT4oKTogRW1wdHlTZWNyZXRGdW5jdGlvbjxSZXNwb25zZT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZXF1aXJlLWF3YWl0XG4gICAgcmV0dXJuIGFzeW5jIChzZWNyZXRJZDogc3RyaW5nLCBmbjogU2VjcmV0VG9Qcm9taXNlRnVuY3Rpb248RGJTZWNyZXQsIFJlc3BvbnNlPikgPT4ge1xuICAgICAgICByZXR1cm4gZm4oRU1QVFlfREJfU0VDUkVUKTtcbiAgICB9O1xufVxuIl19
@@ -1,59 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.mockSecret = exports.stubSecretsManager = void 0;
27
- const AWS = require("aws-sdk");
28
- const sinon = __importStar(require("sinon"));
29
- const secretValue = sinon.stub();
30
- /**
31
- * Stub Secrets Manager for tests. You must call this
32
- * before you instantiate Secrets Manager(this might happen when you import the function that uses Secrets Manager).
33
- *
34
- * To mock the actual secret, call mockSecret()
35
- */
36
- function stubSecretsManager() {
37
- const smStub = {
38
- getSecretValue: secretValue,
39
- };
40
- sinon.stub(AWS, 'SecretsManager').returns(smStub);
41
- return smStub.getSecretValue;
42
- }
43
- exports.stubSecretsManager = stubSecretsManager;
44
- function mockSecret(secret) {
45
- if (!secret) {
46
- secretValue.returns({
47
- promise: sinon.stub().returns({}),
48
- });
49
- }
50
- else {
51
- secretValue.returns({
52
- promise: sinon.stub().returns({
53
- SecretString: JSON.stringify(secret),
54
- }),
55
- });
56
- }
57
- }
58
- exports.mockSecret = mockSecret;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0cy1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3Qvc2VjcmV0cy1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQWdDO0FBQ2hDLDZDQUErQjtBQUUvQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7QUFFakM7Ozs7O0dBS0c7QUFDSCxTQUFnQixrQkFBa0I7SUFDOUIsTUFBTSxNQUFNLEdBQUc7UUFDWCxjQUFjLEVBQUUsV0FBVztLQUM5QixDQUFDO0lBRUYsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbEQsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDO0FBQ2pDLENBQUM7QUFSRCxnREFRQztBQUVELFNBQWdCLFVBQVUsQ0FBUyxNQUFjO0lBQzdDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDVCxXQUFXLENBQUMsT0FBTyxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztTQUNwQyxDQUFDLENBQUM7S0FDTjtTQUFNO1FBQ0gsV0FBVyxDQUFDLE9BQU8sQ0FBQztZQUNoQixPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQztnQkFDMUIsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2FBQ3ZDLENBQUM7U0FDTCxDQUFDLENBQUM7S0FDTjtBQUNMLENBQUM7QUFaRCxnQ0FZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBV1MgPSByZXF1aXJlKCdhd3Mtc2RrJyk7XG5pbXBvcnQgKiBhcyBzaW5vbiBmcm9tIFwic2lub25cIjtcblxuY29uc3Qgc2VjcmV0VmFsdWUgPSBzaW5vbi5zdHViKCk7XG5cbi8qKlxuICogU3R1YiBTZWNyZXRzIE1hbmFnZXIgZm9yIHRlc3RzLiAgWW91IG11c3QgY2FsbCB0aGlzXG4gKiBiZWZvcmUgeW91IGluc3RhbnRpYXRlIFNlY3JldHMgTWFuYWdlcih0aGlzIG1pZ2h0IGhhcHBlbiB3aGVuIHlvdSBpbXBvcnQgdGhlIGZ1bmN0aW9uIHRoYXQgdXNlcyBTZWNyZXRzIE1hbmFnZXIpLlxuICpcbiAqIFRvIG1vY2sgdGhlIGFjdHVhbCBzZWNyZXQsIGNhbGwgbW9ja1NlY3JldCgpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHViU2VjcmV0c01hbmFnZXIoKSB7XG4gICAgY29uc3Qgc21TdHViID0ge1xuICAgICAgICBnZXRTZWNyZXRWYWx1ZTogc2VjcmV0VmFsdWUsXG4gICAgfTtcblxuICAgIHNpbm9uLnN0dWIoQVdTLCAnU2VjcmV0c01hbmFnZXInKS5yZXR1cm5zKHNtU3R1Yik7XG5cbiAgICByZXR1cm4gc21TdHViLmdldFNlY3JldFZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja1NlY3JldDxTZWNyZXQ+KHNlY3JldDogU2VjcmV0KSB7XG4gICAgaWYgKCFzZWNyZXQpIHtcbiAgICAgICAgc2VjcmV0VmFsdWUucmV0dXJucyh7XG4gICAgICAgICAgICBwcm9taXNlOiBzaW5vbi5zdHViKCkucmV0dXJucyh7fSksXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHNlY3JldFZhbHVlLnJldHVybnMoe1xuICAgICAgICAgICAgcHJvbWlzZTogc2lub24uc3R1YigpLnJldHVybnMoe1xuICAgICAgICAgICAgICAgIFNlY3JldFN0cmluZzogSlNPTi5zdHJpbmdpZnkoc2VjcmV0KSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=