@metriport/shared 0.19.2 → 0.19.3

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 (413) hide show
  1. package/dist/domain/ehr.d.ts +4 -0
  2. package/dist/domain/ehr.d.ts.map +1 -0
  3. package/dist/domain/ehr.js +9 -0
  4. package/dist/domain/ehr.js.map +1 -0
  5. package/dist/domain/jwt-token.d.ts +5 -0
  6. package/dist/domain/jwt-token.d.ts.map +1 -0
  7. package/dist/domain/jwt-token.js +3 -0
  8. package/dist/domain/jwt-token.js.map +1 -0
  9. package/dist/interface/external/canvas/appointment.d.ts +111 -0
  10. package/dist/interface/external/canvas/appointment.d.ts.map +1 -0
  11. package/dist/interface/external/canvas/appointment.js +15 -0
  12. package/dist/interface/external/canvas/appointment.js.map +1 -0
  13. package/dist/interface/external/canvas/cx-mapping.d.ts +16 -0
  14. package/dist/interface/external/canvas/cx-mapping.d.ts.map +1 -0
  15. package/dist/interface/external/canvas/cx-mapping.js +8 -0
  16. package/dist/interface/external/canvas/cx-mapping.js.map +1 -0
  17. package/dist/interface/external/canvas/index.d.ts +3 -0
  18. package/dist/interface/external/canvas/index.d.ts.map +1 -0
  19. package/dist/interface/external/canvas/index.js +19 -0
  20. package/dist/interface/external/canvas/index.js.map +1 -0
  21. package/dist/interface/external/canvas/jwt-token.d.ts +43 -0
  22. package/dist/interface/external/canvas/jwt-token.d.ts.map +1 -0
  23. package/dist/interface/external/canvas/jwt-token.js +17 -0
  24. package/dist/interface/external/canvas/jwt-token.js.map +1 -0
  25. package/dist/interface/external/canvas/patient.d.ts +306 -0
  26. package/dist/interface/external/canvas/patient.d.ts.map +1 -0
  27. package/dist/interface/external/canvas/patient.js +36 -0
  28. package/dist/interface/external/canvas/patient.js.map +1 -0
  29. package/dist/interface/external/elation/jwt-token.d.ts +26 -0
  30. package/dist/interface/external/elation/jwt-token.d.ts.map +1 -0
  31. package/dist/interface/external/elation/jwt-token.js +13 -0
  32. package/dist/interface/external/elation/jwt-token.js.map +1 -0
  33. package/dist/interface/external/shared/ehr/patient.d.ts +577 -0
  34. package/dist/interface/external/shared/ehr/patient.d.ts.map +1 -0
  35. package/dist/interface/external/shared/ehr/patient.js +52 -0
  36. package/dist/interface/external/shared/ehr/patient.js.map +1 -0
  37. package/dist/jwt-token.d.ts +26 -0
  38. package/dist/jwt-token.d.ts.map +1 -0
  39. package/dist/jwt-token.js +13 -0
  40. package/dist/jwt-token.js.map +1 -0
  41. package/dist/medical/webhook/webhook-request.d.ts +452 -0
  42. package/dist/medical/webhook/webhook-request.d.ts.map +1 -1
  43. package/dist/medical/webhook/webhook-request.js +29 -23
  44. package/dist/medical/webhook/webhook-request.js.map +1 -1
  45. package/dist/packages/shared/src/__tests__/env-setup.d.ts +2 -0
  46. package/dist/packages/shared/src/__tests__/env-setup.d.ts.map +1 -0
  47. package/dist/packages/shared/src/__tests__/env-setup.js +35 -0
  48. package/dist/packages/shared/src/__tests__/env-setup.js.map +1 -0
  49. package/dist/packages/shared/src/api/index.d.ts +2 -0
  50. package/dist/packages/shared/src/api/index.d.ts.map +1 -0
  51. package/dist/packages/shared/src/api/index.js +18 -0
  52. package/dist/packages/shared/src/api/index.js.map +1 -0
  53. package/dist/packages/shared/src/api/pagination.d.ts +13 -0
  54. package/dist/packages/shared/src/api/pagination.d.ts.map +1 -0
  55. package/dist/packages/shared/src/api/pagination.js +3 -0
  56. package/dist/packages/shared/src/api/pagination.js.map +1 -0
  57. package/dist/packages/shared/src/common/__tests__/boolean.test.d.ts +2 -0
  58. package/dist/packages/shared/src/common/__tests__/boolean.test.d.ts.map +1 -0
  59. package/dist/packages/shared/src/common/__tests__/boolean.test.js +46 -0
  60. package/dist/packages/shared/src/common/__tests__/boolean.test.js.map +1 -0
  61. package/dist/packages/shared/src/common/__tests__/date.test.d.ts +2 -0
  62. package/dist/packages/shared/src/common/__tests__/date.test.d.ts.map +1 -0
  63. package/dist/packages/shared/src/common/__tests__/date.test.js +12 -0
  64. package/dist/packages/shared/src/common/__tests__/date.test.js.map +1 -0
  65. package/dist/packages/shared/src/common/__tests__/normalize-oid.test.d.ts +2 -0
  66. package/dist/packages/shared/src/common/__tests__/normalize-oid.test.d.ts.map +1 -0
  67. package/dist/packages/shared/src/common/__tests__/normalize-oid.test.js +54 -0
  68. package/dist/packages/shared/src/common/__tests__/normalize-oid.test.js.map +1 -0
  69. package/dist/packages/shared/src/common/__tests__/npi.d.ts +7 -0
  70. package/dist/packages/shared/src/common/__tests__/npi.d.ts.map +1 -0
  71. package/dist/packages/shared/src/common/__tests__/npi.js +32 -0
  72. package/dist/packages/shared/src/common/__tests__/npi.js.map +1 -0
  73. package/dist/packages/shared/src/common/__tests__/retry.test.d.ts +2 -0
  74. package/dist/packages/shared/src/common/__tests__/retry.test.d.ts.map +1 -0
  75. package/dist/packages/shared/src/common/__tests__/retry.test.js +202 -0
  76. package/dist/packages/shared/src/common/__tests__/retry.test.js.map +1 -0
  77. package/dist/packages/shared/src/common/__tests__/string.test.d.ts +2 -0
  78. package/dist/packages/shared/src/common/__tests__/string.test.d.ts.map +1 -0
  79. package/dist/packages/shared/src/common/__tests__/string.test.js +62 -0
  80. package/dist/packages/shared/src/common/__tests__/string.test.js.map +1 -0
  81. package/dist/packages/shared/src/common/__tests__/title-case.test.d.ts +2 -0
  82. package/dist/packages/shared/src/common/__tests__/title-case.test.d.ts.map +1 -0
  83. package/dist/packages/shared/src/common/__tests__/title-case.test.js +66 -0
  84. package/dist/packages/shared/src/common/__tests__/title-case.test.js.map +1 -0
  85. package/dist/packages/shared/src/common/__tests__/validate-npi.test.d.ts +2 -0
  86. package/dist/packages/shared/src/common/__tests__/validate-npi.test.d.ts.map +1 -0
  87. package/dist/packages/shared/src/common/__tests__/validate-npi.test.js +24 -0
  88. package/dist/packages/shared/src/common/__tests__/validate-npi.test.js.map +1 -0
  89. package/dist/packages/shared/src/common/array.d.ts +2 -0
  90. package/dist/packages/shared/src/common/array.d.ts.map +1 -0
  91. package/dist/packages/shared/src/common/array.js +11 -0
  92. package/dist/packages/shared/src/common/array.js.map +1 -0
  93. package/dist/packages/shared/src/common/boolean.d.ts +9 -0
  94. package/dist/packages/shared/src/common/boolean.d.ts.map +1 -0
  95. package/dist/packages/shared/src/common/boolean.js +27 -0
  96. package/dist/packages/shared/src/common/boolean.js.map +1 -0
  97. package/dist/packages/shared/src/common/date.d.ts +25 -0
  98. package/dist/packages/shared/src/common/date.d.ts.map +1 -0
  99. package/dist/packages/shared/src/common/date.js +64 -0
  100. package/dist/packages/shared/src/common/date.js.map +1 -0
  101. package/dist/packages/shared/src/common/duration.d.ts +8 -0
  102. package/dist/packages/shared/src/common/duration.d.ts.map +1 -0
  103. package/dist/packages/shared/src/common/duration.js +30 -0
  104. package/dist/packages/shared/src/common/duration.js.map +1 -0
  105. package/dist/packages/shared/src/common/email.d.ts +5 -0
  106. package/dist/packages/shared/src/common/email.d.ts.map +1 -0
  107. package/dist/packages/shared/src/common/email.js +14 -0
  108. package/dist/packages/shared/src/common/email.js.map +1 -0
  109. package/dist/packages/shared/src/common/env-var.d.ts +10 -0
  110. package/dist/packages/shared/src/common/env-var.d.ts.map +1 -0
  111. package/dist/packages/shared/src/common/env-var.js +31 -0
  112. package/dist/packages/shared/src/common/env-var.js.map +1 -0
  113. package/dist/packages/shared/src/common/error.d.ts +16 -0
  114. package/dist/packages/shared/src/common/error.d.ts.map +1 -0
  115. package/dist/packages/shared/src/common/error.js +36 -0
  116. package/dist/packages/shared/src/common/error.js.map +1 -0
  117. package/dist/packages/shared/src/common/filter-map.d.ts +11 -0
  118. package/dist/packages/shared/src/common/filter-map.d.ts.map +1 -0
  119. package/dist/packages/shared/src/common/filter-map.js +17 -0
  120. package/dist/packages/shared/src/common/filter-map.js.map +1 -0
  121. package/dist/packages/shared/src/common/general.d.ts +2 -0
  122. package/dist/packages/shared/src/common/general.d.ts.map +1 -0
  123. package/dist/packages/shared/src/common/general.js +9 -0
  124. package/dist/packages/shared/src/common/general.js.map +1 -0
  125. package/dist/packages/shared/src/common/metriport-organization.d.ts +3 -0
  126. package/dist/packages/shared/src/common/metriport-organization.d.ts.map +1 -0
  127. package/dist/packages/shared/src/common/metriport-organization.js +25 -0
  128. package/dist/packages/shared/src/common/metriport-organization.js.map +1 -0
  129. package/dist/packages/shared/src/common/net.d.ts +2 -0
  130. package/dist/packages/shared/src/common/net.d.ts.map +1 -0
  131. package/dist/packages/shared/src/common/net.js +16 -0
  132. package/dist/packages/shared/src/common/net.js.map +1 -0
  133. package/dist/packages/shared/src/common/normalize-oid.d.ts +2 -0
  134. package/dist/packages/shared/src/common/normalize-oid.d.ts.map +1 -0
  135. package/dist/packages/shared/src/common/normalize-oid.js +34 -0
  136. package/dist/packages/shared/src/common/normalize-oid.js.map +1 -0
  137. package/dist/packages/shared/src/common/numbers.d.ts +7 -0
  138. package/dist/packages/shared/src/common/numbers.d.ts.map +1 -0
  139. package/dist/packages/shared/src/common/numbers.js +19 -0
  140. package/dist/packages/shared/src/common/numbers.js.map +1 -0
  141. package/dist/packages/shared/src/common/purpose-of-use.d.ts +30 -0
  142. package/dist/packages/shared/src/common/purpose-of-use.d.ts.map +1 -0
  143. package/dist/packages/shared/src/common/purpose-of-use.js +35 -0
  144. package/dist/packages/shared/src/common/purpose-of-use.js.map +1 -0
  145. package/dist/packages/shared/src/common/retry.d.ts +76 -0
  146. package/dist/packages/shared/src/common/retry.d.ts.map +1 -0
  147. package/dist/packages/shared/src/common/retry.js +117 -0
  148. package/dist/packages/shared/src/common/retry.js.map +1 -0
  149. package/dist/packages/shared/src/common/sleep.d.ts +14 -0
  150. package/dist/packages/shared/src/common/sleep.d.ts.map +1 -0
  151. package/dist/packages/shared/src/common/sleep.js +29 -0
  152. package/dist/packages/shared/src/common/sleep.js.map +1 -0
  153. package/dist/packages/shared/src/common/string.d.ts +7 -0
  154. package/dist/packages/shared/src/common/string.d.ts.map +1 -0
  155. package/dist/packages/shared/src/common/string.js +16 -0
  156. package/dist/packages/shared/src/common/string.js.map +1 -0
  157. package/dist/packages/shared/src/common/title-case.d.ts +2 -0
  158. package/dist/packages/shared/src/common/title-case.d.ts.map +1 -0
  159. package/dist/packages/shared/src/common/title-case.js +16 -0
  160. package/dist/packages/shared/src/common/title-case.js.map +1 -0
  161. package/dist/packages/shared/src/common/types.d.ts +9 -0
  162. package/dist/packages/shared/src/common/types.d.ts.map +1 -0
  163. package/dist/packages/shared/src/common/types.js +17 -0
  164. package/dist/packages/shared/src/common/types.js.map +1 -0
  165. package/dist/packages/shared/src/common/uuid.d.ts +5 -0
  166. package/dist/packages/shared/src/common/uuid.d.ts.map +1 -0
  167. package/dist/packages/shared/src/common/uuid.js +12 -0
  168. package/dist/packages/shared/src/common/uuid.js.map +1 -0
  169. package/dist/packages/shared/src/common/validate-npi.d.ts +10 -0
  170. package/dist/packages/shared/src/common/validate-npi.d.ts.map +1 -0
  171. package/dist/packages/shared/src/common/validate-npi.js +41 -0
  172. package/dist/packages/shared/src/common/validate-npi.js.map +1 -0
  173. package/dist/packages/shared/src/common/xml-parser.d.ts +3 -0
  174. package/dist/packages/shared/src/common/xml-parser.d.ts.map +1 -0
  175. package/dist/packages/shared/src/common/xml-parser.js +17 -0
  176. package/dist/packages/shared/src/common/xml-parser.js.map +1 -0
  177. package/dist/packages/shared/src/domain/address/__tests__/normalize-zip.test.d.ts +2 -0
  178. package/dist/packages/shared/src/domain/address/__tests__/normalize-zip.test.d.ts.map +1 -0
  179. package/dist/packages/shared/src/domain/address/__tests__/normalize-zip.test.js +83 -0
  180. package/dist/packages/shared/src/domain/address/__tests__/normalize-zip.test.js.map +1 -0
  181. package/dist/packages/shared/src/domain/address/__tests__/state.test.d.ts +2 -0
  182. package/dist/packages/shared/src/domain/address/__tests__/state.test.d.ts.map +1 -0
  183. package/dist/packages/shared/src/domain/address/__tests__/state.test.js +40 -0
  184. package/dist/packages/shared/src/domain/address/__tests__/state.test.js.map +1 -0
  185. package/dist/packages/shared/src/domain/address/__tests__/territory.test.d.ts +2 -0
  186. package/dist/packages/shared/src/domain/address/__tests__/territory.test.d.ts.map +1 -0
  187. package/dist/packages/shared/src/domain/address/__tests__/territory.test.js +35 -0
  188. package/dist/packages/shared/src/domain/address/__tests__/territory.test.js.map +1 -0
  189. package/dist/packages/shared/src/domain/address/index.d.ts +8 -0
  190. package/dist/packages/shared/src/domain/address/index.d.ts.map +1 -0
  191. package/dist/packages/shared/src/domain/address/index.js +21 -0
  192. package/dist/packages/shared/src/domain/address/index.js.map +1 -0
  193. package/dist/packages/shared/src/domain/address/state.d.ts +57 -0
  194. package/dist/packages/shared/src/domain/address/state.d.ts.map +1 -0
  195. package/dist/packages/shared/src/domain/address/state.js +126 -0
  196. package/dist/packages/shared/src/domain/address/state.js.map +1 -0
  197. package/dist/packages/shared/src/domain/address/territory.d.ts +10 -0
  198. package/dist/packages/shared/src/domain/address/territory.d.ts.map +1 -0
  199. package/dist/packages/shared/src/domain/address/territory.js +32 -0
  200. package/dist/packages/shared/src/domain/address/territory.js.map +1 -0
  201. package/dist/packages/shared/src/domain/address/zip.d.ts +7 -0
  202. package/dist/packages/shared/src/domain/address/zip.d.ts.map +1 -0
  203. package/dist/packages/shared/src/domain/address/zip.js +52 -0
  204. package/dist/packages/shared/src/domain/address/zip.js.map +1 -0
  205. package/dist/packages/shared/src/domain/contact/__tests__/email.test.d.ts +2 -0
  206. package/dist/packages/shared/src/domain/contact/__tests__/email.test.d.ts.map +1 -0
  207. package/dist/packages/shared/src/domain/contact/__tests__/email.test.js +39 -0
  208. package/dist/packages/shared/src/domain/contact/__tests__/email.test.js.map +1 -0
  209. package/dist/packages/shared/src/domain/contact/__tests__/phone.test.d.ts +2 -0
  210. package/dist/packages/shared/src/domain/contact/__tests__/phone.test.d.ts.map +1 -0
  211. package/dist/packages/shared/src/domain/contact/__tests__/phone.test.js +190 -0
  212. package/dist/packages/shared/src/domain/contact/__tests__/phone.test.js.map +1 -0
  213. package/dist/packages/shared/src/domain/contact/email.d.ts +11 -0
  214. package/dist/packages/shared/src/domain/contact/email.d.ts.map +1 -0
  215. package/dist/packages/shared/src/domain/contact/email.js +58 -0
  216. package/dist/packages/shared/src/domain/contact/email.js.map +1 -0
  217. package/dist/packages/shared/src/domain/contact/phone.d.ts +25 -0
  218. package/dist/packages/shared/src/domain/contact/phone.d.ts.map +1 -0
  219. package/dist/packages/shared/src/domain/contact/phone.js +68 -0
  220. package/dist/packages/shared/src/domain/contact/phone.js.map +1 -0
  221. package/dist/packages/shared/src/domain/dob.d.ts +3 -0
  222. package/dist/packages/shared/src/domain/dob.d.ts.map +1 -0
  223. package/dist/packages/shared/src/domain/dob.js +25 -0
  224. package/dist/packages/shared/src/domain/dob.js.map +1 -0
  225. package/dist/packages/shared/src/domain/externalId.d.ts +2 -0
  226. package/dist/packages/shared/src/domain/externalId.d.ts.map +1 -0
  227. package/dist/packages/shared/src/domain/externalId.js +8 -0
  228. package/dist/packages/shared/src/domain/externalId.js.map +1 -0
  229. package/dist/packages/shared/src/domain/gender.d.ts +4 -0
  230. package/dist/packages/shared/src/domain/gender.d.ts.map +1 -0
  231. package/dist/packages/shared/src/domain/gender.js +28 -0
  232. package/dist/packages/shared/src/domain/gender.js.map +1 -0
  233. package/dist/packages/shared/src/domain/jwt-token.d.ts +5 -0
  234. package/dist/packages/shared/src/domain/jwt-token.d.ts.map +1 -0
  235. package/dist/packages/shared/src/domain/jwt-token.js +3 -0
  236. package/dist/packages/shared/src/domain/jwt-token.js.map +1 -0
  237. package/dist/packages/shared/src/domain/metriport.d.ts +9 -0
  238. package/dist/packages/shared/src/domain/metriport.d.ts.map +1 -0
  239. package/dist/packages/shared/src/domain/metriport.js +13 -0
  240. package/dist/packages/shared/src/domain/metriport.js.map +1 -0
  241. package/dist/packages/shared/src/domain/patient/patient-import.d.ts +152 -0
  242. package/dist/packages/shared/src/domain/patient/patient-import.d.ts.map +1 -0
  243. package/dist/packages/shared/src/domain/patient/patient-import.js +32 -0
  244. package/dist/packages/shared/src/domain/patient/patient-import.js.map +1 -0
  245. package/dist/packages/shared/src/domain/patient/patient.d.ts +41 -0
  246. package/dist/packages/shared/src/domain/patient/patient.d.ts.map +1 -0
  247. package/dist/packages/shared/src/domain/patient/patient.js +14 -0
  248. package/dist/packages/shared/src/domain/patient/patient.js.map +1 -0
  249. package/dist/packages/shared/src/domain/rate-limiting/index.d.ts +49 -0
  250. package/dist/packages/shared/src/domain/rate-limiting/index.d.ts.map +1 -0
  251. package/dist/packages/shared/src/domain/rate-limiting/index.js +46 -0
  252. package/dist/packages/shared/src/domain/rate-limiting/index.js.map +1 -0
  253. package/dist/packages/shared/src/domain/secrets.d.ts +3 -0
  254. package/dist/packages/shared/src/domain/secrets.d.ts.map +1 -0
  255. package/dist/packages/shared/src/domain/secrets.js +6 -0
  256. package/dist/packages/shared/src/domain/secrets.js.map +1 -0
  257. package/dist/packages/shared/src/error/bad-request.d.ts +9 -0
  258. package/dist/packages/shared/src/error/bad-request.d.ts.map +1 -0
  259. package/dist/packages/shared/src/error/bad-request.js +18 -0
  260. package/dist/packages/shared/src/error/bad-request.js.map +1 -0
  261. package/dist/packages/shared/src/error/metriport-error.d.ts +8 -0
  262. package/dist/packages/shared/src/error/metriport-error.d.ts.map +1 -0
  263. package/dist/packages/shared/src/error/metriport-error.js +18 -0
  264. package/dist/packages/shared/src/error/metriport-error.js.map +1 -0
  265. package/dist/packages/shared/src/error/not-found.d.ts +5 -0
  266. package/dist/packages/shared/src/error/not-found.d.ts.map +1 -0
  267. package/dist/packages/shared/src/error/not-found.js +18 -0
  268. package/dist/packages/shared/src/error/not-found.js.map +1 -0
  269. package/dist/packages/shared/src/error/shared.d.ts +8 -0
  270. package/dist/packages/shared/src/error/shared.d.ts.map +1 -0
  271. package/dist/packages/shared/src/error/shared.js +34 -0
  272. package/dist/packages/shared/src/error/shared.js.map +1 -0
  273. package/dist/packages/shared/src/error/too-many-requests.d.ts +9 -0
  274. package/dist/packages/shared/src/error/too-many-requests.d.ts.map +1 -0
  275. package/dist/packages/shared/src/error/too-many-requests.js +18 -0
  276. package/dist/packages/shared/src/error/too-many-requests.js.map +1 -0
  277. package/dist/packages/shared/src/index.d.ts +43 -0
  278. package/dist/packages/shared/src/index.d.ts.map +1 -0
  279. package/dist/packages/shared/src/index.js +93 -0
  280. package/dist/packages/shared/src/index.js.map +1 -0
  281. package/dist/packages/shared/src/interface/external/athenahealth/appointment.d.ts +105 -0
  282. package/dist/packages/shared/src/interface/external/athenahealth/appointment.d.ts.map +1 -0
  283. package/dist/packages/shared/src/interface/external/athenahealth/appointment.js +18 -0
  284. package/dist/packages/shared/src/interface/external/athenahealth/appointment.js.map +1 -0
  285. package/dist/packages/shared/src/interface/external/athenahealth/cx-mapping.d.ts +16 -0
  286. package/dist/packages/shared/src/interface/external/athenahealth/cx-mapping.d.ts.map +1 -0
  287. package/dist/packages/shared/src/interface/external/athenahealth/cx-mapping.js +8 -0
  288. package/dist/packages/shared/src/interface/external/athenahealth/cx-mapping.js.map +1 -0
  289. package/dist/packages/shared/src/interface/external/athenahealth/department.d.ts +49 -0
  290. package/dist/packages/shared/src/interface/external/athenahealth/department.d.ts.map +1 -0
  291. package/dist/packages/shared/src/interface/external/athenahealth/department.js +11 -0
  292. package/dist/packages/shared/src/interface/external/athenahealth/department.js.map +1 -0
  293. package/dist/packages/shared/src/interface/external/athenahealth/index.d.ts +10 -0
  294. package/dist/packages/shared/src/interface/external/athenahealth/index.d.ts.map +1 -0
  295. package/dist/packages/shared/src/interface/external/athenahealth/index.js +26 -0
  296. package/dist/packages/shared/src/interface/external/athenahealth/index.js.map +1 -0
  297. package/dist/packages/shared/src/interface/external/athenahealth/jwt-token.d.ts +31 -0
  298. package/dist/packages/shared/src/interface/external/athenahealth/jwt-token.d.ts.map +1 -0
  299. package/dist/packages/shared/src/interface/external/athenahealth/jwt-token.js +13 -0
  300. package/dist/packages/shared/src/interface/external/athenahealth/jwt-token.js.map +1 -0
  301. package/dist/packages/shared/src/interface/external/athenahealth/medication.d.ts +77 -0
  302. package/dist/packages/shared/src/interface/external/athenahealth/medication.d.ts.map +1 -0
  303. package/dist/packages/shared/src/interface/external/athenahealth/medication.js +19 -0
  304. package/dist/packages/shared/src/interface/external/athenahealth/medication.js.map +1 -0
  305. package/dist/packages/shared/src/interface/external/athenahealth/patient.d.ts +825 -0
  306. package/dist/packages/shared/src/interface/external/athenahealth/patient.d.ts.map +1 -0
  307. package/dist/packages/shared/src/interface/external/athenahealth/patient.js +58 -0
  308. package/dist/packages/shared/src/interface/external/athenahealth/patient.js.map +1 -0
  309. package/dist/packages/shared/src/interface/external/athenahealth/problem.d.ts +39 -0
  310. package/dist/packages/shared/src/interface/external/athenahealth/problem.d.ts.map +1 -0
  311. package/dist/packages/shared/src/interface/external/athenahealth/problem.js +14 -0
  312. package/dist/packages/shared/src/interface/external/athenahealth/problem.js.map +1 -0
  313. package/dist/packages/shared/src/interface/external/athenahealth/subscription.d.ts +32 -0
  314. package/dist/packages/shared/src/interface/external/athenahealth/subscription.d.ts.map +1 -0
  315. package/dist/packages/shared/src/interface/external/athenahealth/subscription.js +11 -0
  316. package/dist/packages/shared/src/interface/external/athenahealth/subscription.js.map +1 -0
  317. package/dist/packages/shared/src/interface/external/athenahealth/vitals.d.ts +58 -0
  318. package/dist/packages/shared/src/interface/external/athenahealth/vitals.d.ts.map +1 -0
  319. package/dist/packages/shared/src/interface/external/athenahealth/vitals.js +14 -0
  320. package/dist/packages/shared/src/interface/external/athenahealth/vitals.js.map +1 -0
  321. package/dist/packages/shared/src/interface/external/canvas/index.d.ts +2 -0
  322. package/dist/packages/shared/src/interface/external/canvas/index.d.ts.map +1 -0
  323. package/dist/packages/shared/src/interface/external/canvas/index.js +18 -0
  324. package/dist/packages/shared/src/interface/external/canvas/index.js.map +1 -0
  325. package/dist/packages/shared/src/interface/external/canvas/jwt-token.d.ts +10 -0
  326. package/dist/packages/shared/src/interface/external/canvas/jwt-token.d.ts.map +1 -0
  327. package/dist/packages/shared/src/interface/external/canvas/jwt-token.js +3 -0
  328. package/dist/packages/shared/src/interface/external/canvas/jwt-token.js.map +1 -0
  329. package/dist/packages/shared/src/interface/external/carequality/directory/simplified-org.d.ts +10 -0
  330. package/dist/packages/shared/src/interface/external/carequality/directory/simplified-org.d.ts.map +1 -0
  331. package/dist/packages/shared/src/interface/external/carequality/directory/simplified-org.js +3 -0
  332. package/dist/packages/shared/src/interface/external/carequality/directory/simplified-org.js.map +1 -0
  333. package/dist/packages/shared/src/interface/external/elation/appointment.d.ts +111 -0
  334. package/dist/packages/shared/src/interface/external/elation/appointment.d.ts.map +1 -0
  335. package/dist/packages/shared/src/interface/external/elation/appointment.js +15 -0
  336. package/dist/packages/shared/src/interface/external/elation/appointment.js.map +1 -0
  337. package/dist/packages/shared/src/interface/external/elation/index.d.ts +4 -0
  338. package/dist/packages/shared/src/interface/external/elation/index.d.ts.map +1 -0
  339. package/dist/packages/shared/src/interface/external/elation/index.js +20 -0
  340. package/dist/packages/shared/src/interface/external/elation/index.js.map +1 -0
  341. package/dist/packages/shared/src/interface/external/elation/patient.d.ts +280 -0
  342. package/dist/packages/shared/src/interface/external/elation/patient.d.ts.map +1 -0
  343. package/dist/packages/shared/src/interface/external/elation/patient.js +40 -0
  344. package/dist/packages/shared/src/interface/external/elation/patient.js.map +1 -0
  345. package/dist/packages/shared/src/interface/index.d.ts +3 -0
  346. package/dist/packages/shared/src/interface/index.d.ts.map +1 -0
  347. package/dist/packages/shared/src/interface/index.js +19 -0
  348. package/dist/packages/shared/src/interface/index.js.map +1 -0
  349. package/dist/packages/shared/src/interface/internal/consolidated.d.ts +258 -0
  350. package/dist/packages/shared/src/interface/internal/consolidated.d.ts.map +1 -0
  351. package/dist/packages/shared/src/interface/internal/consolidated.js +16 -0
  352. package/dist/packages/shared/src/interface/internal/consolidated.js.map +1 -0
  353. package/dist/packages/shared/src/interface/internal/index.d.ts +2 -0
  354. package/dist/packages/shared/src/interface/internal/index.d.ts.map +1 -0
  355. package/dist/packages/shared/src/interface/internal/index.js +18 -0
  356. package/dist/packages/shared/src/interface/internal/index.js.map +1 -0
  357. package/dist/packages/shared/src/interface/schema/feedback.d.ts +48 -0
  358. package/dist/packages/shared/src/interface/schema/feedback.d.ts.map +1 -0
  359. package/dist/packages/shared/src/interface/schema/feedback.js +17 -0
  360. package/dist/packages/shared/src/interface/schema/feedback.js.map +1 -0
  361. package/dist/packages/shared/src/interface/schema/index.d.ts +2 -0
  362. package/dist/packages/shared/src/interface/schema/index.d.ts.map +1 -0
  363. package/dist/packages/shared/src/interface/schema/index.js +18 -0
  364. package/dist/packages/shared/src/interface/schema/index.js.map +1 -0
  365. package/dist/packages/shared/src/medical/fhir/bundle.d.ts +8 -0
  366. package/dist/packages/shared/src/medical/fhir/bundle.d.ts.map +1 -0
  367. package/dist/packages/shared/src/medical/fhir/bundle.js +24 -0
  368. package/dist/packages/shared/src/medical/fhir/bundle.js.map +1 -0
  369. package/dist/packages/shared/src/medical/fhir/conversion.d.ts +3 -0
  370. package/dist/packages/shared/src/medical/fhir/conversion.d.ts.map +1 -0
  371. package/dist/packages/shared/src/medical/fhir/conversion.js +5 -0
  372. package/dist/packages/shared/src/medical/fhir/conversion.js.map +1 -0
  373. package/dist/packages/shared/src/medical/fhir/observations.d.ts +9 -0
  374. package/dist/packages/shared/src/medical/fhir/observations.d.ts.map +1 -0
  375. package/dist/packages/shared/src/medical/fhir/observations.js +56 -0
  376. package/dist/packages/shared/src/medical/fhir/observations.js.map +1 -0
  377. package/dist/packages/shared/src/medical/fhir/resources.d.ts +145 -0
  378. package/dist/packages/shared/src/medical/fhir/resources.d.ts.map +1 -0
  379. package/dist/packages/shared/src/medical/fhir/resources.js +81 -0
  380. package/dist/packages/shared/src/medical/fhir/resources.js.map +1 -0
  381. package/dist/packages/shared/src/medical/index.d.ts +7 -0
  382. package/dist/packages/shared/src/medical/index.d.ts.map +1 -0
  383. package/dist/packages/shared/src/medical/index.js +23 -0
  384. package/dist/packages/shared/src/medical/index.js.map +1 -0
  385. package/dist/packages/shared/src/medical/webhook/webhook-request.d.ts +1497 -0
  386. package/dist/packages/shared/src/medical/webhook/webhook-request.d.ts.map +1 -0
  387. package/dist/packages/shared/src/medical/webhook/webhook-request.js +139 -0
  388. package/dist/packages/shared/src/medical/webhook/webhook-request.js.map +1 -0
  389. package/dist/packages/shared/src/medical/webhook/webhook-status-response.d.ts +7 -0
  390. package/dist/packages/shared/src/medical/webhook/webhook-status-response.d.ts.map +1 -0
  391. package/dist/packages/shared/src/medical/webhook/webhook-status-response.js +3 -0
  392. package/dist/packages/shared/src/medical/webhook/webhook-status-response.js.map +1 -0
  393. package/dist/packages/shared/src/net/__tests__/axios.d.ts +92 -0
  394. package/dist/packages/shared/src/net/__tests__/axios.d.ts.map +1 -0
  395. package/dist/packages/shared/src/net/__tests__/axios.js +103 -0
  396. package/dist/packages/shared/src/net/__tests__/axios.js.map +1 -0
  397. package/dist/packages/shared/src/net/__tests__/retry.test.d.ts +2 -0
  398. package/dist/packages/shared/src/net/__tests__/retry.test.d.ts.map +1 -0
  399. package/dist/packages/shared/src/net/__tests__/retry.test.js +257 -0
  400. package/dist/packages/shared/src/net/__tests__/retry.test.js.map +1 -0
  401. package/dist/packages/shared/src/net/error.d.ts +35 -0
  402. package/dist/packages/shared/src/net/error.d.ts.map +1 -0
  403. package/dist/packages/shared/src/net/error.js +57 -0
  404. package/dist/packages/shared/src/net/error.js.map +1 -0
  405. package/dist/packages/shared/src/net/retry.d.ts +36 -0
  406. package/dist/packages/shared/src/net/retry.d.ts.map +1 -0
  407. package/dist/packages/shared/src/net/retry.js +104 -0
  408. package/dist/packages/shared/src/net/retry.js.map +1 -0
  409. package/dist/packages/shared/src/net/url.d.ts +2 -0
  410. package/dist/packages/shared/src/net/url.d.ts.map +1 -0
  411. package/dist/packages/shared/src/net/url.js +16 -0
  412. package/dist/packages/shared/src/net/url.js.map +1 -0
  413. package/package.json +2 -2
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeOid = void 0;
4
+ const OID_REGEX = /(?:[^.\d]*)((([0-9]*)(?:\.*))*)*(?:[^.\d]*)/;
5
+ function normalizeOid(input) {
6
+ const match = input.match(OID_REGEX);
7
+ // The OID should not contain "..". If it does, it is not a valid OID.
8
+ // The root of OID must be 0, 1 or 2. If it is not, it is not a valid OID. (i.e. '1000' is not a valid OID)
9
+ if (match && match[1]) {
10
+ const oidCandidate = match[1];
11
+ if (!oidCandidate.includes("..") && startsWithRootCode(oidCandidate)) {
12
+ return oidCandidate;
13
+ }
14
+ }
15
+ throw new Error("OID is not valid");
16
+ }
17
+ exports.normalizeOid = normalizeOid;
18
+ function startsWithRootCode(oid) {
19
+ if (oid.includes(".")) {
20
+ const root = oid.split(".")[0];
21
+ if (root) {
22
+ const rootInt = parseInt(root);
23
+ return isWithinRootBounds(rootInt) ?? false;
24
+ }
25
+ }
26
+ else {
27
+ return isWithinRootBounds(parseInt(oid));
28
+ }
29
+ return false;
30
+ }
31
+ function isWithinRootBounds(root) {
32
+ return root >= 0 && root <= 2;
33
+ }
34
+ //# sourceMappingURL=normalize-oid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-oid.js","sourceRoot":"","sources":["../../../../../src/common/normalize-oid.ts"],"names":[],"mappings":";;;AAAA,MAAM,SAAS,GAAG,6CAA6C,CAAC;AAEhE,SAAgB,YAAY,CAAC,KAAa;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrC,sEAAsE;IACtE,2GAA2G;IAC3G,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;QACrB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE;YACpE,OAAO,YAAY,CAAC;SACrB;KACF;IAED,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACtC,CAAC;AAZD,oCAYC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,EAAE;YACR,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,kBAAkB,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;SAC7C;KACF;SAAM;QACL,OAAO,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1C;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function getFloatValue(value: string | number): number;
2
+ /**
3
+ * Truncate the number to 2 decimal places
4
+ */
5
+ export declare function formatNumber(num: number): number;
6
+ export declare function randomInt(maxDigits?: number): number;
7
+ //# sourceMappingURL=numbers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numbers.d.ts","sourceRoot":"","sources":["../../../../../src/common/numbers.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,SAAS,CAAC,SAAS,SAAI,GAAG,MAAM,CAE/C"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomInt = exports.formatNumber = exports.getFloatValue = void 0;
4
+ function getFloatValue(value) {
5
+ return typeof value === "string" ? parseFloat(value) : value;
6
+ }
7
+ exports.getFloatValue = getFloatValue;
8
+ /**
9
+ * Truncate the number to 2 decimal places
10
+ */
11
+ function formatNumber(num) {
12
+ return Math.floor(num * 100) / 100;
13
+ }
14
+ exports.formatNumber = formatNumber;
15
+ function randomInt(maxDigits = 2) {
16
+ return Math.floor(Math.random() * Math.pow(10, maxDigits));
17
+ }
18
+ exports.randomInt = randomInt;
19
+ //# sourceMappingURL=numbers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numbers.js","sourceRoot":"","sources":["../../../../../src/common/numbers.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa,CAAC,KAAsB;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/D,CAAC;AAFD,sCAEC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,GAAW;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACrC,CAAC;AAFD,oCAEC;AAED,SAAgB,SAAS,CAAC,SAAS,GAAG,CAAC;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;AAC7D,CAAC;AAFD,8BAEC"}
@@ -0,0 +1,30 @@
1
+ export declare enum PurposeOfUse {
2
+ TREATMENT = "TREATMENT",
3
+ PAYMENT = "PAYMENT",
4
+ OPERATIONS = "OPERATIONS",
5
+ SYSADMIN = "SYSADMIN",
6
+ FRAUD = "FRAUD",
7
+ PSYCHOTHERAPY = "PSYCHOTHERAPY",
8
+ TRAINING = "TRAINING",
9
+ LEGAL = "LEGAL",
10
+ MARKETING = "MARKETING",
11
+ DIRECTORY = "DIRECTORY",
12
+ FAMILY = "FAMILY",
13
+ PRESENT = "PRESENT",
14
+ EMERGENCY = "EMERGENCY",
15
+ DISASTER = "DISASTER",
16
+ PUBLICHEALTH = "PUBLICHEALTH",
17
+ ABUSE = "ABUSE",
18
+ OVERSIGHT = "OVERSIGHT",
19
+ JUDICIAL = "JUDICIAL",
20
+ LAW = "LAW",
21
+ DECEASED = "DECEASED",
22
+ DONATION = "DONATION",
23
+ RESEARCH = "RESEARCH",
24
+ THREAT = "THREAT",
25
+ GOVERNMENT = "GOVERNMENT",
26
+ WORKERSCOMP = "WORKERSCOMP",
27
+ COVERAGE = "COVERAGE",
28
+ REQUEST = "REQUEST",
29
+ }
30
+ //# sourceMappingURL=purpose-of-use.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purpose-of-use.d.ts","sourceRoot":"","sources":["../../../../../src/common/purpose-of-use.ts"],"names":[],"mappings":"AACA,oBAAY,YAAY;IACtB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PurposeOfUse = void 0;
4
+ // https://www.hl7.org/fhir/codesystem-nhin-purposeofuse.html
5
+ var PurposeOfUse;
6
+ (function (PurposeOfUse) {
7
+ PurposeOfUse["TREATMENT"] = "TREATMENT";
8
+ PurposeOfUse["PAYMENT"] = "PAYMENT";
9
+ PurposeOfUse["OPERATIONS"] = "OPERATIONS";
10
+ PurposeOfUse["SYSADMIN"] = "SYSADMIN";
11
+ PurposeOfUse["FRAUD"] = "FRAUD";
12
+ PurposeOfUse["PSYCHOTHERAPY"] = "PSYCHOTHERAPY";
13
+ PurposeOfUse["TRAINING"] = "TRAINING";
14
+ PurposeOfUse["LEGAL"] = "LEGAL";
15
+ PurposeOfUse["MARKETING"] = "MARKETING";
16
+ PurposeOfUse["DIRECTORY"] = "DIRECTORY";
17
+ PurposeOfUse["FAMILY"] = "FAMILY";
18
+ PurposeOfUse["PRESENT"] = "PRESENT";
19
+ PurposeOfUse["EMERGENCY"] = "EMERGENCY";
20
+ PurposeOfUse["DISASTER"] = "DISASTER";
21
+ PurposeOfUse["PUBLICHEALTH"] = "PUBLICHEALTH";
22
+ PurposeOfUse["ABUSE"] = "ABUSE";
23
+ PurposeOfUse["OVERSIGHT"] = "OVERSIGHT";
24
+ PurposeOfUse["JUDICIAL"] = "JUDICIAL";
25
+ PurposeOfUse["LAW"] = "LAW";
26
+ PurposeOfUse["DECEASED"] = "DECEASED";
27
+ PurposeOfUse["DONATION"] = "DONATION";
28
+ PurposeOfUse["RESEARCH"] = "RESEARCH";
29
+ PurposeOfUse["THREAT"] = "THREAT";
30
+ PurposeOfUse["GOVERNMENT"] = "GOVERNMENT";
31
+ PurposeOfUse["WORKERSCOMP"] = "WORKERSCOMP";
32
+ PurposeOfUse["COVERAGE"] = "COVERAGE";
33
+ PurposeOfUse["REQUEST"] = "REQUEST";
34
+ })(PurposeOfUse = exports.PurposeOfUse || (exports.PurposeOfUse = {}));
35
+ //# sourceMappingURL=purpose-of-use.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purpose-of-use.js","sourceRoot":"","sources":["../../../../../src/common/purpose-of-use.ts"],"names":[],"mappings":";;;AAAA,6DAA6D;AAC7D,IAAY,YA4BX;AA5BD,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,+CAA+B,CAAA;IAC/B,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,+BAAe,CAAA;IACf,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,2BAAW,CAAA;IACX,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,yCAAyB,CAAA;IACzB,2CAA2B,CAAA;IAC3B,qCAAqB,CAAA;IACrB,mCAAmB,CAAA;AACrB,CAAC,EA5BW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QA4BvB"}
@@ -0,0 +1,76 @@
1
+ export declare const defaultOptions: Required<ExecuteWithRetriesOptions<unknown>>;
2
+ export type ExecuteWithRetriesOptions<T> = {
3
+ /** The intitial delay in milliseconds. Defaults to 10ms. */
4
+ initialDelay?: number;
5
+ /** The maximum delay in milliseconds. Defaults to Infinity. */
6
+ maxDelay?: number;
7
+ /**
8
+ * Determines how the backoff is calculated.
9
+ * Defaults to 2 (exponential backoff).
10
+ * Set to 0 to disable backoff.
11
+ */
12
+ backoffMultiplier?: number;
13
+ /** The maximum number of retries. Defaults to 10. */
14
+ maxAttempts?: number;
15
+ /** Function to determine if the error should be retried. Defaults to always retry. */
16
+ shouldRetry?: (
17
+ result: T | undefined,
18
+ error: unknown,
19
+ attempt: number
20
+ ) => boolean | Promise<boolean>;
21
+ /** Function to determine if the result should be retried. Defaults to always retry. */
22
+ /** Function to determine how long to wait before the next retry. It should not be changed. */
23
+ getTimeToWait?: (params: GetTimeToWaitParams) => number;
24
+ /** Function to log details about the execution */
25
+ log?: typeof console.log;
26
+ };
27
+ export type GetTimeToWaitParams = {
28
+ initialDelay: number;
29
+ backoffMultiplier: number;
30
+ attempt: number;
31
+ maxDelay: number;
32
+ error?: unknown;
33
+ };
34
+ /**
35
+ * Executes a function with retries and backoff with jitter.
36
+ * Decides whether or not to retry based on the `shouldRetry()` function parameter - by default
37
+ * it only retries on error.
38
+ * If the function doesn't throw errors and `shouldRetry` returns true, it will return the last
39
+ * function's result when it reaches the maximum attempts.
40
+ * It retries up to maxAttempts-1, waiting between each retry.
41
+ * If the function throws an error on the last attempt, it will throw the error.
42
+ * If the function succeeds and `shouldRetry` returns false, it will return the function's result.
43
+ *
44
+ * @param fn the function to be executed
45
+ * @param options the options to be used; see `ExecuteWithRetriesOptions` for components and
46
+ * `defaultOptions` for defaults.
47
+ * @returns the result of calling the `fn` function
48
+ * @see https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
49
+ */
50
+ export declare function executeWithRetries<T>(
51
+ fn: (attempt: number) => Promise<T>,
52
+ options?: ExecuteWithRetriesOptions<T>
53
+ ): Promise<T>;
54
+ export declare function defaultGetTimeToWait({
55
+ initialDelay,
56
+ backoffMultiplier,
57
+ attempt,
58
+ maxDelay,
59
+ }: GetTimeToWaitParams): number;
60
+ /**
61
+ * Executes a function with retries and backoff with jitter. If the function throws an error, it will retry
62
+ * up to maxAttempts-1, waiting between each retry.
63
+ * If the function throws an error on the last attempt, it will return `undefined`.
64
+ * If the function succeeds, it will return the result.
65
+ *
66
+ * @param fn the function to be executed
67
+ * @param options the options to be used; see `ExecuteWithRetriesOptions` for components and
68
+ * `defaultOptions` for defaults.
69
+ * @returns the result of calling the `fn` function
70
+ * @see https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
71
+ */
72
+ export declare function executeWithRetriesSafe<T>(
73
+ fn: () => Promise<T>,
74
+ options?: Partial<ExecuteWithRetriesOptions<T>>
75
+ ): Promise<T | undefined>;
76
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../../../src/common/retry.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAQvE,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,WAAW,CAAC,EAAE,CACZ,MAAM,EAAE,CAAC,GAAG,SAAS,EACrB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,KACZ,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,uFAAuF;IACvF,8FAA8F;IAC9F,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,MAAM,CAAC;IACxD,kDAAkD;IAClD,GAAG,CAAC,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EACnC,OAAO,GAAE,yBAAyB,CAAC,CAAC,CAAkB,GACrD,OAAO,CAAC,CAAC,CAAC,CAoDZ;AAED,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,QAAQ,GACT,EAAE,mBAAmB,UAKrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAC9C,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CASxB"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeWithRetriesSafe = exports.defaultGetTimeToWait = exports.executeWithRetries = exports.defaultOptions = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const metriport_error_1 = require("../error/metriport-error");
6
+ const shared_1 = require("../error/shared");
7
+ const sleep_1 = require("./sleep");
8
+ function defaultShouldRetry(_, error) {
9
+ if (error)
10
+ return true;
11
+ return false;
12
+ }
13
+ exports.defaultOptions = {
14
+ initialDelay: 10,
15
+ maxDelay: Infinity,
16
+ backoffMultiplier: 2,
17
+ maxAttempts: 5,
18
+ shouldRetry: defaultShouldRetry,
19
+ getTimeToWait: defaultGetTimeToWait,
20
+ log: console.log,
21
+ };
22
+ /**
23
+ * Executes a function with retries and backoff with jitter.
24
+ * Decides whether or not to retry based on the `shouldRetry()` function parameter - by default
25
+ * it only retries on error.
26
+ * If the function doesn't throw errors and `shouldRetry` returns true, it will return the last
27
+ * function's result when it reaches the maximum attempts.
28
+ * It retries up to maxAttempts-1, waiting between each retry.
29
+ * If the function throws an error on the last attempt, it will throw the error.
30
+ * If the function succeeds and `shouldRetry` returns false, it will return the function's result.
31
+ *
32
+ * @param fn the function to be executed
33
+ * @param options the options to be used; see `ExecuteWithRetriesOptions` for components and
34
+ * `defaultOptions` for defaults.
35
+ * @returns the result of calling the `fn` function
36
+ * @see https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
37
+ */
38
+ async function executeWithRetries(fn, options = exports.defaultOptions) {
39
+ const actualOptions = { ...exports.defaultOptions, ...options };
40
+ const { initialDelay, maxDelay, backoffMultiplier, maxAttempts: _maxAttempts, shouldRetry, getTimeToWait, log, } = actualOptions;
41
+ const context = "executeWithRetries";
42
+ const maxAttempts = Math.max(_maxAttempts, 1);
43
+ let attempt = 0;
44
+ while (++attempt <= maxAttempts) {
45
+ try {
46
+ const result = await fn(attempt);
47
+ if (await shouldRetry(result, undefined, attempt)) {
48
+ if (attempt >= maxAttempts) {
49
+ log(`[${context}] Gave up after ${attempt} attempts.`);
50
+ return result;
51
+ }
52
+ log(`[${context}] Retrying... (attempt: ${attempt})`);
53
+ continue;
54
+ }
55
+ return result;
56
+ }
57
+ catch (error) {
58
+ const msg = `[${context}] Error: ${(0, shared_1.errorToString)(error)}`;
59
+ if (attempt >= maxAttempts) {
60
+ log(`${msg}, gave up after ${attempt} attempts.`);
61
+ throw error;
62
+ }
63
+ if (!(await shouldRetry(undefined, error, attempt))) {
64
+ log(`${msg}, should not retry (after ${attempt} attempts).`);
65
+ throw error;
66
+ }
67
+ log(`${msg}, retrying... (attempt: ${attempt})`);
68
+ const timeToWait = getTimeToWait({
69
+ initialDelay,
70
+ backoffMultiplier,
71
+ attempt,
72
+ maxDelay,
73
+ error,
74
+ });
75
+ await (0, sleep_1.sleep)(timeToWait);
76
+ }
77
+ }
78
+ throw new metriport_error_1.MetriportError("Unreachable code", undefined, {
79
+ attempt,
80
+ maxAttempts,
81
+ context,
82
+ });
83
+ }
84
+ exports.executeWithRetries = executeWithRetries;
85
+ function defaultGetTimeToWait({ initialDelay, backoffMultiplier, attempt, maxDelay, }) {
86
+ if (backoffMultiplier < 1)
87
+ return initialDelay;
88
+ const temp = Math.min(initialDelay * Math.pow(backoffMultiplier, attempt), maxDelay);
89
+ const timeToWait = temp / 2 + (0, lodash_1.random)(0, temp / 2);
90
+ return timeToWait;
91
+ }
92
+ exports.defaultGetTimeToWait = defaultGetTimeToWait;
93
+ /**
94
+ * Executes a function with retries and backoff with jitter. If the function throws an error, it will retry
95
+ * up to maxAttempts-1, waiting between each retry.
96
+ * If the function throws an error on the last attempt, it will return `undefined`.
97
+ * If the function succeeds, it will return the result.
98
+ *
99
+ * @param fn the function to be executed
100
+ * @param options the options to be used; see `ExecuteWithRetriesOptions` for components and
101
+ * `defaultOptions` for defaults.
102
+ * @returns the result of calling the `fn` function
103
+ * @see https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
104
+ */
105
+ async function executeWithRetriesSafe(fn, options) {
106
+ const actualOptions = { ...exports.defaultOptions, ...options };
107
+ const { log } = actualOptions;
108
+ try {
109
+ return await executeWithRetries(fn, options);
110
+ }
111
+ catch (e) {
112
+ log(`[executeWithRetriesSafe] Error: ${(0, shared_1.errorToString)(e)}`);
113
+ return undefined;
114
+ }
115
+ }
116
+ exports.executeWithRetriesSafe = executeWithRetriesSafe;
117
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../../../src/common/retry.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,8DAA0D;AAC1D,4CAAgD;AAChD,mCAAgC;AAEhC,SAAS,kBAAkB,CAAI,CAAgB,EAAE,KAAc;IAC7D,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAEY,QAAA,cAAc,GAAiD;IAC1E,YAAY,EAAE,EAAE;IAChB,QAAQ,EAAE,QAAQ;IAClB,iBAAiB,EAAE,CAAC;IACpB,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,kBAAkB;IAC/B,aAAa,EAAE,oBAAoB;IACnC,GAAG,EAAE,OAAO,CAAC,GAAG;CACjB,CAAC;AAoCF;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,kBAAkB,CACtC,EAAmC,EACnC,UAAwC,sBAAc;IAEtD,MAAM,aAAa,GAAG,EAAE,GAAG,sBAAc,EAAE,GAAG,OAAO,EAAE,CAAC;IACxD,MAAM,EACJ,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,WAAW,EAAE,YAAY,EACzB,WAAW,EACX,aAAa,EACb,GAAG,GACJ,GAAG,aAAa,CAAC;IAClB,MAAM,OAAO,GAAG,oBAAoB,CAAC;IACrC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC9C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE;QAC/B,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,MAAM,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;gBACjD,IAAI,OAAO,IAAI,WAAW,EAAE;oBAC1B,GAAG,CAAC,IAAI,OAAO,mBAAmB,OAAO,YAAY,CAAC,CAAC;oBACvD,OAAO,MAAM,CAAC;iBACf;gBACD,GAAG,CAAC,IAAI,OAAO,2BAA2B,OAAO,GAAG,CAAC,CAAC;gBACtD,SAAS;aACV;YACD,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,GAAG,GAAG,IAAI,OAAO,YAAY,IAAA,sBAAa,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1D,IAAI,OAAO,IAAI,WAAW,EAAE;gBAC1B,GAAG,CAAC,GAAG,GAAG,mBAAmB,OAAO,YAAY,CAAC,CAAC;gBAClD,MAAM,KAAK,CAAC;aACb;YACD,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE;gBACnD,GAAG,CAAC,GAAG,GAAG,6BAA6B,OAAO,aAAa,CAAC,CAAC;gBAC7D,MAAM,KAAK,CAAC;aACb;YACD,GAAG,CAAC,GAAG,GAAG,2BAA2B,OAAO,GAAG,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,aAAa,CAAC;gBAC/B,YAAY;gBACZ,iBAAiB;gBACjB,OAAO;gBACP,QAAQ;gBACR,KAAK;aACN,CAAC,CAAC;YACH,MAAM,IAAA,aAAK,EAAC,UAAU,CAAC,CAAC;SACzB;KACF;IACD,MAAM,IAAI,gCAAc,CAAC,kBAAkB,EAAE,SAAS,EAAE;QACtD,OAAO;QACP,WAAW;QACX,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAvDD,gDAuDC;AAED,SAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,QAAQ,GACY;IACpB,IAAI,iBAAiB,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,IAAA,eAAM,EAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;IAClD,OAAO,UAAU,CAAC;AACpB,CAAC;AAVD,oDAUC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,sBAAsB,CAC1C,EAAoB,EACpB,OAA+C;IAE/C,MAAM,aAAa,GAAG,EAAE,GAAG,sBAAc,EAAE,GAAG,OAAO,EAAE,CAAC;IACxD,MAAM,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IAC9B,IAAI;QACF,OAAO,MAAM,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;KAC9C;IAAC,OAAO,CAAC,EAAE;QACV,GAAG,CAAC,mCAAmC,IAAA,sBAAa,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAZD,wDAYC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Sleeps for timeInMs milliseconds.
3
+ * @param milliseconds - The amount of time to sleep in milliseconds.
4
+ * @returns A promise that resolves when the sleep is complete.
5
+ */
6
+ export declare function sleep(timeInMs: number): Promise<void>;
7
+ /**
8
+ * Sleeps for a random amount of time between max * multiplierMin and max.
9
+ * @param max - The maximum amount of time to sleep in milliseconds.
10
+ * @param multiplierMin - The minimum multiplier to use. Defaults to 0.1.
11
+ * @returns A promise that resolves when the sleep is complete.
12
+ */
13
+ export declare function sleepRandom(max: number, multiplierMin?: number): Promise<void>;
14
+ //# sourceMappingURL=sleep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../../../../src/common/sleep.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,SAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3E"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sleepRandom = exports.sleep = void 0;
4
+ /**
5
+ * Sleeps for timeInMs milliseconds.
6
+ * @param milliseconds - The amount of time to sleep in milliseconds.
7
+ * @returns A promise that resolves when the sleep is complete.
8
+ */
9
+ function sleep(timeInMs) {
10
+ return new Promise(resolve => setTimeout(resolve, timeInMs));
11
+ }
12
+ exports.sleep = sleep;
13
+ /**
14
+ * Sleeps for a random amount of time between max * multiplierMin and max.
15
+ * @param max - The maximum amount of time to sleep in milliseconds.
16
+ * @param multiplierMin - The minimum multiplier to use. Defaults to 0.1.
17
+ * @returns A promise that resolves when the sleep is complete.
18
+ */
19
+ function sleepRandom(max, multiplierMin = 0.1) {
20
+ let multiplier = Math.random();
21
+ if (multiplier < multiplierMin)
22
+ multiplier += multiplierMin;
23
+ if (multiplier > 1)
24
+ multiplier = 1;
25
+ const timeToWait = Math.floor(multiplier * max);
26
+ return sleep(timeToWait);
27
+ }
28
+ exports.sleepRandom = sleepRandom;
29
+ //# sourceMappingURL=sleep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../../../../src/common/sleep.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,KAAK,CAAC,QAAgB;IACpC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/D,CAAC;AAFD,sBAEC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,GAAW,EAAE,aAAa,GAAG,GAAG;IAC1D,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/B,IAAI,UAAU,GAAG,aAAa;QAAE,UAAU,IAAI,aAAa,CAAC;IAC5D,IAAI,UAAU,GAAG,CAAC;QAAE,UAAU,GAAG,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC;AAND,kCAMC"}
@@ -0,0 +1,7 @@
1
+ export declare function limitStringLength<T extends string | undefined>(
2
+ value: T,
3
+ max?: number,
4
+ suffix?: string
5
+ ): T;
6
+ export declare function stripNonNumericChars(str: string): string;
7
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../../../src/common/string.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EAC5D,KAAK,EAAE,CAAC,EACR,GAAG,SAAM,EACT,MAAM,SAAQ,GACb,CAAC,CAOH;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stripNonNumericChars = exports.limitStringLength = void 0;
4
+ function limitStringLength(value, max = 255, suffix = "...") {
5
+ if (!value)
6
+ return value;
7
+ return (value.length > max && value.length > suffix.length
8
+ ? value.substring(0, max - suffix.length) + suffix
9
+ : value);
10
+ }
11
+ exports.limitStringLength = limitStringLength;
12
+ function stripNonNumericChars(str) {
13
+ return str.trim().replace(/\D/g, "");
14
+ }
15
+ exports.stripNonNumericChars = stripNonNumericChars;
16
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../../src/common/string.ts"],"names":[],"mappings":";;;AAAA,SAAgB,iBAAiB,CAC/B,KAAQ,EACR,GAAG,GAAG,GAAG,EACT,MAAM,GAAG,KAAK;IAEd,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,CACL,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;QAChD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM;QAClD,CAAC,CAAC,KAAK,CACL,CAAC;AACT,CAAC;AAXD,8CAWC;AAED,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAFD,oDAEC"}
@@ -0,0 +1,2 @@
1
+ export declare function toTitleCase(str: string): string;
2
+ //# sourceMappingURL=title-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"title-case.d.ts","sourceRoot":"","sources":["../../../../../src/common/title-case.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAS/C"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toTitleCase = void 0;
4
+ function toTitleCase(str) {
5
+ const trimmedStr = str.trim();
6
+ const words = trimmedStr.toLowerCase().split(/(?=[A-Z])|[\s]+/);
7
+ return words
8
+ .map(word => {
9
+ if (!word)
10
+ return "";
11
+ return word.charAt(0).toUpperCase() + word.slice(1);
12
+ })
13
+ .join(" ");
14
+ }
15
+ exports.toTitleCase = toTitleCase;
16
+ //# sourceMappingURL=title-case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"title-case.js","sourceRoot":"","sources":["../../../../../src/common/title-case.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChE,OAAO,KAAK;SACT,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AATD,kCASC"}
@@ -0,0 +1,9 @@
1
+ export type AtLeastOne<T> = {
2
+ [K in keyof T]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<keyof T, K>>>;
3
+ }[keyof T];
4
+ export declare function stringToBoolean(value?: string): boolean | undefined;
5
+ /**
6
+ * @deprecated Use isTrue() instead
7
+ */
8
+ export declare function stringToBooleanRequired(value: string): boolean;
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/common/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC/E,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAGnE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9D"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stringToBooleanRequired = exports.stringToBoolean = void 0;
4
+ function stringToBoolean(value) {
5
+ if (!value)
6
+ return undefined;
7
+ return stringToBooleanRequired(value);
8
+ }
9
+ exports.stringToBoolean = stringToBoolean;
10
+ /**
11
+ * @deprecated Use isTrue() instead
12
+ */
13
+ function stringToBooleanRequired(value) {
14
+ return value.toLowerCase().trim() === "true";
15
+ }
16
+ exports.stringToBooleanRequired = stringToBooleanRequired;
17
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/common/types.ts"],"names":[],"mappings":";;;AAKA,SAAgB,eAAe,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAHD,0CAGC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;AAC/C,CAAC;AAFD,0DAEC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Turns a string into a UUID in a deterministic manner
3
+ */
4
+ export declare function createUuidFromText(input: string): string;
5
+ //# sourceMappingURL=uuid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../../../../src/common/uuid.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createUuidFromText = void 0;
4
+ const uuid_1 = require("uuid");
5
+ /**
6
+ * Turns a string into a UUID in a deterministic manner
7
+ */
8
+ function createUuidFromText(input) {
9
+ return (0, uuid_1.v3)(input, uuid_1.v3.URL);
10
+ }
11
+ exports.createUuidFromText = createUuidFromText;
12
+ //# sourceMappingURL=uuid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../../../src/common/uuid.ts"],"names":[],"mappings":";;;AAAA,+BAA0B;AAE1B;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,OAAO,IAAA,SAAE,EAAC,KAAK,EAAE,SAAE,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAFD,gDAEC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Checks if the specified 10 digit NPI is valid as per ISO standard mod 10 Luhn algorithm.
3
+ *
4
+ * See: https://www.cms.gov/Regulations-and-Guidance/Administrative-Simplification/NationalProvIdentStand/Downloads/NPIcheckdigit.pdf
5
+ *
6
+ * @param npi The npi number to validate, must be 10 digits.
7
+ * @returns true if valid; false otherwise.
8
+ */
9
+ export declare function validateNPI(npi: string): boolean;
10
+ //# sourceMappingURL=validate-npi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-npi.d.ts","sourceRoot":"","sources":["../../../../../src/common/validate-npi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAiChD"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateNPI = void 0;
4
+ /**
5
+ * Checks if the specified 10 digit NPI is valid as per ISO standard mod 10 Luhn algorithm.
6
+ *
7
+ * See: https://www.cms.gov/Regulations-and-Guidance/Administrative-Simplification/NationalProvIdentStand/Downloads/NPIcheckdigit.pdf
8
+ *
9
+ * @param npi The npi number to validate, must be 10 digits.
10
+ * @returns true if valid; false otherwise.
11
+ */
12
+ function validateNPI(npi) {
13
+ if (!npi || npi.length !== 10) {
14
+ return false;
15
+ }
16
+ const firstNPIDigit = parseInt(npi.charAt(0), 10);
17
+ if (firstNPIDigit !== 1 && firstNPIDigit !== 2) {
18
+ return false;
19
+ }
20
+ let sum = 0;
21
+ let shouldDouble = true;
22
+ for (let i = 0; i < npi.length - 1; i++) {
23
+ let digit = parseInt(npi.charAt(i), 10);
24
+ if (shouldDouble) {
25
+ digit *= 2;
26
+ if (digit > 9) {
27
+ digit -= 9;
28
+ }
29
+ }
30
+ sum += digit;
31
+ shouldDouble = !shouldDouble;
32
+ }
33
+ // account for NPI prefix
34
+ sum += 24;
35
+ const diffFromNextTens = 10 - (sum % 10);
36
+ const checkDigit = diffFromNextTens % 10;
37
+ const lastNPIDigit = parseInt(npi.charAt(npi.length - 1), 10);
38
+ return checkDigit === lastNPIDigit;
39
+ }
40
+ exports.validateNPI = validateNPI;
41
+ //# sourceMappingURL=validate-npi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-npi.js","sourceRoot":"","sources":["../../../../../src/common/validate-npi.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,aAAa,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,EAAE;QAC9C,OAAO,KAAK,CAAC;KACd;IAED,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACvC,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAExC,IAAI,YAAY,EAAE;YAChB,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,KAAK,IAAI,CAAC,CAAC;aACZ;SACF;QAED,GAAG,IAAI,KAAK,CAAC;QACb,YAAY,GAAG,CAAC,YAAY,CAAC;KAC9B;IAED,yBAAyB;IACzB,GAAG,IAAI,EAAE,CAAC;IAEV,MAAM,gBAAgB,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,gBAAgB,GAAG,EAAE,CAAC;IAEzC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,OAAO,UAAU,KAAK,YAAY,CAAC;AACrC,CAAC;AAjCD,kCAiCC"}
@@ -0,0 +1,3 @@
1
+ import { X2jOptions, XMLParser } from "fast-xml-parser";
2
+ export declare function createXMLParser(options?: X2jOptions): XMLParser;
3
+ //# sourceMappingURL=xml-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../../../../src/common/xml-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD,wBAAgB,eAAe,CAAC,OAAO,GAAE,UAAe,GAAG,SAAS,CAYnE"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createXMLParser = void 0;
4
+ const fast_xml_parser_1 = require("fast-xml-parser");
5
+ function createXMLParser(options = {}) {
6
+ const defaultOptions = {
7
+ numberParseOptions: {
8
+ hex: false,
9
+ leadingZeros: false,
10
+ },
11
+ };
12
+ // Merge the default options with the provided options
13
+ const mergedOptions = { ...defaultOptions, ...options };
14
+ return new fast_xml_parser_1.XMLParser(mergedOptions);
15
+ }
16
+ exports.createXMLParser = createXMLParser;
17
+ //# sourceMappingURL=xml-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml-parser.js","sourceRoot":"","sources":["../../../../../src/common/xml-parser.ts"],"names":[],"mappings":";;;AAAA,qDAAwD;AAExD,SAAgB,eAAe,CAAC,UAAsB,EAAE;IACtD,MAAM,cAAc,GAAe;QACjC,kBAAkB,EAAE;YAClB,GAAG,EAAE,KAAK;YACV,YAAY,EAAE,KAAK;SACpB;KACF,CAAC;IAEF,sDAAsD;IACtD,MAAM,aAAa,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;IAExD,OAAO,IAAI,2BAAS,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC;AAZD,0CAYC"}