@adtrackify/at-service-common 3.17.8 → 3.18.1
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/cjs/__tests__/clients/sqs-bundled-client.spec.d.ts +1 -0
- package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.js +909 -0
- package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.js.map +1 -0
- package/dist/cjs/__tests__/clients/sqs-client.spec.d.ts +1 -1
- package/dist/cjs/__tests__/clients/sqs-client.spec.js +194 -121
- package/dist/cjs/__tests__/clients/sqs-client.spec.js.map +1 -1
- package/dist/cjs/__tests__/clients/sqs-unbundle.spec.d.ts +1 -0
- package/dist/cjs/__tests__/clients/sqs-unbundle.spec.js +788 -0
- package/dist/cjs/__tests__/clients/sqs-unbundle.spec.js.map +1 -0
- package/dist/cjs/__tests__/db/shared-read-db-services.spec.d.ts +1 -1
- package/dist/cjs/__tests__/db/shared-read-db-services.spec.js +89 -89
- package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
- package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +220 -220
- package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -1
- package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.js +74 -74
- package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +674 -674
- package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
- package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +588 -588
- package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.d.ts +1 -0
- package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.js +582 -0
- package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.js.map +1 -0
- package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
- package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
- package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
- package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
- package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
- package/dist/cjs/__tests__/libs/dates.spec.js +130 -130
- package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
- package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
- package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
- package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
- package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
- package/dist/cjs/__tests__/s3-client/s3-client.spec.js +33 -33
- package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
- package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
- package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.d.ts +1 -1
- package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.js +197 -197
- package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.d.ts +1 -1
- package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.js +69 -69
- package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
- package/dist/cjs/clients/generic/cognito-client.js +209 -209
- package/dist/cjs/clients/generic/dynamodb-client.d.ts +18 -18
- package/dist/cjs/clients/generic/dynamodb-client.js +172 -172
- package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
- package/dist/cjs/clients/generic/eventbridge-client.js +51 -51
- package/dist/cjs/clients/generic/http-client.d.ts +14 -14
- package/dist/cjs/clients/generic/http-client.js +61 -61
- package/dist/cjs/clients/generic/index.d.ts +13 -10
- package/dist/cjs/clients/generic/index.js +29 -26
- package/dist/cjs/clients/generic/index.js.map +1 -1
- package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
- package/dist/cjs/clients/generic/lambda-invoke-client.js +39 -39
- package/dist/cjs/clients/generic/location-client.d.ts +8 -8
- package/dist/cjs/clients/generic/location-client.js +31 -31
- package/dist/cjs/clients/generic/redis-client.d.ts +33 -33
- package/dist/cjs/clients/generic/redis-client.js +191 -191
- package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
- package/dist/cjs/clients/generic/s3-client.js +216 -216
- package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
- package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
- package/dist/cjs/clients/generic/sqs-bundled-client.d.ts +15 -0
- package/dist/cjs/clients/generic/sqs-bundled-client.js +278 -0
- package/dist/cjs/clients/generic/sqs-bundled-client.js.map +1 -0
- package/dist/cjs/clients/generic/sqs-bundled-client.types.d.ts +52 -0
- package/dist/cjs/clients/generic/sqs-bundled-client.types.js +17 -0
- package/dist/cjs/clients/generic/sqs-bundled-client.types.js.map +1 -0
- package/dist/cjs/clients/generic/sqs-client.d.ts +48 -33
- package/dist/cjs/clients/generic/sqs-client.js +273 -111
- package/dist/cjs/clients/generic/sqs-client.js.map +1 -1
- package/dist/cjs/clients/generic/sqs-unbundle.d.ts +32 -0
- package/dist/cjs/clients/generic/sqs-unbundle.js +145 -0
- package/dist/cjs/clients/generic/sqs-unbundle.js.map +1 -0
- package/dist/cjs/clients/index.d.ts +3 -3
- package/dist/cjs/clients/index.js +19 -19
- package/dist/cjs/clients/internal-api/accounts-client.d.ts +91 -91
- package/dist/cjs/clients/internal-api/accounts-client.js +129 -129
- package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +26 -26
- package/dist/cjs/clients/internal-api/cache-lambda-client.js +89 -89
- package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
- package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
- package/dist/cjs/clients/internal-api/destinations-client.d.ts +34 -34
- package/dist/cjs/clients/internal-api/destinations-client.js +79 -79
- package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
- package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
- package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
- package/dist/cjs/clients/internal-api/identity-client.js +91 -91
- package/dist/cjs/clients/internal-api/index.d.ts +9 -9
- package/dist/cjs/clients/internal-api/index.js +25 -25
- package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +37 -37
- package/dist/cjs/clients/internal-api/shopify-app-install-client.js +81 -81
- package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +26 -26
- package/dist/cjs/clients/internal-api/subscriptions-client.js +77 -77
- package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
- package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
- package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
- package/dist/cjs/clients/third-party/emailable-client.js +25 -25
- package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
- package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
- package/dist/cjs/clients/third-party/index.d.ts +4 -4
- package/dist/cjs/clients/third-party/index.js +20 -20
- package/dist/cjs/clients/third-party/loops-client.d.ts +10 -10
- package/dist/cjs/clients/third-party/loops-client.js +30 -30
- package/dist/cjs/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
- package/dist/cjs/clients/third-party/shopify/graphql-order-queries.js +30 -30
- package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
- package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +180 -180
- package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
- package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +161 -161
- package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
- package/dist/cjs/clients/third-party/shopify-client.js +146 -146
- package/dist/cjs/constants/index.d.ts +1 -0
- package/dist/cjs/constants/index.js +18 -0
- package/dist/cjs/constants/index.js.map +1 -0
- package/dist/cjs/constants/sqs.d.ts +11 -0
- package/dist/cjs/constants/sqs.js +15 -0
- package/dist/cjs/constants/sqs.js.map +1 -0
- package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
- package/dist/cjs/helpers/account-users-helper.js +22 -22
- package/dist/cjs/helpers/api-key-auth-helper.d.ts +9 -9
- package/dist/cjs/helpers/api-key-auth-helper.js +40 -40
- package/dist/cjs/helpers/api-key-authorizer-helper.d.ts +36 -36
- package/dist/cjs/helpers/api-key-authorizer-helper.js +85 -85
- package/dist/cjs/helpers/identity-cache-helper.d.ts +21 -21
- package/dist/cjs/helpers/identity-cache-helper.js +156 -156
- package/dist/cjs/helpers/index.d.ts +9 -9
- package/dist/cjs/helpers/index.js +25 -25
- package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
- package/dist/cjs/helpers/input-validation-helper.js +22 -22
- package/dist/cjs/helpers/logging-helper.d.ts +16 -16
- package/dist/cjs/helpers/logging-helper.js +84 -84
- package/dist/cjs/helpers/response-helper.d.ts +18 -18
- package/dist/cjs/helpers/response-helper.js +43 -43
- package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
- package/dist/cjs/helpers/shopify-helper.js +26 -26
- package/dist/cjs/helpers/sqs-utils.d.ts +6 -6
- package/dist/cjs/helpers/sqs-utils.js +14 -14
- package/dist/cjs/index.d.ts +7 -5
- package/dist/cjs/index.js +23 -21
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/libs/api-router/index.d.ts +2 -2
- package/dist/cjs/libs/api-router/index.js +18 -18
- package/dist/cjs/libs/api-router/public-api-router.d.ts +3 -3
- package/dist/cjs/libs/api-router/public-api-router.js +36 -36
- package/dist/cjs/libs/api-router/route-matcher.d.ts +21 -21
- package/dist/cjs/libs/api-router/route-matcher.js +36 -36
- package/dist/cjs/libs/click-id-parser.d.ts +23 -23
- package/dist/cjs/libs/click-id-parser.js +49 -49
- package/dist/cjs/libs/compression.d.ts +2 -2
- package/dist/cjs/libs/compression.js +33 -33
- package/dist/cjs/libs/cookie.d.ts +17 -17
- package/dist/cjs/libs/cookie.js +76 -76
- package/dist/cjs/libs/crypto.d.ts +4 -4
- package/dist/cjs/libs/crypto.js +25 -25
- package/dist/cjs/libs/csv.d.ts +2 -2
- package/dist/cjs/libs/csv.js +35 -35
- package/dist/cjs/libs/currency.d.ts +1 -1
- package/dist/cjs/libs/currency.js +29 -29
- package/dist/cjs/libs/dates.d.ts +12 -12
- package/dist/cjs/libs/dates.js +96 -96
- package/dist/cjs/libs/domain.d.ts +2 -2
- package/dist/cjs/libs/domain.js +38 -38
- package/dist/cjs/libs/emails.d.ts +6 -6
- package/dist/cjs/libs/emails.js +122 -122
- package/dist/cjs/libs/http-error.d.ts +21 -21
- package/dist/cjs/libs/http-error.js +63 -63
- package/dist/cjs/libs/http-status-codes.d.ts +58 -58
- package/dist/cjs/libs/http-status-codes.js +62 -62
- package/dist/cjs/libs/index.d.ts +18 -18
- package/dist/cjs/libs/index.js +34 -34
- package/dist/cjs/libs/numbers.d.ts +1 -1
- package/dist/cjs/libs/numbers.js +15 -15
- package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
- package/dist/cjs/libs/referrer-parser/index.js +18 -18
- package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
- package/dist/cjs/libs/referrer-parser/referrer-data.js +3307 -3307
- package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
- package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +131 -131
- package/dist/cjs/libs/strings.d.ts +3 -3
- package/dist/cjs/libs/strings.js +46 -46
- package/dist/cjs/libs/traits.d.ts +6 -6
- package/dist/cjs/libs/traits.js +65 -65
- package/dist/cjs/libs/url.d.ts +1 -1
- package/dist/cjs/libs/url.js +13 -13
- package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
- package/dist/cjs/services/cache/generic-cached-object.js +2 -2
- package/dist/cjs/services/cache/index.d.ts +1 -1
- package/dist/cjs/services/cache/index.js +17 -17
- package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
- package/dist/cjs/services/cache/product-cache-service.js +76 -76
- package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
- package/dist/cjs/services/currency-exchange-rate-lookup-service.js +66 -66
- package/dist/cjs/services/db/accounts-db-service.d.ts +9 -9
- package/dist/cjs/services/db/accounts-db-service.js +33 -33
- package/dist/cjs/services/db/api-keys-db-service.d.ts +10 -10
- package/dist/cjs/services/db/api-keys-db-service.js +36 -36
- package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
- package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
- package/dist/cjs/services/db/destinations-db-service.d.ts +12 -12
- package/dist/cjs/services/db/destinations-db-service.js +76 -76
- package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
- package/dist/cjs/services/db/identity-cache-db-service.js +320 -320
- package/dist/cjs/services/db/index.d.ts +13 -13
- package/dist/cjs/services/db/index.js +29 -29
- package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
- package/dist/cjs/services/db/log-events-db-service.js +181 -181
- package/dist/cjs/services/db/pixels-db-service.d.ts +8 -8
- package/dist/cjs/services/db/pixels-db-service.js +35 -35
- package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
- package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
- package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +17 -17
- package/dist/cjs/services/db/purchased-contacts-db-service.js +143 -143
- package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +8 -8
- package/dist/cjs/services/db/shopify-app-installs-db-service.js +51 -51
- package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
- package/dist/cjs/services/db/shopify-products-cache-db-service.js +73 -73
- package/dist/cjs/services/db/subscriptions-db-service.d.ts +10 -10
- package/dist/cjs/services/db/subscriptions-db-service.js +34 -34
- package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
- package/dist/cjs/services/db/tracking-events-db-service.js +165 -165
- package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
- package/dist/cjs/services/eventbridge-integration-service.js +28 -28
- package/dist/cjs/services/events/index.d.ts +3 -3
- package/dist/cjs/services/events/index.js +19 -19
- package/dist/cjs/services/events/log-event-service.d.ts +9 -9
- package/dist/cjs/services/events/log-event-service.js +56 -56
- package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
- package/dist/cjs/services/events/metric-event-service.js +49 -49
- package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
- package/dist/cjs/services/events/tracking-event-sqs-service.js +34 -34
- package/dist/cjs/services/generic-cache-service.d.ts +7 -7
- package/dist/cjs/services/generic-cache-service.js +33 -33
- package/dist/cjs/services/index.d.ts +8 -8
- package/dist/cjs/services/index.js +24 -24
- package/dist/cjs/services/ipdata-lookup-service.d.ts +20 -20
- package/dist/cjs/services/ipdata-lookup-service.js +112 -112
- package/dist/cjs/services/shopify/index.d.ts +2 -2
- package/dist/cjs/services/shopify/index.js +18 -18
- package/dist/cjs/services/shopify/products/index.d.ts +1 -1
- package/dist/cjs/services/shopify/products/index.js +17 -17
- package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
- package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +112 -112
- package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
- package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
- package/dist/cjs/types/api-response.d.ts +6 -6
- package/dist/cjs/types/api-response.js +2 -2
- package/dist/cjs/types/index.d.ts +1 -1
- package/dist/cjs/types/index.js +17 -17
- package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
- package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
- package/dist/cjs/types/internal-events/index.d.ts +1 -1
- package/dist/cjs/types/internal-events/index.js +17 -17
- package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +123 -123
- package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
- package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
- package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
- package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
- package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
- package/dist/cjs/utils/compression.d.ts +35 -0
- package/dist/cjs/utils/compression.js +177 -0
- package/dist/cjs/utils/compression.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +3 -0
- package/dist/cjs/utils/index.js +20 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/retry-envelope.d.ts +12 -0
- package/dist/cjs/utils/retry-envelope.js +31 -0
- package/dist/cjs/utils/retry-envelope.js.map +1 -0
- package/dist/cjs/utils/size.d.ts +2 -0
- package/dist/cjs/utils/size.js +49 -0
- package/dist/cjs/utils/size.js.map +1 -0
- package/dist/esm/__tests__/clients/sqs-bundled-client.spec.d.ts +1 -0
- package/dist/esm/__tests__/clients/sqs-bundled-client.spec.js +884 -0
- package/dist/esm/__tests__/clients/sqs-bundled-client.spec.js.map +1 -0
- package/dist/esm/__tests__/clients/sqs-client.spec.d.ts +1 -1
- package/dist/esm/__tests__/clients/sqs-client.spec.js +192 -119
- package/dist/esm/__tests__/clients/sqs-client.spec.js.map +1 -1
- package/dist/esm/__tests__/clients/sqs-unbundle.spec.d.ts +1 -0
- package/dist/esm/__tests__/clients/sqs-unbundle.spec.js +786 -0
- package/dist/esm/__tests__/clients/sqs-unbundle.spec.js.map +1 -0
- package/dist/esm/__tests__/db/shared-read-db-services.spec.d.ts +1 -1
- package/dist/esm/__tests__/db/shared-read-db-services.spec.js +87 -87
- package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
- package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
- package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -1
- package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.js +72 -72
- package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
- package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +672 -672
- package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
- package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
- package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.d.ts +1 -0
- package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.js +580 -0
- package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.js.map +1 -0
- package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
- package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
- package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
- package/dist/esm/__tests__/libs/currency.spec.js +218 -218
- package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
- package/dist/esm/__tests__/libs/dates.spec.js +128 -128
- package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
- package/dist/esm/__tests__/libs/domain.spec.js +105 -105
- package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
- package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
- package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
- package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
- package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
- package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
- package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.d.ts +1 -1
- package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.js +172 -172
- package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.d.ts +1 -1
- package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.js +67 -67
- package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
- package/dist/esm/clients/generic/cognito-client.js +204 -204
- package/dist/esm/clients/generic/dynamodb-client.d.ts +18 -18
- package/dist/esm/clients/generic/dynamodb-client.js +168 -168
- package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
- package/dist/esm/clients/generic/eventbridge-client.js +47 -47
- package/dist/esm/clients/generic/http-client.d.ts +14 -14
- package/dist/esm/clients/generic/http-client.js +53 -53
- package/dist/esm/clients/generic/index.d.ts +13 -10
- package/dist/esm/clients/generic/index.js +13 -10
- package/dist/esm/clients/generic/index.js.map +1 -1
- package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
- package/dist/esm/clients/generic/lambda-invoke-client.js +35 -35
- package/dist/esm/clients/generic/location-client.d.ts +8 -8
- package/dist/esm/clients/generic/location-client.js +27 -27
- package/dist/esm/clients/generic/redis-client.d.ts +33 -33
- package/dist/esm/clients/generic/redis-client.js +184 -184
- package/dist/esm/clients/generic/s3-client.d.ts +23 -23
- package/dist/esm/clients/generic/s3-client.js +209 -209
- package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
- package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
- package/dist/esm/clients/generic/sqs-bundled-client.d.ts +15 -0
- package/dist/esm/clients/generic/sqs-bundled-client.js +274 -0
- package/dist/esm/clients/generic/sqs-bundled-client.js.map +1 -0
- package/dist/esm/clients/generic/sqs-bundled-client.types.d.ts +52 -0
- package/dist/esm/clients/generic/sqs-bundled-client.types.js +14 -0
- package/dist/esm/clients/generic/sqs-bundled-client.types.js.map +1 -0
- package/dist/esm/clients/generic/sqs-client.d.ts +48 -33
- package/dist/esm/clients/generic/sqs-client.js +269 -107
- package/dist/esm/clients/generic/sqs-client.js.map +1 -1
- package/dist/esm/clients/generic/sqs-unbundle.d.ts +32 -0
- package/dist/esm/clients/generic/sqs-unbundle.js +138 -0
- package/dist/esm/clients/generic/sqs-unbundle.js.map +1 -0
- package/dist/esm/clients/index.d.ts +3 -3
- package/dist/esm/clients/index.js +3 -3
- package/dist/esm/clients/internal-api/accounts-client.d.ts +91 -91
- package/dist/esm/clients/internal-api/accounts-client.js +125 -125
- package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +26 -26
- package/dist/esm/clients/internal-api/cache-lambda-client.js +85 -85
- package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
- package/dist/esm/clients/internal-api/db-management-client.js +32 -32
- package/dist/esm/clients/internal-api/destinations-client.d.ts +34 -34
- package/dist/esm/clients/internal-api/destinations-client.js +75 -75
- package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
- package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
- package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
- package/dist/esm/clients/internal-api/identity-client.js +87 -87
- package/dist/esm/clients/internal-api/index.d.ts +9 -9
- package/dist/esm/clients/internal-api/index.js +9 -9
- package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
- package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
- package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
- package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
- package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
- package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
- package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
- package/dist/esm/clients/third-party/emailable-client.js +21 -21
- package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
- package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
- package/dist/esm/clients/third-party/index.d.ts +4 -4
- package/dist/esm/clients/third-party/index.js +4 -4
- package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
- package/dist/esm/clients/third-party/loops-client.js +26 -26
- package/dist/esm/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
- package/dist/esm/clients/third-party/shopify/graphql-order-queries.js +27 -27
- package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
- package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +177 -177
- package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
- package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +157 -157
- package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
- package/dist/esm/clients/third-party/shopify-client.js +142 -142
- package/dist/esm/constants/index.d.ts +1 -0
- package/dist/esm/constants/index.js +2 -0
- package/dist/esm/constants/index.js.map +1 -0
- package/dist/esm/constants/sqs.d.ts +11 -0
- package/dist/esm/constants/sqs.js +12 -0
- package/dist/esm/constants/sqs.js.map +1 -0
- package/dist/esm/helpers/account-users-helper.d.ts +2 -2
- package/dist/esm/helpers/account-users-helper.js +18 -18
- package/dist/esm/helpers/api-key-auth-helper.d.ts +9 -9
- package/dist/esm/helpers/api-key-auth-helper.js +35 -35
- package/dist/esm/helpers/api-key-authorizer-helper.d.ts +36 -36
- package/dist/esm/helpers/api-key-authorizer-helper.js +81 -81
- package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
- package/dist/esm/helpers/identity-cache-helper.js +151 -151
- package/dist/esm/helpers/index.d.ts +9 -9
- package/dist/esm/helpers/index.js +9 -9
- package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
- package/dist/esm/helpers/input-validation-helper.js +18 -18
- package/dist/esm/helpers/logging-helper.d.ts +16 -16
- package/dist/esm/helpers/logging-helper.js +56 -56
- package/dist/esm/helpers/response-helper.d.ts +18 -18
- package/dist/esm/helpers/response-helper.js +37 -37
- package/dist/esm/helpers/shopify-helper.d.ts +9 -9
- package/dist/esm/helpers/shopify-helper.js +21 -21
- package/dist/esm/helpers/sqs-utils.d.ts +6 -6
- package/dist/esm/helpers/sqs-utils.js +9 -9
- package/dist/esm/index.d.ts +7 -5
- package/dist/esm/index.js +7 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/libs/api-router/index.d.ts +2 -2
- package/dist/esm/libs/api-router/index.js +2 -2
- package/dist/esm/libs/api-router/public-api-router.d.ts +3 -3
- package/dist/esm/libs/api-router/public-api-router.js +32 -32
- package/dist/esm/libs/api-router/route-matcher.d.ts +21 -21
- package/dist/esm/libs/api-router/route-matcher.js +30 -30
- package/dist/esm/libs/click-id-parser.d.ts +23 -23
- package/dist/esm/libs/click-id-parser.js +45 -45
- package/dist/esm/libs/compression.d.ts +2 -2
- package/dist/esm/libs/compression.js +25 -25
- package/dist/esm/libs/cookie.d.ts +17 -17
- package/dist/esm/libs/cookie.js +70 -70
- package/dist/esm/libs/crypto.d.ts +4 -4
- package/dist/esm/libs/crypto.js +15 -15
- package/dist/esm/libs/csv.d.ts +2 -2
- package/dist/esm/libs/csv.js +30 -30
- package/dist/esm/libs/currency.d.ts +1 -1
- package/dist/esm/libs/currency.js +22 -22
- package/dist/esm/libs/dates.d.ts +12 -12
- package/dist/esm/libs/dates.js +83 -83
- package/dist/esm/libs/domain.d.ts +2 -2
- package/dist/esm/libs/domain.js +33 -33
- package/dist/esm/libs/emails.d.ts +6 -6
- package/dist/esm/libs/emails.js +115 -115
- package/dist/esm/libs/http-error.d.ts +21 -21
- package/dist/esm/libs/http-error.js +59 -59
- package/dist/esm/libs/http-status-codes.d.ts +58 -58
- package/dist/esm/libs/http-status-codes.js +59 -59
- package/dist/esm/libs/index.d.ts +18 -18
- package/dist/esm/libs/index.js +18 -18
- package/dist/esm/libs/numbers.d.ts +1 -1
- package/dist/esm/libs/numbers.js +11 -11
- package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
- package/dist/esm/libs/referrer-parser/index.js +2 -2
- package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
- package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
- package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
- package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
- package/dist/esm/libs/strings.d.ts +3 -3
- package/dist/esm/libs/strings.js +40 -40
- package/dist/esm/libs/traits.d.ts +6 -6
- package/dist/esm/libs/traits.js +54 -54
- package/dist/esm/libs/url.d.ts +1 -1
- package/dist/esm/libs/url.js +9 -9
- package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
- package/dist/esm/services/cache/generic-cached-object.js +1 -1
- package/dist/esm/services/cache/index.d.ts +1 -1
- package/dist/esm/services/cache/index.js +1 -1
- package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
- package/dist/esm/services/cache/product-cache-service.js +68 -68
- package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
- package/dist/esm/services/currency-exchange-rate-lookup-service.js +62 -62
- package/dist/esm/services/db/accounts-db-service.d.ts +9 -9
- package/dist/esm/services/db/accounts-db-service.js +29 -29
- package/dist/esm/services/db/api-keys-db-service.d.ts +10 -10
- package/dist/esm/services/db/api-keys-db-service.js +32 -32
- package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
- package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
- package/dist/esm/services/db/destinations-db-service.d.ts +12 -12
- package/dist/esm/services/db/destinations-db-service.js +72 -72
- package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
- package/dist/esm/services/db/identity-cache-db-service.js +313 -313
- package/dist/esm/services/db/index.d.ts +13 -13
- package/dist/esm/services/db/index.js +13 -13
- package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
- package/dist/esm/services/db/log-events-db-service.js +177 -177
- package/dist/esm/services/db/pixels-db-service.d.ts +8 -8
- package/dist/esm/services/db/pixels-db-service.js +31 -31
- package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
- package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
- package/dist/esm/services/db/purchased-contacts-db-service.d.ts +17 -17
- package/dist/esm/services/db/purchased-contacts-db-service.js +139 -139
- package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +8 -8
- package/dist/esm/services/db/shopify-app-installs-db-service.js +47 -47
- package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
- package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
- package/dist/esm/services/db/subscriptions-db-service.d.ts +10 -10
- package/dist/esm/services/db/subscriptions-db-service.js +30 -30
- package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
- package/dist/esm/services/db/tracking-events-db-service.js +161 -161
- package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
- package/dist/esm/services/eventbridge-integration-service.js +24 -24
- package/dist/esm/services/events/index.d.ts +3 -3
- package/dist/esm/services/events/index.js +3 -3
- package/dist/esm/services/events/log-event-service.d.ts +9 -9
- package/dist/esm/services/events/log-event-service.js +52 -52
- package/dist/esm/services/events/metric-event-service.d.ts +9 -9
- package/dist/esm/services/events/metric-event-service.js +45 -45
- package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
- package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
- package/dist/esm/services/generic-cache-service.d.ts +7 -7
- package/dist/esm/services/generic-cache-service.js +29 -29
- package/dist/esm/services/index.d.ts +8 -8
- package/dist/esm/services/index.js +8 -8
- package/dist/esm/services/ipdata-lookup-service.d.ts +20 -20
- package/dist/esm/services/ipdata-lookup-service.js +108 -108
- package/dist/esm/services/shopify/index.d.ts +2 -2
- package/dist/esm/services/shopify/index.js +2 -2
- package/dist/esm/services/shopify/products/index.d.ts +1 -1
- package/dist/esm/services/shopify/products/index.js +1 -1
- package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
- package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +108 -108
- package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
- package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
- package/dist/esm/types/api-response.d.ts +6 -6
- package/dist/esm/types/api-response.js +1 -1
- package/dist/esm/types/index.d.ts +1 -1
- package/dist/esm/types/index.js +1 -1
- package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
- package/dist/esm/types/internal-events/event-detail-types.js +24 -24
- package/dist/esm/types/internal-events/index.d.ts +1 -1
- package/dist/esm/types/internal-events/index.js +1 -1
- package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +123 -123
- package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
- package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
- package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
- package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
- package/dist/esm/types/shopify-graphql-types/index.js +2 -2
- package/dist/esm/utils/compression.d.ts +35 -0
- package/dist/esm/utils/compression.js +167 -0
- package/dist/esm/utils/compression.js.map +1 -0
- package/dist/esm/utils/index.d.ts +3 -0
- package/dist/esm/utils/index.js +4 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/retry-envelope.d.ts +12 -0
- package/dist/esm/utils/retry-envelope.js +25 -0
- package/dist/esm/utils/retry-envelope.js.map +1 -0
- package/dist/esm/utils/size.d.ts +2 -0
- package/dist/esm/utils/size.js +44 -0
- package/dist/esm/utils/size.js.map +1 -0
- package/package.json +135 -135
package/dist/esm/libs/dates.js
CHANGED
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
import { DateTime } from 'luxon';
|
|
2
|
-
import { Logger } from '../helpers';
|
|
3
|
-
import { isEmpty } from '@adtrackify/at-shared-utils';
|
|
4
|
-
export const getUTCYear = () => {
|
|
5
|
-
const date = new Date();
|
|
6
|
-
return date.getUTCFullYear();
|
|
7
|
-
};
|
|
8
|
-
export const getUTCMonth = () => {
|
|
9
|
-
const date = new Date();
|
|
10
|
-
return date.getUTCMonth() + 1;
|
|
11
|
-
};
|
|
12
|
-
export const getUTCDay = () => {
|
|
13
|
-
const date = new Date();
|
|
14
|
-
return date.getUTCDate();
|
|
15
|
-
};
|
|
16
|
-
export const getCurrentTimestamp = () => {
|
|
17
|
-
return DateTime.utc().toJSDate().toISOString();
|
|
18
|
-
};
|
|
19
|
-
export const getDateFromTimestamp = (timestamp) => {
|
|
20
|
-
return timestamp.split('T')[0];
|
|
21
|
-
};
|
|
22
|
-
export const getCurrentDate = () => {
|
|
23
|
-
return getDateFromTimestamp(getCurrentTimestamp());
|
|
24
|
-
};
|
|
25
|
-
export const convertDateTimeToUTC = (inputDateTime, inputTimezone) => {
|
|
26
|
-
try {
|
|
27
|
-
if (inputDateTime === '0' || isEmpty(inputDateTime)) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
let parsedDateTime = DateTime.fromISO(inputDateTime);
|
|
31
|
-
if (inputTimezone) {
|
|
32
|
-
parsedDateTime = DateTime.fromISO(`${inputDateTime}`, { zone: inputTimezone });
|
|
33
|
-
}
|
|
34
|
-
const dateTimeUTC = parsedDateTime.setZone('utc');
|
|
35
|
-
const dateTimeUTCISO = dateTimeUTC.toISO();
|
|
36
|
-
if (!dateTimeUTC.isValid || !dateTimeUTCISO) {
|
|
37
|
-
Logger.error('Invalid DateTime', { inputDateTime, inputTimezone });
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
return dateTimeUTCISO;
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
Logger.error('Failed to convertDateTimeToUTC', { error });
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
export const safeConvertSQLTime = (dateTime) => {
|
|
48
|
-
try {
|
|
49
|
-
const result = dateTime && !isEmpty(dateTime) ? DateTime.fromISO(dateTime).toUTC().toFormat('yyyy-LL-dd HH:mm:ss') : undefined;
|
|
50
|
-
if (result == 'Invalid DateTime') {
|
|
51
|
-
Logger.error('Invalid DateTime', { originalDateTime: dateTime });
|
|
52
|
-
return undefined;
|
|
53
|
-
}
|
|
54
|
-
return result;
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
Logger.error('Failed to safeConvertSQLTime', { error, dateTime });
|
|
58
|
-
return undefined;
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
export const getPreviousYear = (dateTime) => {
|
|
62
|
-
const date = typeof dateTime === 'string' ? DateTime.fromISO(dateTime) : dateTime;
|
|
63
|
-
return date.minus({ years: 1 }).year;
|
|
64
|
-
};
|
|
65
|
-
export const getLastTwelveMonthsRange = () => {
|
|
66
|
-
const date = DateTime.utc();
|
|
67
|
-
const startDate = date.minus({ months: 12 }).startOf('month');
|
|
68
|
-
const endDate = date.minus({ months: 1 }).endOf('month');
|
|
69
|
-
if (!startDate.isValid || !endDate.isValid) {
|
|
70
|
-
Logger.error('Invalid start or end date', { date, startDate, endDate });
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
const startISO = startDate.toISODate();
|
|
74
|
-
const endISO = endDate.toISODate();
|
|
75
|
-
if (!startISO || !endISO) {
|
|
76
|
-
Logger.error('Invalid start or end ISO date', { date, startDate, endDate });
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
return {
|
|
80
|
-
start: startISO,
|
|
81
|
-
end: endISO,
|
|
82
|
-
};
|
|
83
|
-
};
|
|
1
|
+
import { DateTime } from 'luxon';
|
|
2
|
+
import { Logger } from '../helpers';
|
|
3
|
+
import { isEmpty } from '@adtrackify/at-shared-utils';
|
|
4
|
+
export const getUTCYear = () => {
|
|
5
|
+
const date = new Date();
|
|
6
|
+
return date.getUTCFullYear();
|
|
7
|
+
};
|
|
8
|
+
export const getUTCMonth = () => {
|
|
9
|
+
const date = new Date();
|
|
10
|
+
return date.getUTCMonth() + 1;
|
|
11
|
+
};
|
|
12
|
+
export const getUTCDay = () => {
|
|
13
|
+
const date = new Date();
|
|
14
|
+
return date.getUTCDate();
|
|
15
|
+
};
|
|
16
|
+
export const getCurrentTimestamp = () => {
|
|
17
|
+
return DateTime.utc().toJSDate().toISOString();
|
|
18
|
+
};
|
|
19
|
+
export const getDateFromTimestamp = (timestamp) => {
|
|
20
|
+
return timestamp.split('T')[0];
|
|
21
|
+
};
|
|
22
|
+
export const getCurrentDate = () => {
|
|
23
|
+
return getDateFromTimestamp(getCurrentTimestamp());
|
|
24
|
+
};
|
|
25
|
+
export const convertDateTimeToUTC = (inputDateTime, inputTimezone) => {
|
|
26
|
+
try {
|
|
27
|
+
if (inputDateTime === '0' || isEmpty(inputDateTime)) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
let parsedDateTime = DateTime.fromISO(inputDateTime);
|
|
31
|
+
if (inputTimezone) {
|
|
32
|
+
parsedDateTime = DateTime.fromISO(`${inputDateTime}`, { zone: inputTimezone });
|
|
33
|
+
}
|
|
34
|
+
const dateTimeUTC = parsedDateTime.setZone('utc');
|
|
35
|
+
const dateTimeUTCISO = dateTimeUTC.toISO();
|
|
36
|
+
if (!dateTimeUTC.isValid || !dateTimeUTCISO) {
|
|
37
|
+
Logger.error('Invalid DateTime', { inputDateTime, inputTimezone });
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
return dateTimeUTCISO;
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
Logger.error('Failed to convertDateTimeToUTC', { error });
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
export const safeConvertSQLTime = (dateTime) => {
|
|
48
|
+
try {
|
|
49
|
+
const result = dateTime && !isEmpty(dateTime) ? DateTime.fromISO(dateTime).toUTC().toFormat('yyyy-LL-dd HH:mm:ss') : undefined;
|
|
50
|
+
if (result == 'Invalid DateTime') {
|
|
51
|
+
Logger.error('Invalid DateTime', { originalDateTime: dateTime });
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
Logger.error('Failed to safeConvertSQLTime', { error, dateTime });
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
export const getPreviousYear = (dateTime) => {
|
|
62
|
+
const date = typeof dateTime === 'string' ? DateTime.fromISO(dateTime) : dateTime;
|
|
63
|
+
return date.minus({ years: 1 }).year;
|
|
64
|
+
};
|
|
65
|
+
export const getLastTwelveMonthsRange = () => {
|
|
66
|
+
const date = DateTime.utc();
|
|
67
|
+
const startDate = date.minus({ months: 12 }).startOf('month');
|
|
68
|
+
const endDate = date.minus({ months: 1 }).endOf('month');
|
|
69
|
+
if (!startDate.isValid || !endDate.isValid) {
|
|
70
|
+
Logger.error('Invalid start or end date', { date, startDate, endDate });
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
const startISO = startDate.toISODate();
|
|
74
|
+
const endISO = endDate.toISODate();
|
|
75
|
+
if (!startISO || !endISO) {
|
|
76
|
+
Logger.error('Invalid start or end ISO date', { date, startDate, endDate });
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
start: startISO,
|
|
81
|
+
end: endISO,
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
84
|
//# sourceMappingURL=dates.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const getDomainFromEmail: (email: string) => string | null;
|
|
2
|
-
export declare const getDomainFromUrl: (url: string) => string | null;
|
|
1
|
+
export declare const getDomainFromEmail: (email: string) => string | null;
|
|
2
|
+
export declare const getDomainFromUrl: (url: string) => string | null;
|
package/dist/esm/libs/domain.js
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { Logger } from '../helpers/logging-helper';
|
|
2
|
-
import { parse } from 'psl';
|
|
3
|
-
export const getDomainFromEmail = (email) => {
|
|
4
|
-
try {
|
|
5
|
-
if (!email || typeof email !== 'string') {
|
|
6
|
-
return null;
|
|
7
|
-
}
|
|
8
|
-
const emailParts = email?.trim()?.toLowerCase()?.split('@');
|
|
9
|
-
if (emailParts.length !== 2) {
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
return emailParts[1].toLowerCase();
|
|
13
|
-
}
|
|
14
|
-
catch (error) {
|
|
15
|
-
Logger.error('error getting domain from email', { error, email });
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
export const getDomainFromUrl = (url) => {
|
|
20
|
-
try {
|
|
21
|
-
if (!url || typeof url !== 'string') {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
const normalizedUrl = url.match(/^https?:\/\//) ? url : `https://${url}`;
|
|
25
|
-
const hostname = new URL(normalizedUrl).hostname.toLowerCase();
|
|
26
|
-
const parsed = parse(hostname);
|
|
27
|
-
return parsed?.domain || null;
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
Logger.error('error getting domain from url', { error, url });
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
1
|
+
import { Logger } from '../helpers/logging-helper';
|
|
2
|
+
import { parse } from 'psl';
|
|
3
|
+
export const getDomainFromEmail = (email) => {
|
|
4
|
+
try {
|
|
5
|
+
if (!email || typeof email !== 'string') {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const emailParts = email?.trim()?.toLowerCase()?.split('@');
|
|
9
|
+
if (emailParts.length !== 2) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
return emailParts[1].toLowerCase();
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
Logger.error('error getting domain from email', { error, email });
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
export const getDomainFromUrl = (url) => {
|
|
20
|
+
try {
|
|
21
|
+
if (!url || typeof url !== 'string') {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const normalizedUrl = url.match(/^https?:\/\//) ? url : `https://${url}`;
|
|
25
|
+
const hostname = new URL(normalizedUrl).hostname.toLowerCase();
|
|
26
|
+
const parsed = parse(hostname);
|
|
27
|
+
return parsed?.domain || null;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
Logger.error('error getting domain from url', { error, url });
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
34
|
//# sourceMappingURL=domain.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export declare const normalizeGmailAddress: (email: string) => string;
|
|
2
|
-
export declare const validateEmail: (email: string) => boolean;
|
|
3
|
-
export declare const riskyEmailDomains: string[];
|
|
4
|
-
export declare const disposableEmailDomains: string[];
|
|
5
|
-
export declare const isDisposableEmail: (email: string) => boolean;
|
|
6
|
-
export declare const isYahooEmail: (email: string) => boolean;
|
|
1
|
+
export declare const normalizeGmailAddress: (email: string) => string;
|
|
2
|
+
export declare const validateEmail: (email: string) => boolean;
|
|
3
|
+
export declare const riskyEmailDomains: string[];
|
|
4
|
+
export declare const disposableEmailDomains: string[];
|
|
5
|
+
export declare const isDisposableEmail: (email: string) => boolean;
|
|
6
|
+
export declare const isYahooEmail: (email: string) => boolean;
|
package/dist/esm/libs/emails.js
CHANGED
|
@@ -1,116 +1,116 @@
|
|
|
1
|
-
import { Logger } from '../helpers';
|
|
2
|
-
export const normalizeGmailAddress = (email) => {
|
|
3
|
-
if (!email || typeof email !== 'string') {
|
|
4
|
-
return email;
|
|
5
|
-
}
|
|
6
|
-
const emailLower = email.toLowerCase().trim();
|
|
7
|
-
if (!emailLower.includes('@gmail.com')) {
|
|
8
|
-
return emailLower;
|
|
9
|
-
}
|
|
10
|
-
const [localPart, domain] = emailLower.split('@');
|
|
11
|
-
if (!localPart || !domain) {
|
|
12
|
-
return emailLower;
|
|
13
|
-
}
|
|
14
|
-
const normalizedLocalPart = localPart.replace(/\./g, '');
|
|
15
|
-
return `${normalizedLocalPart}@${domain}`;
|
|
16
|
-
};
|
|
17
|
-
export const validateEmail = (email) => {
|
|
18
|
-
try {
|
|
19
|
-
if (!email || typeof email !== 'string') {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
const emailStr = String(email).trim().toLowerCase();
|
|
23
|
-
if (emailStr.length === 0) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
const emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
27
|
-
const isValid = emailRegex.test(emailStr);
|
|
28
|
-
if (isValid) {
|
|
29
|
-
if (emailStr.includes('..')) {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
if (emailStr.length > 254) {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
const [localPart] = emailStr.split('@');
|
|
36
|
-
if (localPart && localPart.length > 64) {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return isValid;
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
Logger.error('Failed to validate email', { email, error });
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
export const riskyEmailDomains = [
|
|
48
|
-
'ymail.com',
|
|
49
|
-
'yahoo.com',
|
|
50
|
-
'yahoo.co.uk',
|
|
51
|
-
'yahoo.co.in',
|
|
52
|
-
'yahoo.co.jp',
|
|
53
|
-
'yahoo.co.kr',
|
|
54
|
-
'aol.com',
|
|
55
|
-
'verizon.net',
|
|
56
|
-
'frontier.com',
|
|
57
|
-
'cox.net',
|
|
58
|
-
'rogers.com',
|
|
59
|
-
'sbcglobal.net',
|
|
60
|
-
'bellsouth.net',
|
|
61
|
-
'att.net',
|
|
62
|
-
'pacbell.net',
|
|
63
|
-
'charter.net',
|
|
64
|
-
'comcast.net',
|
|
65
|
-
'suddenlink.net',
|
|
66
|
-
'centurylink.net',
|
|
67
|
-
'excite.com',
|
|
68
|
-
'geocities.com',
|
|
69
|
-
'prodigy.net',
|
|
70
|
-
'earthlink.net',
|
|
71
|
-
'roadrunner.com',
|
|
72
|
-
'rr.com',
|
|
73
|
-
'cs.com',
|
|
74
|
-
'juno.com',
|
|
75
|
-
'netzero.net',
|
|
76
|
-
'netzero.com',
|
|
77
|
-
'netscape.com',
|
|
78
|
-
'netscape.net',
|
|
79
|
-
'webtv.net',
|
|
80
|
-
'mindspring.com',
|
|
81
|
-
'mac.com',
|
|
82
|
-
'rocketmail.com',
|
|
83
|
-
'yahoo.net',
|
|
84
|
-
'hotmail.com',
|
|
85
|
-
'live.com',
|
|
86
|
-
'msn.com',
|
|
87
|
-
'outlook.com',
|
|
88
|
-
'yahoo.com',
|
|
89
|
-
'yahoo.co.uk',
|
|
90
|
-
'yahoo.co.in',
|
|
91
|
-
'yahoo.co.jp',
|
|
92
|
-
'yahoo.co.kr',
|
|
93
|
-
'icloud.com',
|
|
94
|
-
'facebook.com',
|
|
95
|
-
];
|
|
96
|
-
export const disposableEmailDomains = [
|
|
97
|
-
'amazom.com',
|
|
98
|
-
'mailinator.com',
|
|
99
|
-
'yopmail.com',
|
|
100
|
-
'maildrop.cc',
|
|
101
|
-
'maildrop.cc',
|
|
102
|
-
'mailnesia.com',
|
|
103
|
-
'guerrillamail.com',
|
|
104
|
-
'guerrillamailblock.com',
|
|
105
|
-
'guerrillamail.org',
|
|
106
|
-
'guerrillamail.net',
|
|
107
|
-
'guerrillamail.biz',
|
|
108
|
-
'guerrillamail.com',
|
|
109
|
-
];
|
|
110
|
-
export const isDisposableEmail = (email) => {
|
|
111
|
-
return disposableEmailDomains.some((domain) => email.includes(domain));
|
|
112
|
-
};
|
|
113
|
-
export const isYahooEmail = (email) => {
|
|
114
|
-
return riskyEmailDomains.some((domain) => email.includes(domain));
|
|
115
|
-
};
|
|
1
|
+
import { Logger } from '../helpers';
|
|
2
|
+
export const normalizeGmailAddress = (email) => {
|
|
3
|
+
if (!email || typeof email !== 'string') {
|
|
4
|
+
return email;
|
|
5
|
+
}
|
|
6
|
+
const emailLower = email.toLowerCase().trim();
|
|
7
|
+
if (!emailLower.includes('@gmail.com')) {
|
|
8
|
+
return emailLower;
|
|
9
|
+
}
|
|
10
|
+
const [localPart, domain] = emailLower.split('@');
|
|
11
|
+
if (!localPart || !domain) {
|
|
12
|
+
return emailLower;
|
|
13
|
+
}
|
|
14
|
+
const normalizedLocalPart = localPart.replace(/\./g, '');
|
|
15
|
+
return `${normalizedLocalPart}@${domain}`;
|
|
16
|
+
};
|
|
17
|
+
export const validateEmail = (email) => {
|
|
18
|
+
try {
|
|
19
|
+
if (!email || typeof email !== 'string') {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
const emailStr = String(email).trim().toLowerCase();
|
|
23
|
+
if (emailStr.length === 0) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
const emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
27
|
+
const isValid = emailRegex.test(emailStr);
|
|
28
|
+
if (isValid) {
|
|
29
|
+
if (emailStr.includes('..')) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
if (emailStr.length > 254) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
const [localPart] = emailStr.split('@');
|
|
36
|
+
if (localPart && localPart.length > 64) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return isValid;
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
Logger.error('Failed to validate email', { email, error });
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
export const riskyEmailDomains = [
|
|
48
|
+
'ymail.com',
|
|
49
|
+
'yahoo.com',
|
|
50
|
+
'yahoo.co.uk',
|
|
51
|
+
'yahoo.co.in',
|
|
52
|
+
'yahoo.co.jp',
|
|
53
|
+
'yahoo.co.kr',
|
|
54
|
+
'aol.com',
|
|
55
|
+
'verizon.net',
|
|
56
|
+
'frontier.com',
|
|
57
|
+
'cox.net',
|
|
58
|
+
'rogers.com',
|
|
59
|
+
'sbcglobal.net',
|
|
60
|
+
'bellsouth.net',
|
|
61
|
+
'att.net',
|
|
62
|
+
'pacbell.net',
|
|
63
|
+
'charter.net',
|
|
64
|
+
'comcast.net',
|
|
65
|
+
'suddenlink.net',
|
|
66
|
+
'centurylink.net',
|
|
67
|
+
'excite.com',
|
|
68
|
+
'geocities.com',
|
|
69
|
+
'prodigy.net',
|
|
70
|
+
'earthlink.net',
|
|
71
|
+
'roadrunner.com',
|
|
72
|
+
'rr.com',
|
|
73
|
+
'cs.com',
|
|
74
|
+
'juno.com',
|
|
75
|
+
'netzero.net',
|
|
76
|
+
'netzero.com',
|
|
77
|
+
'netscape.com',
|
|
78
|
+
'netscape.net',
|
|
79
|
+
'webtv.net',
|
|
80
|
+
'mindspring.com',
|
|
81
|
+
'mac.com',
|
|
82
|
+
'rocketmail.com',
|
|
83
|
+
'yahoo.net',
|
|
84
|
+
'hotmail.com',
|
|
85
|
+
'live.com',
|
|
86
|
+
'msn.com',
|
|
87
|
+
'outlook.com',
|
|
88
|
+
'yahoo.com',
|
|
89
|
+
'yahoo.co.uk',
|
|
90
|
+
'yahoo.co.in',
|
|
91
|
+
'yahoo.co.jp',
|
|
92
|
+
'yahoo.co.kr',
|
|
93
|
+
'icloud.com',
|
|
94
|
+
'facebook.com',
|
|
95
|
+
];
|
|
96
|
+
export const disposableEmailDomains = [
|
|
97
|
+
'amazom.com',
|
|
98
|
+
'mailinator.com',
|
|
99
|
+
'yopmail.com',
|
|
100
|
+
'maildrop.cc',
|
|
101
|
+
'maildrop.cc',
|
|
102
|
+
'mailnesia.com',
|
|
103
|
+
'guerrillamail.com',
|
|
104
|
+
'guerrillamailblock.com',
|
|
105
|
+
'guerrillamail.org',
|
|
106
|
+
'guerrillamail.net',
|
|
107
|
+
'guerrillamail.biz',
|
|
108
|
+
'guerrillamail.com',
|
|
109
|
+
];
|
|
110
|
+
export const isDisposableEmail = (email) => {
|
|
111
|
+
return disposableEmailDomains.some((domain) => email.includes(domain));
|
|
112
|
+
};
|
|
113
|
+
export const isYahooEmail = (email) => {
|
|
114
|
+
return riskyEmailDomains.some((domain) => email.includes(domain));
|
|
115
|
+
};
|
|
116
116
|
//# sourceMappingURL=emails.js.map
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export declare class HttpError extends Error {
|
|
2
|
-
body: {
|
|
3
|
-
[key: string]: any;
|
|
4
|
-
};
|
|
5
|
-
headers: object[];
|
|
6
|
-
statusCode: number;
|
|
7
|
-
isServerError: boolean;
|
|
8
|
-
constructor(statusCode: number, message?: string, body?: {
|
|
9
|
-
[key: string]: any;
|
|
10
|
-
}, headers?: object[]);
|
|
11
|
-
static get supportedStatusCodes(): any;
|
|
12
|
-
static badRequest: (message?: string, body?: object, headers?: object[]) => HttpError;
|
|
13
|
-
static unauthorized: (message?: string, body?: object, headers?: object[]) => HttpError;
|
|
14
|
-
static forbidden: (message?: string, body?: object, headers?: object[]) => HttpError;
|
|
15
|
-
static notFound: (message?: string, body?: object, headers?: object[]) => HttpError;
|
|
16
|
-
static internal: (message?: string, body?: object, headers?: object[]) => HttpError;
|
|
17
|
-
static notImplemented: () => HttpError;
|
|
18
|
-
static badGateway: () => HttpError;
|
|
19
|
-
static serviceUnavailable: (headers: object[]) => HttpError;
|
|
20
|
-
static gatewayTimeout: () => HttpError;
|
|
21
|
-
}
|
|
1
|
+
export declare class HttpError extends Error {
|
|
2
|
+
body: {
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
};
|
|
5
|
+
headers: object[];
|
|
6
|
+
statusCode: number;
|
|
7
|
+
isServerError: boolean;
|
|
8
|
+
constructor(statusCode: number, message?: string, body?: {
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}, headers?: object[]);
|
|
11
|
+
static get supportedStatusCodes(): any;
|
|
12
|
+
static badRequest: (message?: string, body?: object, headers?: object[]) => HttpError;
|
|
13
|
+
static unauthorized: (message?: string, body?: object, headers?: object[]) => HttpError;
|
|
14
|
+
static forbidden: (message?: string, body?: object, headers?: object[]) => HttpError;
|
|
15
|
+
static notFound: (message?: string, body?: object, headers?: object[]) => HttpError;
|
|
16
|
+
static internal: (message?: string, body?: object, headers?: object[]) => HttpError;
|
|
17
|
+
static notImplemented: () => HttpError;
|
|
18
|
+
static badGateway: () => HttpError;
|
|
19
|
+
static serviceUnavailable: (headers: object[]) => HttpError;
|
|
20
|
+
static gatewayTimeout: () => HttpError;
|
|
21
|
+
}
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
import { strict as assert } from 'assert';
|
|
2
|
-
const deepClone = (o = {}) => JSON.parse(JSON.stringify(o));
|
|
3
|
-
const containsStackTrace = (text = '') => /at.+\.js:\d+:\d+/.test(text);
|
|
4
|
-
const objectContainsStackTrace = (obj) => (!obj ? false : containsStackTrace(JSON.stringify(obj)));
|
|
5
|
-
const supportedStatusCodes = {
|
|
6
|
-
400: 'Bad Request',
|
|
7
|
-
401: 'Unauthorized',
|
|
8
|
-
403: 'Forbidden',
|
|
9
|
-
404: 'Not Found',
|
|
10
|
-
405: 'Method Not Allowed',
|
|
11
|
-
409: 'Conflict',
|
|
12
|
-
412: 'Precondition Failed',
|
|
13
|
-
413: 'Payload Too Large',
|
|
14
|
-
415: 'Unsupported Media Type',
|
|
15
|
-
428: 'Precondition Required',
|
|
16
|
-
429: 'Too Many Requests',
|
|
17
|
-
500: 'Internal Server Error',
|
|
18
|
-
501: 'Not Implemented',
|
|
19
|
-
502: 'Bad Gateway',
|
|
20
|
-
503: 'Service Unavailable',
|
|
21
|
-
504: 'Gateway Timeout',
|
|
22
|
-
};
|
|
23
|
-
const supportedStatusCodesMessage = `statusCode must be one of the following: ${JSON.stringify(Object.keys(supportedStatusCodes))}`;
|
|
24
|
-
export class HttpError extends Error {
|
|
25
|
-
body;
|
|
26
|
-
headers;
|
|
27
|
-
statusCode;
|
|
28
|
-
isServerError;
|
|
29
|
-
constructor(statusCode, message, body, headers) {
|
|
30
|
-
assert(statusCode in supportedStatusCodes, supportedStatusCodesMessage);
|
|
31
|
-
const isServerError = statusCode > 499;
|
|
32
|
-
assert(body === undefined || typeof body === 'object', 'body must be an object or omitted');
|
|
33
|
-
assert(headers === undefined || typeof headers === 'object', 'headers must be an object or omitted');
|
|
34
|
-
message = message ?? supportedStatusCodes[statusCode];
|
|
35
|
-
assert(!containsStackTrace(message) && !objectContainsStackTrace(body), 'the message or data parameters may not contain errors or stack traces');
|
|
36
|
-
super(message);
|
|
37
|
-
this.body = deepClone(body);
|
|
38
|
-
this.headers = deepClone(headers);
|
|
39
|
-
this.statusCode = statusCode;
|
|
40
|
-
this.isServerError = isServerError;
|
|
41
|
-
if (!this?.body?.message) {
|
|
42
|
-
this.body.message = this.message;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
static get supportedStatusCodes() {
|
|
46
|
-
return supportedStatusCodes;
|
|
47
|
-
}
|
|
48
|
-
static badRequest = (message, body, headers) => {
|
|
49
|
-
return new HttpError(400, message, body, headers);
|
|
50
|
-
};
|
|
51
|
-
static unauthorized = (message, body, headers) => new HttpError(401, message, body, headers);
|
|
52
|
-
static forbidden = (message, body, headers) => new HttpError(403, message, body, headers);
|
|
53
|
-
static notFound = (message, body, headers) => new HttpError(404, message, body, headers);
|
|
54
|
-
static internal = (message, body, headers) => new HttpError(500, message, body, headers);
|
|
55
|
-
static notImplemented = () => new HttpError(501);
|
|
56
|
-
static badGateway = () => new HttpError(502);
|
|
57
|
-
static serviceUnavailable = (headers) => new HttpError(503, undefined, undefined, headers);
|
|
58
|
-
static gatewayTimeout = () => new HttpError(504);
|
|
59
|
-
}
|
|
1
|
+
import { strict as assert } from 'assert';
|
|
2
|
+
const deepClone = (o = {}) => JSON.parse(JSON.stringify(o));
|
|
3
|
+
const containsStackTrace = (text = '') => /at.+\.js:\d+:\d+/.test(text);
|
|
4
|
+
const objectContainsStackTrace = (obj) => (!obj ? false : containsStackTrace(JSON.stringify(obj)));
|
|
5
|
+
const supportedStatusCodes = {
|
|
6
|
+
400: 'Bad Request',
|
|
7
|
+
401: 'Unauthorized',
|
|
8
|
+
403: 'Forbidden',
|
|
9
|
+
404: 'Not Found',
|
|
10
|
+
405: 'Method Not Allowed',
|
|
11
|
+
409: 'Conflict',
|
|
12
|
+
412: 'Precondition Failed',
|
|
13
|
+
413: 'Payload Too Large',
|
|
14
|
+
415: 'Unsupported Media Type',
|
|
15
|
+
428: 'Precondition Required',
|
|
16
|
+
429: 'Too Many Requests',
|
|
17
|
+
500: 'Internal Server Error',
|
|
18
|
+
501: 'Not Implemented',
|
|
19
|
+
502: 'Bad Gateway',
|
|
20
|
+
503: 'Service Unavailable',
|
|
21
|
+
504: 'Gateway Timeout',
|
|
22
|
+
};
|
|
23
|
+
const supportedStatusCodesMessage = `statusCode must be one of the following: ${JSON.stringify(Object.keys(supportedStatusCodes))}`;
|
|
24
|
+
export class HttpError extends Error {
|
|
25
|
+
body;
|
|
26
|
+
headers;
|
|
27
|
+
statusCode;
|
|
28
|
+
isServerError;
|
|
29
|
+
constructor(statusCode, message, body, headers) {
|
|
30
|
+
assert(statusCode in supportedStatusCodes, supportedStatusCodesMessage);
|
|
31
|
+
const isServerError = statusCode > 499;
|
|
32
|
+
assert(body === undefined || typeof body === 'object', 'body must be an object or omitted');
|
|
33
|
+
assert(headers === undefined || typeof headers === 'object', 'headers must be an object or omitted');
|
|
34
|
+
message = message ?? supportedStatusCodes[statusCode];
|
|
35
|
+
assert(!containsStackTrace(message) && !objectContainsStackTrace(body), 'the message or data parameters may not contain errors or stack traces');
|
|
36
|
+
super(message);
|
|
37
|
+
this.body = deepClone(body);
|
|
38
|
+
this.headers = deepClone(headers);
|
|
39
|
+
this.statusCode = statusCode;
|
|
40
|
+
this.isServerError = isServerError;
|
|
41
|
+
if (!this?.body?.message) {
|
|
42
|
+
this.body.message = this.message;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
static get supportedStatusCodes() {
|
|
46
|
+
return supportedStatusCodes;
|
|
47
|
+
}
|
|
48
|
+
static badRequest = (message, body, headers) => {
|
|
49
|
+
return new HttpError(400, message, body, headers);
|
|
50
|
+
};
|
|
51
|
+
static unauthorized = (message, body, headers) => new HttpError(401, message, body, headers);
|
|
52
|
+
static forbidden = (message, body, headers) => new HttpError(403, message, body, headers);
|
|
53
|
+
static notFound = (message, body, headers) => new HttpError(404, message, body, headers);
|
|
54
|
+
static internal = (message, body, headers) => new HttpError(500, message, body, headers);
|
|
55
|
+
static notImplemented = () => new HttpError(501);
|
|
56
|
+
static badGateway = () => new HttpError(502);
|
|
57
|
+
static serviceUnavailable = (headers) => new HttpError(503, undefined, undefined, headers);
|
|
58
|
+
static gatewayTimeout = () => new HttpError(504);
|
|
59
|
+
}
|
|
60
60
|
//# sourceMappingURL=http-error.js.map
|