@adtrackify/at-service-common 5.1.2 → 5.1.4
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/acuity-client.spec.js +20 -21
- package/dist/cjs/__tests__/clients/acuity-client.spec.js.map +1 -1
- package/dist/cjs/__tests__/clients/cross-platform-compression.spec.js +86 -97
- package/dist/cjs/__tests__/clients/cross-platform-compression.spec.js.map +1 -1
- package/dist/cjs/__tests__/clients/dynamodb-client.spec.js +95 -94
- package/dist/cjs/__tests__/clients/dynamodb-client.spec.js.map +1 -1
- package/dist/cjs/__tests__/clients/event-collector-client.spec.js +58 -58
- package/dist/cjs/__tests__/clients/event-collector-client.spec.js.map +1 -1
- package/dist/cjs/__tests__/clients/liveintent-client.spec.js +37 -0
- package/dist/cjs/__tests__/clients/liveintent-client.spec.js.map +1 -0
- package/dist/cjs/__tests__/clients/open-exchange-rates-client.spec.js +17 -18
- package/dist/cjs/__tests__/clients/open-exchange-rates-client.spec.js.map +1 -1
- package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.js +255 -273
- package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.js.map +1 -1
- package/dist/cjs/__tests__/clients/sqs-bundling-contracts.spec.js +125 -137
- package/dist/cjs/__tests__/clients/sqs-bundling-contracts.spec.js.map +1 -1
- package/dist/cjs/__tests__/clients/sqs-client.spec.js +77 -78
- package/dist/cjs/__tests__/clients/sqs-client.spec.js.map +1 -1
- package/dist/cjs/__tests__/clients/sqs-unbundle.spec.js +430 -431
- package/dist/cjs/__tests__/clients/sqs-unbundle.spec.js.map +1 -1
- package/dist/cjs/__tests__/db/contact-enrichments-db-service.spec.js +29 -30
- package/dist/cjs/__tests__/db/contact-enrichments-db-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/db/destinations-db-service.spec.js +47 -45
- package/dist/cjs/__tests__/db/destinations-db-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/db/products-db-service.spec.js +40 -41
- package/dist/cjs/__tests__/db/products-db-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/db/shared-read-db-services.spec.js +26 -27
- package/dist/cjs/__tests__/db/shared-read-db-services.spec.js.map +1 -1
- package/dist/cjs/__tests__/db/shopify-app-installs-db-service.spec.js +37 -38
- package/dist/cjs/__tests__/db/shopify-app-installs-db-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/db/subscriptions-db-service.spec.js +35 -36
- package/dist/cjs/__tests__/db/subscriptions-db-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/db/user-accounts-db-service.spec.js +27 -28
- package/dist/cjs/__tests__/db/user-accounts-db-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +64 -65
- package/dist/cjs/__tests__/helpers/account-users-helper.spec.js.map +1 -1
- package/dist/cjs/__tests__/helpers/acuity-helper.spec.js +18 -19
- package/dist/cjs/__tests__/helpers/acuity-helper.spec.js.map +1 -1
- package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.js +23 -24
- package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.js.map +1 -1
- package/dist/cjs/__tests__/helpers/cognito-auth-helper.spec.js +16 -17
- package/dist/cjs/__tests__/helpers/cognito-auth-helper.spec.js.map +1 -1
- package/dist/cjs/__tests__/helpers/order-calculation-helper.spec.js +42 -43
- package/dist/cjs/__tests__/helpers/order-calculation-helper.spec.js.map +1 -1
- package/dist/cjs/__tests__/helpers/public-api-response-helper.spec.js +23 -24
- package/dist/cjs/__tests__/helpers/public-api-response-helper.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/helpers.spec.js +114 -115
- package/dist/cjs/__tests__/identity-cache/helpers.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-cache-alias-write.spec.js +29 -30
- package/dist/cjs/__tests__/identity-cache/identity-cache-alias-write.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +19 -20
- package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service.spec.js +200 -223
- package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js +114 -123
- package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-client.spec.js +107 -110
- package/dist/cjs/__tests__/identity-cache/identity-client.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-gateway-cache-hit.spec.js +31 -32
- package/dist/cjs/__tests__/identity-cache/identity-gateway-cache-hit.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-gateway-cache-miss.spec.js +47 -60
- package/dist/cjs/__tests__/identity-cache/identity-gateway-cache-miss.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-gateway-constructor.spec.js +15 -16
- package/dist/cjs/__tests__/identity-cache/identity-gateway-constructor.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-gateway-edge-cases.spec.js +28 -35
- package/dist/cjs/__tests__/identity-cache/identity-gateway-edge-cases.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-gateway-enqueue-async.spec.js +27 -28
- package/dist/cjs/__tests__/identity-cache/identity-gateway-enqueue-async.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-gateway-stale-cache.spec.js +52 -74
- package/dist/cjs/__tests__/identity-cache/identity-gateway-stale-cache.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-gateway-test-setup.d.ts +18 -14
- package/dist/cjs/__tests__/identity-cache/identity-gateway-test-setup.js +30 -37
- package/dist/cjs/__tests__/identity-cache/identity-gateway-test-setup.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +424 -403
- package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js.map +1 -1
- package/dist/cjs/__tests__/identity-cache/volatile-traits-optimization.spec.js +218 -219
- package/dist/cjs/__tests__/identity-cache/volatile-traits-optimization.spec.js.map +1 -1
- package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.js +117 -118
- package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.js.map +1 -1
- package/dist/cjs/__tests__/libs/compress-decompress.spec.js +7 -8
- package/dist/cjs/__tests__/libs/compress-decompress.spec.js.map +1 -1
- package/dist/cjs/__tests__/libs/contacts.spec.js +101 -102
- package/dist/cjs/__tests__/libs/contacts.spec.js.map +1 -1
- package/dist/cjs/__tests__/libs/currency.spec.js +56 -57
- package/dist/cjs/__tests__/libs/currency.spec.js.map +1 -1
- package/dist/cjs/__tests__/libs/dates.spec.js +94 -82
- package/dist/cjs/__tests__/libs/dates.spec.js.map +1 -1
- package/dist/cjs/__tests__/libs/domain.spec.js +68 -69
- package/dist/cjs/__tests__/libs/domain.spec.js.map +1 -1
- package/dist/cjs/__tests__/libs/numbers.spec.js +249 -250
- package/dist/cjs/__tests__/libs/numbers.spec.js.map +1 -1
- package/dist/cjs/__tests__/s3-client/s3-client.spec.js +16 -15
- package/dist/cjs/__tests__/s3-client/s3-client.spec.js.map +1 -1
- package/dist/cjs/__tests__/services/acuity-api-service.spec.js +32 -35
- package/dist/cjs/__tests__/services/acuity-api-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/services/cost/cost-calculation-types.spec.js +14 -15
- package/dist/cjs/__tests__/services/cost/cost-calculation-types.spec.js.map +1 -1
- package/dist/cjs/__tests__/services/cost/cost-calculator-service.spec.js +949 -1187
- package/dist/cjs/__tests__/services/cost/cost-calculator-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/services/cost/cost-currency-service.spec.js +39 -40
- package/dist/cjs/__tests__/services/cost/cost-currency-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/services/cost/cost-filter-service.spec.js +204 -201
- package/dist/cjs/__tests__/services/cost/cost-filter-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.js +174 -299
- package/dist/cjs/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/services/email-verification/contact-email-verification-service.spec.js +39 -41
- package/dist/cjs/__tests__/services/email-verification/contact-email-verification-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/services/email-verification/email-verification-service.spec.js +22 -27
- package/dist/cjs/__tests__/services/email-verification/email-verification-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/services/events/collect-queue-tracking-service.spec.js +64 -67
- package/dist/cjs/__tests__/services/events/collect-queue-tracking-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/services/events/tracking-event-sqs-service.spec.js +51 -54
- package/dist/cjs/__tests__/services/events/tracking-event-sqs-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/services/liveintent-api-service.spec.js +67 -0
- package/dist/cjs/__tests__/services/liveintent-api-service.spec.js.map +1 -0
- package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +9 -10
- package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js.map +1 -1
- package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.js +58 -69
- package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.js.map +1 -1
- package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.js +31 -32
- package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.js.map +1 -1
- package/dist/cjs/__tests__/utils/custom-measure-formula-utils.spec.js +64 -65
- package/dist/cjs/__tests__/utils/custom-measure-formula-utils.spec.js.map +1 -1
- package/dist/cjs/clients/generic/cognito-client.js +14 -14
- package/dist/cjs/clients/generic/cognito-client.js.map +1 -1
- package/dist/cjs/clients/generic/dynamodb-client.js +9 -9
- package/dist/cjs/clients/generic/dynamodb-client.js.map +1 -1
- package/dist/cjs/clients/generic/eventbridge-client.js +2 -2
- package/dist/cjs/clients/generic/eventbridge-client.js.map +1 -1
- package/dist/cjs/clients/generic/http-client.js +5 -5
- package/dist/cjs/clients/generic/http-client.js.map +1 -1
- package/dist/cjs/clients/generic/lambda-invoke-client.js.map +1 -1
- package/dist/cjs/clients/generic/location-client.js +2 -2
- package/dist/cjs/clients/generic/location-client.js.map +1 -1
- package/dist/cjs/clients/generic/redis-client.js +2 -13
- package/dist/cjs/clients/generic/redis-client.js.map +1 -1
- package/dist/cjs/clients/generic/s3-client.d.ts +1 -0
- package/dist/cjs/clients/generic/s3-client.js +19 -19
- package/dist/cjs/clients/generic/s3-client.js.map +1 -1
- package/dist/cjs/clients/generic/singlestore-db-client.d.ts +2 -2
- package/dist/cjs/clients/generic/singlestore-db-client.js +8 -18
- package/dist/cjs/clients/generic/singlestore-db-client.js.map +1 -1
- package/dist/cjs/clients/generic/sqs-bundled-client.js +2 -2
- package/dist/cjs/clients/generic/sqs-bundled-client.js.map +1 -1
- package/dist/cjs/clients/generic/sqs-bundled-client.types.js +1 -1
- package/dist/cjs/clients/generic/sqs-bundled-client.types.js.map +1 -1
- package/dist/cjs/clients/generic/sqs-client.d.ts +1 -1
- package/dist/cjs/clients/generic/sqs-client.js +2 -2
- package/dist/cjs/clients/generic/sqs-client.js.map +1 -1
- package/dist/cjs/clients/generic/sqs-unbundle.js +7 -6
- package/dist/cjs/clients/generic/sqs-unbundle.js.map +1 -1
- package/dist/cjs/clients/internal-api/accounts-client.js +14 -14
- package/dist/cjs/clients/internal-api/accounts-client.js.map +1 -1
- package/dist/cjs/clients/internal-api/cache-lambda-client.js.map +1 -1
- package/dist/cjs/clients/internal-api/db-management-client.js.map +1 -1
- package/dist/cjs/clients/internal-api/destinations-client.d.ts +2 -1
- package/dist/cjs/clients/internal-api/destinations-client.js +15 -8
- package/dist/cjs/clients/internal-api/destinations-client.js.map +1 -1
- package/dist/cjs/clients/internal-api/event-collector-client.js.map +1 -1
- package/dist/cjs/clients/internal-api/identity-client.js.map +1 -1
- package/dist/cjs/clients/internal-api/shopify-app-install-client.js.map +1 -1
- package/dist/cjs/clients/internal-api/subscriptions-client.js.map +1 -1
- package/dist/cjs/clients/internal-api/users-auth-client.js +11 -11
- package/dist/cjs/clients/internal-api/users-auth-client.js.map +1 -1
- package/dist/cjs/clients/third-party/acuity-client.js.map +1 -1
- package/dist/cjs/clients/third-party/emailable-client.js.map +1 -1
- package/dist/cjs/clients/third-party/index.d.ts +1 -0
- package/dist/cjs/clients/third-party/index.js +1 -0
- package/dist/cjs/clients/third-party/index.js.map +1 -1
- package/dist/cjs/clients/third-party/liveintent-client.d.ts +11 -0
- package/dist/cjs/clients/third-party/liveintent-client.js +25 -0
- package/dist/cjs/clients/third-party/liveintent-client.js.map +1 -0
- package/dist/cjs/clients/third-party/loops-client.js.map +1 -1
- package/dist/cjs/clients/third-party/open-exchange-rates-client.js.map +1 -1
- package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js.map +1 -1
- package/dist/cjs/clients/third-party/shopify-client.js +15 -15
- package/dist/cjs/clients/third-party/shopify-client.js.map +1 -1
- package/dist/cjs/constants/sqs.js +5 -5
- package/dist/cjs/constants/sqs.js.map +1 -1
- package/dist/cjs/helpers/account-users-helper.js.map +1 -1
- package/dist/cjs/helpers/acuity-helper.js.map +1 -1
- package/dist/cjs/helpers/api-key-auth-helper.d.ts +1 -2
- package/dist/cjs/helpers/api-key-auth-helper.js.map +1 -1
- package/dist/cjs/helpers/api-key-authorizer-helper.js.map +1 -1
- package/dist/cjs/helpers/cognito-auth-helper.d.ts +1 -2
- package/dist/cjs/helpers/cognito-auth-helper.js.map +1 -1
- package/dist/cjs/helpers/input-validation-helper.d.ts +1 -1
- package/dist/cjs/helpers/input-validation-helper.js.map +1 -1
- package/dist/cjs/helpers/logging-helper.d.ts +5 -5
- package/dist/cjs/helpers/logging-helper.js +7 -17
- package/dist/cjs/helpers/logging-helper.js.map +1 -1
- package/dist/cjs/helpers/order-calculation-helper.js.map +1 -1
- package/dist/cjs/helpers/public-api-response-helper.js.map +1 -1
- package/dist/cjs/helpers/response-helper.js.map +1 -1
- package/dist/cjs/helpers/shopify-helper.js.map +1 -1
- package/dist/cjs/helpers/sqs-utils.js +4 -8
- package/dist/cjs/helpers/sqs-utils.js.map +1 -1
- package/dist/cjs/libs/api-router/public-api-router.d.ts +2 -2
- package/dist/cjs/libs/api-router/public-api-router.js.map +1 -1
- package/dist/cjs/libs/api-router/route-matcher.js.map +1 -1
- package/dist/cjs/libs/click-id-parser.js +1 -1
- package/dist/cjs/libs/click-id-parser.js.map +1 -1
- package/dist/cjs/libs/compression.d.ts +1 -1
- package/dist/cjs/libs/compression.js.map +1 -1
- package/dist/cjs/libs/contacts.js.map +1 -1
- package/dist/cjs/libs/cookie.js +1 -1
- package/dist/cjs/libs/cookie.js.map +1 -1
- package/dist/cjs/libs/crypto.js.map +1 -1
- package/dist/cjs/libs/csv.js.map +1 -1
- package/dist/cjs/libs/currency.js.map +1 -1
- package/dist/cjs/libs/dates.d.ts +1 -0
- package/dist/cjs/libs/dates.js +18 -1
- package/dist/cjs/libs/dates.js.map +1 -1
- package/dist/cjs/libs/domain.js.map +1 -1
- package/dist/cjs/libs/emails.js.map +1 -1
- package/dist/cjs/libs/http-error.js.map +1 -1
- package/dist/cjs/libs/http-status-codes.js +1 -1
- package/dist/cjs/libs/http-status-codes.js.map +1 -1
- package/dist/cjs/libs/numbers.js.map +1 -1
- package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +1 -0
- package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +2 -2
- package/dist/cjs/libs/referrer-parser/referrer-parser-util.js.map +1 -1
- package/dist/cjs/libs/strings.js.map +1 -1
- package/dist/cjs/libs/traits.js.map +1 -1
- package/dist/cjs/libs/url.js.map +1 -1
- package/dist/cjs/services/acuity-api-service.js.map +1 -1
- package/dist/cjs/services/cache/product-cache-service.js.map +1 -1
- package/dist/cjs/services/cost/cost-calculation-types.js +2 -1
- package/dist/cjs/services/cost/cost-calculation-types.js.map +1 -1
- package/dist/cjs/services/cost/cost-calculator-service.js +10 -43
- package/dist/cjs/services/cost/cost-calculator-service.js.map +1 -1
- package/dist/cjs/services/cost/cost-currency-service.js.map +1 -1
- package/dist/cjs/services/cost/cost-filter-service.js +7 -16
- package/dist/cjs/services/cost/cost-filter-service.js.map +1 -1
- package/dist/cjs/services/cost/order-cost/order-cost-resolution-service.js +9 -24
- package/dist/cjs/services/cost/order-cost/order-cost-resolution-service.js.map +1 -1
- package/dist/cjs/services/db/accounts-db-service.js.map +1 -1
- package/dist/cjs/services/db/api-keys-db-service.js.map +1 -1
- package/dist/cjs/services/db/contact-enrichments-db-service.js.map +1 -1
- package/dist/cjs/services/db/custom-measures-db-service.js.map +1 -1
- package/dist/cjs/services/db/destinations-db-service.js.map +1 -1
- package/dist/cjs/services/db/identity-cache-db-service.d.ts +1 -1
- package/dist/cjs/services/db/identity-cache-db-service.js.map +1 -1
- package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js +1 -5
- package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js.map +1 -1
- package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +7 -21
- package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -1
- package/dist/cjs/services/db/identity-cache-dynamodb-service/key-builders.js +7 -7
- package/dist/cjs/services/db/identity-cache-dynamodb-service/key-builders.js.map +1 -1
- package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js +3 -3
- package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js.map +1 -1
- package/dist/cjs/services/db/index.d.ts +0 -1
- package/dist/cjs/services/db/index.js +0 -1
- package/dist/cjs/services/db/index.js.map +1 -1
- package/dist/cjs/services/db/log-events-db-service.js.map +1 -1
- package/dist/cjs/services/db/pixels-db-service.js.map +1 -1
- package/dist/cjs/services/db/products-db-service.js +16 -45
- package/dist/cjs/services/db/products-db-service.js.map +1 -1
- package/dist/cjs/services/db/purchasable-contacts-db-service.js.map +1 -1
- package/dist/cjs/services/db/purchased-contacts/purchased-contacts-db-service.js.map +1 -1
- package/dist/cjs/services/db/shopify-app-installs-db-service.js.map +1 -1
- package/dist/cjs/services/db/shopify-products-cache-db-service.js.map +1 -1
- package/dist/cjs/services/db/subscriptions-db-service.js.map +1 -1
- package/dist/cjs/services/db/tracking-events-db-service.js.map +1 -1
- package/dist/cjs/services/db/user-accounts-db-service.js.map +1 -1
- package/dist/cjs/services/email-verification/contact-email-verification-service.js.map +1 -1
- package/dist/cjs/services/email-verification/email-verification-service.js.map +1 -1
- package/dist/cjs/services/eventbridge-integration-service.js.map +1 -1
- package/dist/cjs/services/events/build-collect-queue-tracking-event.js +2 -2
- package/dist/cjs/services/events/build-collect-queue-tracking-event.js.map +1 -1
- package/dist/cjs/services/events/collect-queue-tracking-service.js.map +1 -1
- package/dist/cjs/services/events/log-event-service.js.map +1 -1
- package/dist/cjs/services/events/metric-event-service.js.map +1 -1
- package/dist/cjs/services/events/tracking-event-sqs-service.js.map +1 -1
- package/dist/cjs/services/generic-cache-service.js.map +1 -1
- package/dist/cjs/services/index.d.ts +1 -1
- package/dist/cjs/services/index.js +1 -1
- package/dist/cjs/services/index.js.map +1 -1
- package/dist/cjs/services/ipdata-lookup-service.d.ts +1 -1
- package/dist/cjs/services/ipdata-lookup-service.js.map +1 -1
- package/dist/cjs/services/liveintent-api-service.d.ts +15 -0
- package/dist/cjs/services/liveintent-api-service.js +59 -0
- package/dist/cjs/services/liveintent-api-service.js.map +1 -0
- package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js.map +1 -1
- package/dist/cjs/services/shopify/shopify-graphql-transformer.js +1 -1
- package/dist/cjs/services/shopify/shopify-graphql-transformer.js.map +1 -1
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.js +8 -17
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/internal-events/event-detail-types.js +4 -4
- package/dist/cjs/types/internal-events/event-detail-types.js.map +1 -1
- package/dist/cjs/types/liveintent-types.d.ts +8 -0
- package/dist/cjs/types/liveintent-types.js +3 -0
- package/dist/cjs/types/liveintent-types.js.map +1 -0
- package/dist/cjs/types/public-api-types.js +1 -1
- package/dist/cjs/types/public-api-types.js.map +1 -1
- package/dist/cjs/types/shopify-graphql-types/admin.types.js +491 -491
- package/dist/cjs/types/shopify-graphql-types/admin.types.js.map +1 -1
- package/dist/cjs/types/shopify-rest-types.d.ts +1 -1
- package/dist/cjs/utils/compression.d.ts +2 -0
- package/dist/cjs/utils/compression.js +11 -11
- package/dist/cjs/utils/compression.js.map +1 -1
- package/dist/cjs/utils/custom-measure-formula-utils.js.map +1 -1
- package/dist/cjs/utils/retry-envelope.js +4 -3
- package/dist/cjs/utils/retry-envelope.js.map +1 -1
- package/dist/cjs/utils/size.js +3 -2
- package/dist/cjs/utils/size.js.map +1 -1
- package/dist/esm/__tests__/clients/acuity-client.spec.js +5 -6
- package/dist/esm/__tests__/clients/acuity-client.spec.js.map +1 -1
- package/dist/esm/__tests__/clients/cross-platform-compression.spec.js +0 -1
- package/dist/esm/__tests__/clients/cross-platform-compression.spec.js.map +1 -1
- package/dist/esm/__tests__/clients/dynamodb-client.spec.js +42 -41
- package/dist/esm/__tests__/clients/dynamodb-client.spec.js.map +1 -1
- package/dist/esm/__tests__/clients/event-collector-client.spec.js +18 -18
- package/dist/esm/__tests__/clients/event-collector-client.spec.js.map +1 -1
- package/dist/esm/__tests__/clients/liveintent-client.spec.js +35 -0
- package/dist/esm/__tests__/clients/liveintent-client.spec.js.map +1 -0
- package/dist/esm/__tests__/clients/open-exchange-rates-client.spec.js +3 -4
- package/dist/esm/__tests__/clients/open-exchange-rates-client.spec.js.map +1 -1
- package/dist/esm/__tests__/clients/sqs-bundled-client.spec.js +47 -55
- package/dist/esm/__tests__/clients/sqs-bundled-client.spec.js.map +1 -1
- package/dist/esm/__tests__/clients/sqs-bundling-contracts.spec.js +1 -3
- package/dist/esm/__tests__/clients/sqs-bundling-contracts.spec.js.map +1 -1
- package/dist/esm/__tests__/clients/sqs-client.spec.js +21 -22
- package/dist/esm/__tests__/clients/sqs-client.spec.js.map +1 -1
- package/dist/esm/__tests__/clients/sqs-unbundle.spec.js +8 -9
- package/dist/esm/__tests__/clients/sqs-unbundle.spec.js.map +1 -1
- package/dist/esm/__tests__/db/contact-enrichments-db-service.spec.js +5 -6
- package/dist/esm/__tests__/db/contact-enrichments-db-service.spec.js.map +1 -1
- package/dist/esm/__tests__/db/destinations-db-service.spec.js +11 -9
- package/dist/esm/__tests__/db/destinations-db-service.spec.js.map +1 -1
- package/dist/esm/__tests__/db/products-db-service.spec.js +8 -9
- package/dist/esm/__tests__/db/products-db-service.spec.js.map +1 -1
- package/dist/esm/__tests__/db/shared-read-db-services.spec.js +6 -7
- package/dist/esm/__tests__/db/shared-read-db-services.spec.js.map +1 -1
- package/dist/esm/__tests__/db/shopify-app-installs-db-service.spec.js +12 -13
- package/dist/esm/__tests__/db/shopify-app-installs-db-service.spec.js.map +1 -1
- package/dist/esm/__tests__/db/subscriptions-db-service.spec.js +11 -12
- package/dist/esm/__tests__/db/subscriptions-db-service.spec.js.map +1 -1
- package/dist/esm/__tests__/db/user-accounts-db-service.spec.js +6 -7
- package/dist/esm/__tests__/db/user-accounts-db-service.spec.js.map +1 -1
- package/dist/esm/__tests__/helpers/account-users-helper.spec.js +3 -4
- package/dist/esm/__tests__/helpers/account-users-helper.spec.js.map +1 -1
- package/dist/esm/__tests__/helpers/acuity-helper.spec.js +0 -1
- package/dist/esm/__tests__/helpers/acuity-helper.spec.js.map +1 -1
- package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.js +3 -4
- package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.js.map +1 -1
- package/dist/esm/__tests__/helpers/cognito-auth-helper.spec.js +1 -2
- package/dist/esm/__tests__/helpers/cognito-auth-helper.spec.js.map +1 -1
- package/dist/esm/__tests__/helpers/order-calculation-helper.spec.js +4 -5
- package/dist/esm/__tests__/helpers/order-calculation-helper.spec.js.map +1 -1
- package/dist/esm/__tests__/helpers/public-api-response-helper.spec.js +1 -2
- package/dist/esm/__tests__/helpers/public-api-response-helper.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/helpers.spec.js +1 -2
- package/dist/esm/__tests__/identity-cache/helpers.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/identity-cache-alias-write.spec.js +15 -16
- package/dist/esm/__tests__/identity-cache/identity-cache-alias-write.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +1 -2
- package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service.spec.js +29 -52
- package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js +31 -40
- package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/identity-client.spec.js +21 -24
- package/dist/esm/__tests__/identity-cache/identity-client.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/identity-gateway-cache-hit.spec.js +0 -1
- package/dist/esm/__tests__/identity-cache/identity-gateway-cache-hit.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/identity-gateway-cache-miss.spec.js +4 -17
- package/dist/esm/__tests__/identity-cache/identity-gateway-cache-miss.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/identity-gateway-constructor.spec.js +0 -1
- package/dist/esm/__tests__/identity-cache/identity-gateway-constructor.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/identity-gateway-edge-cases.spec.js +2 -9
- package/dist/esm/__tests__/identity-cache/identity-gateway-edge-cases.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/identity-gateway-enqueue-async.spec.js +0 -1
- package/dist/esm/__tests__/identity-cache/identity-gateway-enqueue-async.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/identity-gateway-stale-cache.spec.js +7 -29
- package/dist/esm/__tests__/identity-cache/identity-gateway-stale-cache.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/identity-gateway-test-setup.d.ts +18 -14
- package/dist/esm/__tests__/identity-cache/identity-gateway-test-setup.js +30 -37
- package/dist/esm/__tests__/identity-cache/identity-gateway-test-setup.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +37 -16
- package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js.map +1 -1
- package/dist/esm/__tests__/identity-cache/volatile-traits-optimization.spec.js +5 -6
- package/dist/esm/__tests__/identity-cache/volatile-traits-optimization.spec.js.map +1 -1
- package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.js +9 -10
- package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.js.map +1 -1
- package/dist/esm/__tests__/libs/compress-decompress.spec.js +1 -2
- package/dist/esm/__tests__/libs/compress-decompress.spec.js.map +1 -1
- package/dist/esm/__tests__/libs/contacts.spec.js +0 -1
- package/dist/esm/__tests__/libs/contacts.spec.js.map +1 -1
- package/dist/esm/__tests__/libs/currency.spec.js +3 -4
- package/dist/esm/__tests__/libs/currency.spec.js.map +1 -1
- package/dist/esm/__tests__/libs/dates.spec.js +23 -11
- package/dist/esm/__tests__/libs/dates.spec.js.map +1 -1
- package/dist/esm/__tests__/libs/domain.spec.js +0 -1
- package/dist/esm/__tests__/libs/domain.spec.js.map +1 -1
- package/dist/esm/__tests__/libs/numbers.spec.js +0 -1
- package/dist/esm/__tests__/libs/numbers.spec.js.map +1 -1
- package/dist/esm/__tests__/s3-client/s3-client.spec.js +7 -6
- package/dist/esm/__tests__/s3-client/s3-client.spec.js.map +1 -1
- package/dist/esm/__tests__/services/acuity-api-service.spec.js +10 -13
- package/dist/esm/__tests__/services/acuity-api-service.spec.js.map +1 -1
- package/dist/esm/__tests__/services/cost/cost-calculation-types.spec.js +0 -1
- package/dist/esm/__tests__/services/cost/cost-calculation-types.spec.js.map +1 -1
- package/dist/esm/__tests__/services/cost/cost-calculator-service.spec.js +280 -518
- package/dist/esm/__tests__/services/cost/cost-calculator-service.spec.js.map +1 -1
- package/dist/esm/__tests__/services/cost/cost-currency-service.spec.js +3 -4
- package/dist/esm/__tests__/services/cost/cost-currency-service.spec.js.map +1 -1
- package/dist/esm/__tests__/services/cost/cost-filter-service.spec.js +22 -19
- package/dist/esm/__tests__/services/cost/cost-filter-service.spec.js.map +1 -1
- package/dist/esm/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.js +41 -133
- package/dist/esm/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.js.map +1 -1
- package/dist/esm/__tests__/services/email-verification/contact-email-verification-service.spec.js +6 -8
- package/dist/esm/__tests__/services/email-verification/contact-email-verification-service.spec.js.map +1 -1
- package/dist/esm/__tests__/services/email-verification/email-verification-service.spec.js +5 -10
- package/dist/esm/__tests__/services/email-verification/email-verification-service.spec.js.map +1 -1
- package/dist/esm/__tests__/services/events/collect-queue-tracking-service.spec.js +14 -17
- package/dist/esm/__tests__/services/events/collect-queue-tracking-service.spec.js.map +1 -1
- package/dist/esm/__tests__/services/events/tracking-event-sqs-service.spec.js +16 -19
- package/dist/esm/__tests__/services/events/tracking-event-sqs-service.spec.js.map +1 -1
- package/dist/esm/__tests__/services/liveintent-api-service.spec.js +65 -0
- package/dist/esm/__tests__/services/liveintent-api-service.spec.js.map +1 -0
- package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +1 -2
- package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js.map +1 -1
- package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.js +14 -15
- package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.js.map +1 -1
- package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.js +1 -2
- package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.js.map +1 -1
- package/dist/esm/__tests__/utils/custom-measure-formula-utils.spec.js +0 -1
- package/dist/esm/__tests__/utils/custom-measure-formula-utils.spec.js.map +1 -1
- package/dist/esm/clients/generic/cognito-client.js +2 -2
- package/dist/esm/clients/generic/cognito-client.js.map +1 -1
- package/dist/esm/clients/generic/dynamodb-client.js +9 -9
- package/dist/esm/clients/generic/dynamodb-client.js.map +1 -1
- package/dist/esm/clients/generic/eventbridge-client.js +1 -1
- package/dist/esm/clients/generic/eventbridge-client.js.map +1 -1
- package/dist/esm/clients/generic/http-client.js +5 -5
- package/dist/esm/clients/generic/http-client.js.map +1 -1
- package/dist/esm/clients/generic/lambda-invoke-client.js.map +1 -1
- package/dist/esm/clients/generic/location-client.js +1 -1
- package/dist/esm/clients/generic/location-client.js.map +1 -1
- package/dist/esm/clients/generic/redis-client.js +2 -13
- package/dist/esm/clients/generic/redis-client.js.map +1 -1
- package/dist/esm/clients/generic/s3-client.d.ts +1 -0
- package/dist/esm/clients/generic/s3-client.js +1 -1
- package/dist/esm/clients/generic/s3-client.js.map +1 -1
- package/dist/esm/clients/generic/singlestore-db-client.d.ts +2 -2
- package/dist/esm/clients/generic/singlestore-db-client.js +1 -1
- package/dist/esm/clients/generic/singlestore-db-client.js.map +1 -1
- package/dist/esm/clients/generic/sqs-bundled-client.js +2 -2
- package/dist/esm/clients/generic/sqs-bundled-client.js.map +1 -1
- package/dist/esm/clients/generic/sqs-client.d.ts +1 -1
- package/dist/esm/clients/generic/sqs-client.js +2 -2
- package/dist/esm/clients/generic/sqs-client.js.map +1 -1
- package/dist/esm/clients/generic/sqs-unbundle.js +2 -2
- package/dist/esm/clients/generic/sqs-unbundle.js.map +1 -1
- package/dist/esm/clients/internal-api/accounts-client.js +1 -1
- package/dist/esm/clients/internal-api/accounts-client.js.map +1 -1
- package/dist/esm/clients/internal-api/cache-lambda-client.js.map +1 -1
- package/dist/esm/clients/internal-api/destinations-client.d.ts +2 -1
- package/dist/esm/clients/internal-api/destinations-client.js +8 -1
- package/dist/esm/clients/internal-api/destinations-client.js.map +1 -1
- package/dist/esm/clients/internal-api/event-collector-client.js.map +1 -1
- package/dist/esm/clients/internal-api/identity-client.js.map +1 -1
- package/dist/esm/clients/internal-api/users-auth-client.js +1 -1
- package/dist/esm/clients/internal-api/users-auth-client.js.map +1 -1
- package/dist/esm/clients/third-party/emailable-client.js.map +1 -1
- package/dist/esm/clients/third-party/index.d.ts +1 -0
- package/dist/esm/clients/third-party/index.js +1 -0
- package/dist/esm/clients/third-party/index.js.map +1 -1
- package/dist/esm/clients/third-party/liveintent-client.d.ts +11 -0
- package/dist/esm/clients/third-party/liveintent-client.js +21 -0
- package/dist/esm/clients/third-party/liveintent-client.js.map +1 -0
- package/dist/esm/clients/third-party/loops-client.js.map +1 -1
- package/dist/esm/clients/third-party/open-exchange-rates-client.js.map +1 -1
- package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +1 -1
- package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js.map +1 -1
- package/dist/esm/clients/third-party/shopify-client.js +1 -1
- package/dist/esm/clients/third-party/shopify-client.js.map +1 -1
- package/dist/esm/constants/sqs.js +3 -3
- package/dist/esm/constants/sqs.js.map +1 -1
- package/dist/esm/helpers/account-users-helper.js.map +1 -1
- package/dist/esm/helpers/acuity-helper.js.map +1 -1
- package/dist/esm/helpers/api-key-auth-helper.d.ts +1 -2
- package/dist/esm/helpers/api-key-auth-helper.js.map +1 -1
- package/dist/esm/helpers/api-key-authorizer-helper.js.map +1 -1
- package/dist/esm/helpers/cognito-auth-helper.d.ts +1 -2
- package/dist/esm/helpers/cognito-auth-helper.js.map +1 -1
- package/dist/esm/helpers/input-validation-helper.d.ts +1 -1
- package/dist/esm/helpers/input-validation-helper.js.map +1 -1
- package/dist/esm/helpers/logging-helper.d.ts +5 -5
- package/dist/esm/helpers/logging-helper.js.map +1 -1
- package/dist/esm/helpers/order-calculation-helper.js.map +1 -1
- package/dist/esm/helpers/public-api-response-helper.js.map +1 -1
- package/dist/esm/helpers/response-helper.js.map +1 -1
- package/dist/esm/helpers/shopify-helper.js.map +1 -1
- package/dist/esm/helpers/sqs-utils.js +1 -6
- package/dist/esm/helpers/sqs-utils.js.map +1 -1
- package/dist/esm/libs/api-router/public-api-router.d.ts +2 -2
- package/dist/esm/libs/api-router/public-api-router.js.map +1 -1
- package/dist/esm/libs/api-router/route-matcher.js.map +1 -1
- package/dist/esm/libs/click-id-parser.js.map +1 -1
- package/dist/esm/libs/compression.d.ts +1 -1
- package/dist/esm/libs/compression.js.map +1 -1
- package/dist/esm/libs/contacts.js.map +1 -1
- package/dist/esm/libs/cookie.js.map +1 -1
- package/dist/esm/libs/csv.js.map +1 -1
- package/dist/esm/libs/currency.js.map +1 -1
- package/dist/esm/libs/dates.d.ts +1 -0
- package/dist/esm/libs/dates.js +16 -0
- package/dist/esm/libs/dates.js.map +1 -1
- package/dist/esm/libs/domain.js.map +1 -1
- package/dist/esm/libs/emails.js.map +1 -1
- package/dist/esm/libs/http-error.js.map +1 -1
- package/dist/esm/libs/numbers.js.map +1 -1
- package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +1 -0
- package/dist/esm/libs/referrer-parser/referrer-parser-util.js +2 -2
- package/dist/esm/libs/referrer-parser/referrer-parser-util.js.map +1 -1
- package/dist/esm/libs/strings.js.map +1 -1
- package/dist/esm/libs/traits.js.map +1 -1
- package/dist/esm/services/acuity-api-service.js.map +1 -1
- package/dist/esm/services/cache/product-cache-service.js.map +1 -1
- package/dist/esm/services/cost/cost-calculation-types.js.map +1 -1
- package/dist/esm/services/cost/cost-calculator-service.js +10 -43
- package/dist/esm/services/cost/cost-calculator-service.js.map +1 -1
- package/dist/esm/services/cost/cost-currency-service.js.map +1 -1
- package/dist/esm/services/cost/cost-filter-service.js +7 -16
- package/dist/esm/services/cost/cost-filter-service.js.map +1 -1
- package/dist/esm/services/cost/order-cost/order-cost-resolution-service.js +9 -24
- package/dist/esm/services/cost/order-cost/order-cost-resolution-service.js.map +1 -1
- package/dist/esm/services/db/accounts-db-service.js.map +1 -1
- package/dist/esm/services/db/api-keys-db-service.js.map +1 -1
- package/dist/esm/services/db/contact-enrichments-db-service.js.map +1 -1
- package/dist/esm/services/db/custom-measures-db-service.js.map +1 -1
- package/dist/esm/services/db/identity-cache-db-service.d.ts +1 -1
- package/dist/esm/services/db/identity-cache-db-service.js.map +1 -1
- package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js +2 -6
- package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js.map +1 -1
- package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +8 -22
- package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -1
- package/dist/esm/services/db/identity-cache-dynamodb-service/types.js.map +1 -1
- package/dist/esm/services/db/index.d.ts +0 -1
- package/dist/esm/services/db/index.js +0 -1
- package/dist/esm/services/db/index.js.map +1 -1
- package/dist/esm/services/db/log-events-db-service.js.map +1 -1
- package/dist/esm/services/db/products-db-service.js +16 -45
- package/dist/esm/services/db/products-db-service.js.map +1 -1
- package/dist/esm/services/db/purchasable-contacts-db-service.js.map +1 -1
- package/dist/esm/services/db/purchased-contacts/purchased-contacts-db-service.js.map +1 -1
- package/dist/esm/services/db/shopify-app-installs-db-service.js.map +1 -1
- package/dist/esm/services/db/shopify-products-cache-db-service.js.map +1 -1
- package/dist/esm/services/db/subscriptions-db-service.js.map +1 -1
- package/dist/esm/services/db/tracking-events-db-service.js.map +1 -1
- package/dist/esm/services/email-verification/contact-email-verification-service.js.map +1 -1
- package/dist/esm/services/email-verification/email-verification-service.js.map +1 -1
- package/dist/esm/services/events/build-collect-queue-tracking-event.js.map +1 -1
- package/dist/esm/services/events/collect-queue-tracking-service.js +1 -1
- package/dist/esm/services/events/collect-queue-tracking-service.js.map +1 -1
- package/dist/esm/services/events/log-event-service.js.map +1 -1
- package/dist/esm/services/events/metric-event-service.js.map +1 -1
- package/dist/esm/services/events/tracking-event-sqs-service.js.map +1 -1
- package/dist/esm/services/generic-cache-service.js.map +1 -1
- package/dist/esm/services/index.d.ts +1 -1
- package/dist/esm/services/index.js +1 -1
- package/dist/esm/services/index.js.map +1 -1
- package/dist/esm/services/ipdata-lookup-service.d.ts +1 -1
- package/dist/esm/services/ipdata-lookup-service.js.map +1 -1
- package/dist/esm/services/liveintent-api-service.d.ts +15 -0
- package/dist/esm/services/liveintent-api-service.js +55 -0
- package/dist/esm/services/liveintent-api-service.js.map +1 -0
- package/dist/esm/services/shopify/products/shopify-products-serviceV2.js.map +1 -1
- package/dist/esm/services/shopify/shopify-graphql-transformer.js +1 -1
- package/dist/esm/services/shopify/shopify-graphql-transformer.js.map +1 -1
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/liveintent-types.d.ts +8 -0
- package/dist/esm/types/liveintent-types.js +2 -0
- package/dist/esm/types/liveintent-types.js.map +1 -0
- package/dist/esm/types/shopify-rest-types.d.ts +1 -1
- package/dist/esm/utils/compression.d.ts +2 -0
- package/dist/esm/utils/compression.js +3 -3
- package/dist/esm/utils/compression.js.map +1 -1
- package/dist/esm/utils/custom-measure-formula-utils.js.map +1 -1
- package/dist/esm/utils/retry-envelope.js.map +1 -1
- package/dist/esm/utils/size.js.map +1 -1
- package/package.json +136 -139
- package/dist/cjs/__tests__/clients/client-timeout-inventory.spec.js +0 -21
- package/dist/cjs/__tests__/clients/client-timeout-inventory.spec.js.map +0 -1
- package/dist/cjs/__tests__/clients/redis-client.spec.js +0 -79
- package/dist/cjs/__tests__/clients/redis-client.spec.js.map +0 -1
- package/dist/cjs/__tests__/services/currency-exchange-rate-lookup-service.spec.js +0 -40
- package/dist/cjs/__tests__/services/currency-exchange-rate-lookup-service.spec.js.map +0 -1
- package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +0 -17
- package/dist/cjs/clients/third-party/exchange-rate-api-client.js +0 -20
- package/dist/cjs/clients/third-party/exchange-rate-api-client.js.map +0 -1
- package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +0 -12
- package/dist/cjs/services/currency-exchange-rate-lookup-service.js +0 -98
- package/dist/cjs/services/currency-exchange-rate-lookup-service.js.map +0 -1
- package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +0 -21
- package/dist/cjs/services/db/currency-exchange-rates-db-service.js +0 -40
- package/dist/cjs/services/db/currency-exchange-rates-db-service.js.map +0 -1
- package/dist/esm/__tests__/clients/client-timeout-inventory.spec.js +0 -19
- package/dist/esm/__tests__/clients/client-timeout-inventory.spec.js.map +0 -1
- package/dist/esm/__tests__/clients/redis-client.spec.d.ts +0 -1
- package/dist/esm/__tests__/clients/redis-client.spec.js +0 -77
- package/dist/esm/__tests__/clients/redis-client.spec.js.map +0 -1
- package/dist/esm/__tests__/services/currency-exchange-rate-lookup-service.spec.d.ts +0 -1
- package/dist/esm/__tests__/services/currency-exchange-rate-lookup-service.spec.js +0 -38
- package/dist/esm/__tests__/services/currency-exchange-rate-lookup-service.spec.js.map +0 -1
- package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +0 -17
- package/dist/esm/clients/third-party/exchange-rate-api-client.js +0 -16
- package/dist/esm/clients/third-party/exchange-rate-api-client.js.map +0 -1
- package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +0 -12
- package/dist/esm/services/currency-exchange-rate-lookup-service.js +0 -94
- package/dist/esm/services/currency-exchange-rate-lookup-service.js.map +0 -1
- package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +0 -21
- package/dist/esm/services/db/currency-exchange-rates-db-service.js +0 -36
- package/dist/esm/services/db/currency-exchange-rates-db-service.js.map +0 -1
- /package/dist/cjs/__tests__/clients/{client-timeout-inventory.spec.d.ts → liveintent-client.spec.d.ts} +0 -0
- /package/dist/cjs/__tests__/{clients/redis-client.spec.d.ts → services/liveintent-api-service.spec.d.ts} +0 -0
- /package/dist/{cjs/__tests__/services/currency-exchange-rate-lookup-service.spec.d.ts → esm/__tests__/clients/liveintent-client.spec.d.ts} +0 -0
- /package/dist/esm/__tests__/{clients/client-timeout-inventory.spec.d.ts → services/liveintent-api-service.spec.d.ts} +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Logger: { debug: vi.fn(), info: vi.fn(), warn: vi.fn(), error: vi.fn() },
|
|
1
|
+
jest.mock('../../../helpers/logging-helper', () => ({
|
|
2
|
+
Logger: { debug: jest.fn(), info: jest.fn(), warn: jest.fn(), error: jest.fn() },
|
|
4
3
|
}));
|
|
5
4
|
import { CostCurrencyService } from '../../../services/cost/cost-currency-service';
|
|
6
5
|
const emptyBundle = {
|
|
@@ -11,7 +10,7 @@ const emptyBundle = {
|
|
|
11
10
|
};
|
|
12
11
|
describe('CostCurrencyService', () => {
|
|
13
12
|
beforeEach(() => {
|
|
14
|
-
|
|
13
|
+
jest.clearAllMocks();
|
|
15
14
|
});
|
|
16
15
|
describe('extractCurrenciesFromConfigs', () => {
|
|
17
16
|
it('should return empty array when all configs are null', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost-currency-service.spec.js","sourceRoot":"","sources":["../../../../../src/__tests__/services/cost/cost-currency-service.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cost-currency-service.spec.js","sourceRoot":"","sources":["../../../../../src/__tests__/services/cost/cost-currency-service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { describe, it, expect, vi } from 'vitest';
|
|
2
1
|
import { COST_FILTER_MODE } from '@adtrackify/at-tracking-event-types';
|
|
3
2
|
import { CostFilterService } from '../../../services/cost/cost-filter-service';
|
|
4
|
-
|
|
5
|
-
Logger: { debug:
|
|
3
|
+
jest.mock('../../../helpers/logging-helper', () => ({
|
|
4
|
+
Logger: { debug: jest.fn(), info: jest.fn(), warn: jest.fn(), error: jest.fn() },
|
|
6
5
|
}));
|
|
7
6
|
const createOrderContext = (overrides = {}) => ({
|
|
8
7
|
tags: [],
|
|
@@ -287,14 +286,20 @@ describe('CostFilterService', () => {
|
|
|
287
286
|
const filters = {
|
|
288
287
|
productVendors: { mode: COST_FILTER_MODE.INCLUDE, values: ['Nike'] },
|
|
289
288
|
};
|
|
290
|
-
const lineItems = [
|
|
289
|
+
const lineItems = [
|
|
290
|
+
createLineItemContext({ vendor: 'Adidas' }),
|
|
291
|
+
createLineItemContext({ vendor: 'Nike' }),
|
|
292
|
+
];
|
|
291
293
|
expect(CostFilterService.matchesFilters(filters, createOrderContext(), null, lineItems)).toBe(true);
|
|
292
294
|
});
|
|
293
295
|
it('should return false when no lineItem matches product filters via lineItems array', () => {
|
|
294
296
|
const filters = {
|
|
295
297
|
productVendors: { mode: COST_FILTER_MODE.INCLUDE, values: ['Nike'] },
|
|
296
298
|
};
|
|
297
|
-
const lineItems = [
|
|
299
|
+
const lineItems = [
|
|
300
|
+
createLineItemContext({ vendor: 'Adidas' }),
|
|
301
|
+
createLineItemContext({ vendor: 'Puma' }),
|
|
302
|
+
];
|
|
298
303
|
expect(CostFilterService.matchesFilters(filters, createOrderContext(), null, lineItems)).toBe(false);
|
|
299
304
|
});
|
|
300
305
|
it('should evaluate products filter against lineItems array', () => {
|
|
@@ -337,9 +342,15 @@ describe('CostFilterService', () => {
|
|
|
337
342
|
const filters = {
|
|
338
343
|
productVendors: { mode: COST_FILTER_MODE.EXCLUDE, values: ['Nike'] },
|
|
339
344
|
};
|
|
340
|
-
const mixed = [
|
|
345
|
+
const mixed = [
|
|
346
|
+
createLineItemContext({ vendor: 'Adidas' }),
|
|
347
|
+
createLineItemContext({ vendor: 'Nike' }),
|
|
348
|
+
];
|
|
341
349
|
expect(CostFilterService.matchesFilters(filters, createOrderContext(), null, mixed)).toBe(true);
|
|
342
|
-
const allNike = [
|
|
350
|
+
const allNike = [
|
|
351
|
+
createLineItemContext({ vendor: 'Nike' }),
|
|
352
|
+
createLineItemContext({ vendor: 'Nike' }),
|
|
353
|
+
];
|
|
343
354
|
expect(CostFilterService.matchesFilters(filters, createOrderContext(), null, allNike)).toBe(false);
|
|
344
355
|
});
|
|
345
356
|
it('should combine order filters + product filters via lineItems array', () => {
|
|
@@ -398,24 +409,16 @@ describe('CostFilterService', () => {
|
|
|
398
409
|
expect(CostFilterService.hasProductFilters(filters)).toBe(false);
|
|
399
410
|
});
|
|
400
411
|
it('should return true for productVendors', () => {
|
|
401
|
-
expect(CostFilterService.hasProductFilters({
|
|
402
|
-
productVendors: { mode: COST_FILTER_MODE.INCLUDE, values: ['Nike'] },
|
|
403
|
-
})).toBe(true);
|
|
412
|
+
expect(CostFilterService.hasProductFilters({ productVendors: { mode: COST_FILTER_MODE.INCLUDE, values: ['Nike'] } })).toBe(true);
|
|
404
413
|
});
|
|
405
414
|
it('should return true for productTypes', () => {
|
|
406
|
-
expect(CostFilterService.hasProductFilters({
|
|
407
|
-
productTypes: { mode: COST_FILTER_MODE.INCLUDE, values: ['Shoes'] },
|
|
408
|
-
})).toBe(true);
|
|
415
|
+
expect(CostFilterService.hasProductFilters({ productTypes: { mode: COST_FILTER_MODE.INCLUDE, values: ['Shoes'] } })).toBe(true);
|
|
409
416
|
});
|
|
410
417
|
it('should return true for productTags', () => {
|
|
411
|
-
expect(CostFilterService.hasProductFilters({
|
|
412
|
-
productTags: { mode: COST_FILTER_MODE.INCLUDE, values: ['sale'] },
|
|
413
|
-
})).toBe(true);
|
|
418
|
+
expect(CostFilterService.hasProductFilters({ productTags: { mode: COST_FILTER_MODE.INCLUDE, values: ['sale'] } })).toBe(true);
|
|
414
419
|
});
|
|
415
420
|
it('should return true for productCategories', () => {
|
|
416
|
-
expect(CostFilterService.hasProductFilters({
|
|
417
|
-
productCategories: { mode: COST_FILTER_MODE.INCLUDE, values: ['Apparel'] },
|
|
418
|
-
})).toBe(true);
|
|
421
|
+
expect(CostFilterService.hasProductFilters({ productCategories: { mode: COST_FILTER_MODE.INCLUDE, values: ['Apparel'] } })).toBe(true);
|
|
419
422
|
});
|
|
420
423
|
it('should return true for products', () => {
|
|
421
424
|
expect(CostFilterService.hasProductFilters({ products: { mode: COST_FILTER_MODE.INCLUDE, values: ['123'] } })).toBe(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost-filter-service.spec.js","sourceRoot":"","sources":["../../../../../src/__tests__/services/cost/cost-filter-service.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cost-filter-service.spec.js","sourceRoot":"","sources":["../../../../../src/__tests__/services/cost/cost-filter-service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach, afterEach, afterAll } from 'vitest';
|
|
2
1
|
import { OrderCostResolutionService } from '../../../../services/cost/order-cost/order-cost-resolution-service';
|
|
3
2
|
import { CostCalculatorService } from '../../../../services/cost/cost-calculator-service';
|
|
4
|
-
|
|
5
|
-
Logger: { debug:
|
|
3
|
+
jest.mock('../../../../helpers/logging-helper', () => ({
|
|
4
|
+
Logger: { debug: jest.fn(), info: jest.fn(), warn: jest.fn(), error: jest.fn() },
|
|
6
5
|
}));
|
|
7
6
|
const PIXEL_ID = 'pixel-1';
|
|
8
7
|
const createOrder = (overrides = {}) => ({
|
|
@@ -14,29 +13,15 @@ const createOrder = (overrides = {}) => ({
|
|
|
14
13
|
refunds: [],
|
|
15
14
|
...overrides,
|
|
16
15
|
});
|
|
17
|
-
const lineItem = (over = {}) => ({
|
|
18
|
-
id: 1,
|
|
19
|
-
product_id: 10,
|
|
20
|
-
variant_id: 20,
|
|
21
|
-
price: '10.00',
|
|
22
|
-
quantity: 2,
|
|
23
|
-
...over,
|
|
24
|
-
});
|
|
16
|
+
const lineItem = (over = {}) => ({ id: 1, product_id: 10, variant_id: 20, price: '10.00', quantity: 2, ...over });
|
|
25
17
|
const variantRecord = (over = {}) => ({ pixelId: PIXEL_ID, productId: '10', variantId: '20', ...over });
|
|
26
|
-
const configs = (defaultCogs) => ({
|
|
27
|
-
globalProductOverride: defaultCogs === undefined ? null : { defaultCogs },
|
|
28
|
-
order: null,
|
|
29
|
-
gateway: null,
|
|
30
|
-
shipping: null,
|
|
31
|
-
});
|
|
18
|
+
const configs = (defaultCogs) => ({ globalProductOverride: defaultCogs === undefined ? null : { defaultCogs }, order: null, gateway: null, shipping: null });
|
|
32
19
|
describe('OrderCostResolutionService', () => {
|
|
33
|
-
beforeEach(() =>
|
|
34
|
-
afterEach(() =>
|
|
20
|
+
beforeEach(() => jest.clearAllMocks());
|
|
21
|
+
afterEach(() => jest.restoreAllMocks());
|
|
35
22
|
describe('getTotalProductCost', () => {
|
|
36
23
|
it('sums unitCost * quantity for line items with a resolved cost', () => {
|
|
37
|
-
const order = createOrder({
|
|
38
|
-
line_items: [lineItem({ id: 1, quantity: 2 }), lineItem({ id: 2, quantity: 3 })],
|
|
39
|
-
});
|
|
24
|
+
const order = createOrder({ line_items: [lineItem({ id: 1, quantity: 2 }), lineItem({ id: 2, quantity: 3 })] });
|
|
40
25
|
expect(OrderCostResolutionService.getTotalProductCost(order, { 1: 3, 2: 1 })).toBe(9);
|
|
41
26
|
});
|
|
42
27
|
it('returns undefined when no line item has a cost', () => {
|
|
@@ -56,16 +41,15 @@ describe('OrderCostResolutionService', () => {
|
|
|
56
41
|
describe('USE_PROCESSED_AT_FOR_NON_WEB_ORDERS env default', () => {
|
|
57
42
|
const originalFlag = process.env.USE_PROCESSED_AT_FOR_NON_WEB_ORDERS;
|
|
58
43
|
const nonWebOrder = createOrder({ source_name: 'pos', created_at: 'c', processed_at: 'p' });
|
|
59
|
-
const loadService =
|
|
60
|
-
|
|
44
|
+
const loadService = (flag) => {
|
|
45
|
+
jest.resetModules();
|
|
61
46
|
if (flag === undefined) {
|
|
62
47
|
delete process.env.USE_PROCESSED_AT_FOR_NON_WEB_ORDERS;
|
|
63
48
|
}
|
|
64
49
|
else {
|
|
65
50
|
process.env.USE_PROCESSED_AT_FOR_NON_WEB_ORDERS = flag;
|
|
66
51
|
}
|
|
67
|
-
return (
|
|
68
|
-
.OrderCostResolutionService;
|
|
52
|
+
return require('../../../../services/cost/order-cost/order-cost-resolution-service').OrderCostResolutionService;
|
|
69
53
|
};
|
|
70
54
|
afterAll(() => {
|
|
71
55
|
if (originalFlag === undefined) {
|
|
@@ -74,22 +58,22 @@ describe('OrderCostResolutionService', () => {
|
|
|
74
58
|
else {
|
|
75
59
|
process.env.USE_PROCESSED_AT_FOR_NON_WEB_ORDERS = originalFlag;
|
|
76
60
|
}
|
|
77
|
-
|
|
61
|
+
jest.resetModules();
|
|
78
62
|
});
|
|
79
|
-
it('defaults to the env flag when no argument is passed',
|
|
80
|
-
expect(
|
|
63
|
+
it('defaults to the env flag when no argument is passed', () => {
|
|
64
|
+
expect(loadService('true').getOrderCreatedAt(nonWebOrder)).toBe('p');
|
|
81
65
|
});
|
|
82
|
-
it('uses created_at when the env flag is unset or not "true"',
|
|
83
|
-
expect(
|
|
84
|
-
expect(
|
|
66
|
+
it('uses created_at when the env flag is unset or not "true"', () => {
|
|
67
|
+
expect(loadService(undefined).getOrderCreatedAt(nonWebOrder)).toBe('c');
|
|
68
|
+
expect(loadService('false').getOrderCreatedAt(nonWebOrder)).toBe('c');
|
|
85
69
|
});
|
|
86
|
-
it('lets an explicit argument override the env flag in both directions',
|
|
87
|
-
expect(
|
|
88
|
-
expect(
|
|
70
|
+
it('lets an explicit argument override the env flag in both directions', () => {
|
|
71
|
+
expect(loadService('true').getOrderCreatedAt(nonWebOrder, false)).toBe('c');
|
|
72
|
+
expect(loadService('false').getOrderCreatedAt(nonWebOrder, true)).toBe('p');
|
|
89
73
|
});
|
|
90
|
-
it('never overrides for web orders regardless of the env flag',
|
|
74
|
+
it('never overrides for web orders regardless of the env flag', () => {
|
|
91
75
|
const webOrder = createOrder({ source_name: 'web', created_at: 'c', processed_at: 'p' });
|
|
92
|
-
expect(
|
|
76
|
+
expect(loadService('true').getOrderCreatedAt(webOrder)).toBe('c');
|
|
93
77
|
});
|
|
94
78
|
});
|
|
95
79
|
});
|
|
@@ -97,24 +81,14 @@ describe('OrderCostResolutionService', () => {
|
|
|
97
81
|
it('accepts 0..1_000_000, rejects negatives / over-max / NaN', () => {
|
|
98
82
|
expect(OrderCostResolutionService.isValidCost(5)).toBe(true);
|
|
99
83
|
expect(OrderCostResolutionService.isValidCost(-1)).toBe(false);
|
|
100
|
-
expect(OrderCostResolutionService.isValidCost(
|
|
84
|
+
expect(OrderCostResolutionService.isValidCost(2000000)).toBe(false);
|
|
101
85
|
expect(OrderCostResolutionService.isValidCost(Number.NaN)).toBe(false);
|
|
102
86
|
});
|
|
103
87
|
});
|
|
104
88
|
describe('hasConfirmedShopifyZeroCost', () => {
|
|
105
|
-
const withUnitCost = (inventoryItem) => variantRecord({
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
const openEntry = {
|
|
109
|
-
effectiveStartDate: '2026-01-01T00:00:00Z',
|
|
110
|
-
effectiveEndDate: null,
|
|
111
|
-
cost: 0,
|
|
112
|
-
};
|
|
113
|
-
const closedEntry = {
|
|
114
|
-
effectiveStartDate: '2026-01-01T00:00:00Z',
|
|
115
|
-
effectiveEndDate: '2026-03-01T00:00:00Z',
|
|
116
|
-
cost: 0,
|
|
117
|
-
};
|
|
89
|
+
const withUnitCost = (inventoryItem) => variantRecord({ variant: (inventoryItem === undefined ? {} : { inventoryItem }) });
|
|
90
|
+
const openEntry = { effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 0 };
|
|
91
|
+
const closedEntry = { effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: '2026-03-01T00:00:00Z', cost: 0 };
|
|
118
92
|
const orderInWindow = '2026-02-01T00:00:00Z';
|
|
119
93
|
const orderBeforeWindow = '2025-12-01T00:00:00Z';
|
|
120
94
|
it('confirms only the open-ended entry when Shopify reports exactly 0 and order is in window', () => {
|
|
@@ -134,11 +108,7 @@ describe('OrderCostResolutionService', () => {
|
|
|
134
108
|
});
|
|
135
109
|
describe('findCostHistoryRecordInEffectiveWindow', () => {
|
|
136
110
|
const windowedHistory = [
|
|
137
|
-
{
|
|
138
|
-
effectiveStartDate: '2026-03-01T00:00:00Z',
|
|
139
|
-
effectiveEndDate: '2026-03-31T00:00:00Z',
|
|
140
|
-
cost: 7,
|
|
141
|
-
},
|
|
111
|
+
{ effectiveStartDate: '2026-03-01T00:00:00Z', effectiveEndDate: '2026-03-31T00:00:00Z', cost: 7 },
|
|
142
112
|
];
|
|
143
113
|
it('returns the record when the order date is inside the window', () => {
|
|
144
114
|
expect(OrderCostResolutionService.findCostHistoryRecordInEffectiveWindow(windowedHistory, '2026-03-15T00:00:00Z')?.cost).toBe(7);
|
|
@@ -150,9 +120,7 @@ describe('OrderCostResolutionService', () => {
|
|
|
150
120
|
expect(OrderCostResolutionService.findCostHistoryRecordInEffectiveWindow(windowedHistory, '2026-06-15T00:00:00Z')).toBeNull();
|
|
151
121
|
});
|
|
152
122
|
it('matches an open-ended window', () => {
|
|
153
|
-
const openEnded = [
|
|
154
|
-
{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 9 },
|
|
155
|
-
];
|
|
123
|
+
const openEnded = [{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 9 }];
|
|
156
124
|
expect(OrderCostResolutionService.findCostHistoryRecordInEffectiveWindow(openEnded, '2026-12-01T00:00:00Z')?.cost).toBe(9);
|
|
157
125
|
});
|
|
158
126
|
it('returns null for empty history or invalid date', () => {
|
|
@@ -213,13 +181,7 @@ describe('OrderCostResolutionService', () => {
|
|
|
213
181
|
describe('resolveOrderLineItemUnitCosts', () => {
|
|
214
182
|
const byPixel = (defaultCogs) => ({ [PIXEL_ID]: configs(defaultCogs) });
|
|
215
183
|
it('resolves unit cost from variant shopifyCostHistory', () => {
|
|
216
|
-
const variants = {
|
|
217
|
-
[`${PIXEL_ID}_10_20`]: variantRecord({
|
|
218
|
-
shopifyCostHistory: [
|
|
219
|
-
{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 4 },
|
|
220
|
-
],
|
|
221
|
-
}),
|
|
222
|
-
};
|
|
184
|
+
const variants = { [`${PIXEL_ID}_10_20`]: variantRecord({ shopifyCostHistory: [{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 4 }] }) };
|
|
223
185
|
const result = OrderCostResolutionService.resolveOrderLineItemUnitCosts([lineItem()], PIXEL_ID, '2026-06-01T00:00:00Z', variants, byPixel());
|
|
224
186
|
expect(result).toEqual({ '1': 4 });
|
|
225
187
|
});
|
|
@@ -271,16 +233,12 @@ describe('OrderCostResolutionService', () => {
|
|
|
271
233
|
expect(result).toEqual({ '1': 5 });
|
|
272
234
|
});
|
|
273
235
|
it('falls through to defaultCogs for a legacy shopify cost of 0 with no unit cost on the payload', () => {
|
|
274
|
-
const variants = withHistories(undefined, [
|
|
275
|
-
{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 0 },
|
|
276
|
-
]);
|
|
236
|
+
const variants = withHistories(undefined, [{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 0 }]);
|
|
277
237
|
const result = OrderCostResolutionService.resolveOrderLineItemUnitCosts([lineItem({ price: '10', quantity: 2 })], PIXEL_ID, '2026-06-01T00:00:00Z', variants, byPixel(50));
|
|
278
238
|
expect(result).toEqual({ '1': 5 });
|
|
279
239
|
});
|
|
280
240
|
it('resolves nothing for a legacy shopify cost of 0 when there is no defaultCogs to fall back to', () => {
|
|
281
|
-
const variants = withHistories(undefined, [
|
|
282
|
-
{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 0 },
|
|
283
|
-
]);
|
|
241
|
+
const variants = withHistories(undefined, [{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 0 }]);
|
|
284
242
|
const result = OrderCostResolutionService.resolveOrderLineItemUnitCosts([lineItem()], PIXEL_ID, '2026-06-01T00:00:00Z', variants, byPixel());
|
|
285
243
|
expect(result).toEqual({});
|
|
286
244
|
});
|
|
@@ -290,9 +248,7 @@ describe('OrderCostResolutionService', () => {
|
|
|
290
248
|
expect(result).toEqual({ '1': 0 });
|
|
291
249
|
});
|
|
292
250
|
it('falls through to defaultCogs when the order predates every shopify window', () => {
|
|
293
|
-
const variants = withHistories(undefined, [
|
|
294
|
-
{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 4 },
|
|
295
|
-
]);
|
|
251
|
+
const variants = withHistories(undefined, [{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 4 }]);
|
|
296
252
|
const result = OrderCostResolutionService.resolveOrderLineItemUnitCosts([lineItem({ price: '10', quantity: 2 })], PIXEL_ID, '2025-06-01T00:00:00Z', variants, byPixel(50));
|
|
297
253
|
expect(result).toEqual({ '1': 5 });
|
|
298
254
|
});
|
|
@@ -302,9 +258,7 @@ describe('OrderCostResolutionService', () => {
|
|
|
302
258
|
expect(result).toEqual({ '1': 5 });
|
|
303
259
|
});
|
|
304
260
|
it('falls through to defaultCogs when the shopify entry has no cost at all', () => {
|
|
305
|
-
const variants = withHistories(undefined, [
|
|
306
|
-
{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null },
|
|
307
|
-
]);
|
|
261
|
+
const variants = withHistories(undefined, [{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null }]);
|
|
308
262
|
const result = OrderCostResolutionService.resolveOrderLineItemUnitCosts([lineItem({ price: '10', quantity: 2 })], PIXEL_ID, '2026-06-01T00:00:00Z', variants, byPixel(50));
|
|
309
263
|
expect(result).toEqual({ '1': 5 });
|
|
310
264
|
});
|
|
@@ -337,21 +291,8 @@ describe('OrderCostResolutionService', () => {
|
|
|
337
291
|
total_price_set: { shop_money: { amount: '20.00' } },
|
|
338
292
|
refunds: [{ id: 1 }],
|
|
339
293
|
});
|
|
340
|
-
const variants = {
|
|
341
|
-
|
|
342
|
-
vendor: 'Acme',
|
|
343
|
-
productType: 'Shirt',
|
|
344
|
-
tags: ['cotton'],
|
|
345
|
-
handlingFee: 1.5,
|
|
346
|
-
}),
|
|
347
|
-
};
|
|
348
|
-
const products = {
|
|
349
|
-
[`${PIXEL_ID}_10`]: {
|
|
350
|
-
pixelId: PIXEL_ID,
|
|
351
|
-
productId: '10',
|
|
352
|
-
product: { category: { fullName: 'Apparel > Tops' } },
|
|
353
|
-
},
|
|
354
|
-
};
|
|
294
|
+
const variants = { [`${PIXEL_ID}_10_20`]: variantRecord({ vendor: 'Acme', productType: 'Shirt', tags: ['cotton'], handlingFee: 1.5 }) };
|
|
295
|
+
const products = { [`${PIXEL_ID}_10`]: { pixelId: PIXEL_ID, productId: '10', product: { category: { fullName: 'Apparel > Tops' } } } };
|
|
355
296
|
const ctx = OrderCostResolutionService.buildOrderCostContext({
|
|
356
297
|
pixelId: PIXEL_ID,
|
|
357
298
|
order,
|
|
@@ -361,13 +302,7 @@ describe('OrderCostResolutionService', () => {
|
|
|
361
302
|
refundInfoByLineItemId: { '1': { refundQuantity: 1 } },
|
|
362
303
|
saleTotals: { grossSalePrice: 20, netSalePrice: 18, totalProductCost: 6 },
|
|
363
304
|
});
|
|
364
|
-
expect(ctx.orderFilterContext).toMatchObject({
|
|
365
|
-
tags: ['vip', 'sale'],
|
|
366
|
-
paymentGateways: ['shopify_payments'],
|
|
367
|
-
shippingTitles: ['Standard'],
|
|
368
|
-
shipCountryCode: 'US',
|
|
369
|
-
sourceName: 'web',
|
|
370
|
-
});
|
|
305
|
+
expect(ctx.orderFilterContext).toMatchObject({ tags: ['vip', 'sale'], paymentGateways: ['shopify_payments'], shippingTitles: ['Standard'], shipCountryCode: 'US', sourceName: 'web' });
|
|
371
306
|
expect(ctx.grossSalePrice).toBe(20);
|
|
372
307
|
expect(ctx.netSalePrice).toBe(18);
|
|
373
308
|
expect(ctx.totalProductCost).toBe(6);
|
|
@@ -380,14 +315,7 @@ describe('OrderCostResolutionService', () => {
|
|
|
380
315
|
quantity: 2,
|
|
381
316
|
refundedQuantity: 1,
|
|
382
317
|
variantHandlingFee: 1.5,
|
|
383
|
-
filterContext: {
|
|
384
|
-
vendor: 'Acme',
|
|
385
|
-
productType: 'Shirt',
|
|
386
|
-
tags: ['cotton'],
|
|
387
|
-
category: 'Apparel > Tops',
|
|
388
|
-
productId: '10',
|
|
389
|
-
variantId: '20',
|
|
390
|
-
},
|
|
318
|
+
filterContext: { vendor: 'Acme', productType: 'Shirt', tags: ['cotton'], category: 'Apparel > Tops', productId: '10', variantId: '20' },
|
|
391
319
|
});
|
|
392
320
|
});
|
|
393
321
|
});
|
|
@@ -399,23 +327,10 @@ describe('OrderCostResolutionService', () => {
|
|
|
399
327
|
line_items: [lineItem({ id: 1, price: '10', quantity: 2 })],
|
|
400
328
|
total_discounts_set: { shop_money: { amount: '4' } },
|
|
401
329
|
});
|
|
402
|
-
const variants = {
|
|
403
|
-
|
|
404
|
-
shopifyCostHistory: [
|
|
405
|
-
{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 3 },
|
|
406
|
-
],
|
|
407
|
-
}),
|
|
408
|
-
};
|
|
409
|
-
const spy = vi
|
|
410
|
-
.spyOn(CostCalculatorService, 'calculateOrderCosts')
|
|
411
|
-
.mockReturnValue({ tag: 'result' });
|
|
330
|
+
const variants = { [`${PIXEL_ID}_10_20`]: variantRecord({ shopifyCostHistory: [{ effectiveStartDate: '2026-01-01T00:00:00Z', effectiveEndDate: null, cost: 3 }] }) };
|
|
331
|
+
const spy = jest.spyOn(CostCalculatorService, 'calculateOrderCosts').mockReturnValue({ tag: 'result' });
|
|
412
332
|
const result = OrderCostResolutionService.computeOrderCostResult({
|
|
413
|
-
pixelId: PIXEL_ID,
|
|
414
|
-
order,
|
|
415
|
-
variantRecords: variants,
|
|
416
|
-
productRecords: {},
|
|
417
|
-
costConfigs: configs(),
|
|
418
|
-
exchangeRatesMap: emptyRates,
|
|
333
|
+
pixelId: PIXEL_ID, order, variantRecords: variants, productRecords: {}, costConfigs: configs(), exchangeRatesMap: emptyRates,
|
|
419
334
|
});
|
|
420
335
|
expect(result).toEqual({ tag: 'result' });
|
|
421
336
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
@@ -430,16 +345,9 @@ describe('OrderCostResolutionService', () => {
|
|
|
430
345
|
expect(ctx.totalQuantity).toBe(2);
|
|
431
346
|
});
|
|
432
347
|
it('returns a zeroed OrderCostResult when calculation throws (fail-safe)', () => {
|
|
433
|
-
|
|
434
|
-
throw new Error('boom');
|
|
435
|
-
});
|
|
348
|
+
jest.spyOn(CostCalculatorService, 'calculateOrderCosts').mockImplementation(() => { throw new Error('boom'); });
|
|
436
349
|
const result = OrderCostResolutionService.computeOrderCostResult({
|
|
437
|
-
pixelId: PIXEL_ID,
|
|
438
|
-
order: createOrder({ line_items: [lineItem()] }),
|
|
439
|
-
variantRecords: {},
|
|
440
|
-
productRecords: {},
|
|
441
|
-
costConfigs: null,
|
|
442
|
-
exchangeRatesMap: {},
|
|
350
|
+
pixelId: PIXEL_ID, order: createOrder({ line_items: [lineItem()] }), variantRecords: {}, productRecords: {}, costConfigs: null, exchangeRatesMap: {},
|
|
443
351
|
});
|
|
444
352
|
expect(result.totalHandlingCost).toBe(0);
|
|
445
353
|
expect(result.totalShippingCost).toBe(0);
|