@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.
- package/dist/domain/ehr.d.ts +4 -0
- package/dist/domain/ehr.d.ts.map +1 -0
- package/dist/domain/ehr.js +9 -0
- package/dist/domain/ehr.js.map +1 -0
- package/dist/domain/jwt-token.d.ts +5 -0
- package/dist/domain/jwt-token.d.ts.map +1 -0
- package/dist/domain/jwt-token.js +3 -0
- package/dist/domain/jwt-token.js.map +1 -0
- package/dist/interface/external/canvas/appointment.d.ts +111 -0
- package/dist/interface/external/canvas/appointment.d.ts.map +1 -0
- package/dist/interface/external/canvas/appointment.js +15 -0
- package/dist/interface/external/canvas/appointment.js.map +1 -0
- package/dist/interface/external/canvas/cx-mapping.d.ts +16 -0
- package/dist/interface/external/canvas/cx-mapping.d.ts.map +1 -0
- package/dist/interface/external/canvas/cx-mapping.js +8 -0
- package/dist/interface/external/canvas/cx-mapping.js.map +1 -0
- package/dist/interface/external/canvas/index.d.ts +3 -0
- package/dist/interface/external/canvas/index.d.ts.map +1 -0
- package/dist/interface/external/canvas/index.js +19 -0
- package/dist/interface/external/canvas/index.js.map +1 -0
- package/dist/interface/external/canvas/jwt-token.d.ts +43 -0
- package/dist/interface/external/canvas/jwt-token.d.ts.map +1 -0
- package/dist/interface/external/canvas/jwt-token.js +17 -0
- package/dist/interface/external/canvas/jwt-token.js.map +1 -0
- package/dist/interface/external/canvas/patient.d.ts +306 -0
- package/dist/interface/external/canvas/patient.d.ts.map +1 -0
- package/dist/interface/external/canvas/patient.js +36 -0
- package/dist/interface/external/canvas/patient.js.map +1 -0
- package/dist/interface/external/elation/jwt-token.d.ts +26 -0
- package/dist/interface/external/elation/jwt-token.d.ts.map +1 -0
- package/dist/interface/external/elation/jwt-token.js +13 -0
- package/dist/interface/external/elation/jwt-token.js.map +1 -0
- package/dist/interface/external/shared/ehr/patient.d.ts +577 -0
- package/dist/interface/external/shared/ehr/patient.d.ts.map +1 -0
- package/dist/interface/external/shared/ehr/patient.js +52 -0
- package/dist/interface/external/shared/ehr/patient.js.map +1 -0
- package/dist/jwt-token.d.ts +26 -0
- package/dist/jwt-token.d.ts.map +1 -0
- package/dist/jwt-token.js +13 -0
- package/dist/jwt-token.js.map +1 -0
- package/dist/medical/webhook/webhook-request.d.ts +452 -0
- package/dist/medical/webhook/webhook-request.d.ts.map +1 -1
- package/dist/medical/webhook/webhook-request.js +29 -23
- package/dist/medical/webhook/webhook-request.js.map +1 -1
- package/dist/packages/shared/src/__tests__/env-setup.d.ts +2 -0
- package/dist/packages/shared/src/__tests__/env-setup.d.ts.map +1 -0
- package/dist/packages/shared/src/__tests__/env-setup.js +35 -0
- package/dist/packages/shared/src/__tests__/env-setup.js.map +1 -0
- package/dist/packages/shared/src/api/index.d.ts +2 -0
- package/dist/packages/shared/src/api/index.d.ts.map +1 -0
- package/dist/packages/shared/src/api/index.js +18 -0
- package/dist/packages/shared/src/api/index.js.map +1 -0
- package/dist/packages/shared/src/api/pagination.d.ts +13 -0
- package/dist/packages/shared/src/api/pagination.d.ts.map +1 -0
- package/dist/packages/shared/src/api/pagination.js +3 -0
- package/dist/packages/shared/src/api/pagination.js.map +1 -0
- package/dist/packages/shared/src/common/__tests__/boolean.test.d.ts +2 -0
- package/dist/packages/shared/src/common/__tests__/boolean.test.d.ts.map +1 -0
- package/dist/packages/shared/src/common/__tests__/boolean.test.js +46 -0
- package/dist/packages/shared/src/common/__tests__/boolean.test.js.map +1 -0
- package/dist/packages/shared/src/common/__tests__/date.test.d.ts +2 -0
- package/dist/packages/shared/src/common/__tests__/date.test.d.ts.map +1 -0
- package/dist/packages/shared/src/common/__tests__/date.test.js +12 -0
- package/dist/packages/shared/src/common/__tests__/date.test.js.map +1 -0
- package/dist/packages/shared/src/common/__tests__/normalize-oid.test.d.ts +2 -0
- package/dist/packages/shared/src/common/__tests__/normalize-oid.test.d.ts.map +1 -0
- package/dist/packages/shared/src/common/__tests__/normalize-oid.test.js +54 -0
- package/dist/packages/shared/src/common/__tests__/normalize-oid.test.js.map +1 -0
- package/dist/packages/shared/src/common/__tests__/npi.d.ts +7 -0
- package/dist/packages/shared/src/common/__tests__/npi.d.ts.map +1 -0
- package/dist/packages/shared/src/common/__tests__/npi.js +32 -0
- package/dist/packages/shared/src/common/__tests__/npi.js.map +1 -0
- package/dist/packages/shared/src/common/__tests__/retry.test.d.ts +2 -0
- package/dist/packages/shared/src/common/__tests__/retry.test.d.ts.map +1 -0
- package/dist/packages/shared/src/common/__tests__/retry.test.js +202 -0
- package/dist/packages/shared/src/common/__tests__/retry.test.js.map +1 -0
- package/dist/packages/shared/src/common/__tests__/string.test.d.ts +2 -0
- package/dist/packages/shared/src/common/__tests__/string.test.d.ts.map +1 -0
- package/dist/packages/shared/src/common/__tests__/string.test.js +62 -0
- package/dist/packages/shared/src/common/__tests__/string.test.js.map +1 -0
- package/dist/packages/shared/src/common/__tests__/title-case.test.d.ts +2 -0
- package/dist/packages/shared/src/common/__tests__/title-case.test.d.ts.map +1 -0
- package/dist/packages/shared/src/common/__tests__/title-case.test.js +66 -0
- package/dist/packages/shared/src/common/__tests__/title-case.test.js.map +1 -0
- package/dist/packages/shared/src/common/__tests__/validate-npi.test.d.ts +2 -0
- package/dist/packages/shared/src/common/__tests__/validate-npi.test.d.ts.map +1 -0
- package/dist/packages/shared/src/common/__tests__/validate-npi.test.js +24 -0
- package/dist/packages/shared/src/common/__tests__/validate-npi.test.js.map +1 -0
- package/dist/packages/shared/src/common/array.d.ts +2 -0
- package/dist/packages/shared/src/common/array.d.ts.map +1 -0
- package/dist/packages/shared/src/common/array.js +11 -0
- package/dist/packages/shared/src/common/array.js.map +1 -0
- package/dist/packages/shared/src/common/boolean.d.ts +9 -0
- package/dist/packages/shared/src/common/boolean.d.ts.map +1 -0
- package/dist/packages/shared/src/common/boolean.js +27 -0
- package/dist/packages/shared/src/common/boolean.js.map +1 -0
- package/dist/packages/shared/src/common/date.d.ts +25 -0
- package/dist/packages/shared/src/common/date.d.ts.map +1 -0
- package/dist/packages/shared/src/common/date.js +64 -0
- package/dist/packages/shared/src/common/date.js.map +1 -0
- package/dist/packages/shared/src/common/duration.d.ts +8 -0
- package/dist/packages/shared/src/common/duration.d.ts.map +1 -0
- package/dist/packages/shared/src/common/duration.js +30 -0
- package/dist/packages/shared/src/common/duration.js.map +1 -0
- package/dist/packages/shared/src/common/email.d.ts +5 -0
- package/dist/packages/shared/src/common/email.d.ts.map +1 -0
- package/dist/packages/shared/src/common/email.js +14 -0
- package/dist/packages/shared/src/common/email.js.map +1 -0
- package/dist/packages/shared/src/common/env-var.d.ts +10 -0
- package/dist/packages/shared/src/common/env-var.d.ts.map +1 -0
- package/dist/packages/shared/src/common/env-var.js +31 -0
- package/dist/packages/shared/src/common/env-var.js.map +1 -0
- package/dist/packages/shared/src/common/error.d.ts +16 -0
- package/dist/packages/shared/src/common/error.d.ts.map +1 -0
- package/dist/packages/shared/src/common/error.js +36 -0
- package/dist/packages/shared/src/common/error.js.map +1 -0
- package/dist/packages/shared/src/common/filter-map.d.ts +11 -0
- package/dist/packages/shared/src/common/filter-map.d.ts.map +1 -0
- package/dist/packages/shared/src/common/filter-map.js +17 -0
- package/dist/packages/shared/src/common/filter-map.js.map +1 -0
- package/dist/packages/shared/src/common/general.d.ts +2 -0
- package/dist/packages/shared/src/common/general.d.ts.map +1 -0
- package/dist/packages/shared/src/common/general.js +9 -0
- package/dist/packages/shared/src/common/general.js.map +1 -0
- package/dist/packages/shared/src/common/metriport-organization.d.ts +3 -0
- package/dist/packages/shared/src/common/metriport-organization.d.ts.map +1 -0
- package/dist/packages/shared/src/common/metriport-organization.js +25 -0
- package/dist/packages/shared/src/common/metriport-organization.js.map +1 -0
- package/dist/packages/shared/src/common/net.d.ts +2 -0
- package/dist/packages/shared/src/common/net.d.ts.map +1 -0
- package/dist/packages/shared/src/common/net.js +16 -0
- package/dist/packages/shared/src/common/net.js.map +1 -0
- package/dist/packages/shared/src/common/normalize-oid.d.ts +2 -0
- package/dist/packages/shared/src/common/normalize-oid.d.ts.map +1 -0
- package/dist/packages/shared/src/common/normalize-oid.js +34 -0
- package/dist/packages/shared/src/common/normalize-oid.js.map +1 -0
- package/dist/packages/shared/src/common/numbers.d.ts +7 -0
- package/dist/packages/shared/src/common/numbers.d.ts.map +1 -0
- package/dist/packages/shared/src/common/numbers.js +19 -0
- package/dist/packages/shared/src/common/numbers.js.map +1 -0
- package/dist/packages/shared/src/common/purpose-of-use.d.ts +30 -0
- package/dist/packages/shared/src/common/purpose-of-use.d.ts.map +1 -0
- package/dist/packages/shared/src/common/purpose-of-use.js +35 -0
- package/dist/packages/shared/src/common/purpose-of-use.js.map +1 -0
- package/dist/packages/shared/src/common/retry.d.ts +76 -0
- package/dist/packages/shared/src/common/retry.d.ts.map +1 -0
- package/dist/packages/shared/src/common/retry.js +117 -0
- package/dist/packages/shared/src/common/retry.js.map +1 -0
- package/dist/packages/shared/src/common/sleep.d.ts +14 -0
- package/dist/packages/shared/src/common/sleep.d.ts.map +1 -0
- package/dist/packages/shared/src/common/sleep.js +29 -0
- package/dist/packages/shared/src/common/sleep.js.map +1 -0
- package/dist/packages/shared/src/common/string.d.ts +7 -0
- package/dist/packages/shared/src/common/string.d.ts.map +1 -0
- package/dist/packages/shared/src/common/string.js +16 -0
- package/dist/packages/shared/src/common/string.js.map +1 -0
- package/dist/packages/shared/src/common/title-case.d.ts +2 -0
- package/dist/packages/shared/src/common/title-case.d.ts.map +1 -0
- package/dist/packages/shared/src/common/title-case.js +16 -0
- package/dist/packages/shared/src/common/title-case.js.map +1 -0
- package/dist/packages/shared/src/common/types.d.ts +9 -0
- package/dist/packages/shared/src/common/types.d.ts.map +1 -0
- package/dist/packages/shared/src/common/types.js +17 -0
- package/dist/packages/shared/src/common/types.js.map +1 -0
- package/dist/packages/shared/src/common/uuid.d.ts +5 -0
- package/dist/packages/shared/src/common/uuid.d.ts.map +1 -0
- package/dist/packages/shared/src/common/uuid.js +12 -0
- package/dist/packages/shared/src/common/uuid.js.map +1 -0
- package/dist/packages/shared/src/common/validate-npi.d.ts +10 -0
- package/dist/packages/shared/src/common/validate-npi.d.ts.map +1 -0
- package/dist/packages/shared/src/common/validate-npi.js +41 -0
- package/dist/packages/shared/src/common/validate-npi.js.map +1 -0
- package/dist/packages/shared/src/common/xml-parser.d.ts +3 -0
- package/dist/packages/shared/src/common/xml-parser.d.ts.map +1 -0
- package/dist/packages/shared/src/common/xml-parser.js +17 -0
- package/dist/packages/shared/src/common/xml-parser.js.map +1 -0
- package/dist/packages/shared/src/domain/address/__tests__/normalize-zip.test.d.ts +2 -0
- package/dist/packages/shared/src/domain/address/__tests__/normalize-zip.test.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/address/__tests__/normalize-zip.test.js +83 -0
- package/dist/packages/shared/src/domain/address/__tests__/normalize-zip.test.js.map +1 -0
- package/dist/packages/shared/src/domain/address/__tests__/state.test.d.ts +2 -0
- package/dist/packages/shared/src/domain/address/__tests__/state.test.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/address/__tests__/state.test.js +40 -0
- package/dist/packages/shared/src/domain/address/__tests__/state.test.js.map +1 -0
- package/dist/packages/shared/src/domain/address/__tests__/territory.test.d.ts +2 -0
- package/dist/packages/shared/src/domain/address/__tests__/territory.test.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/address/__tests__/territory.test.js +35 -0
- package/dist/packages/shared/src/domain/address/__tests__/territory.test.js.map +1 -0
- package/dist/packages/shared/src/domain/address/index.d.ts +8 -0
- package/dist/packages/shared/src/domain/address/index.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/address/index.js +21 -0
- package/dist/packages/shared/src/domain/address/index.js.map +1 -0
- package/dist/packages/shared/src/domain/address/state.d.ts +57 -0
- package/dist/packages/shared/src/domain/address/state.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/address/state.js +126 -0
- package/dist/packages/shared/src/domain/address/state.js.map +1 -0
- package/dist/packages/shared/src/domain/address/territory.d.ts +10 -0
- package/dist/packages/shared/src/domain/address/territory.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/address/territory.js +32 -0
- package/dist/packages/shared/src/domain/address/territory.js.map +1 -0
- package/dist/packages/shared/src/domain/address/zip.d.ts +7 -0
- package/dist/packages/shared/src/domain/address/zip.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/address/zip.js +52 -0
- package/dist/packages/shared/src/domain/address/zip.js.map +1 -0
- package/dist/packages/shared/src/domain/contact/__tests__/email.test.d.ts +2 -0
- package/dist/packages/shared/src/domain/contact/__tests__/email.test.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/contact/__tests__/email.test.js +39 -0
- package/dist/packages/shared/src/domain/contact/__tests__/email.test.js.map +1 -0
- package/dist/packages/shared/src/domain/contact/__tests__/phone.test.d.ts +2 -0
- package/dist/packages/shared/src/domain/contact/__tests__/phone.test.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/contact/__tests__/phone.test.js +190 -0
- package/dist/packages/shared/src/domain/contact/__tests__/phone.test.js.map +1 -0
- package/dist/packages/shared/src/domain/contact/email.d.ts +11 -0
- package/dist/packages/shared/src/domain/contact/email.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/contact/email.js +58 -0
- package/dist/packages/shared/src/domain/contact/email.js.map +1 -0
- package/dist/packages/shared/src/domain/contact/phone.d.ts +25 -0
- package/dist/packages/shared/src/domain/contact/phone.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/contact/phone.js +68 -0
- package/dist/packages/shared/src/domain/contact/phone.js.map +1 -0
- package/dist/packages/shared/src/domain/dob.d.ts +3 -0
- package/dist/packages/shared/src/domain/dob.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/dob.js +25 -0
- package/dist/packages/shared/src/domain/dob.js.map +1 -0
- package/dist/packages/shared/src/domain/externalId.d.ts +2 -0
- package/dist/packages/shared/src/domain/externalId.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/externalId.js +8 -0
- package/dist/packages/shared/src/domain/externalId.js.map +1 -0
- package/dist/packages/shared/src/domain/gender.d.ts +4 -0
- package/dist/packages/shared/src/domain/gender.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/gender.js +28 -0
- package/dist/packages/shared/src/domain/gender.js.map +1 -0
- package/dist/packages/shared/src/domain/jwt-token.d.ts +5 -0
- package/dist/packages/shared/src/domain/jwt-token.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/jwt-token.js +3 -0
- package/dist/packages/shared/src/domain/jwt-token.js.map +1 -0
- package/dist/packages/shared/src/domain/metriport.d.ts +9 -0
- package/dist/packages/shared/src/domain/metriport.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/metriport.js +13 -0
- package/dist/packages/shared/src/domain/metriport.js.map +1 -0
- package/dist/packages/shared/src/domain/patient/patient-import.d.ts +152 -0
- package/dist/packages/shared/src/domain/patient/patient-import.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/patient/patient-import.js +32 -0
- package/dist/packages/shared/src/domain/patient/patient-import.js.map +1 -0
- package/dist/packages/shared/src/domain/patient/patient.d.ts +41 -0
- package/dist/packages/shared/src/domain/patient/patient.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/patient/patient.js +14 -0
- package/dist/packages/shared/src/domain/patient/patient.js.map +1 -0
- package/dist/packages/shared/src/domain/rate-limiting/index.d.ts +49 -0
- package/dist/packages/shared/src/domain/rate-limiting/index.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/rate-limiting/index.js +46 -0
- package/dist/packages/shared/src/domain/rate-limiting/index.js.map +1 -0
- package/dist/packages/shared/src/domain/secrets.d.ts +3 -0
- package/dist/packages/shared/src/domain/secrets.d.ts.map +1 -0
- package/dist/packages/shared/src/domain/secrets.js +6 -0
- package/dist/packages/shared/src/domain/secrets.js.map +1 -0
- package/dist/packages/shared/src/error/bad-request.d.ts +9 -0
- package/dist/packages/shared/src/error/bad-request.d.ts.map +1 -0
- package/dist/packages/shared/src/error/bad-request.js +18 -0
- package/dist/packages/shared/src/error/bad-request.js.map +1 -0
- package/dist/packages/shared/src/error/metriport-error.d.ts +8 -0
- package/dist/packages/shared/src/error/metriport-error.d.ts.map +1 -0
- package/dist/packages/shared/src/error/metriport-error.js +18 -0
- package/dist/packages/shared/src/error/metriport-error.js.map +1 -0
- package/dist/packages/shared/src/error/not-found.d.ts +5 -0
- package/dist/packages/shared/src/error/not-found.d.ts.map +1 -0
- package/dist/packages/shared/src/error/not-found.js +18 -0
- package/dist/packages/shared/src/error/not-found.js.map +1 -0
- package/dist/packages/shared/src/error/shared.d.ts +8 -0
- package/dist/packages/shared/src/error/shared.d.ts.map +1 -0
- package/dist/packages/shared/src/error/shared.js +34 -0
- package/dist/packages/shared/src/error/shared.js.map +1 -0
- package/dist/packages/shared/src/error/too-many-requests.d.ts +9 -0
- package/dist/packages/shared/src/error/too-many-requests.d.ts.map +1 -0
- package/dist/packages/shared/src/error/too-many-requests.js +18 -0
- package/dist/packages/shared/src/error/too-many-requests.js.map +1 -0
- package/dist/packages/shared/src/index.d.ts +43 -0
- package/dist/packages/shared/src/index.d.ts.map +1 -0
- package/dist/packages/shared/src/index.js +93 -0
- package/dist/packages/shared/src/index.js.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/appointment.d.ts +105 -0
- package/dist/packages/shared/src/interface/external/athenahealth/appointment.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/appointment.js +18 -0
- package/dist/packages/shared/src/interface/external/athenahealth/appointment.js.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/cx-mapping.d.ts +16 -0
- package/dist/packages/shared/src/interface/external/athenahealth/cx-mapping.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/cx-mapping.js +8 -0
- package/dist/packages/shared/src/interface/external/athenahealth/cx-mapping.js.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/department.d.ts +49 -0
- package/dist/packages/shared/src/interface/external/athenahealth/department.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/department.js +11 -0
- package/dist/packages/shared/src/interface/external/athenahealth/department.js.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/index.d.ts +10 -0
- package/dist/packages/shared/src/interface/external/athenahealth/index.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/index.js +26 -0
- package/dist/packages/shared/src/interface/external/athenahealth/index.js.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/jwt-token.d.ts +31 -0
- package/dist/packages/shared/src/interface/external/athenahealth/jwt-token.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/jwt-token.js +13 -0
- package/dist/packages/shared/src/interface/external/athenahealth/jwt-token.js.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/medication.d.ts +77 -0
- package/dist/packages/shared/src/interface/external/athenahealth/medication.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/medication.js +19 -0
- package/dist/packages/shared/src/interface/external/athenahealth/medication.js.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/patient.d.ts +825 -0
- package/dist/packages/shared/src/interface/external/athenahealth/patient.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/patient.js +58 -0
- package/dist/packages/shared/src/interface/external/athenahealth/patient.js.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/problem.d.ts +39 -0
- package/dist/packages/shared/src/interface/external/athenahealth/problem.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/problem.js +14 -0
- package/dist/packages/shared/src/interface/external/athenahealth/problem.js.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/subscription.d.ts +32 -0
- package/dist/packages/shared/src/interface/external/athenahealth/subscription.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/subscription.js +11 -0
- package/dist/packages/shared/src/interface/external/athenahealth/subscription.js.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/vitals.d.ts +58 -0
- package/dist/packages/shared/src/interface/external/athenahealth/vitals.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/athenahealth/vitals.js +14 -0
- package/dist/packages/shared/src/interface/external/athenahealth/vitals.js.map +1 -0
- package/dist/packages/shared/src/interface/external/canvas/index.d.ts +2 -0
- package/dist/packages/shared/src/interface/external/canvas/index.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/canvas/index.js +18 -0
- package/dist/packages/shared/src/interface/external/canvas/index.js.map +1 -0
- package/dist/packages/shared/src/interface/external/canvas/jwt-token.d.ts +10 -0
- package/dist/packages/shared/src/interface/external/canvas/jwt-token.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/canvas/jwt-token.js +3 -0
- package/dist/packages/shared/src/interface/external/canvas/jwt-token.js.map +1 -0
- package/dist/packages/shared/src/interface/external/carequality/directory/simplified-org.d.ts +10 -0
- package/dist/packages/shared/src/interface/external/carequality/directory/simplified-org.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/carequality/directory/simplified-org.js +3 -0
- package/dist/packages/shared/src/interface/external/carequality/directory/simplified-org.js.map +1 -0
- package/dist/packages/shared/src/interface/external/elation/appointment.d.ts +111 -0
- package/dist/packages/shared/src/interface/external/elation/appointment.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/elation/appointment.js +15 -0
- package/dist/packages/shared/src/interface/external/elation/appointment.js.map +1 -0
- package/dist/packages/shared/src/interface/external/elation/index.d.ts +4 -0
- package/dist/packages/shared/src/interface/external/elation/index.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/elation/index.js +20 -0
- package/dist/packages/shared/src/interface/external/elation/index.js.map +1 -0
- package/dist/packages/shared/src/interface/external/elation/patient.d.ts +280 -0
- package/dist/packages/shared/src/interface/external/elation/patient.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/external/elation/patient.js +40 -0
- package/dist/packages/shared/src/interface/external/elation/patient.js.map +1 -0
- package/dist/packages/shared/src/interface/index.d.ts +3 -0
- package/dist/packages/shared/src/interface/index.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/index.js +19 -0
- package/dist/packages/shared/src/interface/index.js.map +1 -0
- package/dist/packages/shared/src/interface/internal/consolidated.d.ts +258 -0
- package/dist/packages/shared/src/interface/internal/consolidated.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/internal/consolidated.js +16 -0
- package/dist/packages/shared/src/interface/internal/consolidated.js.map +1 -0
- package/dist/packages/shared/src/interface/internal/index.d.ts +2 -0
- package/dist/packages/shared/src/interface/internal/index.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/internal/index.js +18 -0
- package/dist/packages/shared/src/interface/internal/index.js.map +1 -0
- package/dist/packages/shared/src/interface/schema/feedback.d.ts +48 -0
- package/dist/packages/shared/src/interface/schema/feedback.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/schema/feedback.js +17 -0
- package/dist/packages/shared/src/interface/schema/feedback.js.map +1 -0
- package/dist/packages/shared/src/interface/schema/index.d.ts +2 -0
- package/dist/packages/shared/src/interface/schema/index.d.ts.map +1 -0
- package/dist/packages/shared/src/interface/schema/index.js +18 -0
- package/dist/packages/shared/src/interface/schema/index.js.map +1 -0
- package/dist/packages/shared/src/medical/fhir/bundle.d.ts +8 -0
- package/dist/packages/shared/src/medical/fhir/bundle.d.ts.map +1 -0
- package/dist/packages/shared/src/medical/fhir/bundle.js +24 -0
- package/dist/packages/shared/src/medical/fhir/bundle.js.map +1 -0
- package/dist/packages/shared/src/medical/fhir/conversion.d.ts +3 -0
- package/dist/packages/shared/src/medical/fhir/conversion.d.ts.map +1 -0
- package/dist/packages/shared/src/medical/fhir/conversion.js +5 -0
- package/dist/packages/shared/src/medical/fhir/conversion.js.map +1 -0
- package/dist/packages/shared/src/medical/fhir/observations.d.ts +9 -0
- package/dist/packages/shared/src/medical/fhir/observations.d.ts.map +1 -0
- package/dist/packages/shared/src/medical/fhir/observations.js +56 -0
- package/dist/packages/shared/src/medical/fhir/observations.js.map +1 -0
- package/dist/packages/shared/src/medical/fhir/resources.d.ts +145 -0
- package/dist/packages/shared/src/medical/fhir/resources.d.ts.map +1 -0
- package/dist/packages/shared/src/medical/fhir/resources.js +81 -0
- package/dist/packages/shared/src/medical/fhir/resources.js.map +1 -0
- package/dist/packages/shared/src/medical/index.d.ts +7 -0
- package/dist/packages/shared/src/medical/index.d.ts.map +1 -0
- package/dist/packages/shared/src/medical/index.js +23 -0
- package/dist/packages/shared/src/medical/index.js.map +1 -0
- package/dist/packages/shared/src/medical/webhook/webhook-request.d.ts +1497 -0
- package/dist/packages/shared/src/medical/webhook/webhook-request.d.ts.map +1 -0
- package/dist/packages/shared/src/medical/webhook/webhook-request.js +139 -0
- package/dist/packages/shared/src/medical/webhook/webhook-request.js.map +1 -0
- package/dist/packages/shared/src/medical/webhook/webhook-status-response.d.ts +7 -0
- package/dist/packages/shared/src/medical/webhook/webhook-status-response.d.ts.map +1 -0
- package/dist/packages/shared/src/medical/webhook/webhook-status-response.js +3 -0
- package/dist/packages/shared/src/medical/webhook/webhook-status-response.js.map +1 -0
- package/dist/packages/shared/src/net/__tests__/axios.d.ts +92 -0
- package/dist/packages/shared/src/net/__tests__/axios.d.ts.map +1 -0
- package/dist/packages/shared/src/net/__tests__/axios.js +103 -0
- package/dist/packages/shared/src/net/__tests__/axios.js.map +1 -0
- package/dist/packages/shared/src/net/__tests__/retry.test.d.ts +2 -0
- package/dist/packages/shared/src/net/__tests__/retry.test.d.ts.map +1 -0
- package/dist/packages/shared/src/net/__tests__/retry.test.js +257 -0
- package/dist/packages/shared/src/net/__tests__/retry.test.js.map +1 -0
- package/dist/packages/shared/src/net/error.d.ts +35 -0
- package/dist/packages/shared/src/net/error.d.ts.map +1 -0
- package/dist/packages/shared/src/net/error.js +57 -0
- package/dist/packages/shared/src/net/error.js.map +1 -0
- package/dist/packages/shared/src/net/retry.d.ts +36 -0
- package/dist/packages/shared/src/net/retry.d.ts.map +1 -0
- package/dist/packages/shared/src/net/retry.js +104 -0
- package/dist/packages/shared/src/net/retry.js.map +1 -0
- package/dist/packages/shared/src/net/url.d.ts +2 -0
- package/dist/packages/shared/src/net/url.d.ts.map +1 -0
- package/dist/packages/shared/src/net/url.js +16 -0
- package/dist/packages/shared/src/net/url.js.map +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|